一.什么是磁盤陣列
磁盤陣列英文全名為RedundantArrays of Inexpensive Disks(RAID),即容錯廉價磁盤陣列。
RAID可以將一些容量較小的磁盤通技術手段組成一個容量較大的磁盤設備,而且不只是容量上的提升,RAID還可以提供數據保護的功能。
RAID可以選擇不同等級來實現不同的功能,常見的等級有以下幾種:
1.RAID-0
此模式可以需要使用相同型號和相同容量的磁盤組成時效果最佳,在進行文件寫入時,會將文件進行分割分別存儲在不同的磁盤上,這樣就提高了讀寫的速度,但由于文件分別存儲在不同的磁盤上,一旦有一塊磁盤損壞就會造成文件無法讀取,所以此模式不具備容錯性。
2.RAID-1
此模式最好使用兩塊一模一樣的磁盤,如果是兩塊不同容量的,則存儲時以容量小的那塊為主。這種模式是將數據在兩塊磁盤上都存儲一份,這樣即使有一塊硬塊損壞了,數據還可以恢復回來;不過由于數據在保存兩份,所以寫的性能會有所下降。
3.RAID-4
此模式最少要使用三塊磁盤才能組成;陳列會將一塊磁盤做為校驗盤,用來記錄同位檢查碼,數據則是循環寫在另外的磁盤上,如果有一塊數據磁盤損壞了,可以根據校驗盤里的同位碼來進行恢復,但如果校驗盤損壞,則數據將無法恢復。
4.RAID-5
此模式類似于RAID-4,但取消了專門的校驗盤,而是將校驗信息同數據一起循環記錄在各個磁盤上,這樣任意一塊磁盤出現問題,都可以將數據恢復回來,但是損壞的磁盤數量大于等于兩塊時,數據將無法恢復。
5.RAID-10
此模式是將磁盤先組合RAID-1,再將這些RAID1的陣列組成RAID-0;這種陣列兼備了RAID-1的安全性和RAID-0的高效,每組RAID-1都允許損壞一塊磁盤;缺點是磁盤的空間則浪費的50%。
各種RAID級別的特點見下表:
RAID級別 | 所需磁盤數 | 讀寫能力 | 容錯能力 | 磁盤空間利用率 |
RAID-0 | 不限 | 提升 | 不具備 | 磁盤數*單塊磁盤空間 |
RAID-1 | 兩塊 | 下降 | 具備 | 單塊磁盤空間 |
RAID-4 | 最少三塊 | 提升 | 具備 | (磁盤數-1)*單塊磁盤空間 |
RAID-5 | 最少三塊 | 提升 | 具備 | (磁盤數-1)*單塊磁盤空間 |
RAID-10 | 最少四塊 | 提升 | 具備 | 磁盤數*單塊磁盤空間/2 |
在生產環境中,可以預備一塊空的磁盤做為預備磁盤。這塊空盤并不加入磁盤陣列當中,一旦陣列中的磁盤出現故障,可以將這塊空塊直接拉入磁盤陣列中,并將壞盤移除,避免了更換磁盤時的停機要求,以及熱插拔陣列中的磁盤可能造成的數據風險。
二.軟件磁盤陣列
由于條件所限,只能通過軟件磁盤陣列來說明演示磁盤的工作效果。
使用mdadm命令來創建軟件磁盤陣列。
命令參數:
-D:顯示詳細信息;
-A:裝配模式,重新識別此前實現的RAID;
-C:創建模式,創建RAID;
-F:監控模式;
管理模式:-f,-r,-a
-C:創建模式中專用選項
-n #:用于創建RAID設備的磁盤個數
-l #:級別
-a yes:自動為創建的RAID生成設備文件;
-c Chunk_size
1.RAID-0
使用三個2G的分區創建一個RAID-0;
查看/dev/md0狀態;
查看/dev/md0的詳細信息;
格式化/dev/md0;
掛載/dev/md0到/mnt/md0,可以看到空間是三塊磁盤的總和;
2.RAID-1
使用兩個1G的分區創建RAID1;
格式化并掛載,復制文件到掛載目錄下;
磁盤空間為1G左右;
查看md1的狀態
模擬磁盤損壞;
查看md1的狀態;
查看md1詳細信息;
查看/mnt/md1下的文件,依然可以正常訪問;
移除損壞的磁盤,并加添加一塊好的磁盤到陣列中;
移除磁盤;
添加新盤;
查看狀態;
3.RAID-5
將三塊1G的磁盤組成RAID-5;
查看md5狀態;
格式化并掛載;
測試容錯;
復制/etc/issue到/mnt/md5目錄中;移除/dev/sdb10;
mdadm -D /dev/md5查看信息;
依然可以讀取目錄中的文件;
修復步驟與RAID1相同,此處不再演示。
mdadm命令補充:
-f/–fail DEVICE:手動設置磁盤為損壞;
-r/–remove DEVICE:移除磁盤;
-a/–add DEVICE:加入磁盤;
mdadm -S DEVICE: 停止磁盤陣列;
watch命令:階段性地執行指定的命令;
watch -n# 命令
eg:watch -n.5 ifconfig 每0.5秒更新一次顯示結果。
原創文章,作者:petmaster,如若轉載,請注明出處:http://www.www58058.com/1987
還是前面的建議,xshell底調整成黑色的。另外,字體大小調整成12或14博文效果會更好
@stanley:謝謝,下一篇一定不一樣了 :lol: