ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Solaris のシステム管理 (IP サービス) Oracle Solaris 10 8/11 Information Library (日本語) |
1. Oracle Solaris TCP/IP プロトコル群 (概要)
5. TCP/IP ネットワークサービスと IPv4 アドレス指定の構成 (作業)
10. TCP/IP と IPv4 の詳細 (リファレンス)
18. DHCP コマンドと DHCP ファイル (リファレンス)
21. IP セキュリティーアーキテクチャー (リファレンス)
25. Oracle Solaris の IP フィルタ (概要)
29. モバイル IP のファイルおよびコマンド (リファレンス)
動的再構成をサポートするインタフェースでの IPMP の管理 (作業マップ)
インタフェースの IPMP グループメンバーシップを表示する方法
インタフェースを 1 つの IPMP グループから別のグループに移動する方法
動的再構成をサポートするシステムでの障害が発生した物理インタフェースの交換
障害が発生した物理インタフェースを削除する方法 (DR-Detach)
障害が発生した物理インタフェースを交換する方法 (DR-Attach)
システムの起動時に存在しない物理インタフェースを回復する方法
/etc/default/mpathd ファイルを構成する方法
この節では、IPMP グループの構成手順を紹介します。また、インタフェースを待機インタフェースとして構成する方法についても説明します。
IPMP グループの一部としてシステム上のインタフェースを構成する前に、構成前の計画を立てる必要があります。
次の手順には、計画作業と IPMP グループを構成する前に収集すべき情報が含まれています。これらの作業は、順番どおり行う必要はありません。
IPMP グループは、通常、同じ IP リンクに接続されている 2 つ以上の物理インタフェースによって構成されています。ただし、必要に応じて、単一インタフェースの IPMP グループを構成することも可能です。IPMP グループの紹介については、「IPMP インタフェースの構成」を参照してください。たとえば、同じ Ethernet スイッチまたは同じ IP サブネットを同じ IPMP グループに構成できます。同じ IPMP グループにはいくつでもインタフェースを構成できます。
論理インタフェースでは、ifconfig コマンドの group パラメータを使用することはできません。たとえば、group パラメータを hme0 と使用することはできますが、hme0:1 とは使用できません。
手順については、「SPARC: インタフェースの MAC アドレスが一意であることを確認する方法」を参照してください。
空文字以外であれば、どんなグループ名でも構いません。インタフェースが接続されている IP リンクを識別する名前を使用するのが良いでしょう。
同じグループのすべてのインタフェースは、同じ順番で構成された STREAMS モジュールを持っていなければなりません。
ifconfig interface modlist コマンドを使用して、STREAMS モジュールの一覧を印刷できます。たとえば、hme0 インタフェースの ifconfig 出力は次のようになります。
# ifconfig hme0 modlist 0 arp 1 ip 2 hme
この出力の ifconfig hme0 modlist で示されているように、インタフェースは、通常 IP モジュールの直下にネットワークドライバとして存在します。追加構成は必要ありません。
ただし、NCA や IP フィルタのような一部のテクノロジーは、IP モジュールとネットワークドライバ間に自分自身を STREAMS モジュールとして挿入します。これにより、同じ IPMP グループのインタフェースの動作方法に問題が生じる場合があります。
STREAMS モジュールの処理状態を把握可能な場合には、グループ内のすべてのインタフェースに同じモジュールを転送している場合でも、フェイルオーバーで予想外の動作が実行される可能性はあります。ただし、IPMP グループのすべてのインタフェースに同じ順番で転送している場合は、処理状態を把握できない STREAMS モジュールを使用できます。
ifconfig interface modinsert module-name
ifconfig hme0 modinsert ip
1 つのインタフェースが IPv4 向けに構成されている場合は、そのグループのすべてのインタフェースを IPv4 向けに構成する必要があります。たとえば、複数の NIC のインタフェースで構成される IPMP グループがあるとします。1 つの NIC のインタフェースに IPv6 アドレス指定を追加すると、IPMP グループ内のすべてのインタフェースを IPv6 によってサポートする構成にする必要があります。
グループ化するインタフェースは、/usr/include/net/if_types.h で定義されている同じインタフェースタイプになるべきです。たとえば、1 つの IPMP グループに Ethernet インタフェースとトークンリングインタフェースを組み合わせることはできません。別の例としては、同じ IPMP グループに、トークンバスインタフェースと非同期転送モード (ATM) インタフェースを組み合わせることはできません。
IPMP は、従来型の IP を ATM で使用するインタフェースではサポートされていません。
この節には、2 つ以上の物理インタフェースを持つ一般的な IPMP グループの構成作業を記載します。
マルチインタフェースの IPMP グループの紹介については、「IPMP グループ」を参照してください。
計画を立てる作業については、「IPMP グループの計画」を参照してください。
1 つの物理インタフェースだけで IPMP グループを構成するには、「1 つの物理インタフェースを持つ IPMP グループの構成」を参照してください。
次の IPMP グループの構成手順は、VLAN を IPMP グループに構成する際にも適用されます。
始める前に
IPv4 アドレス、および該当する場合は、予想される IPMP グループ内のすべてのインタフェースの IPv6 アドレスを構成しておく必要があります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
# ifconfig interface group group-name
たとえば、hme0 と hme1 をグループ testgroup1 の下に配置するには、次のコマンドを入力します。
# ifconfig hme0 group testgroup1 # ifconfig hme1 group testgroup1
グループ名には空白文字を使用しないでください。ifconfig ステータスディスプレイは、スペースを表示しません。したがって、違いは一方の名前がスペースを含んでいるだけという 2 つの類似するグループ名は作成しないでください。グループ名の 1 つにスペースが含まれる場合、これらのグループ名はステータスディスプレイでは同じに見えます。
デュアルスタック環境では、特定のグループにインタフェースの IPv4 インスタンスを配置すると、IPv6 インスタンスが自動的に同じグループに配置されます。
検査用 IP アドレスを構成する必要があるのは、特定のインタフェースで検査信号ベースの 障害検出を使用する場合だけです。検査用 IP アドレスは、ifconfig コマンドに指定した物理インタフェースの論理インタフェースとして構成されます。
グループ内の 1 つのインタフェースを待機インタフェースにする場合は、この時点ではそのインタフェースの検査用 IP アドレスを設定しないでください。待機インタフェースの検査用 IP アドレスは、「IPMP グループの待機インタフェースを構成する方法」の作業の一環として設定します。
検査用 IP アドレスを設定するには、次の構文の ifconfig コマンドを使用します。
# ifconfig interface addif ip-address parameters -failover deprecated up
たとえば、一次ネットワークインタフェース hme0 には次の検査用 IP アドレスを作成します。
# ifconfig hme0 addif 192.168.85.21 netmask + broadcast + -failover deprecated up
このコマンドは、一次ネットワークインタフェース hme0 に対して次のパラメータを設定します。
アドレスを 192.168.85.21 に設定する。
ネットマスクおよびブロードキャストアドレスをデフォルト値に設定する。
-failover と deprecated を指定
注 - この検査用 IP アドレスをアプリケーションから使用されないようにするため IPv4 検査用アドレスを deprecated と指定する必要があります。
ifconfig interface を入力することによって、インタフェースの現在のステータスを常に参照できます。インタフェースのステータス参照の詳細については、特定のインタフェースに関する情報を入手する方法を参照してください。
検査用 IP アドレスに割り当てられている論理インタフェースを指定することで、物理インタフェースの検査用 IP アドレス構成に関する情報を取得できます。
# ifconfig hme0:1 hme0:1: flags=9000843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2 inet 192.168.85.21 netmask ffffff00 broadcast 192.168.85.255
# ifconfig interface inet6 -failover
IPv6 アドレスを持つ物理インタフェースは、インタフェースの IPv4 アドレスと同じ IPMP グループに配置されます。この状況は、IPv4 アドレスを持つ物理インタフェースを IPMP グループに構成する場合に発生します。まず IPv6 アドレスを持つ物理インタフェースを IPMP グループに配置する場合は、IPv4 アドレスを持つ物理インタフェースも暗示的に同じ IPMP グループに配置されます。
たとえば、IPv6 検査用 IP アドレスを持つ hme0 を構成するには、次のように入力します。
# ifconfig hme0 inet6 -failover
検査用 IP アドレスをアプリケーションから使用されないようにするために IPv6 検査用 IP アドレスを deprecated と指定する必要はありません。
# ifconfig hme0 inet6 hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 2 inet6 fe80::a00:20ff:feb9:17fa/10 groupname test
IPv6 検査用 IP アドレスは、インタフェースのリンクローカルアドレスです。
IPv4 の場合は、次の行を /etc/hostname.interface ファイルに追加します。
interface-address <parameters> group group-name up \ addif logical-interface -failover deprecated <parameters> up
この例では、検査用 IPv4 アドレスは、次回のリブートで有効になります。構成をその場で有効にするには、手順 1、2、および任意で 3 を実行する必要があります。
IPv6 の場合は、次の行を /etc/hostname6.interface ファイルに追加します。
-failover group group-name up
この検査用 IPv6 アドレスは、次回のリブートで有効になります。構成をその場で有効にするには、手順 1、2、および任意で 5 を実行する必要があります。
実行中のシステムの既存のグループに新しいインタフェースを追加できます。ただし、リブート後は変更の内容は失われます。
例 31-1 2 つのインタフェースを持つ IPMP グループの構成
次の操作を実行したいとします。
ネットマスクおよびブロードキャストアドレスをデフォルト値に設定する。
検査用 IP アドレス 192.168.85.21 を持つインタフェースを構成する。
次のコマンドを入力します。
# ifconfig hme0 addif 192.168.85.21 netmask + broadcast + -failover deprecated up
この検査用 IP アドレスをアプリケーションから使用されないようにするため IPv4 検査用アドレスを deprecated と指定する必要があります。「複数のインタフェースを持つ IPMP グループを構成する方法」を参照してください。
アドレスのフェイルオーバー属性を有効にするには、ダッシュなしで failover オプションを使用します。
IPMP グループのすべての検査用 IP アドレスには、同じネットワークアドレスを使用してください。すべての検査用 IP アドレスは 1 つの IP サブネットに属していなければなりません。
例 31-2 リブート後の IPv4 IPMP グループ構成の保持
次の構成で testgroup1 という名の IPMP グループを作成したいとします。
データアドレス 192.168.85.19 を持つ物理インタフェース hme0
検査用 IP アドレス 192.168.85.21 を持つ論理インタフェース
注 - この例では、物理インタフェースとデータアドレスが互いにペアになっています。論理インタフェースと検査用 IP アドレスについても同様です。ただし、インタフェースのタイプとアドレスタイプの間に固有の関係が存在するわけではありません。
deprecated と -failover オプション設定
ネットマスクおよびブロードキャストアドレスをデフォルト値に設定する。
この場合、/etc/hostname.hme0 ファイルに次の行を追加します。
192.168.85.19 netmask + broadcast + group testgroup1 up \ addif 192.168.85.21 deprecated -failover netmask + broadcast + up
同様に、2 番目のインタフェース hme1 を同じグループ (testgroup1) に入れ、検査用 IP アドレスを指定するには、次の行を追加します。
192.168.85.20 netmask + broadcast + group testgroup1 up \ addif 192.168.85.22 deprecated -failover netmask + broadcast + up
例 31-3 リブート後の IPv6 IPMP グループ構成の保持
IPv6 アドレスを持つインタフェース hme0 のテストグループを作成するには、次の行を /etc/hostname6.hme0 ファイルに追加します。
-failover group testgroup1 up
同様に、2 番目のインタフェース hme1 をグループ (testgroup1) に入れ、検査用 IP アドレスを指定するには、次の行を /etc/hostname6.hme1 ファイルに追加します。
-failover group testgroup1 up
注意事項
IPMP グループの構成時、in.mpathd は、システムコンソールまたは syslog ファイルに多数のメッセージを出力します。これらのメッセージは、本質的に参考情報で、IPMP 構成が正しく機能していることを示します。
このメッセージは、インタフェース hme0 が IPMP グループ testgroup1 に追加されたことを示します。ただし、hme0 では検査用 IP アドレスは設定されていません。検査信号ベースの障害検出を有効にするには、検査用 IP アドレスをインタフェースに割り当てる必要があります。
May 24 14:09:57 host1 in.mpathd[101180]: No test address configured on interface hme0; disabling probe-based failure detection on it. testgroup1
このメッセージは、IPMP グループに追加される IPv4 アドレスだけを持つすべてのインタフェースに対して表示されます。
May 24 14:10:42 host4 in.mpathd[101180]: NIC qfe0 of group testgroup1 is not plumbed for IPv6 and may affect failover capability
インタフェースの検査用 IP アドレスを構成した場合には、このメッセージが表示されるはずです。
Created new logical interface hme0:1 May 24 14:16:53 host1 in.mpathd[101180]: Test address now configured on interface hme0; enabling probe-based failure detection on it
参照
IPMP グループをアクティブ-待機構成にする場合は、「IPMP グループの待機インタフェースを構成する方法」を参照してください。
検査信号ベースの障害検出では、「検査信号ベースの障害検出」で説明されているようにターゲットシステムを使用します。一部の IPMP グループでは、in.mpathd が使用するデフォルトのターゲットで十分です。ただし、一部の IPMP グループでは、検査信号ベースの障害検出用に特定のターゲットを設定したほうが良いこともあります。ルートテーブルのホストルートを検査信号のターゲットとして設定して、検査信号ベースの障害検出を実行します。経路制御テーブルに構成されているすべてのホストルートは、デフォルトルーターの前に一覧化されます。したがって、IPMP はターゲットを選択するために、明示的に定義されたホストルートを使用します。直接ターゲットを指定するには、 ホストルートを手動で設定するか、起動スクリプトになることができるシェルスクリプトを作成します。
ネットワーク上のどのホストが適切なターゲットになるのかの評価では、 次の基準を検討します。
予想されるターゲットが使用可能で、実行されていることを確認します。IP アドレスの一覧を作成します。
ターゲットインタフェースが、構成中の IPMP グループと同じネットワークにあることを確認します。
ターゲットシステムのネットマスクとブロードキャストアドレスは、IPMP グループ内のアドレスと同じでなければなりません。
ターゲットホストは、検査信号ベースの障害検出を使用しているインタフェースからの ICMP 要求に応答できなければなりません。
$ route add -host destination-IP gateway-IP -static
destination-IP と gateway-IP の値を、ターゲットとして使用されるホストの IPv4 アドレスと置き換えます。たとえば、IPMP グループ testgroup1 のインタフェースと同じサブネット上のターゲットシステム 192.168.85.137 を指定するには、次のように入力します。
$ route add -host 192.168.85.137 192.168.85.137 -static
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
たとえば、次のような内容の ipmp.targets というシェルスクリプトを作成します。
TARGETS="192.168.85.117 192.168.85.127 192.168.85.137" case "$1" in 'start') /usr/bin/echo "Adding static routes for use as IPMP targets" for target in $TARGETS; do /usr/sbin/route add -host $target $target done ;; 'stop') /usr/bin/echo "Removing static routes for use as IPMP targets" for target in $TARGETS; do /usr/sbin/route delete -host $target $target done ;; esac
# cp ipmp.targets /etc/init.d
# chmod 744 /etc/init.d/ipmp.targets
# chown root:sys /etc/init.d/ipmp.targets
# ln /etc/init.d/ipmp.targets /etc/rc2.d/S70ipmp.targets
ファイル名 S70ipmp.targets の接頭辞 S70 によって、ほかの起動スクリプトを尊重しながら新しいスクリプトが命令されます。
IPMP グループをアクティブ-待機構成にする場合は、この手順を行ってください。この種類の構成についての詳細は、「IPMP インタフェースの構成」を参照してください。
始める前に
すべてのインタフェースを IPMP グループのメンバーとして構成しておく必要があります。
待機インタフェースとなるインタフェースには、検査用 IP アドレスを設定しないでください。
IPMP グループの構成と検査用 IP アドレスの割り当てについては、「複数のインタフェースを持つ IPMP グループを構成する方法」を参照してください。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
# ifconfig interface plumb \ ip-address other-parameters deprecated -failover standby up
待機インタフェースは、1 つの IP アドレス (検査用 IP アドレス) しか持つことができません。standby up オプションを設定する前に、-failover オプションを設定してください。<other-parameters> の場合は、ifconfig(1m) のマニュアルページに説明されているように、構成で必要なパラメータを使用します。
たとえば、IPv4 検査用 IP アドレスを作成するには、次のコマンドを入力します。
# ifconfig hme1 plumb 192.168.85.22 netmask + broadcast + deprecated -failover standby up
待機インタフェースとして構成する物理インタフェースとして hme1 を定義します。
この検査用 IP アドレスを待機インタフェースに割り当てます。
その検査用 IP アドレスが出力パケットには使用されないことを示します。
インタフェースで障害が発生しても、検査用 IP アドレスのフェイルオーバーは行われないことを示します。
インタフェースを待機インタフェースに指定します。
たとえば、IPv6 検査用 IP アドレスを作成するには、次のコマンドを入力します。
# ifconfig hme1 plumb -failover standby up
# ifconfig hme1 hme1: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER, STANDBY,INACTIVE mtu 1500 index 4 inet 192.168.85.22 netmask ffffff00 broadcast 19.16.85.255 groupname test
INACTIVE は、このインタフェースが送信パケットには使用されないことを示します。この待機インタフェースに障害経路の迂回が行われると、INACTIVE 状態は取り消されます。
注 - ifconfig interface コマンドを入力することによって、インタフェースの現在のステータスを常に参照できます。インタフェースのステータス参照については、「特定のインタフェースに関する情報を入手する方法」を参照してください。
待機インタフェースを同じ IPMP グループに割り当て、待機インタフェースの検査用 IP アドレスを構成します。
たとえば、hme1 を待機インタフェースとして構成するには、/etc/hostname.hme1 ファイルに次の行を追加します。
192.168.85.22 netmask + broadcast + deprecated group test -failover standby up
待機インタフェースを同じ IPMP グループに割り当て、待機インタフェースの検査用 IP アドレスを構成します。
たとえば、hme1 を待機インタフェースとして構成するには、/etc/hostname6.hme1 ファイルに次の行を追加します。
-failover group test standby up
例 31-4 IPMP グループの待機インタフェースの構成
次の構成に基づいて検査用 IP アドレスを作成するとします。
物理インタフェース hme2 を待機インタフェースにする。
検査用 IP アドレスは 192.168.85.22 とする。
deprecated と -failover オプション設定
ネットマスクおよびブロードキャストアドレスをデフォルト値に設定する。
その場合、次のように入力します。
# ifconfig hme2 plumb 192.168.85.22 netmask + broadcast + \ deprecated -failover standby up
インタフェースは、アドレスが NOFAILOVER として設定されたあとにだけ、待機インタフェースとして設定されます。
次のように入力して、インタフェースの待機ステータスを解除します。
# ifconfig interface -standby
IPMP グループにインタフェースが 1 つしかない場合は、フェイルオーバーを実行できません。ただし、インタフェースを IPMP グループに割り当てることで、インタフェースの障害検出を有効にすることはできます。単一インタフェースの IPMP グループの障害検出を確立するために、専用テストIP アドレスを構成する必要はありません。単一の IP アドレスを、データの送信と障害検出の両方に使用できます。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
次の構文で単一インタフェースを IPMP グループに割り当てます。
# ifconfig interface group group-name
次の例では、インタフェース hme0 が IPMP グループ v4test に割り当てられます。
# ifconfig hme0 group v4test
この手順の実行後、IPMP によりリンクベースの障害検出がインタフェース上で有効になります。
また、ifconfig コマンドの -failover サブコマンドを使用して、検査信号ベースの障害検出を有効にすることもできます。次の例は、検査信号ベースの障害検出を hme0 上で有効にします。その際、 hme0 に現在割り当てられている IP アドレスを使用します。
# ifconfig hme0 -failover
複数インタフェースのグループとは異なり、同じ IP アドレスをデータアドレスと検査用 IP アドレスの両方に使用できます。アプリケーションで検査用 IP アドレスをデータアドレスとして使用できるようにするには、単一インタフェースの IPMP グループで検査用 IP アドレスに deprecated のマークを付けないでください。
次の構文で単一インタフェースを IPMP グループに割り当てます。
# ifconfig interface inet6 group group-name
たとえば、単一インタフェース hme0 を IPMP グループ v6test に追加するには、次のように入力します。
# ifconfig hme0 inet6 group v6test
この手順の実行後、IPMP によりリンクベースの障害検出がインタフェース上で有効になります。
また、ifconfig コマンドの -failover サブコマンドを使用して、検査信号ベースの障害検出を有効にすることもできます。次の例は、検査信号ベースの障害検出を hme0 上で有効にします。その際、 hme0 に現在割り当てられている IP アドレスを使用します。
# ifconfig hme0 inet6 -failover
複数インタフェースのグループとは異なり、同じ IP アドレスをデータアドレスと検査用 IP アドレスの両方に使用できます。アプリケーションで検査用 IP アドレスをデータアドレスとして使用できるようにするには、単一インタフェースの IPMP グループで検査用 IP アドレスに deprecated のマークを付けないでください。
単一物理インタフェース構成では、検査信号が送信されるターゲットシステムで障害が発生しているのか、インタフェースで障害が発生しているのかを確認できません。検査信号の受信システムは、単一の物理インタフェースを介して検査されます。唯一のデフォルトルーターがサブネット上にある場合、単一物理インタフェースがグループ内にあるときは、IPMP をオフにします。IPv4 と IPv6 のデフォルトルーターが別個に存在する場合 (または複数のデフォルトルーターが存在する場合) は、検査信号のターゲットシステムは 2 つ以上あります。よって、IPMP を安全にオンに設定できます。