kuroの覚え書き

96の個人的覚え書き

WOLの設定/NFSでマウントしたままシャットダウンしようとすると固まる

使用しないときの計算ノードを止めておこうと思う。かといって計算するときにわざわざサーバルームまで行くのは面倒だし、遠隔地から作業できないし、ということでwake on LANを試してみる。
起こしたいサーバに

# yum install ethtool

とソフトウェアをいれ(今回はすでに入っていた)

# ethtool -s ens1f0 wol g

と起動

# nano /etc/sysconfig/network-scripts/ifcfg-ens1f0

ETHTOOL_OPTS="wol g"
と追記しておけばそれだけでOK

LANにつながっているポートのMACアドレス

# ip addr

で確認して

ヘッドノードから

$ ether-wake <MACアドレス>

としてやると無事に起きてくることを確認。

さて、一旦計算ノードをシャットダウンしようとして、いっこうに電源が落ちず、やむなく強制終了してしまったのだが、どうも原因はNFSにあるようだ。NFSでマウントしたディスクをきちんとアンマウントする前にネットが切断されてしまうことでアンマウントができず、シャットダウンもできないということになっている模様。シャットダウンシーケンスで、まず確実にアンマウントされるとこを確認すればよいのだが、具体的にどうすべきかわからないので、とにかくまずrootでumount -a として一通りアンマウントしてから、shutdown -h nowすれば良さそうだ。

あと、起動時にNFSで/homeと/usr/localをマウントしているのだが、/homeだけ自動でマウントしてくれない。正しくアンマウントできなかったことにリンクしているのかもしれない。これも面倒だけど起動時に一旦rootでログインしてmount -aをやってやることで、とりあえずは問題はないのだが。

wol起動スクリプト

#!/bin/sh
ether-wake <MACアドレス>

同様にシャットダウンスクリプト

#!/bin/sh
ssh root@<ip addr> umount -a
ssh root@<ip addr> shutdown -h now

こうしとくか?


追記
起動時にNFSのマウントに失敗する
https://qa.atmarkit.co.jp/q/380

解決策1:bgオプションを入れる
解決策2:クライアントの/etc/init.d/netfsにsleep 1などwaitを入れる。