파일의 btrfs 체크섬을 확인하는 방법은 무엇입니까?

파일의 btrfs 체크섬을 확인하는 방법은 무엇입니까?

Btrfs는 각 파일에 대해 crc32c 체크섬을 계산합니다. 파일을 읽고 다시 계산하는 대신 저장된 체크섬을 볼 수 있는 방법이 있습니까?

답변1

Btrfs는 각 파일에 대해 crc32c 체크섬을 계산합니다.

이것은 정확하지 않습니다. 두 오픈 소스 체크섬 파일 시스템(ZFS 및 BTRFS)은 각 논리 블록에 대한 체크섬을 계산합니다(Awe를 사용하는 명명되지 않은 소스가 정확함). 이는 디스크 데이터의 체크섬입니다.

파일 시스템에 압축이 활성화된 경우(점점 더 일반적인 설정) 이 체크섬은 압축된 데이터의 체크섬입니다. 즉, 파일이 하나의 논리 블록에 들어가더라도 파일 시스템의 체크섬 데이터가 아무 소용이 없을 가능성이 있으며 점점 더 그럴 가능성이 높습니다.

파일 체크섬이 필요한 경우 이를 얻는 가장 좋은 방법은 계산하는 것입니다.

답변2

에서비슷한 답변통과일본 LP서버에 장애가 발생한 경우:

ZFS 파일 시스템에서 블록 수준 체크섬을 추출하는 것은 불가능하다고 생각합니다. 하지만 체크섬은 파일 수준이 아닌 블록 수준에 있으므로 아마도 아무 작업도 수행하지 못할 것입니다.

의미: btrfs는 각 파일에 대한 체크섬을 생성하지 않습니다. 언급된 것은락쉬미파티존재하다슈퍼유저에 대한 질문 하위 명령에 기능을 추가 하는 패치가 있습니다 inspect-internal:

btrfs inspect-internal dump-csum

이 덤프는 지정된 파일이 차지하는 모든 블록에 대한 체크섬을 차단합니다. 파일이 블록에 맞지 않는 한 복수형입니다.

답변3

btrfs CLI를 통해 이 작업을 수행하는 것이 가능하다고 생각하지 않지만여기btrfs 파일 시스템에서 단일 블록의 체크섬을 읽는 데 도움이 되는 소스 코드가 있기를 바랍니다. 루트가 필요합니다.

관련 정보