btrfs-send/btrfs-receive를 사용한 압축

btrfs-send/btrfs-receive를 사용한 압축

compress압축된 하위 볼륨(즉, 마운트 옵션을 사용하여 마운트된 파일 시스템의 일부 ) 을 보낼 때 압축되어 전송됩니까, 아니면 먼저 압축이 풀립니까 btrfs-send?btrfs-send

마찬가지로 하위 볼륨을 으로 수신하면 다시 압축 btrfs-receive됩니까 btrfs-receive?

답변1

btrfs-send시스템 호출이 실행됩니다 read. 이는 실제로 데이터의 압축을 푼다는 의미입니다. 그런 다음 데이터는 압축되지 않은 상태로 전송되고 대상 시스템 설치 옵션에 따라 데이터를 압축 하는 시스템 호출이 btrfs-receive실행됩니다 .writebtrfscompress

예를 들어, 다양한 파일에 대해 다양한 압축을 사용하는 기존 시스템이 있고 btrfs모든 데이터가 압축되는 새 시스템을 작성할 수 있습니다 zstd.

답변2

--compressed-data압축을 풀지 않고 파일 시스템에서 직접 압축된 데이터를 보냅니다.

수신기가 BTRFS_IOC_ENCODED_WRITE ioctl(Linux 6.0에 추가됨)을 지원하는 경우 압축을 풀지 않고 직접 작성할 수도 있습니다. 그렇지 않으면 수신기는 압축을 풀고 정상적으로 기록하게 됩니다.

이를 위해서는 프로토콜 버전 2 이상이 필요합니다. --proto를 사용하지 않는 경우 --compressed-data는 --proto 2를 의미합니다.

https://btrfs.readthedocs.io/en/latest/btrfs-send.html

관련 정보