[Linux][FileSystem][自分用メモ] btrfsのマウントオプションについて。

AIX、UNIX、Linux

Mount options – btrfs Wiki /
http://webcache.googleusercontent.com/search?q=cache:14DBoGoj_AMJ:https://btrfs.wiki.kernel.org/index.php/Mount_options+&cd=1&hl=ja&ct=clnk&gl=jp&lr=lang_en%7Clang_ja

Btrfs (日本語) – ArchWiki /
https://wiki.archlinux.org/index.php/Btrfs_(%E6%97%A5%E6%9C%AC%E8%AA%9E)

btrfsをちょこちょこ使い出しているので、マウントオプションについてメモ。
というか本家Wikiがアクセス出来ない・・・

主要なのところだけメモっておく。

autodefrag

既存のファイルへのランダム書き込みを検出し、バッググラウンドでデフラグを実行する。

clear_cache

マウント時にすべての空き領域のキャッシュをクリアする。

compress,compress-force

  • compress=zlib – より良い圧縮率。それは古いカーネルのデフォルトで安全です。
  • compress=lzo – より高速な圧縮。
  • compress=no – (カーネル3.6以降において)圧縮を無効にします。

discard

解放されたブロックにTrimできるようにします。別の方法として、定期的にfstrimコマンドを実行することができる。

inode_cache

空きiノード番号のキャッシュを有効にします。再利用されていない場合を除き使用することをお勧めしない。

nobarrier

このオプションを使用すると、大幅に電源障害が発生する状況の間、データの破損を経験する可能性が高くなります。

nodatacow

直接、潜在的なシステム障害に部分的に更新されたファイルを取得を犠牲にして、(EXT[234]のような)データを上書きすることで、わずかにパフォーマンスの向上を提供する。ワークロードが差が非常に大きくなることが大規模なデータベースファイルへのランダム書き込みでない限り、パフォーマンスの向上は、通常は5%程度。(注:圧縮をオフにすること

nospace_cache

空き領域のキャッシュを無効にします。これは、新しい書き込みが遅くなる場合がある。

space_cache

ディスク上の空き領域のデータを格納する。

ssd

SSD最適化された動作の一部をオンにします。/sys/block/sdX/queue/rotational が0になっていることをチェックし、自動的に有効になる。しかし、これは discard/TRIMは有効にならない。

ssd_spread

時間の経過とともにより多くの空き領域が断片化する傾向にある新しい割り当てのために、ディスクの大量の未使用領域を見つけることについてより厳密である。それは、より安価なSSDデバイス上で、多くの場合、高速になります。

thread_pool=number

割り当てるワーカースレッドの数。

例えば)

Linux 3.12 以降
・SSD の Btrfs で出来る限りパフォーマンスを引き出したい場合。

noatime,compress=lzo,ssd,discard,space_cache,autodefrag,inode_cache

・HDD の Btrfs で出来る限り容量を削減したい場合。

relatime,compress-force=zlib,autodefrag

参考:

Btrfs (日本語) – ArchWiki /
https://wiki.archlinux.org/index.php/Btrfs_(%E6%97%A5%E6%9C%AC%E8%AA%9E)#.E3.83.9E.E3.82.A6.E3.83.B3.E3.83.88.E3.82.AA.E3.83.97.E3.82.B7.E3.83.A7.E3.83.B3

コピーオンライト (CoW)

CoW にはアドバンテージがありますが、大きなファイルに小さなランダム書き込みを行うときのパフォーマンスについてはあまり良い影響を与えません。データベースファイルや仮想マシンイメージについては CoW を無効化することが推奨されます。 CoW を無効にする方法の一つは “nodatacow” オプションを使ってマウントすることです。しかしながら、これではファイルシステム全体で CoW を無効にすることになります。

https://wiki.archlinux.org/index.php/Btrfs_(%E6%97%A5%E6%9C%AC%E8%AA%9E)#.E3.83.9E.E3.82.A6.E3.83.B3.E3.83.88.E3.82.AA.E3.83.97.E3.82.B7.E3.83.A7.E3.83.B3

ディレクトリ内の既存のファイルで CoW を無効にするときは、次のようにします。

$ mv /path/to/dir /path/to/dir_old
$ mkdir /path/to/dir
$ chattr +C /path/to/dir
$ cp /path/to/dir_old/* /path/to/dir
$ rm -rf /path/to/dir_old
この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

kometchtechをフォローする
タイトルとURLをコピーしました