系统重新启动后,我的MDADM数组突然显示非常陈旧(超过一年)的数据。 我假设其中一个磁盘(sdd1)大部分时间都处于脱机状态,在重新启动之后,现在只能看到该磁盘,而不是当前磁盘(sdc1)。 幸运的是两个磁盘都是完好的,所以我不相信我丢失了任何数据。 我的目标是将旧磁盘从arrays中取出,然后将新磁盘添加到arrays中。 一旦数据被validation和备份,我想重buildarrays,使两个磁盘正常工作。
# cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sdd1[1] 976630336 blocks super 1.2 [2/1] [_U] unused devices: <none> # mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Feb 27 00:29:21 2013 Raid Level : raid1 Array Size : 976630336 (931.39 GiB 1000.07 GB) Used Dev Size : 976630336 (931.39 GiB 1000.07 GB) Raid Devices : 2 Total Devices : 1 Persistence : Superblock is persistent Update Time : Wed Oct 4 10:55:30 2017 State : clean, degraded Active Devices : 1 Working Devices : 1 Failed Devices : 0 Spare Devices : 0 Name : hypervisor:0 (local to host hypervisor) UUID : 3676c254:c804e29a:1150107a:a390f263 Events : 12989 Number Major Minor RaidDevice State 0 0 0 0 removed 1 8 49 1 active sync /dev/sdd1 # mdadm --examine /dev/sdc1 /dev/sdc1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 3676c254:c804e29a:1150107a:a390f263 Name : hypervisor:0 (local to host hypervisor) Creation Time : Wed Feb 27 00:29:21 2013 Raid Level : raid1 Raid Devices : 2 Avail Dev Size : 1953260976 (931.39 GiB 1000.07 GB) Array Size : 976630336 (931.39 GiB 1000.07 GB) Used Dev Size : 1953260672 (931.39 GiB 1000.07 GB) Data Offset : 262144 sectors Super Offset : 8 sectors State : clean Device UUID : 67dcc89f:185338b3:9724c8e6:0d437f28 Update Time : Tue Oct 3 22:04:15 2017 Checksum : 75e1922c - correct Events : 1329213 Device Role : Active device 0 Array State : A. ('A' == active, '.' == missing) # mdadm --examine /dev/sdd1 /dev/sdd1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 3676c254:c804e29a:1150107a:a390f263 Name : hypervisor:0 (local to host hypervisor) Creation Time : Wed Feb 27 00:29:21 2013 Raid Level : raid1 Raid Devices : 2 Avail Dev Size : 1953260976 (931.39 GiB 1000.07 GB) Array Size : 976630336 (931.39 GiB 1000.07 GB) Used Dev Size : 1953260672 (931.39 GiB 1000.07 GB) Data Offset : 262144 sectors Super Offset : 8 sectors State : clean Device UUID : 56c78b79:a587561c:07e7785e:9c6845e2 Update Time : Wed Oct 4 10:55:30 2017 Checksum : ea2a38e7 - correct Events : 12989 Device Role : Active device 1 Array State : .A ('A' == active, '.' == missing)
请注意,sdc1的“事件”数量远远高于sdd1。 另请注意,没有一个磁盘显示为失败,但其中一个磁盘(sdc1)显示为已删除。
在备份sdc和sdd之后,我可以安全地执行以下操作:
mdadm /dev/md0 -f /dev/sdd1 mdadm /dev/md0 -r /dev/sdd1 mdadm /dev/md0 -a /dev/sdc1
任何投入将不胜感激。
不,你不能setfaulty +删除一个数组的单个驱动器。
最好的办法是取出sdd并放入sdc 。 也许它是自动检测,也许不是(因为驱动器不包括在内,因为它是现在)。
您可以执行mdadm命令,使当前arrays脱机,并使数组与sdc联机,但因为它们可能具有相同的GUID,所以可能很难。
我真的好奇这里发生了什么,顺便说一句。 也许sdc没有raid-autodetect分区? fdisk -lu /dev/sdc显示什么?