ZFS 스냅샷에서 삭제된 파일 복구(lsof를 통해 계속 볼 수 있음)

ZFS 스냅샷에서 삭제된 파일 복구(lsof를 통해 계속 볼 수 있음)

Linux Debian에 ZFS 볼륨이 있습니다.
이 볼륨에서는 매일 밤 스냅샷이 촬영됩니다.
어떤 이유에서인지 며칠 전 대용량 파일(가상디스크)이 삭제되었습니다. 이 파일은 (에서) 아직 사용 중입니다 kvm. lsof파일이 삭제되었음을 나타냅니다.

프로세스 를 일시 중지하면 kvm삭제된 파일을 복구하여 cp /proc/<pid>/fd/21 myfile.bak다른 가상 머신에서 사용할 수 있습니다. 하지만 이 현재 파일은 필요하지 않습니다.

이 파일의 2일 전 버전이 필요합니다.
파일이 며칠 전에 삭제되었기 때문에 백업에는 없습니다.
파일이 ZFS 스냅샷에 존재하는 것 같지만 확실하지 않습니다. 나는 그것을 보지 못했다/zpool/.zfs/snapshotname/path/to/file

얻는 방법 아시는 분 계신가요?실제로 삭제되지 않음ZFS 스냅샷의 파일?

답변1

들여다보다/zpool/.zfs/snapshot/$NAMEOFSNAPSHOT/path/to/file

답변2

이 볼륨에서는 매일 밤 스냅샷이 생성됩니다. [...] 이 파일의 2일 된 버전이 필요합니다. 파일이 며칠 전에 삭제되었기 때문에 백업에는 없습니다.

각 스냅샷은 지정된 순간에 존재했던 파일 시스템을 표시합니다. 스냅샷은 읽기 전용입니다. 즉, 스냅샷 내의 개별 파일은 삭제할 수 없으며 전체 스냅샷만 폐기할 수 있습니다.

T-1, T-2, T-3 지점에서 야간 스냅샷을 찍고 T-3 지점 이후에 파일 자체를 삭제하면 스냅샷 T-1과 T-2에는 더 이상 이 파일이 없습니다(그러나 다른 사람들은 아직 가지고 있어요).

따라서 해결책은 이전 스냅샷(귀하의 경우 실제 파일이 삭제되지 않은 최신 스냅샷)에서 파일을 복원한 다음 선택적으로 현재 버전과 비교하여 차이점을 이해하는 것입니다. 물론 이는 이전 스냅샷이 여전히 존재하는 경우에만 작동합니다.

답변3

스냅을 설치할 수 있는지 기억이 나지 않습니다.

zfs diff찾고 있는 파일이 다른 스냅샷에 있는지 확인할 수 있습니다 .

답변4

.zfs를 삭제하지 않으려면 스냅샷을 복제할 수도 있습니다. 복원해야 하는 파일/폴더를 복사한 다음 클론을 제거합니다.

관련 정보