在本文中,将介绍从 raid 分区添加/删除分区的步骤。
在配置 RAID 时,始终建议向 RAID 设备添加一个备用分区,以便在出现任何硬盘故障时可以使用该备用分区
为了演示,让我们为服务器添加一个新的虚拟硬盘。
假设我们已经创建了一个新分区并将分区类型从默认更改为“Linux RAID”。
现在只需将新分区添加到我们的raid设备
# mdadm --manage /dev/md0 --add /dev/sdd1 mdadm: added /dev/sdd1
添加后让我们看看raid设备的详细信息
# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Fri Sep 19 23:02:52 2014 Raid Level : raid1 Array Size : 5233024 (4.99 GiB 5.36 GB) Used Dev Size : 5233024 (4.99 GiB 5.36 GB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Sat Sep 20 02:06:39 2014 State : clean Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Name : test2.example:0 (local to host test2.example) UUID : 5a463788:9bf2659a:09d1c73a:9adcbbbd Events : 76 Number Major Minor RaidDevice State 2 8 17 0 active sync /dev/sdb1 1 8 33 1 active sync /dev/sdc1 3 8 49 - spare /dev/sdd1
可以看到,总共有 3 个设备,其中 2 个设备用于 RAID,而一个作为备用设备。
增加 raid 数组的大小:
# mdadm --grow --raid-devices=3 /dev/md0 raid_disks for /dev/md0 set to 3
完成后运行以下命令
# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdd1[3] sdb1[2] sdc1[1] 5233024 blocks super 1.2 [3/2] [UU_] [======>..............] recovery = 34.3% (1800064/5233024) finish=0.2min speed=225008K/sec unused devices: <none>
可以看到将设备添加到组并执行镜像的操作。
我们可以使用以下命令详细查看相同的内容
# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Fri Sep 19 23:02:52 2014 Raid Level : raid1 Array Size : 5233024 (4.99 GiB 5.36 GB) Used Dev Size : 5233024 (4.99 GiB 5.36 GB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Sat Sep 20 02:09:22 2014 State : clean, degraded, recovering Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Rebuild Status : 53% complete Name : test2.example:0 (local to host test2.example) UUID : 5a463788:9bf2659a:09d1c73a:9adcbbbd Events : 88 Number Major Minor RaidDevice State 2 8 17 0 active sync /dev/sdb1 1 8 33 1 active sync /dev/sdc1 3 8 49 2 spare rebuilding /dev/sdd1
恢复过程完成后,我们应该能够在 raid 数组下看到 3 个活动设备
# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Fri Sep 19 23:02:52 2014 Raid Level : raid1 Array Size : 5233024 (4.99 GiB 5.36 GB) Used Dev Size : 5233024 (4.99 GiB 5.36 GB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Sat Sep 20 02:09:35 2014 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Name : test2.example:0 (local to host test2.example) UUID : 5a463788:9bf2659a:09d1c73a:9adcbbbd Events : 99 Number Major Minor RaidDevice State 2 8 17 0 active sync /dev/sdb1 1 8 33 1 active sync /dev/sdc1 3 8 49 2 active sync /dev/sdd1
如果任何一个硬盘崩溃会发生什么?
让我们看一下会输出什么
现在我将手动失败 /dev/sdb1
# mdadm --fail /dev/md0 /dev/sdb1 mdadm: set /dev/sdb1 faulty in /dev/md0
再次检查详细输出
# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Fri Sep 19 23:02:52 2014 Raid Level : raid1 Array Size : 5233024 (4.99 GiB 5.36 GB) Used Dev Size : 5233024 (4.99 GiB 5.36 GB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Sat Sep 20 02:13:31 2014 State : clean, degraded Active Devices : 2 Working Devices : 2 Failed Devices : 1 Spare Devices : 0 Name : test2.example:0 (local to host test2.example) UUID : 5a463788:9bf2659a:09d1c73a:9adcbbbd Events : 101 Number Major Minor RaidDevice State 0 0 0 0 removed 1 8 33 1 active sync /dev/sdc1 3 8 49 2 active sync /dev/sdd1 2 8 17 - faulty /dev/sdb1
现在因为我们有一个有故障的设备,我们可以将它移除,因为它没有用
# mdadm --remove /dev/md0 /dev/sdb1 mdadm: hot removed /dev/sdb1 from /dev/md0
调整raid 数组的大小并将raid 设备更新为可用编号。
活动分区例如:2
# mdadm --grow --raid-devices=2 /dev/md0 raid_disks for /dev/md0 set to 2
验证raid设备输出
# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Fri Sep 19 23:02:52 2014 Raid Level : raid1 Array Size : 5233024 (4.99 GiB 5.36 GB) Used Dev Size : 5233024 (4.99 GiB 5.36 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Sat Sep 20 02:14:39 2014 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Name : test2.example:0 (local to host test2.example) UUID : 5a463788:9bf2659a:09d1c73a:9adcbbbd Events : 109 Number Major Minor RaidDevice State 1 8 33 0 active sync /dev/sdc1 3 8 49 1 active sync /dev/sdd1
因此,在不丢失任何数据的情况下返回了 2 个活动的 raid 设备。
日期:2020-06-02 22:18:33 来源:oir作者:oir