BTRFS에 영구적으로 압축을 설정하는 방법이 있습니까?

USB HDD가 있습니다.

압축이 활성화 된 상태로 마운트하고 싶습니다. 내 시스템의 fstab에서 또는 심지어 udev 규칙을 사용하여 할 수 있습니다. 문제는 내 컴퓨터에만 USB HDD를 마운트하지 않는다는 것입니다. 지금까지는 마운트 할 때마다 터미널을 트리거했습니다.

그런 다음 . 이것은 매우 잘 작동합니다. 그러나 ZLIB 대신 LZO를 사용하고 싶습니다. 방법이 있습니까? 더 구체적이고 압축 알고리즘을 모두 한 번 정의 하시겠습니까?

Answer

btrfs는 마운트 된 이후 변경된 모든 파일을 압축합니다. 다음을 사용하는 경우 :

mount -o compress-force=lzo /dev/btrfsdev /mnt/btrfsmnt 

모든 파일이 이런 방식으로 압축되는 것을보고 싶다면 제가 작성한 스크립트가 있습니다. …

du -ht +$((1024*1024)) "$HOME" |\ sed -rn "s/^[^/]*(.*)/btrfs fi defrag -fvclzo "\1"/p" |\ sudo sh -n 

위의 내용은 $HOME 디렉터리에서만 작동합니다. 원하는대로 무엇이든 사용할 수 있습니다. 또한 -n 피연산자가 sh 에 그대로 공급됩니다. 현재 sh 이 무엇인지 직접 확인할 수 있습니다. not 제거하기 전에 작업을 수행하십시오.

어쨌든 먼저 iv id =를 쿼리합니다. human-readable 형식의 파일의 경우 “d583611ea3″>

(다음 단계에서 제거하므로 여기서 중복 될 수 있음) 어쨌든) 1MB 또는 $((1024*1024)).

|pipes 정보를 제거하는 sed 파일 이름 앞의 /, "quotes" 앞에있는 모든 항목을 제거하고 btrfs filesystem defragment -verbose -flush-to-disk -compress-lzo \filename 명령을 빌드하고 |pipe sudo sh 에 넘겨 실행합니다.

다시 말하지만, sh --no-execute 이 적용되는 동안에는 아무것도하지 않습니다.

매우 최근의 btrfs 사용자 공간 도구 빌드는 전체 디렉토리 조각 모음을 재귀 적으로 수행하지만, 그렇다면 “아주 새로운 것이므로 항상 이런 일을해야했습니다.

댓글

  • 그 ' 매우 좋은 답변입니다. 그러나 이것은 내가 이미 한 작업입니다 (" 지금까지 터미널을 마운트 할 때마다 트리거하는 데 사용했습니다. "). ' 기본 마운팅 플래그를 FS와 연결할 방법이 있는지 알고 싶습니다. ' 루트가 없으면 이러한 작업이 모두 작동하지 않습니다.
  • 기본 마운팅 플래그? 음, 확실히 fstab을 사용할 수 있습니다. 그리고 btrfs를 사용하면 하위 볼륨으로도 마운트 할 수 있으므로 말했듯이 하위 볼륨을 특정 마운트 옵션과 연결하고 user = mount 옵션을 사용하여 사용자에게 제공 할 수 있습니다. 궁금 할 수도 있지만 이미 가지고있는 파일에서 하위 볼륨을 만들려면 어떻게해야합니까? 빈 하위 볼륨을 만들면 cp –reflink 원하는 모든 작업을 수행 할 수 있습니다.
  • 또한 위의 조각 모음 작업은 cron 작업이 될 수 있습니다 …
  • compress=lzo이면 충분합니다. ' PNG와 같은 압축 바이너리 파일을 다시 압축 할 필요가 없습니다.

답변

내가 읽은 내용에서 하위 볼륨의 루트에있는 compression 속성을 다음과 같이 설정할 수 있습니다. 이 [0, 1] 달성 :

sudo btrfs property set /mnt/your-subvolume compression lzo 

sudo btrfs filesystem show /mnt/your-subvolume로 Btrfs 하위 볼륨 UUID를 가져온 후 다음을 수행 할 수 있습니다. LZO 압축 기능이 현재 활성화되어 있는지 확인합니다.

cat /sys/fs/btrfs/<UUID>/features/compress_lzo 

활성화 된 경우 1을 반환해야합니다.

[0] https://btrfs.wiki.kernel.org/index.php/Compression

[1] https://www.berthon.eu/2016/setting-shared-folder-compression-on-synology-nas-btrfs/

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다