BTRFSに圧縮を永続的に設定する方法はありますか?

USBHDDを持っています。

圧縮を有効にしてマウントしたい。システムのfstabで、またはudevルールを使用して実行できます。問題は、USB HDDをコンピュータだけにマウントしないことです。これまでは、マウントするたびにターミナルをトリガーしていました。

その後、。これは非常にうまく機能していますしかし、 ZLIBの代わりにLZOを使用したいのですが。より具体的に、圧縮アルゴリズムを一度に定義しますか?

回答

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)). <よりも大きい/ p>

その情報を sed |pipes ファイル名の先頭の /, "quotes" の前にあるすべてのものをオフにし、 btrfs filesystem defragment -verbose -flush-to-disk -compress-lzo \filename コマンドを作成して |pipe sudo sh に渡して実行します。

繰り返しになりますが、 sh --no-execute が有効である限り、何も実行されません。

いくつかの非常に最近の btrfs ユーザースペースツールビルドは、ディレクトリ全体を再帰的に最適化しますが、そうであれば、「かなり新しいことなので、私は」常にこのようなことをしなければなりませんでした。

コメント

  • それは'とても良い答えです。ただし、これは私がすでに行ったことです(これは、"これまで、端末をマウントするたびにトリガーするものでした。")。 'デフォルトの取り付けフラグをFSに関連付ける方法があるかどうか知りたいです。 'ルートがない場合、これらはいずれも機能しません。
  • デフォルトのマウントフラグ?まあ、あなたは間違いなくfstabを使うことができます。また、btrfsを使用すると、サブボリュームごとにマウントすることもできるため、サブボリュームを特定のマウントオプションに関連付けたり、user =マウントオプションに関連付けたりして、ユーザーに提供することができます。不思議に思うかもしれませんが、すでに持っているファイルからサブボリュームを作成するにはどうすればよいですか?空のサブボリュームを作成する場合は、cp –reflinkを実行して、ジョブを実行する必要があります。
  • また、上記のdefragジョブは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/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です