
내 고대 Synology CS407은 RAID0으로 (의도적으로) 설정되었으며 아직 백업 시스템이 설정되지 않았습니다. 4TB 볼륨을 만드는 4개의 1TB 드라이브가 있습니다. 한 드라이브에 오류가 발생하여 온보드 소프트웨어가 볼륨 사용/마운트를 전혀 거부했습니다. 나는 이것이 심각한 결함이며 일반적으로 RAID0에 중복성이 없기 때문에 4개 드라이브 모두의 볼륨에 오류가 있음을 이해합니다. 그럼에도 불구하고 Ubuntu에서 어레이를 재조립하고 오류를 무시하고 잘못된 데이터를 건너뛰고 볼륨의 상태를 확인하고 싶습니다. 당연히 실패한 디스크 하나에 문제가 있습니다. Ubuntu는 파티션 테이블을 확인하고 하나의 불량 섹터를 보고합니다.
다음은 결과입니다./proc/mdstat
Personalities :
md2 : inactive dm-3[3](S) dm-2[2](S) dm-1[1](S) dm-0[0](S)
3901770794 blocks super 1.1
unused devices: <none>
그리고mdadm --examine --scan
ARRAY /dev/md/2 metadata=1.1 UUID=442ee8f0:7c679b96:de0a0544:f72b1167 name=2
LVM 데이터는 각 디스크의 파티션 3에 있습니다. 다음을 사용하여 재조립 mdadm --assemble --run --force --verbose /dev/md2 /dev/sd[cdef]3
하면 다음과 같습니다.
mdadm: looking for devices for /dev/md2
mdadm: /dev/sdc3 is identified as a member of /dev/md2, slot 0.
mdadm: /dev/sdd3 is identified as a member of /dev/md2, slot 32769.
mdadm: /dev/sde3 is identified as a member of /dev/md2, slot 2.
mdadm: /dev/sdf3 is identified as a member of /dev/md2, slot 3.
mdadm: no uptodate device for slot 1 of /dev/md2
mdadm: added /dev/sde3 to /dev/md2 as 2
mdadm: added /dev/sdf3 to /dev/md2 as 3
mdadm: added /dev/sdc3 to /dev/md2 as 0
mdadm: failed to RUN_ARRAY /dev/md2: Invalid argument
mdadm: Not enough devices to start the array.
/dev/md2
이것은 우분투에서 RAID 장치로 표시되는 쓸모없는 을 제공합니다 . stop
다시 재조립을 시도하기 전에 먼저 해야 합니다 . 이상해 보이는 것은 의 슬롯 번호입니다 /dev/sdd3
.
시도해 볼 수 있는 일이 두 가지 더 있습니다. 둘 중 하나가 도움이 될지 조언을 구하고 있습니다.
- 실패하고 제거한
/dev/sdd3
후 다시 추가 - 1TB의 여유 디스크가 있습니다. 기존 디스크를 사용하여 디스크 사본을 만들고
dd
실패하고 새 디스크를 추가할 수 있습니다. 섹터별로 복사하면 새 디스크의 성공 가능성이 더 높아지는지 궁금합니다. 다른 UUID를 기반으로 시도할까요?
편집 - 출력 mdadm --examine /dev/sdd3
:
/dev/sdd3:
Magic : a92b4efc
Version : 1.1
Feature Map : 0x0
Array UUID : 442ee8f0:7c679b96:de0a0544:f72b1167
Name : 2
Creation Time : Sun Feb 13 00:14:43 2022
Raid Level : raid0
Raid Devices : 4
Avail Dev Size : 1950885397 (930.25 GiB 998.85 GB)
Data Offset : 8 sectors
Super Offset : 0 sectors
State : active
Device UUID : 23292ce9:221ebbfa:ea131c60:7888bc0c
Update Time : Sun Feb 20 19:02:34 2022
Checksum : e4ebe933 - correct
Events : 1
Chunk Size : 64K
Device Role : Active device 32769
Array State : A.AA ('A' == active, '.' == missing, 'R' == replacing)
답변1
이는 심각한 문제가 아닙니다. 이것은 치명적인 문제입니다. RAID0(스트라이핑 RAID로 사용되는 경우)은 모든 드라이브에 데이터를 저장합니다. 따라서 한 파일의 일부가 4개의 디스크 모두에 위치할 수 있습니다.
정보가 매우 귀중한 경우 일부 정보를 복구할 수 있는 전문 회사에 문의할 수 있습니다. 그러나 이것은 많은 비용이 들 수 있습니다.
RAID가 배열을 생성하기 위해 연결 알고리즘을 사용할 가능성은 거의 없습니다. 그러한 경우에는 상당한 양의 정보를 복구할 수 있습니다. 그러나 다시 말하지만 이것은 집에서 하는 일이 아닙니다.
답변2
이 문제가 얼마나 해결 가능한지 잘 모르겠습니다.
제가 시도할 첫 번째 일은 Synology를 끄고 고장난 드라이브를 제거한 다음 Linux 상자에서 ddrescue를 사용하여 해당 드라이브를 최대한 복제하는 것입니다. 그런 다음 복제된 드라이브를 Synology에 넣습니다.
그런 다음 어레이를 "강제 조립"할 수 있습니다. 나는 그것을 시도한 적이 없지만 아마도 다음과 같은 명령을 사용하면 될 것입니다.
mdadm --force --assemble /dev/md2 /dev/sdc3 /dev/sdd3 /dev/sde3 /dev/sdf3
LUKS MAN 페이지에 따르면 핵심은 (조립용)
"--force 일부 장치의 메타데이터가 오래된 것처럼 보이더라도 배열을 어셈블합니다. mdadm이 배열을 시작하기에 충분한 작동 장치를 찾을 수 없지만 실패한 것으로 기록된 일부 장치를 찾을 수 있는 경우 어레이가 시작될 수 있도록 해당 장치를 작동하는 것으로 표시합니다. 이는 기본에서만 작동합니다. 외부 메타데이터의 경우 더티 저하된 RAID 4, 5, 6을 시작할 수 있습니다. --force를 시작해야 하는 어레이에는 데이터 손상이 포함될 수 있습니다. 조심히 사용하세요.""
복구를 수행하지 않고도 이 작업을 수행할 수 있지만 하드웨어 오류가 있는 드라이브에서 작업을 시도하면 생활이 어려워지고 매우 어려워집니다.
귀하의 데이터를 신뢰해서는 안됩니다. 어딘가에 부패/불일치가 있을 가능성이 있습니다.
이것이 실패하면 photorec 또는 이에 상응하는 기능을 사용하여 나머지 양호한 드라이브에서 데이터의 일부를 가져올 수 있습니다.
답변3
가장 좋은 방법은 가능한 한 많은 디스크를 새 디스크에 복사하는 것입니다. 을 사용하지 말고 dd
을 사용하세요 ddrescue
. dd
첫 번째 오류에서 중지됩니다. 을(를) 사용하여 거의 완전한 디스크를 복원했으므로 ddrescue
대부분의 데이터를 다시 가져오는 것이 가능합니다. ddrescue
시간이 오래 걸릴 수 있습니다.
그런 다음 복사된 디스크로 @davidgo의 솔루션을 사용해 보세요.
이제 raid 0의 단점을 경험하셨습니다. 디스크 공간이 부족하지 않다면 raid 5로 이동하는 것을 고려해 보세요.