現在のリリースの Sun Cluster ソフトウェアは、ディスクパス監視機能 (DPM) をサポートします。この節では、DPM、DPM デーモン、およびディスクパスを監視するときに使用する管理ツールについての概念的な情報を説明します。ディスクパスの状態を監視、監視解除、および確認する手順については、『Sun Cluster のシステム管理 (Solaris OS 版)』を参照してください。
DPM は、二次ディスクパスの可用性を監視することによって、フェイルオーバーおよびスイッチオーバーの全体的な信頼性を向上させます。リソースを切り替える前には、cldevice コマンドを使用して、そのリソースが使用しているディスクパスの可用性を確認します。cldevice コマンドのオプションを使用すると、単一の Solaris ホストまたはクラスタ内のすべての Solaris ホストへのディスクパスを監視できます。コマンド行オプションの詳細は、cldevice(1CL) のマニュアルページを参照してください。
次の表に、DPM コンポーネントのデフォルトのインストール場所を示します。
場所 |
コンポーネント |
---|---|
デーモン |
/usr/cluster/lib/sc/scdpmd |
コマンド行インタフェース |
/usr/cluster/bin/cldevice |
デーモン状態ファイル (実行時に作成される) |
/var/run/cluster/scdpm.status |
マルチスレッド化された DPM デーモンは各ホスト上で動作します。DPM デーモン (scdpmd) はホストの起動時に rc.d スクリプトによって起動されます。問題が発生した場合、DPM デーモンは pmfd によって管理され、自動的に再起動されます。以下で、最初の起動時に scdpmd がどのように動作するかについて説明します。
起動時、各ディスクパスの状態は UNKNOWN に初期化されます。
DPM デーモンは、以前の状態ファイルまたは CCR データベースから、ディスクパスとノード名の情報を収集します。CCR についての詳細は、「クラスタ構成レポジトリ (CCR)」を参照してください。DPM デーモンの起動後、指定したファイルから監視すべきディスクのリストを読み取るように DPM デーモンに指示できます。
DPM デーモンは通信インタフェースを初期化して、デーモンの外部にあるコンポーネント (コマンド行インタフェースなど) からの要求に応えます。
DPM デーモンは scsi_inquiry コマンドを使用して、監視リストにある各ディスクパスに 10 分ごとに ping を送信します。各エントリはロックされるため、通信インタフェースは監視中のエントリの内容にアクセスできなくなります。
DPM デーモンは 、UNIX の syslogd コマンドを使用して Sun Cluster イベントフレームワークにパスの新しい状態を通知して、ログに記録します。詳細は、syslogd(1M) のマニュアルページを参照してください。
このデーモンに関連するすべてのエラーは pmfd で報告されます。API のすべての関数は、成功時に 0 を戻し、失敗時に -1 を戻します。
DPM デーモンは、Solaris I/O マルチパス (MPxIO) (従来の Sun StorEdge Traffic Manager)、Sun StorEdge 9900 Dynamic Link Manager、EMC PowerPath などのマルチパスドライバを通じて、論理パスの可用性を監視します。このようなマルチパスドライバは物理パスの障害を DPM デーモンから隠すため、DPM デーモンはマルチパスドライバが管理する物理パスを監視できません。
この節では、クラスタ内のディスクパスを監視するための 2 つの方法について説明します。1 つめの方法は cldevice コマンドを使用する方法です。このコマンドを使用すると、クラスタ内のディスクパスの状態を監視、監視解除、または表示できます。このコマンドを使用して故障したディスクのリストを印刷し、ファイルからディスクパスを監視することもできます。詳細は、cldevice(1CL) のマニュアルページを参照してください。
2 つめの方法は、Sun Cluster Manager の GUI (Graphical User Interface) を使用してクラスタ内のディスクパスを監視する方法です。Sun Cluster Manager は、クラスタ内の監視しているディスクをトポロジビューで表示します。このトポロジビューは 10 分ごとに更新され、失敗した ping の数が表示されます。Sun Cluster Manager の GUI が報告する情報と cldevice コマンドを組み合わせて使用すると、ディスクパスを管理できます。Sun Cluster Manager については、『Sun Cluster のシステム管理 (Solaris OS 版)』の第 12 章「グラフィカルユーザーインタフェースによる Sun Cluster の管理」を参照してください。
cldevice コマンドを使用して、次の作業を実行できます。
新しいディスクパスの監視
ディスクパスの監視解除
CCR データベースからの構成データの再読み込み
指定したファイルからの監視または監視解除すべきディスクの読み取り
クラスタ内の 1 つまたはすべてのディスクパスの状態の報告
あるノードからアクセスできるすべてのディスクパスの印刷
任意のアクティブなノードから、ディスクパス引数を付けて cldevice コマンドを発行することによって、そのクラスタ上で DPM 管理作業を実行できます。ディスクパス引数はノード名とディスク名からなります。ノード名は不要です。ノード名を指定しない場合、デフォルトですべてのノードが影響を受けます。次の表に、ディスクパスの命名規約を示します。
必ず、UNIX のディスクパス名ではなく、広域ディスクパス名を指定してください。これは、広域ディスクのパス名がクラスタ全体で一貫しているためです。UNIX のディスクパス名にはこの性質はありません。たとえば、あるノードでディスクパス名を c1t0d0 にして、別のノードで c2t0d0 にすることができます。ノードに接続されたデバイスの広域ディスクパス名を調べるには、DPM コマンドを発行する前に cldevice list コマンド を使用します。詳細は、cldevice(1CL) のマニュアルページを参照してください。
名前型 |
ディスクパス名の例 |
説明 |
---|---|---|
広域ディスクパス |
schost-1:/dev/did/dsk/d1 |
schost-1 ノード上のディスクパス d1 |
all:d1 |
クラスタのすべてのノードでのディスクパス d1 |
|
UNIX ディスクパス |
schost-1:/dev/rdsk/c0t0d0s0 |
schost-1 ノード上のディスクパス c0t0d0s0 |
schost-1:all |
schost-1 ノードでのすべてのディスクパス |
|
すべてのディスクパス |
all:all |
クラスタのすべてのノードでのすべてのディスクパス |
Sun Cluster Manager を使用すると、次のような DPM の基本的な管理作業を実行できます。
ディスクパスの監視
ディスクパスの監視解除
クラスタ内のすべての監視対象ディスクパスの状態の表示
監視されているすべてのディスクパスが失敗したときの Solaris ホストの自動再起動の有効化または無効化
Sun Cluster Manager のオンラインヘルプでは、ディスクパスの管理方法の手順について説明しています。
すべての監視対象ディスクパスでエラーが発生した際のノードの自動再起動を有効化または無効化するには、clnode set コマンドを使用します。Sun Cluster Manager を使用してこれらの作業を実行することもできます。