目的:提升硬盤的性能,提升安全性,加快讀寫速率。
解決辦法:RAID 0,RAID 1,RAID 5,RAID 10。
RAID 0:簡單理解,將兩塊硬盤捆綁在一起,同時讀寫數據,提升數據的吞吐速度,但是不具備數據備份和錯誤修復能力。
RAID1:將兩塊硬盤設置互爲鏡像,一塊傳數據,另一塊做備份,安全性高,但讀寫速度低,適合高安全需求的行業。
RAID5:至少三塊硬盤,數據平均地存儲在各個硬盤上,並提供奇偶校驗,壞掉一塊硬盤,能通過其他兩塊硬盤作恢復。(廉價冗餘)所以在市場上被廣泛傳播使用。
RAID10: 其實是RAID0和RAID1的組合。至少4塊硬盤來組建,其中先分別兩兩製作成RAID 1磁盤陣列,以保證數據的安全性;然後再對兩個RAID 1磁盤陣列實施RAID 0技術,進一步提高硬盤設備的讀寫速度。
下面以組建RAID 10爲實驗:首先關機狀態下,添加4塊新硬盤。
Linux中管理RAID的命令:mdadm
格式爲“mdadm [模式] <RAID設備名稱> [選項] [成員設備名稱]”
Mdadm參數表
參數 作用
-a 檢測設備名稱
-n 指定設備數量
-l 指定RAID級別
-C 創建
-v 顯示過程
-f 模擬設備損壞
-r 移除設備
-Q 查看摘要信息
-D 查看詳細信息
-S 停止RAID磁盤陣列
接下來,使用mdadm命令創建RAID 10,名稱爲“/dev/md0”。
[root@linuxprobe ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
其中,-C參數代表創建一個RAID陣列卡;-v參數顯示創建的過程,同時在後面追加一個設備名稱/dev/md0,這樣/dev/md0就是創建後的RAID磁盤陣列的名稱;-a yes參數代表自動創建設備文件;-n 4參數代表使用4塊硬盤來部署這個RAID磁盤陣列;而-l 10參數則代表RAID 10方案;最後再加上4塊硬盤設備的名稱就搞定了。
其次,把製作好的RAID磁盤陣列格式化爲ext4格式。
[root@linuxprobe ~]# mkfs.ext4 /dev/md0
再次,創建掛載點然後把硬盤設備進行掛載操作。掛載成功後可看到可用空間爲40GB。
【爲什麼是40G?總共增加的物理磁盤是4*20G=80G,由於組建RAID10,一半的空間是默認爲備份空間,所以用戶只能看到40G】
[root@linuxprobe ~]# mkdir /RAID
[root@linuxprobe ~]# mount /dev/md0 /RAID
[root@linuxprobe ~]# df -h
最後,查看/dev/md0磁盤陣列的詳細信息,並把掛載信息寫入到配置文件中,使其永久生效。
[root@linuxprobe ~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab
至此,組建RAID操作完成!
損壞磁盤陣列及修復
1、取出損壞的硬盤
2、在支持熱插拔的服務器上,安裝新的硬盤,可以直接安裝上去,如果不支持熱插拔則需要關機。
[root@linuxprobe ~]# umount /RAID //卸載RAID
[root@linuxprobe ~]# mdadm /dev/md0 -a /dev/sdb //檢查新加入的設備是否正常(此處假設替換了sdb硬盤)
[root@linuxprobe ~]# mdadm -D /dev/md0 //查看陣列信息
[root@linuxprobe ~]# mount -a //mount -a 的意思是將/etc/fstab的所有內容重新加載,也就是重新掛載 /RAID
添加備份盤
目的:比如在RAID5中,如果一塊硬盤壞了,還可以修復,如果兩塊硬盤一起壞掉,則數據無法恢復,爲了避免這樣的事故發生,會使用備份盤策略。
語法如下:
mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
在下面的命令中,參數-n 3代表創建這個RAID 5磁盤陣列所需的硬盤數,參數-l 5代表RAID的級別,而參數-x 1則代表有一塊備份盤。當查看/dev/md0(即RAID 5磁盤陣列的名稱)磁盤陣列的時候就能看到有一塊備份盤在等待中了。
備份盤能夠自動在其他硬盤故障時,頂替故障盤的位置,提供更高的安全保護。
邏輯卷的配置和管理
待續。。。