Gfarmは,ファイルシステムノードで,書き込みをした場合に,そのノードにファイルを配置します.しかし,version 2.3.2では,minimum_free_disk_spaceの設定(gfmd.confに設定する)の動作が完全とは言えないので,DISKが少なくなってきたノードをreadonlyに設定する必要があります.また,gfmdで一括管理されてしまうので,個別ノードで空き容量がいくつ以下になったら,書き込まない.という設定ができません.
これを回避する一番簡単な方法は,dfで監視しつつ,空き容量が減ってきたら,readonlyに設定するという方法です.dfとって,.readonlyをtouchしたりrmするだけなので,頻繁にやっても問題ないと思います.
スクリプトの例:
(SPOOL_DIRECTORYは書きなおしてください)
#!/bin/sh
PATH=/usr/bin:/bin
LANG=C
export PATH LANG
ROfile="SPOOL_DIRECTORY/.readonly"
DisPnt=100000000
EnbPnt=150000000
# ---------------------------------------------------- #
NowAvail=`df -k -P /data | grep lvol0 | awk '{print $4}'`
if [ $NowAvail -lt $DisPnt ]; then
test -f $ROfile || touch $ROfile
fi
if [ $NowAvail -gt $EnbPnt ]; then
test -f $ROfile && rm $ROfile
fi
# ---------------------------------------------------- #
exit 0