현재 장치에서 사용 중인 모든 블록을 나열하는 방법아니요파일 시스템에서 사용됩니까? 문제의 파일 시스템은 2개의 LUKS 암호화 하드 드라이브와 Arch Linux를 갖춘 btrfs RAID1입니다.
나는 fstrim /path/to/fs
모든 것을 blktrace
. 이것은 실제로 작동하지만 하드 드라이브가 TRIM을 지원하는 경우에만 작동합니다.아니요여기 상황. (저는 dmcrypt
TRIM을 허용하도록 설정했습니다 ).
이 문제의 원인은 다음과 같습니다.
두 개의 기존 하드 드라이브가 RAID를 형성하며 mdadm
맨 위에는 LVM+ext4가 있습니다. 이제 두 개의 하드 드라이브가 LUKS, btrfs RAID1로 설정되고 데이터가 여기에 기록됩니다.
불행하게도 덮어쓰기 작업 전에는 모든 것이 백업되지 않았습니다. 하드 드라이브에는아니요LUKS가 열리기 전에 임의의 데이터로 덮어쓰기가 되었기 때문에 아직 아무것도 기록되지 않은 현재 파일 시스템 어딘가에 이전 데이터가 존재합니다(이것을 확인했습니다).
이제는 최대한 회복하려고 노력하고 있습니다. 내 복구 전략은 다음과 같습니다.
btrfs 파일 시스템에서 사용되는 모든 것이 이제 작동하는 것 같습니다.아니요오래된 데이터입니다. 그래서 현재 기기에 있는 모든 블록을 찾고 싶습니다.아니요btrfs에서 사용 중입니다. 그런 다음 사용되지 않은 모든 블록을 포함하여 이 하드 드라이브와 동일한 크기의 HD 이미지를 생성하려고 합니다. 그것은 나의 오래된 데이터가 될 것입니다.
사실 실제 트림을 발행할 필요는 없고 트림이 어떤 역할을 하는지 알면 됩니다. 또는 파일 시스템에서 현재 사용하지 않는 모든 블록을 찾으십시오. 이것이 제 질문이었습니다.
해결 방법이 무엇입니까?