7.1.3 磁盤陣列+備份盤

2023-05-11 15:51 更新

RAID 10磁盤陣列中最多允許50%的硬盤設(shè)備發(fā)生故障,但是存在這樣一種極端情況,即同一RAID 1磁盤陣列中的硬盤設(shè)備若全部損壞,也會導(dǎo)致數(shù)據(jù)丟失。換句話說,在RAID 10磁盤陣列中,如果RAID 1中的某一塊硬盤出現(xiàn)了故障,而我們正在前往修復(fù)的路上,恰巧該RAID1磁盤陣列中的另一塊硬盤設(shè)備也出現(xiàn)故障,那么數(shù)據(jù)就被徹底丟失了。劉遄老師可真不是烏鴉嘴,這種RAID 1磁盤陣列中的硬盤設(shè)備同時損壞的情況還真被我的學(xué)生遇到過。

在這樣的情況下,該怎么辦呢?其實,我們完全可以使用RAID備份盤技術(shù)來預(yù)防這類事故。該技術(shù)的核心理念就是準(zhǔn)備一塊足夠大的硬盤,這塊硬盤平時處于閑置狀態(tài),一旦RAID磁盤陣列中有硬盤出現(xiàn)故障后則會馬上自動頂替上去。這樣很棒吧!

為了避免多個實驗之間相互發(fā)生沖突,我們需要保證每個實驗的相對獨(dú)立性,為此需要大家自行將虛擬機(jī)還原到初始狀態(tài)。另外,由于剛才已經(jīng)演示了RAID 10磁盤陣列的部署方法,我們現(xiàn)在來看一下RAID 5的部署效果。部署RAID 5磁盤陣列時,至少需要用到3塊硬盤,還需要再加一塊備份硬盤,所以總計需要在虛擬機(jī)中模擬4塊硬盤設(shè)備,如圖7-6所示。

圖7-6 在虛擬機(jī)中模擬添加4塊硬盤設(shè)備

現(xiàn)在創(chuàng)建一個RAID 5磁盤陣列+備份盤。在下面的命令中,參數(shù)-n 3代表創(chuàng)建這個RAID 5磁盤陣列所需的硬盤數(shù),參數(shù)-l 5代表RAID的級別,而參數(shù)-x 1則代表有一塊備份盤。當(dāng)查看/dev/md0(即RAID 5磁盤陣列的名稱)磁盤陣列的時候就能看到有一塊備份盤在等待中了。

    [root@linuxprobe ~]# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
    mdadm: layout defaults to left-symmetric
    mdadm: layout defaults to left-symmetric
    mdadm: chunk size defaults to 512K
    mdadm: size set to 20954624K
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md0 started.
    [root@linuxprobe ~]# mdadm -D /dev/md0
    /dev/md0:
    Version : 1.2
    Creation Time : Fri May 8 09:20:35 2017
    Raid Level : raid5
    Array Size : 41909248 (39.97 GiB 42.92 GB)
    Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
    Raid Devices : 3
    Total Devices : 4
    Persistence : Superblock is persistent
    Update Time : Fri May 8 09:22:22 2017
    State : clean
    Active Devices : 3
    Working Devices : 4
    Failed Devices : 0
    Spare Devices : 1
    Layout : left-symmetric
    Chunk Size : 512K
    Name : linuxprobe.com:0 (local to host linuxprobe.com)
    UUID : 44b1a152:3f1809d3:1d234916:4ac70481
    Events : 18
    Number Major Minor RaidDevice State
    0 8 16 0 active sync /dev/sdb
    1 8 32 1 active sync /dev/sdc
    4 8 48 2 active sync /dev/sdd
    3 8 64 - spare /dev/sde

現(xiàn)在將部署好的RAID 5磁盤陣列格式化為ext4文件格式,然后掛載到目錄上,之后就可以使用了。

    [root@linuxprobe ~]# mkfs.ext4 /dev/md0
    mke2fs 1.42.9 (28-Dec-2013)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=128 blocks, Stripe width=256 blocks
    2621440 inodes, 10477312 blocks
    523865 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=2157969408
    320 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
    4096000, 7962624
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done
    [root@linuxprobe ~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab
    [root@linuxprobe ~]# mkdir /RAID
    [root@linuxprobe ~]# mount -a

最后是見證奇跡的時刻!我們再次把硬盤設(shè)備/dev/sdb移出磁盤陣列,然后迅速查看/dev/md0磁盤陣列的狀態(tài),就會發(fā)現(xiàn)備份盤已經(jīng)被自動頂替上去并開始了數(shù)據(jù)同步。RAID中的這種備份盤技術(shù)非常實用,可以在保證RAID磁盤陣列數(shù)據(jù)安全性的基礎(chǔ)上進(jìn)一步提高數(shù)據(jù)可靠性,所以,如果公司不差錢的話還是再買上一塊備份盤以防萬一。

    [root@linuxprobe ~]# mdadm /dev/md0 -f /dev/sdb
    mdadm: set /dev/sdb faulty in /dev/md0
    [root@linuxprobe ~]# mdadm -D /dev/md0
    /dev/md0:
    Version : 1.2
    Creation Time : Fri May 8 09:20:35 2017
    Raid Level : raid5
    Array Size : 41909248 (39.97 GiB 42.92 GB)
    Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
    Raid Devices : 3
    Total Devices : 4
    Persistence : Superblock is persistent
    Update Time : Fri May 8 09:23:51 2017
    State : active, degraded, recovering
    Active Devices : 2
    Working Devices : 3
    Failed Devices : 1
    Spare Devices : 1
    Layout : left-symmetric
    Chunk Size : 512K
    Rebuild Status : 0% complete
    Name : linuxprobe.com:0 (local to host linuxprobe.com)
    UUID : 44b1a152:3f1809d3:1d234916:4ac70481
    Events : 21
    Number Major Minor RaidDevice State
    3 8 64 0 spare rebuilding /dev/sde
    1 8 32 1 active sync /dev/sdc
    4 8 48 2 active sync /dev/sdd
    0 8 16 - faulty /dev/sdb
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號