linux高級文件系統管理——RAID

    做爲大型企業,不少時候數據量至關龐大,由此以來對磁盤空間的要求比較高,更重要是的對數據的完整性的追求。因此單獨的磁盤不只空間使用知足不了,數據的完整性更是無從談起,因此也就出現了專業的數據存儲技術,而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一樣能夠參考本文的步驟,只是建立的時候級別不一樣,其它操做區別不大。

相關文章
相關標籤/搜索