질문

질문

질문

갑자기 모든 파일이 다음에서 나옵니다.2015년 2월도착하다2016년 11월가지다사라졌다파일 시스템에서.

문맥

  • 지난 2년 동안 정전이나 USB 하드웨어 연결 끊김으로 인해 시스템이 여러 차례 갑자기 종료되었습니다.
  • 이 손실은 불량 블록이나 그와 유사한 것으로 인한 것이 아닌 것 같습니다. 소프트웨어 관련 내용이 더 많은 것 같습니다.
  • vmdk이 디스크는 VirtualBox Ubuntu에 연결된 USB 하드웨어 기반 RAID-5의 플랫 전체 크기 파일입니다.
  • RAID 및 VirtualBox를 사용하는 호스트는 Windows입니다.
  • Windows의 RAID는 NTFS이고 VirtualBox는 Ubuntu를 실행하고 ext4 형식 vmdk에 액세스합니다. Windows는 여러 개의 가상 머신을 포함하는 것 이외의 다른 기능을 수행하지 않으며 가상 머신을 시작하거나 중지하는 것 외에는 사용자가 해당 Windows에 들어가지 않습니다.

상태

나는 매일 이 디스크(Ubuntu의)를 많이 사용합니다. 그리고 전날, 지난주, 지난 달 등의 파일을 매일 성공적으로 사용하고 있습니다...재부팅 후에도...그래서 데이터가 거기에 있어야 합니다.

그런데 갑자기... 내 Dropbox가 파일을 삭제하기 시작했고 무슨 일이 일어나고 있는지 보러 갔는데 문제는... 이것이 "즉시" 발생했는지 아니면 재부팅 후에 발생한 것인지 알 수 없었습니다.

하지만 문제는... 제가 볼 수 있는 최신 파일은 2015년 1월의 파일이며 2016년 11월까지 매일 이 디스크를 성공적으로 사용했습니다. 파일이 블록에 있을 수 있으며 어떤 이유로 인해 모든 색인이 손실되었습니다.

ext4어떤 이유에서든 i-node 테이블의 백업 복사본이 저장되거나 이와 유사한 것이 발생했으며 어떤 이유로 Linux가 매핑을 이전 매핑으로 "되돌리기"로 결정했다고 쉽게 상상할 수 있습니다 .

도구가 많이 있는 것 같아요. fsck 실행부터 extundelete까지.

내가 보는 것

행위:

find . -newermt 20150201

결과가 전혀 없습니다.

또한,

  • 내가 알고 있는 파일의 경우 cd해당 디렉터리로 이동했지만 거기에 있는 파일을 볼 수 없습니다.
  • 내가 알고 있는 디렉토리 구조가 삭제된 것을 볼 수 있습니다.
  • 이는 가상 머신에 여러 디스크가 연결된 경우 발생했습니다.

ext4 또는 NTFS?

Windows에서 가상 디스크가 포함된 RAID를 제거 vmdk하고 Linux에서 읽기 전용으로 마운트했습니다.

내가 볼 수 있는 파일을 나열하면 다음과 같습니다.

root@vagrant:/mnt/raid5/mnt# ls -la
total 1572864014
drwxrwxrwx 1 root root         4096 Jan 29  2015 .
drwxrwxrwx 1 root root         4096 Oct 31 21:14 ..
-rwxrwxrwx 2 root root 268435456000 Jan 26  2015 LinuxData250G_A-flat.vmdk
-rwxrwxrwx 2 root root          651 Jan 26  2015 LinuxData250G_A.vmdk
-rwxrwxrwx 2 root root 268435456000 Jan 26  2015 LinuxData250G_B-flat.vmdk
-rwxrwxrwx 2 root root          558 Jan 26  2015 LinuxData250G_B.vmdk
-rwxrwxrwx 2 root root 536870912000 Jan 26  2015 LinuxData500G_A-flat_3.vmdk
-rwxrwxrwx 2 root root 536870912000 Jan 26  2015 LinuxData500G_A-flat.vmdk
-rwxrwxrwx 2 root root          559 Jan 26  2015 LinuxData500G_A.vmdk

문제의 디스크는 LinuxDataXXXG_Y-Flat.vmdk입니다.

놀랍게도...이 모든 항목의 수정 날짜는 2015년 1월 26일입니다...디스크 내용이 손실되기 직전...2015년 2월부터 파일은 볼 수 없지만 2015년 1월을 봤습니다. 문서.

Linux 내부의 EXT4 문제가 아니라 NTFS 자체의 문제인지 궁금합니다. VirtualBox 하위 수준 드라이버가 호스트 파일의 시간 또는 "생성" 시간을 업데이트하는지 알 수 없습니다.

RAID에는 vmdk의 전체 복사본을 저장할 공간이 없으므로 손실된 데이터가 어떻게든 존재해야 합니다.

이미지 사본 처리

원본 버전의 "이미지"를 만들고 vmdk전체 RAID를 제거했기 때문에 복사본이 약간 "파괴적"일 수 있습니다.

문제는 전체 백업 이미지를 복사하는 데 20시간이 걸리기 때문에 시행착오를 농담으로 삼고 싶지 않고 올바른 도구를 올바른 순서로 사용하고 싶다는 것이다.

진행 중 오류가 발생하면 1일이 지연됩니다.

질문

데이터가 거기에 있어야 한다고 가정하면... ext4로 시작한다고 가정하면 i-node 테이블을 사용할 수 있습니다...

  • Q1) i-node 매핑을 복원하거나 처음부터 새 i-node 테이블을 다시 생성하려면 어떤 도구 세트가 필요합니까?
  • Q2) 구체적으로 어떤 것이 있나요?주문하다이러한 도구를 실행해야 합니까? 내 말은, fsck를 실행하면 extundelete가 중단되거나 그 반대의 경우가 발생할 수 있다는 것입니다.
  • Q3) i-node 테이블은 이를 위해 예약된 특수 파티션 영역에 수시로 백업됩니까? 어디? "마지막 날"이 아니라면 적어도 2016년 11월 중순쯤에 테이블의 백업을 찾을 수 있을 만큼 운이 좋을까요?

어쩌면 제가 질문을 잘못한 것일지도 모르겠습니다...

따라서 모든 문제를 해결하는 하나의 링크: Q) 손실된 파일을 복구하는 방법은 무엇입니까?

답변1

USB가 백업을 푸시할 수는 있지만(실제로 여전히 매우 느림) USB를 통한 RAID나 USB를 통한 TCP-NETWORK는 (아직) 안정적이고 빠르지 않다는 것이 합의된 의견입니다.

  1. 문제가 있는 파일 시스템을 망가뜨리기 전에 백업하십시오(리소스가 있는 경우(추가 외부 디스크 또는 충분한 크기의 NAS))
  2. 하나에 백업하면 사용자는 모든 도구를 안전하게 실행할 수 있습니다
  3. 예, fsck로 시작해 보세요.fsck -y -v -f /dev/sdX
  4. 또한 부팅 시(운영 체제가 시작되기 전) 자동으로 검사되도록 파티션을 설정하는 것이 좋습니다 tune2fs -C 2 -c 1 /dev/sdX1(ext3 및 ext4에만 해당).
  5. apt install testdisk-> photorec /dev/sdx-> NTFS 및 ext4 파일 내용을 다시 가져오지만 /directory/struct/and/filename.jpg는 가져오지 않습니다. :(

행운을 빌어요:)

관련 정보