ディスクパス監視 (Disk Path Monitoring、DPM) の管理コマンドを使用すれば、二次ディスクパス障害の通知を受け取ることができます。この節では、ディスクパスの監視に必要な管理作業を行うための手順を説明します。ディスクパス監視デーモンの概念については、『Sun Cluster の概念 (Solaris OS 版)』の第 3 章「重要な概念 - システム管理者とアプリケーション開発者」を参照してください。scdpm コマンドのオプションと関連するコマンドについては、cldevice(1CL) のマニュアルページを参照してください。デーモンが報告するロギングされたエラーについては、syslogd(1M) のマニュアルページを参照してください。
cldevice コマンドを使ってノードに入出力デバイスを追加すると、監視を行なっていた監視リストにディスクパスが自動的に追加されます。Sun Cluster コマンドを使ってノードからデバイスを削除すると、 ディスクパスは自動的に監視から除外されます。
作業 |
参照先 |
---|---|
ディスクパスを監視します。 | |
ディスクパスの監視を解除します。 | |
あるノードに対する障害のあるディスクパスのステータスを表示します。 | |
ファイルからディスクパスを監視します。 | |
監視されているすべてのディスクパスが失敗した場合に、ノードの自動再起動を有効化または無効化します。 | |
不正なディスクパス状態を解決します。起動時に監視対象の DID デバイスを利用できず、DID インスタンスが DID ドライバにアップロードされない場合、不正なディスクパス状態が報告されることがあります。 |
cldevice コマンドを実行する以下のセクションの手順にはディスクパス引数が含まれます。ディスクパス引数はノード名とディスク名からなります。ただし、ノード名は必須ではありません。指定しないと、all が使用されます。
この作業は、クラスタのディスクパスを監視するときに行います。
DPM は、Sun Cluster 3.1 10/03 ソフトウェアより前にリリースされたバージョンが動作するノードではサポートされません。ローリングアップグレードが行われているときには DPM コマンドを使用しないでください。すべてのノードをアップグレードしたら、DPM コマンドを使用する前にこれらのノードをオンラインにする必要があります。
phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。
この手順では、長形式の Sun Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。コマンドのリストとその短縮形については、付録 B Sun Cluster オブジェクト指向コマンドを参照してください。
クラスタの任意のノードで、スーパーユーザーになるか、RBAC の承認 solaris.cluster.modify を提供する役割になります。
ディスクパスを監視します。
# cldevice monitor -n node disk |
ディスクパスが監視されているか確認します。
# cldevice status device |
次の例では、単一ノードから schost-1:/dev/did/rdsk/d1 ディスクパスを監視します。ディスク /dev/did/dsk/d1 へのパスを監視するのは、ノード schost-1 上の DPM デーモンだけです。
# cldevice monitor -n schost-1 /dev/did/dsk/d1 # cldevice status d1 Device Instance Node Status --------------- ---- ------ /dev/did/rdsk/d1 phys-schost-1 Ok |
次の例では、すべてのノードから schost-1:/dev/did/dsk/d1 ディスクパスを監視します。DPM は、/dev/did/dsk/d1 が有効なパスであるすべてのノードで起動されます。
# cldevice monitor /dev/did/dsk/d1 # cldevice status /dev/did/dsk/d1 Device Instance Node Status --------------- ---- ------ /dev/did/rdsk/d1 phys-schost-1 Ok |
次の例では、デーモンが CCR からディスク構成を読み直し、監視されているディスクパスをそのステータスとともに出力します。
# cldevice monitor + # cldevice status Device Instance Node Status --------------- ---- ------ /dev/did/rdsk/d1 schost-1 Ok /dev/did/rdsk/d2 schost-1 Ok /dev/did/rdsk/d3 schost-1 Ok schost-2 Ok /dev/did/rdsk/d4 schost-1 Ok schost-2 Ok /dev/did/rdsk/d5 schost-1 Ok schost-2 Ok /dev/did/rdsk/d6 schost-1 Ok schost-2 Ok /dev/did/rdsk/d7 schost-2 Ok /dev/did/rdsk/d8 schost-2 Ok |
ディスクパスの監視を解除する場合は、この手順を使用します。
DPM は、Sun Cluster 3.1 10/03 ソフトウェアより前にリリースされたバージョンが動作するノードではサポートされません。ローリングアップグレードが行われているときには DPM コマンドを使用しないでください。すべてのノードをアップグレードしたら、DPM コマンドを使用する前にこれらのノードをオンラインにする必要があります。
phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。
この手順では、長形式の Sun Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。コマンドのリストとその短縮形については、付録 B Sun Cluster オブジェクト指向コマンドを参照してください。
クラスタの任意のノードで、スーパーユーザーになるか、RBAC の承認 solaris.cluster.modify を提供する役割になります。
監視を解除するディスクパスの状態を調べます。
# cldevice status device |
各ノードで、適切なディスクパスの監視を解除します。
# cldevice unmonitor -n node disk |
次の例では、schost-2:/dev/did/rdsk/d1 ディスクパスの監視を解除し、クラスタ全体のディスクパスの一覧とそのステータスを出力します。
# cldevice unmonitor -n schost2 /dev/did/rdsk/d1 # cldevice status -n schost2 /dev/did/rdsk/d1 Device Instance Node Status --------------- ---- ------ /dev/did/rdsk/d1 schost-2 Unmonitored |
クラスタに障害のあるディスクパスを表示する場合は、次の手順を使用します。
DPM は、Sun Cluster 3.1 10/03 ソフトウェアより前にリリースされたバージョンが動作するノードではサポートされません。ローリングアップグレードが行われているときには DPM コマンドを使用しないでください。すべてのノードをアップグレードしたら、DPM コマンドを使用する前にこれらのノードをオンラインにする必要があります。
次の例では、全クラスタ内の障害のあるディスクパスを表示します。
# cldevice status -s fail Device Instance Node Status --------------- ---- ------ dev/did/dsk/d4 phys-schost-1 fail |
次のイベントが発生すると、DPM が障害の発生したパスがオンラインになっても、そのパスの状態を更新しない可能性があります。
監視対象パスの障害によって、ノードが再起動する。
再起動したノードがオンラインに戻るまで、監視対象の DID パスの下のデバイスがオンラインに戻らない。
起動時に監視対象の DID デバイスを利用できず、このため DID インスタンスが DID ドライバにアップロードされないため、不正なディスクパス状態が報告されます。このような状態が発生する場合は、手動で DID 情報を更新します。
一方のノードから、グローバルデバイス名前空間を更新します。
# cldevice populate |
次の手順に進む前に、各ノードでコマンド処理が完了していることを確認します。
このコマンドは、1 つのノードからのみ実行されても、リモートからすべてのノードで実行されます。コマンドが処理を終了したかどうかを確認するには、クラスタの各ノードで次のコマンドを実行します。
# ps -ef | grep scgdevs |
DPM ポーリングタイムフレーム内で障害の発生したディスクパスの状態が OK になっていることを確認します。
# cldevice status disk-device Device Instance Node Status --------------- ---- ------ dev/did/dsk/dN phys-schost-1 Ok |
ファイルを使ってディスクパスを監視したり、その監視を解除する場合は、次の手順を使用します。
ファイルを使用してクラスタ構成を変更するには、まず現在の構成をエクスポートします。このエクスポート操作により XML ファイルが作成されます。このファイルは、変更する構成項目を設定するために修正できます。この手順では、このプロセス全体を説明します。
DPM は、Sun Cluster 3.1 10/03 ソフトウェアより前にリリースされたバージョンが動作するノードではサポートされません。ローリングアップグレードが行われているときには DPM コマンドを使用しないでください。すべてのノードをアップグレードしたら、DPM コマンドを使用する前にこれらのノードをオンラインにする必要があります。
phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。
この手順では、長形式の Sun Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。コマンドのリストとその短縮形については、付録 B Sun Cluster オブジェクト指向コマンドを参照してください。
クラスタの任意のノードで、スーパーユーザーになるか、RBAC の承認 solaris.cluster.modify を提供する役割になります。
デバイス構成を XML ファイルにエクスポートします。
# cldevice export -o configurationfile |
XML ファイルのファイル名を指定します。
デバイスパスが監視されるよう、構成ファイルを変更します。
監視するデバイスパスを検索し、monitored 属性を true に設定します。
デバイスパスを監視します。
# cldevice monitor -i configurationfile |
変更された XML ファイルのファイル名を指定します。
この時点でデバイスパスが監視されていることを確認します。
# cldevice status |
次の例では、ノード phys-schost–2 とデバイス d3 の間のデバイスパスが、XML ファイルを使用することによって監視されています。
最初に、現在のクラスタ構成をエクスポートします。
# cldevice export -o deviceconfig |
deviceconfig XML ファイルは、 phys-schost–2 と d3 の間のパスが現在は監視されていないことを示しています。
<?xml version="1.0"?> <!DOCTYPE cluster SYSTEM "/usr/cluster/lib/xml/cluster.dtd"> <cluster name="brave_clus"> . . . <deviceList readonly="true"> <device name="d3" ctd="c1t8d0"> <devicePath nodeRef="phys-schost-1" monitored="true"/> <devicePath nodeRef="phys-schost-2" monitored="false"/> </device> </deviceList> </cluster> |
そのパスを監視するには、次のように、監視される attribute を true に設定します。
<?xml version="1.0"?> <!DOCTYPE cluster SYSTEM "/usr/cluster/lib/xml/cluster.dtd"> <cluster name="brave_clus"> . . . <deviceList readonly="true"> <device name="d3" ctd="c1t8d0"> <devicePath nodeRef="phys-schost-1" monitored="true"/> <devicePath nodeRef="phys-schost-2" monitored="true"/> </device> </deviceList> </cluster> |
cldevice コマンドを使用して、ファイルを読み込み、監視を有効にします。
# cldevice monitor -i deviceconfig |
cldevice コマンドを使用して、この時点でデバイスが監視されていることを確認します。
# cldevice status |
クラスタ構成のエクスポート、および結果の XML ファイルを使用したクラスタ構成の設定の詳細は、cluster(1CL) および clconfiguration(5CL) のマニュアルページを参照してください。
この機能を有効にすると、次の条件が満たされる場合、ノードは自動的に再起動します。
該当ノード上で監視対象のすべてのディスクパスが失敗した。
少なくとも 1 つのディスクがクラスタ内の異なるノードからアクセス可能である。
ノードが再起動すると、そのノード上でマスターされているすべてのリソースグループとデバイスグループが別のノード上で再起動します。
ノードが自動再起動したあと、ノード上のすべての監視対象ディスクパスがアクセス不能のままである場合、そのノードは再び自動再起動しません。しかし、ノードが再起動したが失敗したあとに、利用可能になったディスクパスがある場合、そのノードは再び自動再起動します。
クラスタ内の任意のノードで、スーパーユーザーになるか、solaris.cluster.modify RBAC の承認を提供する役割になります。
クラスタ内のすべてのノードに対して、ノードへのすべての監視対象ディスクパスに障害が発生した場合の、ノードの自動再起動を有効にします。
# clnode set -p reboot_on_path_failure=enabled + |
この機能を無効にすると、あるノード上のすべての監視対象ディスクパスに障害が発生しても、ノードは自動的には再起動しません。