首頁 > 軟體

Linux 常見 RAID 及軟 RAID 建立

2020-06-16 16:32:38

RAID可以大幅度的提高磁碟效能,以及可靠性,這麼好的技術怎麼能不掌握呢!此篇介紹一些常見RAID,及其在Linux上的軟RAID建立方法。


mdadm#

  • 建立軟RAID
mdadm -C -v /dev/建立的裝置名 -l級別 -n數量 新增的磁碟 [-x數量 新增的熱備份盤]

-C:建立一個新的陣列--create
-v:顯示細節--verbose
-l:設定RAID級別--level=
-n:指定陣列中可用device數目--raid-devices=
-x:指定初始陣列的富餘device數目--spare-devices=,空閒盤(熱備磁碟)能在工作盤損壞後自動頂替

  • 檢視詳細資訊
mdadm -D /dev/裝置名

-D:列印一個或多個md device的詳細資訊--detail

  • 檢視RAID的狀態
cat /proc/mdstat
  • 模擬損壞
mdadm -f /dev/裝置名 磁碟

-f:模擬損壞fail

  • 移除損壞
mdadm -r /dev/裝置名 磁碟

-r:移除remove

  • 新增新硬碟作為熱備份盤
mdadm -a /dev/裝置名 磁碟

-a:新增add


RAID0#

RAID0俗稱條帶,它將兩個或多個硬碟組成一個邏輯硬碟,容量是所有硬碟之和,因為是多個硬碟組合成一個,故可並行寫操作,寫入速度提高,但此方式硬碟資料沒有冗餘,沒有容錯,一旦一個物理硬碟損壞,則所有資料均丟失。因而,RAID0適合於對資料量大,但安全性要求不高的場景,比如音像、視訊檔的儲存等。

實驗RAID0建立,格式化,掛載使用。

1.新增220G的硬碟,分割區,型別IDfd

[root@localhost ~]# fdisk -l | grep raid
/dev/sdb1            2048    41943039    20970496   fd  Linux raid autodetect
/dev/sdc1            2048    41943039    20970496   fd  Linux raid autodetect

2.建立RAID0

[root@localhost ~]# mdadm -C -v /dev/md0 -l0 -n2 /dev/sd{b,c}1
mdadm: chunk size defaults to 512K
mdadm: Fail create md0 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

3.檢視raidstat狀態。

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdc1[1] sdb1[0]
      41906176 blocks super 1.2 512k chunks

unused devices: <none>

4.檢視RAID0的詳細資訊。

