RAID0(JBOD) 설정에 2개의 500GB 디스크가 있는 소형 NAS가 있습니다. (알아요, 알아요, 큰 실수입니다... 보시다시피...)
이제 디스크 중 하나가 고장나기 시작했습니다. (머피는 항상 옳지 않나요...)
NAS에서 디스크를 꺼내서 별도의 SATA-to-USB 상자에 넣은 다음 Linux 노트북에 직접 연결하여 점검을 했습니다. 그 결과 디스크#2에 불량 섹터가 있는 것으로 나타났습니다.
내 질문은 분명합니다.결함이 있는 디스크에서 데이터를 어떻게 복구합니까?
mdadm
가능한 한 많이 복구할 수 있기를 바라며( ddrescue
또는 사용) 노트북에 어레이를 조립했습니다 fsck
. 하지만 이제 볼륨을 마운트하는 중에 오류가 발생합니다.
$ mount /dev/md1_vg/md1vol1 /media/iarray -o ro
mount: No data available
나는 또한 다음을 시도했습니다.
$ mount /dev/md126 /media/iarray -o ro
mount: unknown filesystem type 'LVM2_member'
다음은 설정입니다(노트북의 경우).
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
[...]
sdb 8:16 0 465,8G 0 disk
├─sdb1 8:17 0 2G 0 part
└─sdb2 8:18 0 463,8G 0 part
└─md126 9:126 0 927,6G 0 linear
└─md1_vg-md1vol1 (dm-0) 252:0 0 927,6G 0 lvm
sdc 8:32 0 465,8G 0 disk
├─sdc1 8:33 0 2G 0 part
└─sdc2 8:34 0 463,8G 0 part
└─md126 9:126 0 927,6G 0 linear
└─md1_vg-md1vol1 (dm-0) 252:0 0 927,6G 0 lvm
sr0 11:0 1 6,7G 0 rom
저는 이 도구를 사용할 계획이었고 ddrescue
이 도구는 블록 장치(마운트 지점이 아님)를 사용하기 때문에 시도해 보았습니다.
$ ddrescue -f -n /dev/md1_vg/md1vol1 lvmimage logfile
GNU ddrescue 1.17
Press Ctrl-C to interrupt
rescued: 498018 MB, errsize: 498 GB, current rate: 0 B/s
ipos: 498018 MB, errors: 1, average rate: 25076 kB/s
opos: 498018 MB, time since last successful read: 1 s
Finished
좋은 소식은 아닙니다. 498GB만 복구했고 498GB 오류가 발생했습니다. 왜 이런 일이 일어났나요? 오류를 무시하고 계속해서 장치를 읽어야 하는 것 아닌가요? 디스크#1을 방금 복구한 것 같습니다. 문제는 파일이 두 디스크에 분산되어 있을 수 있으므로 파일 시스템을 보려면 전체 볼륨을 마운트해야 한다는 것입니다.
이제 여기에 갇혔습니다. 제가 뭘 잘못하고 있는 걸까요? 각 디스크 파티션을 개별적으로 복구한 다음 LVM 볼륨에 모아야 합니까? 이런 식으로 성공한 사람이 있나요?
이 디스크를 복구해야 합니다... 여기에는 8년간의 자녀 생활(사진 및 비디오), 직장, 대학교 일, 아내의 일이 포함되어 있습니다. 전문적인 복구 서비스에 €2000를 쓸 여유가 없습니다. .
도와주세요!
(그동안 나는 RAID1 설정에서 5년 보증, WD-Red 2TB 디스크 한 쌍에 €220를 썼습니다... 그리고 가능한 모든 것을 이 디스크에 복구하고 싶습니다.)