ノード起動時、マルチユーザモード遷移時、または、CF 起動の延長で GFS を起動するときに、sfcfrmd デーモンが起動しない場合の対処方法について説明します。
GFS 共用ファイルシステムを運用するすべてのノードで一貫性のあるデータアクセスができるように、クラスタ整合状態が保証されるまで sfcfrmd デーモンの起動は保留されます。
sfcfrmd デーモンの起動が保留された場合は以下のメッセージが出力されます。
WARNING: sfcfsrm:5001: Starting the sfcfrmd daemon was suspended because quorum does not exist |
通常は、このメッセージが出力された場合でもクラスタ整合状態が保証され次第、sfcfrmd デーモンは起動するため対処は必要ありません。
ただし、以下の場合は、クラスタ整合状態が保証されない状態が続くため、GFS 共用ファイルシステムの運用を開始するためには対処が必要となります。
以下の手順で GFS の運用を開始してください。
◆手順1. すべてのノードでクラスタノード状態を確認します。
すべてのノードに接続し、Cluster Admin GUI、または、cftool(1M) コマンドを使用して、クラスタ内のすべてのノードの状態を表示し、その結果が、すべてのノードで同じであることを確認します。
# cftool -n <Enter> Node Number State Os Cpu sunny 1 UP Solaris Sparc moony 2 UP Solaris Sparc |
すべてのノードで同じ表示結果とならない場合はクラスタパーティションが発生しています。
参照
cftool(1M) の詳細は、“PRIMECLUSTER Cluster Foundation 導入運用手引書”の“ノードの詳細”または“PRIMECLUSTER 活用ガイド<コマンドリファレンス編>”の“CF”を参照してください。
◆手順2. クラスタパーティションが発生している場合は、発生した状況に合わせて以下のように対処してください。
シャットダウン機構 (SF) がすべてのクラスタノード上で正常動作している場合は、SF がクラスタパーティションの問題を解決するため、対処は必要ありません。しかし、設定された SF が正常に動作していない場合、または、SF による強制停止処理が失敗した場合は、手動で状態を回復する必要があります。“PRIMECLUSTER Cluster Foundation 導入運用手引書”の“クラスタパーティションが発生した場合”を参照し、対処してください。
LEFTCLUSTER のノードが存在しない場合
ノード、または、CF の再起動操作を行ったとき
“PRIMECLUSTER Cluster Foundation 導入運用手引書”の“参入関連の問題”を参照し、対処してください。
すべての CF の起動操作を行ったとき
すべての CF を停止後、クラスタパーティションの問題を解決してから、“12.6 GFS 共用ファイルシステムを利用している環境で GUI から CF を起動する手順”に従って、再度 CF の起動を行ってください。
すべてのノードの起動操作を行ったとき
すべてのノードを shutdown(1M) で停止後、クラスタパーティションの問題を解決してから、すべてのノードを再起動してください。
注意
ノードの起動が保留されている場合は、各ノードにおいて shutdown(1M) を実行する前に、以下の手順でノードの起動を完了させてください。
ps(1) で sfcfsrm スクリプトのプロセス ID を確認します。出力の 2番目が sfcfsrm スクリプトのプロセス ID です。
# /usr/bin/ps -ef | /usr/bin/grep sfcfsrm | /usr/bin/grep -v grep <Enter> root 2244 8 0 13:28:16 ? 0:00 /sbin/sh /lib/svc/method/sfcfsrm start |
kill(1) で sfcfsrm スクリプトを停止します。
# kill -9 2244 <Enter> |
sfcfsrm スクリプトは数回、再起動されるので、プロセスが存在しなくなるまで 1、2 を繰り返します。
参考
一部のノードですぐに運用を開始したい場合は、以下の手順に従ってください。
“◆手順1.”の確認結果をもとに、どのクラスタノード群を残すかを決定します。
通常は、最もノード数の多いノード群か、最も重要なハードウェアが接続されたノード群か、最も重要なアプリケーションが稼動するノード群を選択します。また、GFS 共用ファイルシステムを使用するためには、残すノード群に MDS ノードが含まれていなければいけません。
残さないノード群内のすべてのノードを shutdown(1M) で停止します。
ノードの起動が保留されている場合は、shutdown(1M) を実行する前に、ノードの起動を完了させます。手順は、前述の「注意」を参照してください。
残すノード群内のすべてのノードにおいて、再度、“◆手順1.”のクラスタノード状態の確認を行い、すべてのノードで同じ表示結果になることを確認します。
残すノード群内のすべてのノードにおいて、起動が保留されている sfcfrmd デーモンを、sfcfrmstart(1M) で強制起動します。sfcfrmstart(1M) の実行方法は、後述の“◆手順3.”を参照してください。
参照
shutdown(1M), ps(1), grep(1)、および kill(1) の詳細は、Solaris のマニュアルを参照してください。
◆手順3. クラスタパーティションが発生していない場合は、運用を開始するすべてのノードにおいて、起動が保留されている sfcfrmd デーモンを、sfcfrmstart(1M) で強制起動します。
# sfcfrmstart -f <Enter> |