在 RAID1 发生一些崩溃之后,我做了一些调查和测试。
执行以下操作:
# dd if=/dev/zero of=1 bs=1M count=256
# dd if=/dev/zero of=2 bs=1M count=256
# losetup /dev/loop1 1
# losetup /dev/loop2 2
# mdadm --create /dev/md0 -l 1 -n 2 /dev/loop1 /dev/loop2
# mdadm --stop /dev/md0
# dd if=/dev/urandom of=/dev/loop2
当阵列再次组装时会发生什么?我期望 1) 一些警告 en /proc/mdstat
,或 2) 好磁盘上的信息已同步到随机磁盘,或 3) 随机“坏”磁盘已同步到好磁盘。
内核的环形缓冲区中仅显示以下内容:
md/raid1:md0: not clean -- starting background reconstruction
md/raid1:md0: active with 2 out of 2 mirrors
md0: detected capacity change from 0 to 268107776
md: resync of RAID array md0
md: md0: resync done.
重新同步是什么?重新同步后,第一个驱动器和第二个驱动器都没有更改。
重新组装数组时,/proc/mdstat
显示“重新同步”,并在一切正常后几秒钟/proc/mdstat
:
md0 : active raid1 loop2[1] loop1[0]
261824 blocks super 1.2 [2/2] [UU]
还强制重新同步写入进行/sys/devices/virtual/block/md0/md
任何更改。
这是预期的行为吗?
我在 RAID1 经历了物理损坏的磁盘后进行了该测试,而好的磁盘没有任何信息,而只有0x00
字节0x55
。