2010/11/07

Gfarmレプリカの移動

Gfarm v2 (v1とはオプション違ったかも)で,レプリカを移動する方法.

gfrep -m -h slist -H dlist target_dir

slistに含まれるホストのレプリカをdlistにあるホストに「移動」する.このやり方では,敢えて -N <#> オプションを指定せず,一つのレプリカを対象としています.考え方としては,
  • レプリカを退避したいノードをslistに記載
  • slist以外のノードをdlistに記載
  • かつ,レプリカを書き込まれたくないノードは,readonlyに設定
readonlyに設定するのが面倒だったら,dlistに含めなければOKです.readonlyになっていれば,dlistで指定されたとしてもレプリカは書き込まれません.

たとえば,負荷集中が起こっているノードをdlistに書いて,それ以外をslistへ.加えて,残量100GBを切っているノードをreadonlyに設定.とかするとぼちぼち動きます.

ちなみに,Gfarmファイルシステム上のファイルをシェルの補完機能で追跡することは出来ません.なので,gfarm2fsを用いてマウントしたディレクトリに移動してからgfrep等のGfarmコマンドを操作すると,ファイル名補完ができるので便利です.
ただし,Gfarm v2では,$GFS_PWDが無くなってしまったので,トップディレクトリから移動せずに操作する必要があります.ちょっと使いにくい.