この節には、2 つ以上の物理インタフェースを持つ一般的な IPMP グループの構成作業を記載します。
マルチインタフェースの IPMP グループの紹介については、「IPMP グループ」を参照してください。
計画を立てる作業については、「IPMP グループの計画」を参照してください。
1 つの物理インタフェースだけで IPMP グループを構成するには、「1 つの物理インタフェースを持つ IPMP グループの構成」を参照してください。
次の IPMP グループの構成手順は、VLAN を IPMP グループに構成する際にも適用されます。
IPv4 アドレス、および該当する場合は、予想される IPMP グループ内のすべてのインタフェースの IPv6 アドレスを構成しておく必要があります。
各サブネットまたは L2 ブロードキャストドメインに対して、IPMP グループを 1 つだけ構成する必要があります。詳細については、「IPMP の基本要件」を参照してください。
構成するインタフェースのシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
各物理インタフェースを IPMP グループを配置します。
# ifconfig interface group group-name |
たとえば、hme0 と hme1 をグループ testgroup1 の下に配置するには、次のコマンドを入力します。
# ifconfig hme0 group testgroup1 # ifconfig hme1 group testgroup1 |
グループ名には空白文字を使用しないでください。ifconfig ステータスディスプレイは、スペースを表示しません。したがって、違いは一方の名前がスペースを含んでいるだけという 2 つの類似するグループ名は作成しないでください。グループ名の 1 つにスペースが含まれる場合、これらのグループ名はステータスディスプレイでは同じに見えます。
デュアルスタック環境では、特定のグループにインタフェースの IPv4 インスタンスを配置すると、IPv6 インスタンスが自動的に同じグループに配置されます。
(任意) 1 つ以上の物理インタフェース上で IPv4 検査用 IP アドレスを構成します。
検査用 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 と指定する必要があります。
特定のインタフェースの IPv4 構成をチェックします。
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 |
(任意) 適用できる場合、IPv6 検査用アドレスを構成します。
# ifconfig interface inet6 -failover |
IPv6 アドレスを持つ物理インタフェースは、インタフェースの IPv4 アドレスと同じ IPMP グループに配置されます。この状況は、IPv4 アドレスを持つ物理インタフェースを IPMP グループに構成する場合に発生します。まず IPv6 アドレスを持つ物理インタフェースを IPMP グループに配置する場合は、IPv4 アドレスを持つ物理インタフェースも暗示的に同じ IPMP グループに配置されます。
たとえば、IPv6 検査用 IP アドレスを持つ hme0 を構成するには、次のように入力します。
# ifconfig hme0 inet6 -failover |
検査用 IP アドレスをアプリケーションから使用されないようにするために IPv6 検査用 IP アドレスを deprecated と指定する必要はありません。
IPv6 構成を確認します。
# 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 アドレスは、インタフェースのリンクローカルアドレスです。
(任意) リブートしても IPMP グループ構成を保持させます。
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 を実行する必要があります。
(任意) 手順 1 - 6 を繰り返して、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 サブネットに属していなければなりません。
次の構成で 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 |
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 |
ターゲットシステムとして使用されるネットワーク上の追加ホストにルートを追加します。
IPMP グループを構成したシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
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 |
/etc/init.d ディレクトリ内に起動スクリプトのリンクを作成します。
# 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 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
インタフェースを待機用として構成し、検査用 IP アドレスを割り当てます。
# 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 コマンドを入力することによって、インタフェースの現在のステータスを常に参照できます。インタフェースのステータス参照については、「特定のインタフェースに関する情報を入手する方法」を参照してください。
(任意) リブート後も IPv4 待機インタフェースを保持します。
待機インタフェースを同じ IPMP グループに割り当て、待機インタフェースの検査用 IP アドレスを構成します。
たとえば、hme1 を待機インタフェースとして構成するには、/etc/hostname.hme1 ファイルに次の行を追加します。
192.168.85.22 netmask + broadcast + deprecated group test -failover standby up |
(任意) リブート後も IPv6 待機インタフェースを保持します。
待機インタフェースを同じ IPMP グループに割り当て、待機インタフェースの検査用 IP アドレスを構成します。
たとえば、hme1 を待機インタフェースとして構成するには、/etc/hostname6.hme1 ファイルに次の行を追加します。
-failover group test standby up |
次の構成に基づいて検査用 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 |