# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 nbd0[3] sda10[0] 53246315 blocks super 1.2 [3/1] [U__] [>....................] recovery = 1.0% (537088/53246315) finish=203.0min speed=4326K/sec bitmap: 1/1 pages [4KB], 65536KB chunk unused devices: <none> # nbd-client -d /dev/nbd0 Disconnecting: que, disconnect, sock, done # cat /proc/mdstat Personalities : [raid1] md0 : active raid1 nbd0[3](F) sda10[0] 53246315 blocks super 1.2 [3/1] [U__] bitmap: 1/1 pages [4KB], 65536KB chunk unused devices: <none> # mdadm /dev/md/raidy --remove /dev/nbd0 mdadm: hot removed /dev/nbd0 from /dev/md/raidy # nbd-client 10.99.99.250 7777 /dev/nbd0 Negotiation: ..size = 53247411KB bs=1024, sz=53247411 # mdadm --incremental --run /dev/nbd0 mdadm: /dev/nbd0 attached to /dev/md/raidy which is already active. # cat /proc/mdstat Personalities : [raid1] md0 : active raid1 nbd0[3] sda10[0] 53246315 blocks super 1.2 [3/1] [U__] [>....................] recovery = 0.0% (31616/53246315) finish=196.2min speed=4516K/sec bitmap: 1/1 pages [4KB], 65536KB chunk unused devices: <none> # uname -a Linux vi-notebook 2.6.35-zen2-08220-g2c56b9e #14 ZEN PREEMPT Thu Oct 21 02:48:18 EEST 2010 i686 GNU/Linux # mdadm --version mdadm - v3.1.4 - 31
如何正确断开连接并将设备重新连接到RAID-1以利用写入意图位图?
再次尝试:
Personalities : [raid1] md0 : active raid1 nbd0[3] sda10[0] 53246315 blocks super 1.2 [3/2] [UU_] bitmap: 1/1 pages [4KB], 65536KB chunk unused devices: <none> /dev/md/raidy: Version : 1.2 Creation Time : Tue Mar 30 05:42:53 2010 Raid Level : raid1 Array Size : 53246315 (50.78 GiB 54.52 GB) Used Dev Size : 53246315 (50.78 GiB 54.52 GB) Raid Devices : 3 Total Devices : 2 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Mon Jan 31 18:18:03 2011 State : active, degraded Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Name : vi-notebook:0 (local to host vi-notebook) UUID : bc325b24:fa0a4957:47820c56:fc818fa3 Events : 2661551 Number Major Minor RaidDevice State 0 8 10 0 active sync /dev/sda10 3 43 0 1 active sync /dev/nbd0 2 0 0 2 removed
现在删除其中一个设备:
# mdadm /dev/md/raidy --fail /dev/nbd0 mdadm: set /dev/nbd0 faulty in /dev/md/raidy # mdadm /dev/md/raidy --remove /dev/nbd0 mdadm: hot removed /dev/nbd0 from /dev/md/raidy
现在重新添加它:
mdadm --incremental --run /dev/nbd0
它从头开始重新同步:
Personalities : [raid1] md0 : active raid1 nbd0[3] sda10[0] 53246315 blocks super 1.2 [3/1] [U__] [>....................] recovery = 0.4% (244480/53246315) finish=289.5min speed=3050K/sec bitmap: 1/1 pages [4KB], 65536KB chunk unused devices: <none> /dev/md/raidy: Version : 1.2 Creation Time : Tue Mar 30 05:42:53 2010 Raid Level : raid1 Array Size : 53246315 (50.78 GiB 54.52 GB) Used Dev Size : 53246315 (50.78 GiB 54.52 GB) Raid Devices : 3 Total Devices : 2 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Mon Jan 31 18:22:07 2011 State : active, degraded, recovering Active Devices : 1 Working Devices : 2 Failed Devices : 0 Spare Devices : 1 Rebuild Status : 0% complete Name : vi-notebook:0 (local to host vi-notebook) UUID : bc325b24:fa0a4957:47820c56:fc818fa3 Events : 2661666 Number Major Minor RaidDevice State 0 8 10 0 active sync /dev/sda10 3 43 0 1 spare rebuilding /dev/nbd0 2 0 0 2 removed
人力资源pipe理。 看看你的上面的输出,不清楚你有多个同步的磁盘摆在首位。 看起来有一个同步失败的磁盘,被删除,然后重新添加,然后再次重新同步。 在任何时候,我都看不到显示两个磁盘完全同步的显示。
我会确保两个磁盘都处于活动状态,让它们完全同步在一起,只有在validation后我才会尝试删除磁盘并重新添加磁盘。
请注意,写意图位图仅用于快速重新同步已经几乎同步的两个磁盘(即在系统崩溃后,或者磁盘被移除很短时间后)。 这不是为了长期清除,或者尚未完全同步的磁盘。
您应该使用“–re-add”来添加已移除的磁盘,如下所示:
# mdadm /dev/md0 --re-add /dev/sdf2
我只是试了一下,而且没有重build – 如果事先使用“–remove”删除了磁盘,就像你一样。
请注意,这很重要 – 必须使用“–remove”删除磁盘。 如果你只是把磁盘拉出来,把它插回去,并尝试“重新添加”,你会得到
mdadm: --re-add for /dev/sdf2 to /dev/md0 is not possible
这是为什么? 看看http://linux.die.net/man/8/mdadm,“–re-add ”一节:
如果它使用的插槽仍然空着,那么该设备将被添加回arrays中相同的位置。
如果您只是将磁盘拉出,则插槽仍然会被故障磁盘占用(在/ proc / mdstat中标记为F):
$ cat /proc/mdstat Personalities : [raid1] md0 : active raid1 loop0[0] loop3[2](F) 1047552 blocks super 1.2 [2/1] [U_] bitmap: 1/1 pages [4KB], 65536KB chunk
删除发生故障的磁盘,“–re-add”将工作,利用位图。
我不确定这是否有帮助 – 但我认为你的问题似乎是NBD设备。
如果你想通过IPnetworking使用RAID1,你为什么不使用drbd ?