얼마 전에 집에 RAID5 시스템이있었습니다. 4 개의 디스크 중 하나가 고장 났지만 디스크를 제거했다가 다시 넣은 후에는 다시 동기화를 시작했습니다. 그것이 끝났을 때, 나는 공포로 4 개의 디스크 중 3 개가 고장났다는 것을 깨달았습니다. 그러나 나는 그것이 가능하다는 것을 믿지 않습니다. 디스크에는 서로 다른 RAID 배열의 각 부분에 여러 개의 파티션이 있습니다.
- md0은 sda1, sdb1, sdc1 및 sdd1로 구성된 RAID1 배열입니다.
- md1은 sda2, sdb2, sdc2 및 sdd2로 구성된 RAID5 배열입니다.
- md2는 sda3, sdb3, sdc3 및 sdd3으로 구성된 RAID0 배열입니다.
md0 및 md2는 모든 디스크를보고하지만 md1보고 3은 실패했습니다 (sdb2, sdc2, sdd2). 하드 드라이브가 고장 나면 중간 파티션뿐만 아니라 모든 파티션이 손실되어야한다는 것을 알고 있습니다.
그 시점에서 나는 컴퓨터를 끄고 드라이브의 플러그를 뽑았다. 그 이후로 나는 작은 디스크로 그 컴퓨터를 사용하고있었습니다.
데이터를 복구 할 희망이 있습니까? 어떻게 든 내 디스크가 실제로 작동한다고 mdadm을 설득 할 수 있습니까? 실제로 문제가있을 수있는 유일한 디스크는 sdc이지만 다른 디스크에서도 해당 디스크를보고합니다.
최신 정보
마침내 이전 디스크를 연결하고 SystemRescueCd에서이 시스템을 부팅 할 수있었습니다. 위의 모든 것은 메모리에서 작성되었습니다. 이제 하드 데이터가 있습니다. 출력은 다음과 같습니다mdadm --examine /dev/sd*2
/dev/sda2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:40:48 2010
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 1
Spare Devices : 1
Checksum : 68b48835 - correct
Events : 53204
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 0 8 2 0 active sync /dev/sda2
0 0 8 2 0 active sync /dev/sda2
1 1 8 18 1 active sync /dev/sdb2
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
/dev/sdb2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:44:54 2010
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 1
Spare Devices : 1
Checksum : 68b4894a - correct
Events : 53205
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 1 8 18 1 active sync /dev/sdb2
0 0 0 0 0 removed
1 1 8 18 1 active sync /dev/sdb2
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
/dev/sdc2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:44:54 2010
State : clean
Active Devices : 1
Working Devices : 2
Failed Devices : 2
Spare Devices : 1
Checksum : 68b48975 - correct
Events : 53210
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 2 8 34 2 active sync /dev/sdc2
0 0 0 0 0 removed
1 1 0 0 1 faulty removed
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
/dev/sdd2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:44:54 2010
State : clean
Active Devices : 1
Working Devices : 2
Failed Devices : 2
Spare Devices : 1
Checksum : 68b48983 - correct
Events : 53210
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 4 8 50 4 spare /dev/sdd2
0 0 0 0 0 removed
1 1 0 0 1 faulty removed
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
마지막 부팅 이후에 상황이 변경된 것으로 보입니다. 이 sda2를 올바르게 읽으면 sdb2와 sdc2가 작동하고 동기화 된 데이터가 포함되어 있으며 sdd2는 여분입니다. 디스크가 3 개 고장난 것을 분명히 기억하지만 이것은 좋은 소식입니다. 그러나 배열은 여전히 작동하지 않습니다.
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md125 : inactive sda2[0](S) sdb2[1](S) sdc2[2](S)
1875194880 blocks
md126 : inactive sdd2[4](S)
625064960 blocks
md127 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1]
64128 blocks [4/4] [UUUU]
unused devices: <none>
md0의 이름이 md127로 바뀌 었습니다. md125와 md126은 매우 이상합니다. 두 개가 아닌 하나의 배열이어야합니다. 이것을 md1이라고했습니다. md2는 완전히 사라졌지 만 스왑이므로 신경 쓰지 않았습니다.
다른 이름을 이해할 수 있으며 실제로 중요하지 않습니다. 그러나 왜 3 개의 "활성 동기화"디스크가있는 어레이를 읽을 수 없습니까? 그리고 sdd2가 별도의 배열에 있습니까?
최신 정보
수퍼 블록을 백업 한 후 다음을 시도했습니다.
root@sysresccd /root % mdadm --stop /dev/md125
mdadm: stopped /dev/md125
root@sysresccd /root % mdadm --stop /dev/md126
mdadm: stopped /dev/md126
여태까지는 그런대로 잘됐다. sdd2가 여분이므로 아직 추가하고 싶지 않습니다.
root@sysresccd /root % mdadm --assemble /dev/md1 /dev/sd{a,b,c}2 missing
mdadm: cannot open device missing: No such file or directory
mdadm: missing has no superblock - assembly aborted
분명히 나는 그것을 할 수 없습니다.
root@sysresccd /root % mdadm --assemble /dev/md1 /dev/sd{a,b,c}2
mdadm: /dev/md1 assembled from 1 drive - not enough to start the array.
root@sysresccd /root % cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : inactive sdc2[2](S) sdb2[1](S) sda2[0](S)
1875194880 blocks
md127 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1]
64128 blocks [4/4] [UUUU]
unused devices: <none>
그것은 작동하지 않았다. 모든 디스크를 사용해 봅시다.
mdadm --stop /dev/md1
mdadm: stopped /dev/md1
root@sysresccd /root % mdadm --assemble /dev/md1 /dev/sd{a,b,c,d}2
mdadm: /dev/md1 assembled from 1 drive and 1 spare - not enough to start the array.
root@sysresccd /root % cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : inactive sdc2[2](S) sdd2[4](S) sdb2[1](S) sda2[0](S)
2500259840 blocks
md127 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1]
64128 blocks [4/4] [UUUU]
unused devices: <none>
불운. 이 답변을 바탕으로 시도 할 계획입니다.
mdadm --create /dev/md1 --assume-clean --metadata=0.90 --bitmap=/root/bitmapfile --level=5 --raid-devices=4 /dev/sd{a,b,c}2 missing
mdadm --add /dev/md1 /dev/sdd2
안전 해요?
최신 정보
내 의견에 해당 테이블을 만드는 데 사용한 수퍼 블록 파서 스크립트를 게시합니다 . 누군가가 유용하다고 생각할 수도 있습니다. 모든 도움을 주셔서 감사합니다.
mdadm -A /dev/md1 /dev/sd{b,c,d}2
(아마도 --force
)로 배열을 중지하고 새 배열을 다시 어셈블하려고 했습니까 ? (만약 당신이 없다면 슈퍼 블록을 먼저 백업하십시오.)
/dev/sdd2
와 같은 UUID가 있음에도 불구하고 어떻게 별도의 배열에있을 수 있는지 모르겠습니다 sd{a,b,c}2
.
mdadm --re-add
당신이 찾고있는 것이 아닌 것 같습니다 . 최근에 메모리 테스트를 했습니까? 어레이 오류와 관련된 로그 메시지가 있습니까?