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一样能够参考本文的步骤,只是建立的时候级别不一样,其它操做区别不大。

相关文章
相关标签/搜索