다음과 같은 ARRAY가 있다고 가정해 보겠습니다.
mdadm -Q --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri Oct 29 17:35:52 2021
Raid Level : raid1
Array Size : 8382464 (7.99 GiB 8.58 GB)
Used Dev Size : 8382464 (7.99 GiB 8.58 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sat Oct 30 07:29:40 2021
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : debian:0 (local to host debian)
UUID : 423096f2:994556ee:1a3ff40e:75475fc5
Events : 317
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
2 8 65 1 active sync /dev/sde1
그런 다음 오류를 시뮬레이션하고 오류가 발생한 디스크를 제거합니다.
mdadm /dev/md0 --verbose --fail /dev/sde1
mdadm: set /dev/sde1 faulty in /dev/md0
mdadm /dev/md0 --verbose --remove /dev/sde1
mdadm: hot removed /dev/sde1 from /dev/md0
배열 구성 요소의 메타데이터는 다음과 같습니다.
mdadm -E /dev/sdb1
/dev/sdb1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 423096f2:994556ee:1a3ff40e:75475fc5
Name : debian:0 (local to host debian)
Creation Time : Fri Oct 29 17:35:52 2021
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 16764928 (7.99 GiB 8.58 GB)
Array Size : 8382464 (7.99 GiB 8.58 GB)
Data Offset : 10240 sectors
Super Offset : 8 sectors
Unused Space : before=10160 sectors, after=0 sectors
State : clean
Device UUID : 701db404:61dbf37b:933d61d0:42b02759
Update Time : Sat Oct 30 07:30:15 2021
Bad Block Log : 512 entries available at offset 16 sectors
Checksum : 6739499b - correct
Events : 328
Device Role : Active device 0
Array State : A. ('A' == active, '.' == missing, 'R' == replacing)
mdadm -E /dev/sde1
/dev/sde1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 423096f2:994556ee:1a3ff40e:75475fc5
Name : debian:0 (local to host debian)
Creation Time : Fri Oct 29 17:35:52 2021
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 16764928 (7.99 GiB 8.58 GB)
Array Size : 8382464 (7.99 GiB 8.58 GB)
Data Offset : 10240 sectors
Super Offset : 8 sectors
Unused Space : before=10160 sectors, after=0 sectors
State : clean
Device UUID : 779a1bbf:68684dcc:6efb0c73:af2c0759
Update Time : Sat Oct 30 07:29:40 2021
Bad Block Log : 512 entries available at offset 16 sectors
Checksum : 14848dc8 - correct
Events : 317
Device Role : Active device 1
Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
하지만 이것을 다시 추가하려고 하면 다음과 같은 일이 발생합니다.
mdadm /dev/md0 --verbose --re-add /dev/sde1
mdadm: --re-add for /dev/sde1 to /dev/md0 is not possible
그러나 문제 없이 --add할 수 있습니다.
매뉴얼 페이지에는 다음과 같이 명시되어 있습니다.
그러나 장치의 이벤트 수에 따라 복구에는 쓰기 의도 비트맵으로 표시된 섹션만 복구해야 하거나 복구가 전혀 필요하지 않을 수도 있습니다.
나는 그것이 무엇을 의미하는지 완전히 이해하지 못합니다. 예를 들어 어떤 경우에 이벤트 수가 다시 추가가 가능할 만큼 충분히 가까웠나요?
어레이를 중지하고 조립하는 것조차 불가능하다는 것을 발견했습니다. (어레이가 시작되지만 "성능이 저하됨"을 의미합니다)
그러면 어떤 경우에 이전에 제거한 디스크를 다시 추가할 수 있는지 설명해 주시겠습니까?