今日のお話
つい最近、ファイルサーバを新しくした のですけど、ファイルサーバの空き領域をSambaで見たら使用量が分かりにくかったので、何とかしたかった。
図で言うと、左じゃ困るので右にしたい、みたいな。
ではゴー。
状況
例えば、ZFSで作ったストレージをSambaで公開する場合、ディスク全体ではなく一部のスライスだけを公開したいことはままある。
だけど、知っての通りZFSでは、スライス毎の全体容量は「他のスライスの使用量をプール全体の容量から引いた容量」として表示される。
例えばこうだ。
|
|
更に悪いことに、例えばここで zpool02 を公開したとする。
その場合、最大容量 11TB/空き領域 11TBと言う表示になってしまう。(下図左)
これは正直大して嬉しくない。
他のスライスで使用量が増加していくと、使用率は0%なのに最大容量がどんどん小さくなっていくからだ。
sambaの設定
sambaの空き領域計算は、デフォルトでは内部実装が実行するものの、代わりにスクリプトを実行することもできる。
dfree command と言うものがそれにあたり、ここで 全体容量 と 空き容量 を標準出力で返してやるスクリプトを指定すると、そのように画面に見せることが出来る。
そこで、以下のようなスクリプトを書く
|
|
これを、smb4.confに書く
|
|
Note
dfree command は空き領域計算が必要になるたびに実行されるので、ある程度の時間キャッシュしたい場合は、 dfree cache time を設定する。(デフォルトは0)
そして再起動
|
|
そして、エクスプローラを更新すると、下図右の出力を得ることが出来た。
とりあえず方法論としてはこのような回避方法がある。