問題の概要:
nodeA# scshutdown -g0 -y scshutdown: Unmount of /dev/md/sc/dsk/d30 failed: Device busy. scshutdown: Could not unmount all PxFS filesystems. |
Oracle をインストールすると、Networker パッケージがバンドルされてインストールされる。そのため、nsrmmd デーモンが起動して /global/oracle ディレクトリにマウントを行い、すべてのクラスタファイルシステムをマウント解除できなくなる。
nodeA# umount /global/oracle umount: global/oracle busy nodeA# fuser -c /global/oracle /global/oracle: nodeA# umount /global/oracle umount: global/oracle busy nodeA# fuser -c /global/oracle /global/oracle: 335co 317co 302co 273co 272co nodeA# ps -ef|grep 335 root 335 273 0 17:17:41 ? 0:00 /usr/sbin/nsrmmd -n 1 root 448 397 0 17:19:37 console 0:00 grep 335 |
この問題は Sun Cluster を停止するときに、nsrmmd プロセスがまだ参照しているクラスタファイルシステムをマウント解除しようとする際に発生する。
回避方法: 各ノードで fuser(1M) コマンドを実行し、マウント解除できないクラスタファイルシステムを使用しているすべてのプロセスのリストを作成します。scshutdown(1M) コマンドが最初に起動して失敗したことにより、Resource Group Manager のリソースが再起動されていないことを確認します。プロセスをすべて kill -9 コマンドで終了します。この削除リストには、Resource Group Manager の管理下にあるプロセスを含めてはなりません。これらのプロセスをすべて終了させてから scshutdown コマンドを再実行すると、停止動作は正常に実行されて終了します。