メディエータの管理は、medstat(1M) と metaset(1M) コマンドを使用して行います。これらのコマンドを使用すると、メディエータホストの追加と削除、メディエータデータの確認と修復などが行えます。詳細は、medstat(1M)、metaset(1M)、mediator(7) の各マニュアルページを参照してください。
この作業は、Solstice DiskSuite のインストールと構成が終わった後で行なってください。
すべてのノードでクラスタソフトウェアを起動します。
最初のノードで次のコマンドを実行してください。
# scadmin startcluster |
残ったほかのノードで次のコマンドを実行してください。
# scadmin startnode |
各ノードのプライベートリンクの名前を確認します。
grep(1) を使用して、clustername.cdb ファイルに含まれているプライベートリンクを確認してください。
hahost1# grep "^cluster.node.0.hostname" ¥ /etc/opt/SUNWcluster/conf/clustername.cdb cluster.node.0.hostname : hahost0 phys-hahost1# grep "cluster.node.0.hahost0" ¥ /etc/opt/SUNWcluster/conf/clustername.cdb | grep 204 204.152.65.33 hahost1# grep "^cluster.node.1.hostname" ¥ /etc/opt/SUNWcluster/conf/clustername.cdb cluster.node.1.hostname : hahost1 hahost1# grep "cluster.node.1.hahost1" ¥ /etc/opt/SUNWcluster/conf/clustername.cdb | grep 204 204.152.65.34 |
この例では、204.152.65.33 が hahost0 のプライベートリンクで、204.152.65.34 が hahost1 のプライベートリンクです。
metaset(1M) コマンドを使用して、メディエータを構成します。
ディスクセットに接続された各ホストを、そのディスクセットトのメディエータとして追加します。各コマンドは、現在ディスクセットをマスターしているホストで実行してください。ディスクセットの現在のマスターは、hastat(1M) コマンドで確認できます。論理ホストについて hastat(1M) が返す情報に、ディスクセットマスターが示されています。
hahost1# metaset -s disksetA -a -m hahost0,204.152.65.33 hahost1# metaset -s disksetA -a -m hahost1,204.152.65.34 hahost1# metaset -s disksetB -a -m hahost0,204.152.65.33 hahost1# metaset -s disksetB -a -m hahost1,204.152.65.34 hahost1# metaset -s disksetC -a -m hahost0,204.152.65.33 hahost1# metaset -s disksetC -a -m hahost1,204.152.65.34 |
metaset(1M) コマンドは、プライベートリンクを別名として扱います。
phys-hahost1# medstat -s diskset |
出力の解釈については、medstat(1M) のマニュアルページを参照してください。指定したディスクセットのメディエータホストのメディエータデータが不正であることが表示された場合は、次の方法を参照して問題を修正してください。
medstat(1M) コマンドは、メディエータの状態を確認します。この作業は、medstat(1M) を実行し、メディエータホストに問題があることが報告された場合に行なってください。
影響を受けるディスクセットから問題のあるメディエータホストを削除します。
影響を受けるディスクセットを所有している Sun Cluster ノードにログインし、次のコマンドを入力してください。
phys-hahost1# metaset -s diskset -d -m bad_mediator_host |
メディエータホストとその別名を復元します。
phys-hahost1# metaset -s diskset -a -m bad_mediator_host, physical_host_alias,... |
プライベートリンクは、メディエータホストの別名として割り当てる必要があります。metaset(1M) コマンド行に、まず実際のホストの IP アドレスを指定し、続いて HA プライベートリンクを指定してください。この場合の metaset(1M) コマンドの使用法については、mediator(7) のマニュアルページを参照してください。
二重障害の中には、Sun Cluster によって自動回復しない場合もあります。次に例を示します。
二重列構成でノードと列の両方に障害が発生したが、残ったノード上のメディエータがゴールデンでない場合。詳細は、「ホストと列の障害」で説明しています。
メディエータデータが不正であるか古い、あるいはノードの 1 つまたは両方に存在しない状況にあり、二重列構成内の列の 1 つに障害が発生する。影響を受けた論理ホストの所有権を取得しようと試みるが失敗する。
二重列構成で 1 つの列に障害が発生したが、残った列上の正常な複製の数が、障害が発生したディスクセットの複製の合計数の半分に満たない。DiskSuite は次にこれらの複製を更新しようと試みるが、システム障害が発生する。
自動回復しない障害が発生し、手動の回復作業が完了する前に、影響を受けた論理ホストを保守モードから戻す試みがなされる。
ディスクセット、複製、メディエータの状態を定期的に監視することは非常に重要です。これらの監視には、medstat(1M) コマンドが便利です。多重障害を悪化させる危険性を避けるために、問題のあるメディエータデータ、複製、ディスクは常に速やかに修復してください。
この種の障害が発生した場合、次のようなエラーメッセージの 1 つがログに記録されます。
ERROR: metaset -s <diskset> -f -t exited with code 66 ERROR: Stale database for diskset <diskset> NOTICE: Diskset <diskset> released ERROR: metaset -s <diskset> -f -t exited with code 2 ERROR: Tagged data encountered for diskset <diskset> NOTICE: Diskset <diskset> released ERROR: metaset -s <diskset> -f -t exited with code 3 ERROR: Only 50% replicas and 50% mediator hosts available for diskset <diskset> NOTICE: Diskset <diskset> released |
最終的に、次のメッセージも表示されます。
ERROR: Could not take ownership of logical host(s) <lhost>, so switching into maintenance mode ERROR: Once in maintenance mode, a logical host stays in maintenance mode until the admin intervenes manually ERROR: The admin must investigate/repair the problem and if appropriate use haswitch command to move the logical host(s) out of maintenance mode |
この種の二重障害では、データの完全性維持を優先するため、高可用性は犠牲になります。そのため、データがしばらく使用できなくなる可能性があります。また、完全なデータ回復やデータの整合性は保証されません。
ログメッセージを調べ、問題を見極め、障害が発生したハードウェアをできるかぎり修復した後、mediator(7) のマニュアルページに説明されている特殊な metaset(1M) オプションのいくつかを使用して、データアクセスを復元できる場合があります。しかし、これらのオプションの使用は、不正なデータの回復を避けるために、細心の注意を払う必要があります。
2 つの列間の相互アクセスは、絶対に行わないでください。このようなアクセスが試みられると、状況は悪化します。
データのクライアントアクセスを復元する前に、データセット全体、またはそのデータセットに対する最近のトランザクションによって影響を受けているデータに対して任意の妥当性検査を行なってください。
論理ホストを保守モードから戻す haswitch(1M) コマンドを実行する前に、必ず関連するディスクセットの所有権を解放してください。
次の syslog (コンソール) メッセージは、メディエータまたはメディエータデータに問題があることを示しています。この問題を解決するには、「不正なメディエータデータを修正するには」の手順に従ってください。
Attention required - medstat shows bad mediator data on host %s for diskset %s Attention required - medstat finds a fatal error in probing mediator data on host %s for diskset %s! Attention required - medstat failed for diskset %s |