[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Sun Aug 25 15:28:13 2019
        Raid Level : raid0
        Array Size : 41906176 (39.96 GiB 42.91 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 15:28:13 2019
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : none

              Name : localhost:0  (local to host localhost)
              UUID : 7ff54c57:b99a59da:6b56c6d5:a4576ccf
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1

5.格式化。

[root@localhost ~]# mkfs.xfs /dev/md0
meta-data=/dev/md0               isize=512    agcount=16, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10475520, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

6.掛載使用。

[root@localhost ~]# mkdir /mnt/md0
[root@localhost ~]# mount /dev/md0 /mnt/md0/
[root@localhost ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/CentOS-root xfs        17G 1013M   16G   6% /
devtmpfs                devtmpfs  901M     0  901M   0% /dev
tmpfs                   tmpfs     912M     0  912M   0% /dev/shm
tmpfs                   tmpfs     912M  8.7M  904M   1% /run
tmpfs                   tmpfs     912M     0  912M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  143M  872M  15% /boot
tmpfs                   tmpfs     183M     0  183M   0% /run/user/0
/dev/md0                xfs        40G   33M   40G   1% /mnt/md0

RAID1#

RAID1俗稱映象,它最少由兩個硬碟組成,且兩個硬碟上儲存的資料均相同,以實現資料冗餘。RAID1讀操作速度有所提高,寫操作理論上與單硬碟速度一樣,但由於資料需要同時寫入所有硬碟,實際上稍為下降。容錯性是所有組合方式裡最好的,只要有一塊硬碟正常,則能保持正常工作。但它對硬碟容量的利用率則是最低,只有50%,因而成本也是最高。RAID1適合對資料安全性要求非常高的場景,比如儲存資料庫資料檔案之類。

實驗RAID1建立,格式化,掛載使用,故障模擬,重新新增熱備份。

1.新增320G的硬碟,分割區,型別IDfd

[root@localhost ~]# fdisk -l | grep raid
/dev/sdb1            2048    41943039    20970496   fd  Linux raid autodetect
/dev/sdc1            2048    41943039    20970496   fd  Linux raid autodetect
/dev/sdd1            2048    41943039    20970496   fd  Linux raid autodetect

2.建立RAID1,並新增1個熱備份盤。

[root@localhost ~]# mdadm -C -v /dev/md1 -l1 -n2 /dev/sd{b,c}1 -x1 /dev/sdd1
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: size set to 20953088K
Continue creating array? y
mdadm: Fail create md1 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.

3.檢視raidstat狀態。

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdd1[2](S) sdc1[1] sdb1[0]
      20953088 blocks super 1.2 [2/2] [UU]
      [========>............]  resync = 44.6% (9345792/20953088) finish=0.9min speed=203996K/sec

unused devices: <none>
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdd1[2](S) sdc1[1] sdb1[0]
      20953088 blocks super 1.2 [2/2] [UU]

unused devices: <none>

4.檢視RAID1的詳細資訊。

[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Sun Aug 25 15:38:44 2019
        Raid Level : raid1
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 3
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 15:39:24 2019
             State : clean, resyncing
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 1

Consistency Policy : resync

     Resync Status : 40% complete

              Name : localhost:1  (local to host localhost)
              UUID : b921e8b3:a18e2fc9:11706ba4:ed633dfd
            Events : 6

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1

       2       8       49        -      spare   /dev/sdd1

5.格式化。

[root@localhost ~]# mkfs.xfs /dev/md1
meta-data=/dev/md1               isize=512    agcount=4, agsize=1309568 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5238272, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

6.掛載使用。

[root@localhost ~]# mkdir /mnt/md1
[root@localhost ~]# mount /dev/md1 /mnt/md1/
[root@localhost ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G 1014M   16G   6% /
devtmpfs                devtmpfs  901M     0  901M   0% /dev
tmpfs                   tmpfs     912M     0  912M   0% /dev/shm
tmpfs                   tmpfs     912M  8.7M  904M   1% /run
tmpfs                   tmpfs     912M     0  912M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  143M  872M  15% /boot
tmpfs                   tmpfs     183M     0  183M   0% /run/user/0
/dev/md1                xfs        20G   33M   20G   1% /mnt/md1

7.建立測試檔案。

[root@localhost ~]# touch /mnt/md1/test{1..9}.txt
[root@localhost ~]# ls /mnt/md1/
test1.txt  test2.txt  test3.txt  test4.txt  test5.txt  test6.txt  test7.txt  test8.txt  test9.txt

8.故障模擬。

[root@localhost ~]# mdadm -f /dev/md1 /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md1

9.檢視測試檔案。

[root@localhost ~]# ls /mnt/md1/
test1.txt  test2.txt  test3.txt  test4.txt  test5.txt  test6.txt  test7.txt  test8.txt  test9.txt

10.檢視狀態。

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdd1[2] sdc1[1] sdb1[0](F)
      20953088 blocks super 1.2 [2/1] [_U]
      [=====>...............]  recovery = 26.7% (5600384/20953088) finish=1.2min speed=200013K/sec

unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Sun Aug 25 15:38:44 2019
        Raid Level : raid1
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 3
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 15:47:57 2019
             State : active, degraded, recovering
    Active Devices : 1
   Working Devices : 2
    Failed Devices : 1
     Spare Devices : 1

Consistency Policy : resync

    Rebuild Status : 17% complete

              Name : localhost:1  (local to host localhost)
              UUID : b921e8b3:a18e2fc9:11706ba4:ed633dfd
            Events : 22

    Number   Major   Minor   RaidDevice State
       2       8       49        0      spare rebuilding   /dev/sdd1
       1       8       33        1      active sync   /dev/sdc1

       0       8       17        -      faulty   /dev/sdb1

11.再次檢視狀態。

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdd1[2] sdc1[1] sdb1[0](F)
      20953088 blocks super 1.2 [2/2] [UU]

unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Sun Aug 25 15:38:44 2019
        Raid Level : raid1
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 3
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 15:49:28 2019
             State : active
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 1
     Spare Devices : 0

Consistency Policy : resync

              Name : localhost:1  (local to host localhost)
              UUID : b921e8b3:a18e2fc9:11706ba4:ed633dfd
            Events : 37

    Number   Major   Minor   RaidDevice State
       2       8       49        0      active sync   /dev/sdd1
       1       8       33        1      active sync   /dev/sdc1

       0       8       17        -      faulty   /dev/sdb1

12.移除損壞的磁碟

[root@localhost ~]# mdadm -r /dev/md1 /dev/sdb1
mdadm: hot removed /dev/sdb1 from /dev/md1
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Sun Aug 25 15:38:44 2019
        Raid Level : raid1
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 15:52:57 2019
             State : active
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : localhost:1  (local to host localhost)
              UUID : b921e8b3:a18e2fc9:11706ba4:ed633dfd
            Events : 38

    Number   Major   Minor   RaidDevice State
       2       8       49        0      active sync   /dev/sdd1
       1       8       33        1      active sync   /dev/sdc1

13.重新新增熱備份盤。

[root@localhost ~]# mdadm -a /dev/md1 /dev/sdb1
mdadm: added /dev/sdb1
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Sun Aug 25 15:38:44 2019
        Raid Level : raid1
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 3
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 15:53:32 2019
             State : active
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 1

Consistency Policy : resync

              Name : localhost:1  (local to host localhost)
              UUID : b921e8b3:a18e2fc9:11706ba4:ed633dfd
            Events : 39

    Number   Major   Minor   RaidDevice State
       2       8       49        0      active sync   /dev/sdd1
       1       8       33        1      active sync   /dev/sdc1

       3       8       17        -      spare   /dev/sdb1

RAID5#

RAID5最少由三個硬碟組成,它將資料分散儲存於陣列中的每個硬碟,並且還伴有一個資料校驗位,資料位與校驗位通過演算法能相互驗證,當丟失其中的一位時,RAID控制器能通過演算法,利用其它兩位資料將丟失的資料進行計算還原。因而RAID5最多能允許一個硬碟損壞,有容錯性。RAID5相對於其它的組合方式,在容錯與成本方面有一個平衡,因而受到大多數使用者的歡迎。一般的磁碟陣列,最常使用的就是RAID5這種方式。

實驗RAID5建立,格式化,掛載使用,故障模擬,重新新增熱備份。

1.新增420G的硬碟,分割區,型別IDfd

[root@localhost ~]# fdisk -l | grep raid
/dev/sdb1            2048    41943039    20970496   fd  Linux raid autodetect
/dev/sdc1            2048    41943039    20970496   fd  Linux raid autodetect
/dev/sdd1            2048    41943039    20970496   fd  Linux raid autodetect
/dev/sde1            2048    41943039    20970496   fd  Linux raid autodetect

2.建立RAID5,並新增1個熱備份盤。

[root@localhost ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20953088K
mdadm: Fail create md5 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.

3.檢視raidstat狀態。

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
      41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [====>................]  recovery = 24.1% (5057340/20953088) finish=1.3min speed=202293K/sec

unused devices: <none>
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
      41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>

4.檢視RAID5的詳細資訊。

[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Sun Aug 25 16:13:44 2019
        Raid Level : raid5
        Array Size : 41906176 (39.96 GiB 42.91 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 16:15:29 2019
             State : clean
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost:5  (local to host localhost)
              UUID : a055094e:9adaff79:2edae9b9:0dcc3f1b
            Events : 18

    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

5.格式化。

[root@localhost ~]# mkfs.xfs /dev/md5
meta-data=/dev/md5               isize=512    agcount=16, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10475520, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

6.掛載使用。

[root@localhost ~]# mkdir /mnt/md5
[root@localhost ~]# mount /dev/md5 /mnt/md5/
[root@localhost ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G 1014M   16G   6% /
devtmpfs                devtmpfs  901M     0  901M   0% /dev
tmpfs                   tmpfs     912M     0  912M   0% /dev/shm
tmpfs                   tmpfs     912M  8.7M  904M   1% /run
tmpfs                   tmpfs     912M     0  912M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  143M  872M  15% /boot
tmpfs                   tmpfs     183M     0  183M   0% /run/user/0
/dev/md5                xfs        40G   33M   40G   1% /mnt/md5

7.建立測試檔案。

[root@localhost ~]# touch /mnt/md5/test{1..9}.txt
[root@localhost ~]# ls /mnt/md5/
test1.txt  test2.txt  test3.txt  test4.txt  test5.txt  test6.txt  test7.txt  test8.txt  test9.txt

8.故障模擬。

[root@localhost ~]# mdadm -f /dev/md5 /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md5

9.檢視測試檔案。

[root@localhost ~]# ls /mnt/md5/
test1.txt  test2.txt  test3.txt  test4.txt  test5.txt  test6.txt  test7.txt  test8.txt  test9.txt

10.檢視狀態。

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3] sdc1[1] sdb1[0](F)
      41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU]
      [====>................]  recovery = 21.0% (4411136/20953088) finish=1.3min speed=210054K/sec

unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Sun Aug 25 16:13:44 2019
        Raid Level : raid5
        Array Size : 41906176 (39.96 GiB 42.91 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 16:21:31 2019
             State : clean, degraded, recovering
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

    Rebuild Status : 12% complete

              Name : localhost:5  (local to host localhost)
              UUID : a055094e:9adaff79:2edae9b9:0dcc3f1b
            Events : 23

    Number   Major   Minor   RaidDevice State
       3       8       65        0      spare rebuilding   /dev/sde1
       1       8       33        1      active sync   /dev/sdc1
       4       8       49        2      active sync   /dev/sdd1

       0       8       17        -      faulty   /dev/sdb1

11.再次檢視狀態。

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3] sdc1[1] sdb1[0](F)
      41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Sun Aug 25 16:13:44 2019
        Raid Level : raid5
        Array Size : 41906176 (39.96 GiB 42.91 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 16:23:09 2019
             State : clean
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost:5  (local to host localhost)
              UUID : a055094e:9adaff79:2edae9b9:0dcc3f1b
            Events : 39

    Number   Major   Minor   RaidDevice State
       3       8       65        0      active sync   /dev/sde1
       1       8       33        1      active sync   /dev/sdc1
       4       8       49        2      active sync   /dev/sdd1

       0       8       17        -      faulty   /dev/sdb1

12.移除損壞的磁碟。

[root@localhost ~]# mdadm -r /dev/md5 /dev/sdb1
mdadm: hot removed /dev/sdb1 from /dev/md5
[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Sun Aug 25 16:13:44 2019
        Raid Level : raid5
        Array Size : 41906176 (39.96 GiB 42.91 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 3
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 16:25:01 2019
             State : clean
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost:5  (local to host localhost)
              UUID : a055094e:9adaff79:2edae9b9:0dcc3f1b
            Events : 40

    Number   Major   Minor   RaidDevice State
       3       8       65        0      active sync   /dev/sde1
       1       8       33        1      active sync   /dev/sdc1
       4       8       49        2      active sync   /dev/sdd1

13.重新新增熱備份盤。

[root@localhost ~]# mdadm -a /dev/md5 /dev/sdb1
mdadm: added /dev/sdb1
[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Sun Aug 25 16:13:44 2019
        Raid Level : raid5
        Array Size : 41906176 (39.96 GiB 42.91 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 16:25:22 2019
             State : clean
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost:5  (local to host localhost)
              UUID : a055094e:9adaff79:2edae9b9:0dcc3f1b
            Events : 41

    Number   Major   Minor   RaidDevice State
       3       8       65        0      active sync   /dev/sde1
       1       8       33        1      active sync   /dev/sdc1
       4       8       49        2      active sync   /dev/sdd1

       5       8       17        -      spare   /dev/sdb1

RAID6#

RAID6是在RAID5的基礎上改良而成的,RAID6再將資料校驗位增加一位,所以允許損壞的硬碟數量也由 RAID5的一個增加到二個。由於同一陣列中兩個硬碟同時損壞的概率非常少,所以,RAID6用增加一塊硬碟的代價,換來了比RAID5更高的資料安全性。

實驗RAID6建立,格式化,掛載使用,故障模擬,重新新增熱備份。

1.新增620G的硬碟,分割區,型別IDfd

[root@localhost ~]# fdisk -l | grep raid
/dev/sdb1            2048    41943039    20970496   fd  Linux raid autodetect
/dev/sdc1            2048    41943039    20970496   fd  Linux raid autodetect
/dev/sdd1            2048    41943039    20970496   fd  Linux raid autodetect
/dev/sde1            2048    41943039    20970496   fd  Linux raid autodetect
/dev/sdf1            2048    41943039    20970496   fd  Linux raid autodetect
/dev/sdg1            2048    41943039    20970496   fd  Linux raid autodetect

2.建立RAID6,並新增2個熱備份盤。

[root@localhost ~]# mdadm -C -v /dev/md6 -l6 -n4 /dev/sd[b-e]1 -x2 /dev/sd[f-g]1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20953088K
mdadm: Fail create md6 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md6 started.

3.檢視raidstat狀態。

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md6 : active raid6 sdg1[5](S) sdf1[4](S) sde1[3] sdd1[2] sdc1[1] sdb1[0]
      41906176 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
      [===>.................]  resync = 18.9% (3962940/20953088) finish=1.3min speed=208575K/sec

unused devices: <none>
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md6 : active raid6 sdg1[5](S) sdf1[4](S) sde1[3] sdd1[2] sdc1[1] sdb1[0]
      41906176 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]

unused devices: <none>

4.檢視RAID6的詳細資訊。

[root@localhost ~]# mdadm -D /dev/md6
/dev/md6:
           Version : 1.2
     Creation Time : Sun Aug 25 16:34:36 2019
        Raid Level : raid6
        Array Size : 41906176 (39.96 GiB 42.91 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 6
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 16:34:43 2019
             State : clean, resyncing
    Active Devices : 4
   Working Devices : 6
    Failed Devices : 0
     Spare Devices : 2

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

     Resync Status : 10% complete

              Name : localhost:6  (local to host localhost)
              UUID : 7c3d15a2:4066f2c6:742f3e4c:82aae1bb
            Events : 1

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1
       3       8       65        3      active sync   /dev/sde1

       4       8       81        -      spare   /dev/sdf1
       5       8       97        -      spare   /dev/sdg1

5.格式化。

[root@localhost ~]# mkfs.xfs /dev/md6
meta-data=/dev/md6               isize=512    agcount=16, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10475520, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

6.掛載使用。

[root@localhost ~]# mkdir /mnt/md6
[root@localhost ~]# mount /dev/md6 /mnt/md6/
[root@localhost ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G 1014M   16G   6% /
devtmpfs                devtmpfs  901M     0  901M   0% /dev
tmpfs                   tmpfs     912M     0  912M   0% /dev/shm
tmpfs                   tmpfs     912M  8.7M  903M   1% /run
tmpfs                   tmpfs     912M     0  912M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  143M  872M  15% /boot
tmpfs                   tmpfs     183M     0  183M   0% /run/user/0
/dev/md6                xfs        40G   33M   40G   1% /mnt/md6

7.建立測試檔案。

[root@localhost ~]# touch /mnt/md6/test{1..9}.txt
[root@localhost ~]# ls /mnt/md6/
test1.txt  test2.txt  test3.txt  test4.txt  test5.txt  test6.txt  test7.txt  test8.txt  test9.txt

8.故障模擬。

[root@localhost ~]# mdadm -f /dev/md6 /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md6
[root@localhost ~]# mdadm -f /dev/md6 /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md6

9.檢視測試檔案。

[root@localhost ~]# ls /mnt/md6/
test1.txt  test2.txt  test3.txt  test4.txt  test5.txt  test6.txt  test7.txt  test8.txt  test9.txt

10.檢視狀態。

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md6 : active raid6 sdg1[5] sdf1[4] sde1[3] sdd1[2] sdc1[1](F) sdb1[0](F)
      41906176 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/2] [__UU]
      [====>................]  recovery = 23.8% (4993596/20953088) finish=1.2min speed=208066K/sec

unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md6
/dev/md6:
           Version : 1.2
     Creation Time : Sun Aug 25 16:34:36 2019
        Raid Level : raid6
        Array Size : 41906176 (39.96 GiB 42.91 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 6
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 16:41:09 2019
             State : clean, degraded, recovering
    Active Devices : 2
   Working Devices : 4
    Failed Devices : 2
     Spare Devices : 2

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

    Rebuild Status : 13% complete

              Name : localhost:6  (local to host localhost)
              UUID : 7c3d15a2:4066f2c6:742f3e4c:82aae1bb
            Events : 27

    Number   Major   Minor   RaidDevice State
       5       8       97        0      spare rebuilding   /dev/sdg1
       4       8       81        1      spare rebuilding   /dev/sdf1
       2       8       49        2      active sync   /dev/sdd1
       3       8       65        3      active sync   /dev/sde1

       0       8       17        -      faulty   /dev/sdb1
       1       8       33        -      faulty   /dev/sdc1

11.再次檢視狀態。

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md6 : active raid6 sdg1[5] sdf1[4] sde1[3] sdd1[2] sdc1[1](F) sdb1[0](F)
      41906176 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]

unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md6
/dev/md6:
           Version : 1.2
     Creation Time : Sun Aug 25 16:34:36 2019
        Raid Level : raid6
        Array Size : 41906176 (39.96 GiB 42.91 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 6
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 16:42:42 2019
             State : clean
    Active Devices : 4
   Working Devices : 4
    Failed Devices : 2
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost:6  (local to host localhost)
              UUID : 7c3d15a2:4066f2c6:742f3e4c:82aae1bb
            Events : 46

    Number   Major   Minor   RaidDevice State
       5       8       97        0      active sync   /dev/sdg1
       4       8       81        1      active sync   /dev/sdf1
       2       8       49        2      active sync   /dev/sdd1
       3       8       65        3      active sync   /dev/sde1

       0       8       17        -      faulty   /dev/sdb1
       1       8       33        -      faulty   /dev/sdc1

12.移除損壞的磁碟。

[root@localhost ~]# mdadm -r /dev/md6 /dev/sd{b,c}1
mdadm: hot removed /dev/sdb1 from /dev/md6
mdadm: hot removed /dev/sdc1 from /dev/md6
[root@localhost ~]# mdadm -D /dev/md6
/dev/md6:
           Version : 1.2
     Creation Time : Sun Aug 25 16:34:36 2019
        Raid Level : raid6
        Array Size : 41906176 (39.96 GiB 42.91 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 16:43:43 2019
             State : clean
    Active Devices : 4
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost:6  (local to host localhost)
              UUID : 7c3d15a2:4066f2c6:742f3e4c:82aae1bb
            Events : 47

    Number   Major   Minor   RaidDevice State
       5       8       97        0      active sync   /dev/sdg1
       4       8       81        1      active sync   /dev/sdf1
       2       8       49        2      active sync   /dev/sdd1
       3       8       65        3      active sync   /dev/sde1

13.重新新增熱備份盤。

[root@localhost ~]# mdadm -a /dev/md6 /dev/sd{b,c}1
mdadm: added /dev/sdb1
mdadm: added /dev/sdc1
[root@localhost ~]# mdadm -D /dev/md6
/dev/md6:
           Version : 1.2
     Creation Time : Sun Aug 25 16:34:36 2019
        Raid Level : raid6
        Array Size : 41906176 (39.96 GiB 42.91 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 6
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 16:44:01 2019
             State : clean
    Active Devices : 4
   Working Devices : 6
    Failed Devices : 0
     Spare Devices : 2

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost:6  (local to host localhost)
              UUID : 7c3d15a2:4066f2c6:742f3e4c:82aae1bb
            Events : 49

    Number   Major   Minor   RaidDevice State
       5       8       97        0      active sync   /dev/sdg1
       4       8       81        1      active sync   /dev/sdf1
       2       8       49        2      active sync   /dev/sdd1
       3       8       65        3      active sync   /dev/sde1

       6       8       17        -      spare   /dev/sdb1
       7       8       33        -      spare   /dev/sdc1

RAID10#

RAID10是先將資料進行映象操作,然後再對資料進行分組,RAID1在這裡就是一個冗餘的備份陣列,而RAID0則負責資料的讀寫陣列。至少要四塊盤,兩兩組合做RAID1,然後做RAID0RAID10對儲存容量的利用率和RAID1一樣低,只有50%Raid10方案造成了50%的磁碟浪費,但是它提供了200%的速度和單磁碟損壞的資料安全性,並且當同時損壞的磁碟不在同一RAID1中,就能保證資料安全性,RAID10能提供比RAID5更好的效能。這種新結構的可擴充性不好,使用此方案比較昂貴。

實驗RAID10建立,格式化,掛載使用,故障模擬,重新新增熱備份。

1.新增420G的硬碟,分割區,型別IDfd

[root@localhost ~]# fdisk -l | grep raid
/dev/sdb1            2048    41943039    20970496   fd  Linux raid autodetect
/dev/sdc1            2048    41943039    20970496   fd  Linux raid autodetect
/dev/sdd1            2048    41943039    20970496   fd  Linux raid autodetect
/dev/sde1            2048    41943039    20970496   fd  Linux raid autodetect

2.建立兩個RAID1,不新增熱備份盤。

[root@localhost ~]# mdadm -C -v /dev/md101 -l1 -n2 /dev/sd{b,c}1
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: size set to 20953088K
Continue creating array? y
mdadm: Fail create md101 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md101 started.
[root@localhost ~]# mdadm -C -v /dev/md102 -l1 -n2 /dev/sd{d,e}1
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: size set to 20953088K
Continue creating array? y
mdadm: Fail create md102 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md102 started.

3.檢視raidstat狀態。

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md102 : active raid1 sde1[1] sdd1[0]
      20953088 blocks super 1.2 [2/2] [UU]
      [=========>...........]  resync = 48.4% (10148224/20953088) finish=0.8min speed=200056K/sec

md101 : active raid1 sdc1[1] sdb1[0]
      20953088 blocks super 1.2 [2/2] [UU]
      [=============>.......]  resync = 69.6% (14604672/20953088) finish=0.5min speed=200052K/sec

unused devices: <none>
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md102 : active raid1 sde1[1] sdd1[0]
      20953088 blocks super 1.2 [2/2] [UU]

md101 : active raid1 sdc1[1] sdb1[0]
      20953088 blocks super 1.2 [2/2] [UU]

unused devices: <none>

4.檢視兩個RAID1的詳細資訊。

[root@localhost ~]# mdadm -D /dev/md101
/dev/md101:
           Version : 1.2
     Creation Time : Sun Aug 25 16:53:00 2019
        Raid Level : raid1
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 16:53:58 2019
             State : clean, resyncing
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

     Resync Status : 62% complete

              Name : localhost:101  (local to host localhost)
              UUID : 80bb4fc5:1a628936:275ba828:17f23330
            Events : 9

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
[root@localhost ~]# mdadm -D /dev/md102
/dev/md102:
           Version : 1.2
     Creation Time : Sun Aug 25 16:53:23 2019
        Raid Level : raid1
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 16:54:02 2019
             State : clean, resyncing
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

     Resync Status : 42% complete

              Name : localhost:102  (local to host localhost)
              UUID : 38abac72:74fa8a53:3a21b5e4:01ae64cd
            Events : 6

    Number   Major   Minor   RaidDevice State
       0       8       49        0      active sync   /dev/sdd1
       1       8       65        1      active sync   /dev/sde1

5.建立RAID10

[root@localhost ~]# mdadm -C -v /dev/md10 -l0 -n2 /dev/md10{1,2}
mdadm: chunk size defaults to 512K
mdadm: Fail create md10 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md10 started.

6.檢視raidstat狀態。

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid0]
md10 : active raid0 md102[1] md101[0]
      41871360 blocks super 1.2 512k chunks

md102 : active raid1 sde1[1] sdd1[0]
      20953088 blocks super 1.2 [2/2] [UU]

md101 : active raid1 sdc1[1] sdb1[0]
      20953088 blocks super 1.2 [2/2] [UU]

unused devices: <none>

7.檢視RAID10的詳細資訊。

[root@localhost ~]# mdadm -D /dev/md10
/dev/md10:
           Version : 1.2
     Creation Time : Sun Aug 25 16:56:08 2019
        Raid Level : raid0
        Array Size : 41871360 (39.93 GiB 42.88 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 16:56:08 2019
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : none

              Name : localhost:10  (local to host localhost)
              UUID : 23c6abac:b131a049:db25cac8:686fb045
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       9      101        0      active sync   /dev/md101
       1       9      102        1      active sync   /dev/md102

8.格式化。

[root@localhost ~]# mkfs.xfs /dev/md10
meta-data=/dev/md10              isize=512    agcount=16, agsize=654208 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10467328, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5112, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

9.掛載使用。

[root@localhost ~]# mkdir /mnt/md10
[root@localhost ~]# mount /dev/md10 /mnt/md10/
[root@localhost ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G 1014M   16G   6% /
devtmpfs                devtmpfs  901M     0  901M   0% /dev
tmpfs                   tmpfs     912M     0  912M   0% /dev/shm
tmpfs                   tmpfs     912M  8.7M  903M   1% /run
tmpfs                   tmpfs     912M     0  912M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  143M  872M  15% /boot
tmpfs                   tmpfs     183M     0  183M   0% /run/user/0
/dev/md10               xfs        40G   33M   40G   1% /mnt/md10

10.建立測試檔案。

[root@localhost ~]# touch /mnt/md10/test{1..9}.txt
[root@localhost ~]# ls /mnt/md10/
test1.txt  test2.txt  test3.txt  test4.txt  test5.txt  test6.txt  test7.txt  test8.txt  test9.txt

11.故障模擬。

[root@localhost ~]# mdadm -f /dev/md101 /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md101
[root@localhost ~]# mdadm -f /dev/md102 /dev/sdd1
mdadm: set /dev/sdd1 faulty in /dev/md102

12.檢視測試檔案。

[root@localhost ~]# ls /mnt/md10/
test1.txt  test2.txt  test3.txt  test4.txt  test5.txt  test6.txt  test7.txt  test8.txt  test9.txt

13.檢視狀態。

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid0]
md10 : active raid0 md102[1] md101[0]
      41871360 blocks super 1.2 512k chunks

md102 : active raid1 sde1[1] sdd1[0](F)
      20953088 blocks super 1.2 [2/1] [_U]

md101 : active raid1 sdc1[1] sdb1[0](F)
      20953088 blocks super 1.2 [2/1] [_U]

unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md101
/dev/md101:
           Version : 1.2
     Creation Time : Sun Aug 25 16:53:00 2019
        Raid Level : raid1
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 17:01:11 2019
             State : clean, degraded
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 1
     Spare Devices : 0

Consistency Policy : resync

              Name : localhost:101  (local to host localhost)
              UUID : 80bb4fc5:1a628936:275ba828:17f23330
            Events : 23

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8       33        1      active sync   /dev/sdc1

       0       8       17        -      faulty   /dev/sdb1
[root@localhost ~]# mdadm -D /dev/md102
/dev/md102:
           Version : 1.2
     Creation Time : Sun Aug 25 16:53:23 2019
        Raid Level : raid1
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 17:00:43 2019
             State : clean, degraded
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 1
     Spare Devices : 0

Consistency Policy : resync

              Name : localhost:102  (local to host localhost)
              UUID : 38abac72:74fa8a53:3a21b5e4:01ae64cd
            Events : 19

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8       65        1      active sync   /dev/sde1

       0       8       49        -      faulty   /dev/sdd1
[root@localhost ~]# mdadm -D /dev/md10
/dev/md10:
           Version : 1.2
     Creation Time : Sun Aug 25 16:56:08 2019
        Raid Level : raid0
        Array Size : 41871360 (39.93 GiB 42.88 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 16:56:08 2019
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : none

              Name : localhost:10  (local to host localhost)
              UUID : 23c6abac:b131a049:db25cac8:686fb045
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       9      101        0      active sync   /dev/md101
       1       9      102        1      active sync   /dev/md102

14.移除損壞的磁碟。

[root@localhost ~]# mdadm -r /dev/md101 /dev/sdb1
mdadm: hot removed /dev/sdb1 from /dev/md101
[root@localhost ~]# mdadm -r /dev/md102 /dev/sdd1
mdadm: hot removed /dev/sdd1 from /dev/md102
[root@localhost ~]# mdadm -D /dev/md101
/dev/md101:
           Version : 1.2
     Creation Time : Sun Aug 25 16:53:00 2019
        Raid Level : raid1
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 1
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 17:04:59 2019
             State : clean, degraded
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : localhost:101  (local to host localhost)
              UUID : 80bb4fc5:1a628936:275ba828:17f23330
            Events : 26

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8       33        1      active sync   /dev/sdc1
[root@localhost ~]# mdadm -D /dev/md102
/dev/md102:
           Version : 1.2
     Creation Time : Sun Aug 25 16:53:23 2019
        Raid Level : raid1
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 1
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 17:05:07 2019
             State : clean, degraded
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : localhost:102  (local to host localhost)
              UUID : 38abac72:74fa8a53:3a21b5e4:01ae64cd
            Events : 20

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8       65        1      active sync   /dev/sde1

15.重新新增熱備份盤。

[root@localhost ~]# mdadm -a /dev/md101 /dev/sdb1
mdadm: added /dev/sdb1
[root@localhost ~]# mdadm -a /dev/md102 /dev/sdd1
mdadm: added /dev/sdd1

16.再次檢視狀態。

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid0]
md10 : active raid0 md102[1] md101[0]
      41871360 blocks super 1.2 512k chunks

md102 : active raid1 sdd1[2] sde1[1]
      20953088 blocks super 1.2 [2/1] [_U]
      [====>................]  recovery = 23.8% (5000704/20953088) finish=1.2min speed=208362K/sec

md101 : active raid1 sdb1[2] sdc1[1]
      20953088 blocks super 1.2 [2/1] [_U]
      [======>..............]  recovery = 32.0% (6712448/20953088) finish=1.1min speed=203407K/sec

unused devices: <none>
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid0]
md10 : active raid0 md102[1] md101[0]
      41871360 blocks super 1.2 512k chunks

md102 : active raid1 sdd1[2] sde1[1]
      20953088 blocks super 1.2 [2/2] [UU]

md101 : active raid1 sdb1[2] sdc1[1]
      20953088 blocks super 1.2 [2/2] [UU]

unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md101
/dev/md101:
           Version : 1.2
     Creation Time : Sun Aug 25 16:53:00 2019
        Raid Level : raid1
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 17:07:28 2019
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : localhost:101  (local to host localhost)
              UUID : 80bb4fc5:1a628936:275ba828:17f23330
            Events : 45

    Number   Major   Minor   RaidDevice State
       2       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
[root@localhost ~]# mdadm -D /dev/md102
/dev/md102:
           Version : 1.2
     Creation Time : Sun Aug 25 16:53:23 2019
        Raid Level : raid1
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Sun Aug 25 17:07:36 2019
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : localhost:102  (local to host localhost)
              UUID : 38abac72:74fa8a53:3a21b5e4:01ae64cd
            Events : 39

    Number   Major   Minor   RaidDevice State
       2       8       49        0      active sync   /dev/sdd1
       1       8       65        1      active sync   /dev/sde1

常用 RAID 間比較#

名稱硬碟數量容量/利用率讀效能寫效能資料冗餘
RAID0 N N塊總和 N倍 N倍 無,一個故障,丟失所有資料
RAID1 N(偶數) 50% 寫兩個裝置,允許一個故障
RAID5 N≥3 (N-1)/N ↑↑ 計算校驗,允許一個故障
RAID6 N≥4 (N-2)/N ↑↑ ↓↓ 雙重校驗,允許兩個故障
RAID10 N(偶數,N≥4) 50% (N/2)倍 (N/2)倍 允許基組中的磁碟各損壞一個

一些話#

此篇涉及到的操作很簡單,但是,有很多的檢視占用了大量的篇幅,看關鍵點,過程都是一個套路,都是重複的。


IT145.com E-mail:sddin#qq.com