Linux RAID 1:在更换和同步一个驱动器后,另一个磁盘发生故障 – 了解mdstat / mdadm正在发生什么

我们有一个旧的RAID 1 Linux服务器(Ubuntu Lucid 10.04),有四个分区。 前几天/ dev / sdb失败了,今天我们注意到/ dev / sda有不及格的SMART标志(约4000个重新分配扇区数)。 我们今天早上replace了/ dev / sdb,并按照本指南重新构build了新驱动器上的RAID:

http://www.howtoforge.com/replacing_hard_disks_in_a_raid1_array

一切都很顺利,直到最后。 当它看起来像是完成同步最后一个分区,另一个老的失败。 在这一点上,我很不确定这个系统的状态。 一切似乎都正常工作,文件似乎都是可访问的,就像它同步一切,但我是新来的RAID,我担心发生了什么事情。

/ proc / mdstat输出是:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] md3 : active raid1 sdb4[2](S) sda4[0] 478713792 blocks [2/1] [U_] md2 : active raid1 sdb3[1] sda3[2](F) 244140992 blocks [2/1] [_U] md1 : active raid1 sdb2[1] sda2[2](F) 244140992 blocks [2/1] [_U] md0 : active raid1 sdb1[1] sda1[2](F) 9764800 blocks [2/1] [_U] unused devices: <none> 

[_U][U_]的顺序。 为什么它们在所有arrays中都不一致? 是第一个U / dev / sda还是/ dev / sdb? (我试图在networking上查找这个琐碎的信息,但我没有发现明确的迹象)如果我正确读取md0, [_U]应该是/ dev / sda1(down)和/ dev / sdb1(up)。 但是,如果/ dev / sda失败了,md3怎么可能是相反的呢? 我知道/ dev / sdb4现在是空闲的,因为它可能无法100%同步它,但为什么它显示/ dev / sda4? 它不应该是[__]吗? 或者[_U]呢? / dev / sda驱动器现在甚至不能被SMART访问,所以我不希望它被启动。 我对输出的解释有什么问题?

我也附加mdadm --detail的输出mdadm --detail的四个分区:

 /dev/md0: Version : 00.90 Creation Time : Fri Jan 21 18:43:07 2011 Raid Level : raid1 Array Size : 9764800 (9.31 GiB 10.00 GB) Used Dev Size : 9764800 (9.31 GiB 10.00 GB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Tue Nov 5 17:27:33 2013 State : clean, degraded Active Devices : 1 Working Devices : 1 Failed Devices : 1 Spare Devices : 0 UUID : a3b4dbbd:859bf7f2:bde36644:fcef85e2 Events : 0.7704 Number Major Minor RaidDevice State 0 0 0 0 removed 1 8 17 1 active sync /dev/sdb1 2 8 1 - faulty spare /dev/sda1 /dev/md1: Version : 00.90 Creation Time : Fri Jan 21 18:43:15 2011 Raid Level : raid1 Array Size : 244140992 (232.83 GiB 250.00 GB) Used Dev Size : 244140992 (232.83 GiB 250.00 GB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 1 Persistence : Superblock is persistent Update Time : Tue Nov 5 17:39:06 2013 State : clean, degraded Active Devices : 1 Working Devices : 1 Failed Devices : 1 Spare Devices : 0 UUID : 8bcd5765:90dc93d5:cc70849c:224ced45 Events : 0.1508280 Number Major Minor RaidDevice State 0 0 0 0 removed 1 8 18 1 active sync /dev/sdb2 2 8 2 - faulty spare /dev/sda2 /dev/md2: Version : 00.90 Creation Time : Fri Jan 21 18:43:19 2011 Raid Level : raid1 Array Size : 244140992 (232.83 GiB 250.00 GB) Used Dev Size : 244140992 (232.83 GiB 250.00 GB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 2 Persistence : Superblock is persistent Update Time : Tue Nov 5 17:46:44 2013 State : clean, degraded Active Devices : 1 Working Devices : 1 Failed Devices : 1 Spare Devices : 0 UUID : 2885668b:881cafed:b8275ae8:16bc7171 Events : 0.2289636 Number Major Minor RaidDevice State 0 0 0 0 removed 1 8 19 1 active sync /dev/sdb3 2 8 3 - faulty spare /dev/sda3 /dev/md3: Version : 00.90 Creation Time : Fri Jan 21 18:43:22 2011 Raid Level : raid1 Array Size : 478713792 (456.54 GiB 490.20 GB) Used Dev Size : 478713792 (456.54 GiB 490.20 GB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 3 Persistence : Superblock is persistent Update Time : Tue Nov 5 17:19:20 2013 State : clean, degraded Active Devices : 1 Working Devices : 2 Failed Devices : 0 Spare Devices : 1 Number Major Minor RaidDevice State 0 8 4 0 active sync /dev/sda4 1 0 0 1 removed 2 8 20 - spare /dev/sdb4 

/ dev / sda4上的主动同步使我感到困惑。

我很担心,因为如果明天早上我必须更换/ dev / sda,我想确定我应该怎样与什么进行同步。 对于/ dev / sda这个事实,我也感到非常困惑。 我想了解真正发生的事情。

非常感谢您的耐心和帮助。

马西莫

Q1: [ U]与[U ]的顺序。 为什么它们在所有arrays中都不一致? 是第一个U / dev / sda还是/ dev / sdb?

订单基于RaidDevice号码。 这些是这样的方括号中的数字:

 md3 : active raid1 sdb4[2](S) sda4[0] 478713792 blocks [2/1] [U_] md2 : active raid1 sdb3[1] sda3[2](F) 244140992 blocks [2/1] [_U] md1 : active raid1 sdb2[1] sda2[2](F) 244140992 blocks [2/1] [_U] ... 

对于md3,sda4设备是#0。 sdb4设备是#2。 所以U是sba4设备。 对于md2,U代表设备sda3,#2。 所以看起来你驾驶sdb是一个有问题的,因为这些分区没有被列为“UP”又名。 “U”。 他们都被称为“下”又名。 “_”。

Q2:不应该[__]? 或者[_U]呢?

/proc/mdstat的输出应该都是[UU] 。 他们都是“UP”。 例如,这里是我的RAID1arrays,有2个成员。

 $ cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdb1[1] sda1[0] 976759936 blocks [2/2] [UU] unused devices: <none> 

参考

  • Mdstat