Solaris 7 のソフトウェア開発 (追補)

デバイスのクラス分類

Sun Cluster では 4 つの新しいデバイスクラスを採用します。このような新しいクラス分類は、Sun Cluster 環境におけるデバイスの拡張された動作に基づいています。

列挙型デバイス

ENUMERATED_DEV

ノード固有デバイス

NODESPECIFIC_DEV

大域デバイス

GLOBAL_DEV

ノード結合デバイス

NODEBOUND_DEV

ddi_create_minor_node(9F) ルーチンは、デバイスドライバによって作成されたマイナーノードによる分類であるこれらのデバイスクラスを引数として持ち、この引数として渡されたデバイスクラスをカーネルに伝えるように拡張されました。デバイスクラスについては、次の節を参照してください。

列挙型デバイス

列挙型デバイスとは、特定のデバイスノードとデバイスノードが存在するホストとの間で 1 対 1 の対応を持つ物理デバイスのことです。このクラスの例として、さまざまなディスクデバイスやテープデバイスがあります (たとえば、/dev/dsk/c0t0d0s0/dev/rmt/0l など)。ほとんどすべての物理デバイスがこのクラスに属します。このクラスは、すべての非疑似デバイスのデフォルトです。

ノード固有デバイス

ノード固有デバイスは、デバイスノードが開かれているホストについての固有な情報を持っているデバイスです。このようなデバイスの例として、/dev/kmem デバイスがあります。このデバイスを開くと、ローカルホスト上のホスト固有情報にアクセスできるようになります。特定のデバイスドライバについての情報を構成または収集するときに使用される管理疑似デバイスノードも、このクラスに入ります。Sun Cluster ソフトウェアを使用すると、クラスタ内のカーネルデバイスノードのインスタンスごとに、2 つのユーザーデバイスノードが必ず作成されます。したがって、目的のデバイスノードはローカルでも、リモートからでもアクセスできます。

大域デバイス

大域デバイスとは、ノード不変疑似デバイスのことです (たとえば、/dev/ip など)。原則として、デバイスのオープンインスタンス (iptcp など) は、クラスタ内のどのホストで開く動作が行われたかどうかに依存しません。デバイスごとに 1 つのコピーがカーネルに存在します。このデバイスクラスに対するすべてのデバイス入出力要求はローカルで実行され、このデバイスノードにはクラスタ内のリモートホストもアクセスできます。この動作は、システム内のすべての疑似デバイスのデフォルトです。

ノード結合デバイス

ノード結合デバイスとは、クラスタ全体の状態を管理する疑似デバイスのことです。原則的に、このデバイスは 1 つのノード上だけで開かなければなりません。/dev/ticotsord のようなデバイスがこのクラスに属します。自動フェイルオーバー機能を持つ、可用性の高い (HA) デバイスもこのクラスに属します。一度に存在する疑似ノードは 1 つだけですが、すべての開いたデバイスは同じノードに向けられます。ただし、HA デバイスは例外です。HA デバイスでは、ホストノードがデバイスユーザーにとっては透過的に変わる可能性があります。