數據在現今企業中占有重要的地位,數據存儲的安全性有而是人們使用計算機要注意的重要問題之一。通常情況下人們在服務器端采用各種冗余磁盤陣列RAID 技術來保護數據,中高檔的服務器一般都提供了昂貴的硬件RAID控制器,但是很多中小企業沒有足夠的經費承受這筆開銷。我們有沒有方法可以通過軟件來實現 RAID呢?實際上在Linux下可以通過軟件來實現硬件的RAID功能,這樣既節省了投資,又能達到很好的效果。今天就由我為大家介紹如何在網絡環境中實現帶有一塊Spare-disk的軟RAID1(數據鏡像)陣列。
小提示:什麼是RAID1(數據鏡像)?RAID 1是比較可靠的數據存儲方式,每一個磁盤都具有一個對應的鏡像盤。對任何磁盤的數據寫入都會被復制鏡像盤中;系統可以從一組鏡像盤中的任何一個磁盤讀取數據,也就是說同一個數據會被重復寫入兩次,這樣的磁盤鏡像肯定會提高系統成本。因為我們所能使用的空間只是所有磁盤容量總和的一半。
由於本文中會使用mdadm軟件,而該軟件一般情況下都會集成在Redhat linux中,所以可以直接使用。如果系統中沒有安裝可以到http: //www.cse.unsw.edu.au/~neilb/source/mdadm來下載mdadm-1.8.1.tgz進行編譯安裝,也可以到 http://www.cse.unsw.edu.au/~neilb/source/mdadm/rpm下載mdadm-1.8.1- 1.i386.rpm直接安裝。
第一步:以root用戶登錄系統,對磁盤進行分區。
#fdisk /dev/sdb
將設備/dev/sdb上的全部磁盤空間劃分給一個主分區,建立/dev/sdb1分區,並修改分區的類型標識為fd(linux raid auto),然後對剩余的磁盤做同樣的操作。創/dev/sdb1,/dev/sdc1,/dev/sdd1三個分區。
第二步:創建RAID陣列
#madam -cv /dev/md0 -l1 -n2 -x1 /dev/sd{b,c,d}1
小提示:-C參數為創建陣列模式。/dev/md0為陣列的設備名稱。-l1為陣列模式,可以選擇0,1,4,5等多種不同的陣列模式,分別對應 RAID0,RAID1,RAID4,RAID5。-n2為陣列中活動磁盤的數目,該數目加上備用磁盤的數目應該等於陣列中總的磁盤數目。-x1為陣列中備用磁盤的數目,因為我們是RAID1所以設置當前陣列中含有一塊備用磁盤。/dev/sd{b,c,d}1為參與創建陣列的磁盤名稱,陣列由三塊磁盤組成,其中兩塊為鏡象的活動磁盤,一塊備用磁盤提供故障後的替換。
第三步:查看RAID陣列情況
創建RAID過程需要很長時間,因為磁盤要進行同步化操作,查看/proc/mdstat文件,該文件顯示RAID的當前狀態和同步完成所需要的時間。
#cat /proc/mdstat
系統會顯示——
personalities:[raid1]
read_ahead 1024 sectors
event:1
md0:active raid1 sdb1[0] sdc1[1] sdd1[2]
18432000 blocks [2/2] [UU]
unused devices:
出現上面的提示後就表示創建的RAID1已經可以使用了。
第四步:編輯陣列的配置文件
mdadm的配置文件主要提供人們日常管理,編輯這個文件可以讓RAID更好的為我們工作,當然這個步驟不是必須的。不經過編輯配置文件也可以讓RAID工作。
首先掃描系統中的全部陣列
#mdadm -detail -scan
掃描結果將顯示陣列的名稱,模式和磁盤名稱,並且列出陣列的UUID號,UUID也同時存在於陣列的每個磁盤中,缺少該號碼的磁盤是不能夠參與陣列的組成的。
接下來編輯陣列的配置文件/etc/mdadm.conf文件,將掃描的顯示結果按照文件規定的格式修改後添加到文件的末尾。
#vi /etc/mdadm.conf
添加以下內容到mdadm.conf文件中
device /dev/sdb1 /dev/sdc1 /dev/sdd1
array /dev/md0 level=raid1 num-devices=2 uuid=2ed2ba37:d952280c:a5a9c282:a51b48da spare-group=group1
在配置文件中定義了陣列的名稱和模式,還有陣列中活動磁盤的數目與名稱,另外也定義了一個備用的磁盤組group1。
第五步:啟動停止RAID1陣列
啟動和停止RAID1陣列的命令非常簡單。啟動直接執行“mdadm -as /dev/md0”即可。執行mdadm -s /dev/md0將停止RAID1陣列。另外在rc.sysinit啟動腳本文件中加入命令mdadm -as /dev/md0後將設置為陣列隨系統啟動而啟動。
總結:配置RAID1的步驟相對RAID5來說不是很煩瑣,不過在使用 mdadm時應該注意就是不要在一塊硬盤上劃分多個分區,再將多個分區組成陣列,這種方式不但不能提高硬盤的訪問速度,反而會降低整體系統的性能。正確的方法是將一塊硬盤分成一個或多個分區,然後將多塊不同硬盤的分區組成陣列。另外系統目錄如/usr最好不要放在陣列中,因為一旦陣列出現問題系統將無法正常運行。