2010/11/07

Gfarmで特定のノードを書き込み不可にする

Gfarmを使っていると,特定のノードのDISKが溢れそうになったり,RAID再構築中は書き込みを避けたいとか思ったりします.このような場合は,
${gfarm_sppol_dir}/.readonly
というファイルを作成すれば,仮想的にそのノードのDISKの残容量が0になり,書き込みスケジュールの対象から外れます.gfdfの出力も,
28118482944 28118482944           0   100%   xxxx
のように利用率が100%もしくは,100%以上?!になります.
v1安定化開発の時に思いつきで入れてもらった機能でしたが,v2の今でも健在です.

RELNOTES:
  - support read-only mode experimentally, which is enabled by
    creating ".readonly" file in the top spool directory by
    administrators.

ということなのですが,どの辺がexperimentallyなのかはよく分かりません.
少なくとも,v1当時はgfrepでdistinationを明示するとこのreadonlyを無視してしまっていたのですが,v2ではこの問題は無くなっています.

蛇足ですが、readonlyにしたとしても、レプリカの削除は出来ます。なので、readonlyにしておいて、他のノードにレプリカを gfrep -m で移動する等が可能です。これをうまく使って空き容量の平滑化をしたり、アクセス集中を避けたりするのでしょう。