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
"Resync"가 표시되고 몇 초 후에 모든 것이 정상이 됩니다 /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
bytes 만 있었습니다 0x55
.