2011年12月27日火曜日

rootをiSCSI上に置いてディスクレスにしたときのシャットダウン時のエラー

前々から気がついていたんだけど、rootをiSCSIのディスクに置いてディスクレスにしていると、リブートやシャットダウンの途中でエラーがおきて、ちゃんとアンマウントできないという問題があったりしてました。
ちょっとマズイなーと思いつつ、物理マシンの再起動なんて滅多にしないので、まあいいかと放っていたのですが、正月休みに入る前に、色々とアップデートあてて、カーネルの入れ替え=再起動もしようと思ったので、エラーの件も対応しようと思います。
エラーが起きるのは、
  • シャットダウンの途中でiscsidが停止
  • iSCSIのディスクが見えなくなる
  • ディスクアクセスできないよーっと泣きが入る
といった感じです。
なので、/etc/init.d/iscsid stop 的なのが呼ばれなければいいだけかなと。
で、インターネットをグルグルしてみたんだけど、イマイチいい方法がでてきません。
仕方が無いので自分で試してみることに。
まずはinitスクリプト(/etc/init.d/iscsid) の dependをいじってうまくいかないかなぁとか調べてみる。
need localmount とか足せば、上手く行きそうな気もするけど、起動時にも副作業がありそうでちょっと怖い感じ。
ふと、他にいい方法がないかなぁーと/etcのファイルを漁っていたら、/etc/rc.confに rc_nostopなんてイケそうな変数を発見♪
rc_nostop="iscsid"
として試しにrebootするとエラーもなく無事に再起動しました♪
iscsidは明示的に停止してないけど、実害なさそうだから放っておいていいかなぁとか、 問題の先送りをまたしてしまうのでした。