나는 Debian 10 Buster(테스트) 커널 버전을 실행하는 컴퓨터를 가지고 있습니다:
Linux (none) 4.14.0-3-amd64 #1 SMP Debian 4.14.13-1 (2018-01-14) x86_64 GNU/Linux
루트 파일 시스템은 단일 장치를 갖춘 Btrfs입니다.
최근 파일 시스템의 불균형 문제가 발생하여 아래 단계를 수행했습니다.마크의 블로그균형을 재조정하십시오. 내 시스템이 너무 꽉 차서 "파일 시스템이 가득 차서 균형을 실행할 수 없습니다" 아래의 단계를 따라야 했습니다. 여기에는 3GB 파일을 생성하고 dd
이를 btrfs 파일 시스템에 루프 장치로 추가하는 작업이 포함되었습니다. 이를 통해 성공적으로 평형을 달성할 수 있습니다.
그런데 재부팅하기 전에 루프 장치를 제거하는 것을 잊어버렸습니다. 재부팅 후 다음 오류와 함께 initramfs 프롬프트가 표시됩니다.
BTRFS error: failed to read chunk tree: -5
BTRFS error: open_ctree failed
이것은 btrfs filesystem show
:
bytenr mismatch, want=167954300928
Label: none uuid: <uuid>
Total devices 2 FS bytes used 91.58GiB
devid 1 size 151.03GiB used 111.04GiB path /path/to/device
*** Some devices missing
btrfs check
반품:
bytenr mismatch, want=167954300928, have=0
누락된 루프백 장치를 제거하기 위해 파일 시스템을 부분적으로 마운트하려고 하면 mount -o degraded,ro /path/to/device /mnt
다음이 반환됩니다.
BTRFS error: failed to read block groups: -5
BTRFS error: open_ctree failed
유일한 다른 정보는 dmesg
ID 2의 장치가 누락되었다고 불평한다는 것입니다.
실행 btrfs rescue chunk-recover
결과:
Scanning: DONE in dev0
open with broken chunk error
Chunk tree recovery failed
파일 시스템에서 복원을 시도하면 다음과 같은 btrfs restore /path/to/device /mnt
결과가 발생합니다.
bytenr mismatch, want=167954300928, have 0
Could not open root, trying backup super
bytenr mismatch, want=167954300928, have 0
Could not open root, trying backup super
ERROR: superblock bytenr 274877906944 is larger than device size 162164375552
Could not open root, trying backup super
상황인 것 같습니다비슷한도착하다이 포럼 게시물, 새로운 장치가 잠깐 추가되었다가 제거되지만 상황이 완전히 동일하지는 않습니다.
내 질문은 다음과 같습니다
- 시스템을 현재 상태로 복원하기 위해 어떤 조치를 취할 수 있습니까?(누락된 루프백 장치를 제거하여) 또는
- 가능하지 않은 경우 일부 파일을 어떻게 복구할 수 있나요?
시스템의 대부분은 백업되지만 일부 중요한 파일은 일일 백업 주기 사이에 생성되며 해당 파일을 복원할 수 없으면 손실됩니다.