mdadm创建软件RAID

目录

1.添加4块硬盘

 2.下载mdadm

3. 查看是否支持MD驱动

4. 创建RAID 5及其热备份盘

5.初始化时间和硬盘阵列的读写的应用相关,使用cat /proc/mdstat信息查询RAID阵列当前构建的速度和预期的完成时间

6.为新建的RAID设备建立Ext3的文件系统

7.将RAID挂载至/mnt,并检查是否正常

8.查看RAID阵列详细信息

9. 从上一步骤看,/dev/sde为热备盘,模拟损坏一个硬盘(/dev/sdc)

10.查看RAID详细信息,发现/dev/sde自动替换损坏的硬盘

 11.移除损坏硬盘

12.重新添加1块硬盘至虚拟机并重启挂载,然后将这块硬盘加入RAID作为热备份盘

13.设置开机自动挂载,编辑etc/fstab文件,加入以下内容

14.扫描并显示RAID的详细信息

15.创建软件RAID的配置文件,用于快速启动RAID

16.停止运行RAID

17.在已创配置文件下,启动RAID

18.删除RAID

注:


1.添加4块硬盘

 2.下载mdadm

[root@libvirt ~]# yum install -y mdadm

3. 查看是否支持MD驱动

[root@libvirt ~]# cat /proc/mdstat 
Personalities : 
unused devices: <none>
[root@libvirt ~]# cat /proc/devices | grep md
  9 md
254 mdp

[root@libvirt ~]# mdadm --version
mdadm - v4.1 - 2018-10-01

4. 创建RAID 5及其热备份盘

