做爲大型企業,不少時候數據量至關龐大,由此以來對磁盤空間的要求比較高,更重要是的對數據的完整性的追求。因此單獨的磁盤不只空間使用知足不了,數據的完整性更是無從談起,因此也就出現了專業的數據存儲技術,而RAID是其中應用比較普遍,也是歷史比較悠久的存數據儲技術了。今天就給你們分享一下RAID的一些基本概念以及軟件RAID的實現方法。node
1、RAID的定義vim
RAID:Redundant Arrays of Inexpensive(Independent) Diskscentos
1988年由加利福尼亞大學伯克利分校(University of California-Berkeley) 「A Case for Redundant Arrays of Inexpensive Disks」。服務器
多個磁盤合成一個「陣列」來提供更好的性能、冗餘,或者二者都提供運維
中文名稱變化ide
早期:廉價冗餘磁盤陣列工具
如今:獨立冗餘磁盤陣列性能
2、RAID的優點學習
一、提升IO能力:磁盤並行讀寫來實現測試
二、提升耐用性;磁盤冗餘來實現
3、RAID實現的方式
軟件RAID:內置式RAID;主板集成RAID控制器,安裝OS前需在BIOS裏配置
硬件RAID:外接式磁盤陣列;經過擴展卡提供適配能力
RAID硬件組合方式:
早期RAID:IDE、SCSI
如今RAID:SATA、SAS
4、RAID級別——沒有高低級之分,僅表明工做方式不一樣
一、RAID0:條帶
二、RAID1:鏡像
三、RAID4:固定校驗盤
四、RAID5:輪換校驗盤
五、RAID6:比RAID4或RAID5多了一塊校驗盤
六、RAID01:先條帶再鏡像
七、RAID10:先鏡像再條帶
八、RAID50:先輪換校驗再條帶
九、RAID60:先輪換校驗再條帶
十、JBOD:將多塊小盤合成大盤(存儲大個文件)
5、RAID性能對比
RAID級別 讀寫性能 冗餘能力 空間利用率 需求硬盤數
RAID0 均提高 無 100% 至少2塊
RAID1 讀提高、寫降低 有 50% 至少2塊
RAID4 均提高 有 100% 至少3塊
RAID5 均提高 有 (n-1)/n 至少3塊
RAID6 均提高 有 (n-2)/n 至少4塊
RAID01 均提高 有 50% 至少4塊
RAID10 均提高 有 50% 至少4塊
RAID50 均提高 有 (n-1)/2n 至少6塊
RAID60 均提高 有 (n-2)/2n 至少8塊
JBOD 無提高 無 100% 至少2塊
6、軟RAID的建立與管理
mdadm:爲軟RAID提供管理界面
md:multi disk(多磁盤)
RAID設備文件:/dev/md#——#是md的接口號,非RAID級別
mdadm:模式化的工具
命令的語法格式:mdadm [mode] [options] devices
支持的RAID級別:LINEAR, RAID0, RAID1, RAID4, AID5, RAID6, RAID10
模式:
建立模式:-C
裝配模式: -A
監控模式: -F
管理模式:-f, -r, -a
-C: 建立模式
-n #: 使用#個塊設備來建立此RAID
-l #:指明要建立的RAID的級別
-a {yes|no}:自動建立目標RAID設備的設備文件
-c CHUNK_SIZE: 指明塊大小(默認64K)
-x #: 指明空閒盤的個數
-D:顯示raid的詳細信息
mdadm -D /dev/md#
管理模式:
-f: 標記指定磁盤爲損壞
-a: 添加磁盤
-r: 移除磁盤
查看md的狀態:cat /proc/mdstat
中止md設備:mdadm -S /dev/md#
7、RAID5管理實例
如今咱們使用四塊20G的硬盤來作一個RAID5,三塊工做盤,一塊備用盤,(3-1)/3*20*3=40G,因此作出來的RAID5實際可用空間是40G
第一步:先在服務器上裝載四塊一樣大小的新硬盤
若是使用分區來作的話,首先必須在每塊盤上分出一個大小相同的分區出來,分區的同時把分區類型調整爲fd(Linux raid auto)
若是是用四塊相同大小的硬盤(大小是本身所想要的單盤空間大小),就不須要執行分區這個過程了,只要正常裝載進操做系統就好了,使用lsblk可查看是否所有裝載進來了
[root@centos7 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 5G 0 part /
└─sda3 8:3 0 5G 0 part /test
sdb 8:16 0 20G 0 disk
sdc 8:32 0 20G 0 disk
sdd 8:48 0 20G 0 disk
sde 8:64 0 20G 0 disk
sr0 11:0 1 7.2G 0 rom
[root@centos7 ~]#
我這裏顯示已經正常裝載進來了,能夠直接進行第二步了
第二步:使用mdadm建立模式建立RAID5
[root@centos7 ~]# mdadm -C -l 5 -a yes -n 3 -x 1 /dev/md0 /dev/sd{b,c,d,e}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@centos7 ~]#
建立成功,如今咱們可使用mdadm -D查看一下md0的運行狀態
[root@centos7 ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Aug 28 22:51:49 2016
Raid Level : raid5
Array Size : 41910272 (39.97 GiB 42.92 GB)
Used Dev Size : 20955136 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sun Aug 28 22:52:29 2016
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 4
Failed Devices : 0
Spare Devices : 2
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 40% complete
Name : centos7:0 (local to host centos7)
UUID : 5c963814:a05913d3:f1c0a068:2edb71d0
Events : 7
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 spare rebuilding /dev/sdd
3 8 64 - spare /dev/sde
[root@centos7 ~]#
能夠看到,spare rebuilding,空閒盤正在重建中,sdb,sdc,sdd三塊是當前活動盤,sde如今作備用盤spare
第三步:創建RAID裝配文件,方便RAID中止後,可以使用mdadm -A自動裝配RAID
[root@centos7 ~]# mdadm -Ds /dev/md0 > /etc/mdadm.conf
[root@centos7 ~]# cat /etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2 spares=1 name=centos7:0 UUID=8923e2c7:bdeb1003:ec468b86:c87453e1
[root@centos7 ~]#
配置文件建立成功,測試RAID中止後自動裝配
[root@centos7 ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@centos7 ~]# mdadm -A /dev/md0
mdadm: /dev/md0 has been started with 3 drives and 1 spare.
[root@centos7 ~]#
mdadm -A調用咱們剛纔建立的mdadm.conf已經把RAID5從新裝配起來了,咱們來查看一下詳細狀況
[root@centos7 ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Mon Aug 29 12:34:48 2016
Raid Level : raid5
Array Size : 41910272 (39.97 GiB 42.92 GB)
Used Dev Size : 20955136 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Mon Aug 29 12:37:27 2016
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Name : centos7:0 (local to host centos7)
UUID : 8923e2c7:bdeb1003:ec468b86:c87453e1
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
[root@centos7 ~]#
自動裝配正確無誤,咱們能夠正常進行下一步的操做了
第四步:使用ext4格式格式化建立好的md0,並掛載到/RAID5目錄下
[root@centos7 ~]# mkfs.ext4 -L RAID5 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=RAID5
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
2621440 inodes, 10477568 blocks
523878 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@centos7 ~]# mkdir /RAID5
[root@centos7 ~]# mount /dev/md0 /RAID5
[root@centos7 test]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 5.0G 4.3G 743M 86% /
devtmpfs 899M 0 899M 0% /dev
tmpfs 913M 84K 913M 1% /dev/shm
tmpfs 913M 8.9M 904M 1% /run
tmpfs 913M 0 913M 0% /sys/fs/cgroup
/dev/sda3 4.8G 1.1G 3.5G 24% /test
/dev/sda1 197M 139M 59M 71% /boot
tmpfs 183M 16K 183M 1% /run/user/42
tmpfs 183M 0 183M 0% /run/user/0
/dev/md0 40G 49M 38G 1% /RAID5
[root@centos7 ~]# ll /RAID5
total 16
drwx------. 2 root root 16384 Aug 28 23:06 lost+found
[root@centos7 ~]#
當看到df -h命令返回列表中有/dev/md0這一條,而且/RAID5目錄有一個剛剛建立出來的lost+found目錄時,證實,你的RAID已經掛載成功了
第五步:配置RAID自動掛載
要想讓RAID在重啓系統以後可以自動掛載,就須要在/etc/fstab文件中添加一行
[root@centos7 test]# blkid /dev/md0
/dev/md0: LABEL="RAID5" UUID="19f98b8f-59e9-4d19-86fb-bc7fe4fcf285" TYPE="ext4"
[root@centos7 test]# vim /etc/fstab
UUID="19f98b8f-59e9-4d19-86fb-bc7fe4fcf285" /RAID5 ext4 defaults 0 0
第六步,使用mdadm -f模擬sdb損壞,驗證RAID5的備用盤sde是否能自動熱替換,並保證數據不丟失
1,複製/boot目錄下的全部文件到剛纔建立的RAID上,並查看RAID當前工做狀態
[root@centos7 test]# cp -r /boot/* /RAID5
[root@centos7 test]# ll /RAID5
total 122944
-rw-r--r--. 1 root root 126426 Aug 29 08:31 config-3.10.0-327.el7.x86_64
drwxr-xr-x. 2 root root 4096 Aug 29 08:31 grub
drwx------. 6 root root 4096 Aug 29 08:31 grub2
-rw-r--r--. 1 root root 57594025 Aug 29 08:31 initramfs-0-rescue-2603580124fe4b4f9803f6e2ac195123.img
-rw-r--r--. 1 root root 28080535 Aug 29 08:31 initramfs-3.10.0-327.el7.x86_64.img
-rw-r--r--. 1 root root 16333775 Aug 29 08:31 initramfs-3.10.0-327.el7.x86_64kdump.img
-rw-r--r--. 1 root root 10192163 Aug 29 08:31 initrd-plymouth.img
drwx------. 2 root root 16384 Aug 28 23:06 lost+found
-rw-r--r--. 1 root root 252612 Aug 29 08:31 symvers-3.10.0-327.el7.x86_64.gz
-rw-------. 1 root root 2963044 Aug 29 08:31 System.map-3.10.0-327.el7.x86_64
-rwxr-xr-x. 1 root root 5156528 Aug 29 08:31 vmlinuz-0-rescue-2603580124fe4b4f9803f6e2ac195123
-rwxr-xr-x. 1 root root 5156528 Aug 29 08:31 vmlinuz-3.10.0-327.el7.x86_64
[root@centos7 test]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Aug 28 22:51:49 2016
Raid Level : raid5
Array Size : 41910272 (39.97 GiB 42.92 GB)
Used Dev Size : 20955136 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Mon Aug 29 08:34:13 2016
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Name : centos7:0 (local to host centos7)
UUID : 5c963814:a05913d3:f1c0a068:2edb71d0
Events : 19
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
[root@centos7 test]#
當前狀態,一切正常,State : clean
二、模擬sdb損壞,驗證sde是否可以自動熱替換
[root@centos7 test]# mdadm -f /dev/md0 /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[root@centos7 test]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Aug 28 22:51:49 2016
Raid Level : raid5
Array Size : 41910272 (39.97 GiB 42.92 GB)
Used Dev Size : 20955136 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Mon Aug 29 08:40:54 2016
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 1
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 10% complete
Name : centos7:0 (local to host centos7)
UUID : 5c963814:a05913d3:f1c0a068:2edb71d0
Events : 22
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
[root@centos7 test]#
能夠看到sdb顯示已經壞掉了,sde自動頂替上去了,State : clean, degraded, recovering,而且正在執行同步,等同步完成,RAID狀態就恢復正常了
[root@centos7 test]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Aug 28 22:51:49 2016
Raid Level : raid5
Array Size : 41910272 (39.97 GiB 42.92 GB)
Used Dev Size : 20955136 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Mon Aug 29 08:42:04 2016
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : centos7:0 (local to host centos7)
UUID : 5c963814:a05913d3:f1c0a068:2edb71d0
Events : 27
Number Major Minor RaidDevice State
3 8 64 0 active sync /dev/sde
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
0 8 16 - faulty /dev/sdb
[root@centos7 test]#
如今sde替換sdb以後,同步完成,RAID狀態恢復正常
三、驗證熱替換後RAID上的數據是否損壞
[root@centos7 test]# ll /RAID5
total 122944
-rw-r--r--. 1 root root 126426 Aug 29 08:31 config-3.10.0-327.el7.x86_64
drwxr-xr-x. 2 root root 4096 Aug 29 08:31 grub
drwx------. 6 root root 4096 Aug 29 08:31 grub2
-rw-r--r--. 1 root root 57594025 Aug 29 08:31 initramfs-0-rescue-2603580124fe4b4f9803f6e2ac195123.img
-rw-r--r--. 1 root root 28080535 Aug 29 08:31 initramfs-3.10.0-327.el7.x86_64.img
-rw-r--r--. 1 root root 16333775 Aug 29 08:31 initramfs-3.10.0-327.el7.x86_64kdump.img
-rw-r--r--. 1 root root 10192163 Aug 29 08:31 initrd-plymouth.img
drwx------. 2 root root 16384 Aug 28 23:06 lost+found
-rw-r--r--. 1 root root 252612 Aug 29 08:31 symvers-3.10.0-327.el7.x86_64.gz
-rw-------. 1 root root 2963044 Aug 29 08:31 System.map-3.10.0-327.el7.x86_64
-rwxr-xr-x. 1 root root 5156528 Aug 29 08:31 vmlinuz-0-rescue-2603580124fe4b4f9803f6e2ac195123
-rwxr-xr-x. 1 root root 5156528 Aug 29 08:31 vmlinuz-3.10.0-327.el7.x86_64
[root@centos7 test]# gzip -d /RAID5/symvers-3.10.0-327.el7.x86_64.gz
[root@centos7 test]# ll /RAID5/symvers-3.10.0-327.el7.x86_64
-rw-r--r--. 1 root root 906479 Aug 29 08:31 /RAID5/symvers-3.10.0-327.el7.x86_64
[root@centos7 test]#
既然原有的壓縮文件在壞掉一塊盤並熱替換以後均可以正常解壓出來,說明RAID5備用盤的熱替換是能保證數據完整性的
第七步:驗證RAID5的冗餘能力
既然sdb損壞了,咱們就把它取下來
[root@centos7 test]# mdadm -r /dev/md0 /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md0
[root@centos7 test]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Aug 28 22:51:49 2016
Raid Level : raid5
Array Size : 41910272 (39.97 GiB 42.92 GB)
Used Dev Size : 20955136 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Mon Aug 29 09:02:12 2016
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : centos7:0 (local to host centos7)
UUID : 5c963814:a05913d3:f1c0a068:2edb71d0
Events : 39
Number Major Minor RaidDevice State
3 8 64 0 active sync /dev/sde
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
[root@centos7 test]#
已經把壞盤給移除了,當前三塊盤都處於工做中,State : clean,RAID的工做狀態一切正常。已經沒有備用盤了,如今咱們再損壞一塊工做盤sde,測試RAID5在壞掉一塊工做盤的狀況下,是否有冗餘能力
[root@centos7 test]# mdadm -f /dev/md0 /dev/sde
mdadm: set /dev/sde faulty in /dev/md0
[root@centos7 test]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Aug 28 22:51:49 2016
Raid Level : raid5
Array Size : 41910272 (39.97 GiB 42.92 GB)
Used Dev Size : 20955136 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Mon Aug 29 09:09:50 2016
State : clean, degraded
Active Devices : 2
Working Devices : 2
Failed Devices : 1
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : centos7:0 (local to host centos7)
UUID : 5c963814:a05913d3:f1c0a068:2edb71d0
Events : 41
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
3 8 64 - faulty /dev/sde
[root@centos7 test]# ll /RAID5/grub
total 4
-rw-r--r--. 1 root root 1350 Aug 29 08:31 splash.xpm.gz
[root@centos7 test]# gzip -d /RAID5/grub/splash.xpm.gz
[root@centos7 test]# ll /RAID5/grub/splash.xpm
-rw-r--r--. 1 root root 309214 Aug 29 08:31 /RAID5/grub/splash.xpm
[root@centos7 test]#
RAID5中三塊工做盤壞掉了一塊sde,原來的文件依然可以正常解壓出來,說明RAID5是在損壞一塊盤的狀況下,是能正常工做,而且保證數據的完整性的,也就是咱們以前提到的冗餘能力是具備的。可是RAID的狀態已經明確標明RAID已經處於退化的狀態了,State : clean, degraded,因此此時做爲咱們運維人員,就須要及時的修復或安裝新硬盤,不然,RAID的工做狀態可能隨時有危險。
第八步:RAID狀態修復
如今咱們的sdb、sde已經修改好了,須要把它們重裝回去,並讓它們從新組合成三塊工做盤,一塊備用的工做狀態
一、先把當前壞掉的盤sde移除,再把已經修復的盤sdb添加進來
[root@centos7 test]# mdadm -r /dev/md0 /dev/sde
mdadm: hot removed /dev/sde from /dev/md0
[root@centos7 test]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Aug 28 22:51:49 2016
Raid Level : raid5
Array Size : 41910272 (39.97 GiB 42.92 GB)
Used Dev Size : 20955136 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Mon Aug 29 09:46:59 2016
State : clean, degraded
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : centos7:0 (local to host centos7)
UUID : 5c963814:a05913d3:f1c0a068:2edb71d0
Events : 50
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
[root@centos7 test]# mdadm -a /dev/md0 /dev/sdb
mdadm: added /dev/sdb
[root@centos7 test]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Aug 28 22:51:49 2016
Raid Level : raid5
Array Size : 41910272 (39.97 GiB 42.92 GB)
Used Dev Size : 20955136 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Mon Aug 29 09:54:43 2016
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 6% complete
Name : centos7:0 (local to host centos7)
UUID : 5c963814:a05913d3:f1c0a068:2edb71d0
Events : 52
Number Major Minor RaidDevice State
3 8 16 0 spare rebuilding /dev/sdb
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
[root@centos7 test]#
此時sdb添加進來以後,RAID會有一個修復的過程,State : clean, degraded, recovering,標明RAID正在恢復中,spare rebuilding /dev/sdb標明是新添加進來的sdb正在和sdc、sdd進行數據同步,等同步完成以後,RAID狀態就恢復正常了
[root@centos7 test]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Aug 28 22:51:49 2016
Raid Level : raid5
Array Size : 41910272 (39.97 GiB 42.92 GB)
Used Dev Size : 20955136 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Mon Aug 29 09:56:50 2016
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : centos7:0 (local to host centos7)
UUID : 5c963814:a05913d3:f1c0a068:2edb71d0
Events : 58
Number Major Minor RaidDevice State
3 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
[root@centos7 test]#
State : clean,RAID狀態就恢復正常
二、添加已經修復的盤sde進來繼續做爲備用盤
[root@centos7 test]# mdadm -a /dev/md0 /dev/sde
mdadm: added /dev/sde
[root@centos7 test]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Aug 28 22:51:49 2016
Raid Level : raid5
Array Size : 41910272 (39.97 GiB 42.92 GB)
Used Dev Size : 20955136 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Mon Aug 29 09:59:15 2016
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Name : centos7:0 (local to host centos7)
UUID : 5c963814:a05913d3:f1c0a068:2edb71d0
Events : 70
Number Major Minor RaidDevice State
3 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
5 8 64 - spare /dev/sde
[root@centos7 test]#
RAID5理想的工做狀態徹底恢復,三塊工做盤sdb、sdc、sdd,一塊備用盤sde
第九步:刪除RAID
一、要想刪除RAID,必須先中止RAID,要想中止RAID,必須取消RAID的掛載狀態
[root@centos7 test]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 5.0G 4.3G 744M 86% /
devtmpfs 899M 0 899M 0% /dev
tmpfs 913M 84K 913M 1% /dev/shm
tmpfs 913M 8.9M 904M 1% /run
tmpfs 913M 0 913M 0% /sys/fs/cgroup
/dev/sda3 4.8G 1.2G 3.4G 26% /test
/dev/sda1 197M 139M 59M 71% /boot
tmpfs 183M 16K 183M 1% /run/user/42
tmpfs 183M 0 183M 0% /run/user/0
/dev/md0 40G 178M 38G 1% /RAID5
[root@centos7 test]# umount /dev/md0
[root@centos7 test]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 5.0G 4.3G 744M 86% /
devtmpfs 899M 0 899M 0% /dev
tmpfs 913M 84K 913M 1% /dev/shm
tmpfs 913M 8.9M 904M 1% /run
tmpfs 913M 0 913M 0% /sys/fs/cgroup
/dev/sda3 4.8G 1.2G 3.4G 26% /test
/dev/sda1 197M 139M 59M 71% /boot
tmpfs 183M 16K 183M 1% /run/user/42
tmpfs 183M 0 183M 0% /run/user/0
[root@centos7 test]#
取消RAID的掛載已成功,接下來能夠中止RAID了
二、中止RAID
[root@centos7 test]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@centos7 test]#
三、刪除RAID自動裝配文件
[root@centos7 test]# rm -f /etc/mdadm.conf
四、配置過自動掛載的,還須要刪除/etc/fstab文件中的RAID掛載一行
UUID="19f98b8f-59e9-4d19-86fb-bc7fe4fcf285" /RAID5 ext4 defaults 0 0(刪除整行)
若是是用四塊整盤作的RAID,直接把硬盤拆除便可。若是是用磁盤分區作的RAID,還須要進行下兩步
五、清除成員raid信息
mdadm --zero-superblock /dev/sd#
六、刪除用於組建RAID的分區
fdisk /dev/sd#
至此,從RAID建立、管理、修復、刪除基本上是給你們全過程的展現了一遍,相信只要認真學習個人博文的同仁們,最起碼,你對RAID的工做原理有一個基礎的瞭解了。至於其它級別的RAID一樣能夠參考本文的步驟,只是建立的時候級別不一樣,其它操做區別不大。