RAID陣列

目錄:

一、RAID簡介
二、RAID級別
三、RAID的實現方式
四、RAID的好處
五、軟RAID的實現
六、示例說明

一、RAID簡介

早些時間由於磁盤價格的原因,造成一些普通用戶不能使用,買不起,爲了解決這個問題,1988年由加利福尼亞大學伯克利分校(University ofCalifornia-Berkeley) 提出了“A Case for Redundant Arrays of Inexpensive Disks”。作用機理是多個磁盤合成一個“陣列”來提供更好的性能、冗餘或者兩者的結合,大大的降低了成本,並且性能也有進一步的提升。

二、RAID級別:

這裏我們隊常用的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信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章