目錄:
一、RAID簡介
二、RAID級別
三、RAID的實現方式
四、RAID的好處
五、軟RAID的實現
六、示例說明
一、RAID簡介
早些時間由於磁盤價格的原因,造成一些普通用戶不能使用,買不起,爲了解決這個問題,1988年由加利福尼亞大學伯克利分校(University ofCalifornia-Berkeley) 提出了“A Case for Redundant Arrays of Inexpensive Disks”。作用機理是多個磁盤合成一個“陣列”來提供更好的性能、冗餘或者兩者的結合,大大的降低了成本,並且性能也有進一步的提升。
二、RAID級別:
這裏我們隊常用的raid進行比較。
*注意:在製作RAID陣列時,必須每塊磁盤或分區的大小的相同的。
三、RAID的實現方式
(1)外接式磁盤陣列:通過擴展卡提供適配能力
(2)內接式RAID:主板集成RAID控制器;(安裝操作系統前在BIOS內配)
(3)軟件RAID:通過操作系統實現
四、RAID的好處
(1)提高IO能力,磁盤並行讀寫;
(2)提高耐用性,通過磁盤冗餘來實現;
五、軟RAID的實現
管理命令的介紹
mdadm命令 manage MD devices aka Linux Software RAID
usage:mdadm [mode] <raiddevice> [options] <component-devices>
<raiddevice>:/dev/md#
<component-devices> :任意塊設備;
選項:
創建模式:-C
-n#:使用#個塊設備來創建此RAID
-l#:指明要創建的RAID的級別;
-a(yes|no):自動創建目標RAID設備的設備文件
-c CHUNK_SIZE:指明塊大小;
-x#:指明空閒盤的個數;
顯示RAID的詳細信息:-D
-s,--scan 掃描
管理模式:
-f:標記指定磁盤爲損壞
-a:添加磁盤
-r:移除磁盤
裝配 -A
停止 -S
激活 -R --run
六、下面通過示例對選項進行說明
(1)創建RAID5磁盤陣列
1、添加加快硬盤做raid5陣列
[root@localhost~]#echo '- - -' >/sys/class/scsi_host/host2/scan
#識別磁盤(只適用於虛擬機中)
2、查看是否添加成功
[root@localhost~]#lsblk
3、創建raid分區
[root@localhost~]#fdisk /dev/sdb
....此處省略
Command (m for help): t #調整分區類型
Partition number (1-4): 2
Hex code (type L to list codes): fd
Changed system type of partition 2 to fd (Linux raid autodetect)
4、分別對其他幾塊硬盤創建分區
[root@localhost~]#dd if=/dev/sdb of=/dev/sdc bs=1 count=512
[root@localhost~]#dd if=/dev/sdb of=/dev/sdd bs=1 count=512
[root@localhost~]#dd if=/dev/sdb of=/dev/sde bs=1 count=512
5、同步分區
[root@localhost~]#partx -a /dev/sdb
[root@localhost~]#partx -a /dev/sdc
[root@localhost~]#partx -a /dev/sdd
[root@localhost~]#partx -a /dev/sde
6、創建raid磁盤陣列
[root@localhost~]#mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}1
7、格式化磁盤陣列
[root@localhost~]# mke2fs -t ext4 /dev/md0
8、創建掛載點並掛載
[root@localhost~]# mkdir /mnt/raid5
[root@localhost~]#mount /dev/md0 /mnt/raid5/
9、查看raid陣列的詳細信息
[root@localhost~]#mdadm -D /dev/md0
[root@localhost~]#cat /proc/mdstat
10、備份raid5信息
[root@localhost~]#mdadm -Ds >/etc/mdadm.conf
11、測試
[root@localhost~]#cp /etc/* /mnt/raid5/ -r
[root@localhost~]#ls /mnt/raid5
(2)raid5如何硬盤更換
1、模擬磁盤損壞
[root@localhost~]#mdadm /dev/md0 -f /dev/sdd1
2、查看信息
[root@localhost~]#mdadm -D /dev/md0 最後幾行顯示
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
3 8 65 2 active sync /dev/sde1
4 8 49 - faulty /dev/sdd1
下面顯示的是沒有損壞之前的情況:
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1
3 8 65 - spare /dev/sde1
通過查看很明顯,損壞的硬盤被備份的硬盤替換。實現冗餘能力。但是重新啓動操作胸痛損壞磁盤不能被掛載。
3、移除損壞的分區
[root@localhost~]#mdadm /dev/md0 -r /dev/sdd1
mdadm: hot removed /dev/sdd1 from /dev/md0
再次查看已經成功的移除壞的設備。
(3)如何添加硬盤到磁盤整列
1、創建磁盤分區並修改分區類型
[root@localhost~]#fdisk /dev/sdb
#分區fd類型
2、添加一個分區並查看
[root@localhost~]#mdadm /dev/md0 -a /dev/sdb2
[root@localhost~]#mdadm -D /dev/md0 #顯示raid信息
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
3 8 65 2 active sync /dev/sde1
5 8 18 3 spare rebuilding /dev/sdb2
(4)刪除磁盤陣列信息
1、取消掛載並查看
```[root@localhost~]#umount /mnt/raid5/
[root@localhost~]#df```
2、停止設備運行並查看是否還運行
[root@localhost~]#mdadm -S /dev/md0
[root@localhost~]#mdadm -D /dev/md/md-device-map
3、刪除/etc/mdadm.conf文件
[root@localhost~]#rm -rf /etc/mdadm.conf
4、修改/etc/fstab
[root@localhost~]#vim /etc/fstab
刪除添加的哪一行
5、查看設備
[root@localhost~]#blkid
注意此時並不能刪除分區上的信息。需要使用專屬命令進行。
6、刪除分區上raid信息並且確認
[root@localhost~]#mdadm --zero-superblock /dev/sd{b,c,d,e}1
[root@localhost~]#blkid
注意:直接刪除分區時刪除不乾淨的,重新啓動機器還會有raid信息。