[root@libvirt ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   39G  0 part 
  ├─centos-root 253:0    0 35.1G  0 lvm  /
  └─centos-swap 253:1    0  3.9G  0 lvm  [SWAP]
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  9.5G  0 rom  /run/media/root/CentOS 7 x86_64
[root@libvirt ~]# mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

5.初始化时间和硬盘阵列的读写的应用相关,使用cat /proc/mdstat信息查询RAID阵列当前构建的速度和预期的完成时间

[root@libvirt ~]# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md0 : active raid5 sdd[4] sde[3](S) sdc[1] sdb[0]
      41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [====>................]  recovery = 21.1% (4436352/20954112) finish=1.8min speed=147878K/sec

      
unused devices: <none>
[root@libvirt ~]# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md0 : active raid5 sdd[4] sde[3](S) sdc[1] sdb[0]
      41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
      
unused devices: <none>

6.为新建的RAID设备建立Ext3的文件系统

[root@libvirt ~]# mkfs -t ext3 -c /dev/md0 
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
2621440 inodes, 10477056 blocks
523852 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
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

Checking for bad blocks (read-only test): done                                                 
Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

7.将RAID挂载至/mnt,并检查是否正常

[root@libvirt ~]# mount /dev/md0 /mnt/
[root@libvirt ~]# ls /mnt/
lost+found

8.查看RAID阵列详细信息

[root@libvirt ~]# mdadm -D /dev/md0 
/dev/md0:
           Version : 1.2
     Creation Time : Wed Oct  5 16:35:12 2022
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Wed Oct  5 16:48:29 2022
             State : clean 
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : libvirt:0  (local to host libvirt)
              UUID : c810428b:bc389001:b45cd08f:2466bb52
            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

9. 从上一步骤看,/dev/sde为热备盘,模拟损坏一个硬盘(/dev/sdc)

[root@libvirt ~]# mdadm /dev/md0 --fail /dev/sdc 
mdadm: set /dev/sdc faulty in /dev/md0

10.查看RAID详细信息,发现/dev/sde自动替换损坏的硬盘

[root@libvirt ~]# mdadm -D /dev/md0 
/dev/md0:
           Version : 1.2
     Creation Time : Wed Oct  5 16:35:12 2022
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Wed Oct  5 16:53:32 2022
             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 : 74% complete

              Name : libvirt:0  (local to host libvirt)
              UUID : c810428b:bc389001:b45cd08f:2466bb52
            Events : 31

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       3       8       64        1      spare rebuilding   /dev/sde
       4       8       48        2      active sync   /dev/sdd

       1       8       32        -      faulty   /dev/sdc

//正常情况下是[UUU],若有某个硬盘损坏会显示_(第几个硬盘损坏则把第几个U变成下划线)

[root@libvirt ~]# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md0 : active raid5 sdd[4] sde[3] sdc[1](F) sdb[0]
      41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
      
unused devices: <none>

 11.移除损坏硬盘

[root@libvirt ~]# mdadm /dev/md0 -r /dev/sdc
mdadm: hot removed /dev/sdc from /dev/md0

[root@libvirt ~]# mdadm -D /dev/md0 
/dev/md0:
           Version : 1.2
     Creation Time : Wed Oct  5 16:35:12 2022
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 3
       Persistence : Superblock is persistent

       Update Time : Wed Oct  5 16:56:48 2022
             State : clean 
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : libvirt:0  (local to host libvirt)
              UUID : c810428b:bc389001:b45cd08f:2466bb52
            Events : 38

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       3       8       64        1      active sync   /dev/sde
       4       8       48        2      active sync   /dev/sdd

12.重新添加1块硬盘至虚拟机并重启挂载,然后将这块硬盘加入RAID作为热备份盘

[root@libvirt ~]# mount /dev/md0 /mnt
[root@libvirt ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0   40G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   39G  0 part  
  ├─centos-root 253:0    0 35.1G  0 lvm   /
  └─centos-swap 253:1    0  3.9G  0 lvm   [SWAP]
sdb               8:16   0   20G  0 disk  
└─md0             9:0    0   40G  0 raid5 /mnt
sdc               8:32   0   20G  0 disk  
sdd               8:48   0   20G  0 disk  
└─md0             9:0    0   40G  0 raid5 /mnt
sde               8:64   0   20G  0 disk  
└─md0             9:0    0   40G  0 raid5 /mnt
sdf               8:80   0   20G  0 disk  
sr0              11:0    1  9.5G  0 rom   /run/media/root/CentOS 7 x86_64
 

[root@libvirt ~]# mdadm /dev/md0 --add /dev/sdf
mdadm: added /dev/sdf
[root@libvirt ~]# mdadm -D /dev/md0 
/dev/md0:
           Version : 1.2
     Creation Time : Wed Oct  5 16:35:12 2022
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Wed Oct  5 17:01:24 2022
             State : clean 
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : libvirt:0  (local to host libvirt)
              UUID : c810428b:bc389001:b45cd08f:2466bb52
            Events : 41

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       3       8       64        1      active sync   /dev/sde
       4       8       48        2      active sync   /dev/sdd

       5       8       80        -      spare   /dev/sdf

13.设置开机自动挂载,编辑etc/fstab文件,加入以下内容

/dev/md0 /mnt ext3 defaults 0 0

使用命令将/etc/fstab的内容重新加载

[root@libvirt ~]# mount -a 

14.扫描并显示RAID的详细信息

[root@libvirt ~]# mdadm -D --scan 
ARRAY /dev/md/0 metadata=1.2 spares=1 name=libvirt:0 UUID=c810428b:bc389001:b45cd08f:2466bb52 

15.创建软件RAID的配置文件,用于快速启动RAID

[root@libvirt ~]# mdadm -D --scan >> /etc/mdadm.conf
[root@libvirt ~]# cat /etc/mdadm.conf 
ARRAY /dev/md/0 metadata=1.2 spares=1 name=libvirt:0 UUID=c810428b:bc389001:b45cd08f:2466bb52 

16.停止运行RAID

[root@libvirt ~]# umount /mnt 

[root@libvirt ~]# mdadm  --stop /dev/md0
mdadm: stopped /dev/md0

17.在已创配置文件下,启动RAID

[root@libvirt ~]# mdadm --assemble /dev/md0
mdadm: /dev/md0 has been started with 3 drives and 1 spare. 

18.删除RAID

//解除挂载

[root@libvirt ~]# umount /mnt 

//损坏所有硬盘

[root@libvirt ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[root@libvirt ~]# mdadm /dev/md0 -f /dev/sde
mdadm: set /dev/sde faulty in /dev/md0
[root@libvirt ~]# mdadm /dev/md0 -f /dev/sdd
mdadm: set /dev/sdd faulty in /dev/md0
[root@libvirt ~]# mdadm /dev/md0 -f /dev/sdf
mdadm: set /dev/sdf faulty in /dev/md0

//移除所有硬盘 

[root@libvirt ~]# mdadm /dev/md0 --remove /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md0
[root@libvirt ~]# mdadm /dev/md0 --remove /dev/sde
mdadm: hot removed /dev/sde from /dev/md0
[root@libvirt ~]# mdadm /dev/md0 --remove /dev/sdd
mdadm: hot removed /dev/sdd from /dev/md0
[root@libvirt ~]# mdadm /dev/md0 --remove /dev/sdf
mdadm: hot removed /dev/sdf from /dev/md0
//停止RAID

[root@libvirt ~]# mdadm  --stop /dev/md0 
mdadm: stopped /dev/md0

//把/etc/fstab开机自挂载配置信息/dev/md0 /mnt ext3 defaults 0 0去掉
//擦除元数据

[root@libvirt ~]# mdadm --misc --zero-superblock /dev/sdb
[root@libvirt ~]# mdadm --misc --zero-superblock /dev/sde
[root@libvirt ~]# mdadm --misc --zero-superblock /dev/sdd
[root@libvirt ~]# mdadm --misc --zero-superblock /dev/sdf
//删除配置文件

[root@libvirt ~]# rm -rf /etc/mdadm.conf 

//重启

[root@libvirt ~]# reboot 

---最后关机移除不用的硬盘

注:

若是/etc/fstab开机自挂载配置信息未去掉 ,重启后,如图

不要慌,先输入密码, vim打开/etc/fstab,把配置信息/dev/md0 /mnt ext3 defaults 0 0去掉,重启即可

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风--明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值