Solaris のシステム管理 (IP サービス)

第 31 章 IPMP の管理 (手順)

この章では、IP ネットワークマルチパス (IPMP) でインタフェースグループを管理するための作業を紹介します。この章では、主に次の内容について説明します。

IPMP の概念の概要については、第 30 章IPMP の紹介 (概要)を参照してください。

IPMP の設定 (作業マップ)

この節には、この章で説明する作業へのリンクが含まれています。

IPMP グループの構成と管理 (作業マップ)

作業 

説明 

説明 

IPMP グループの計画 

IPMP グループを構成する以前の補助的な情報と必要な作業をすべて示す 

「IPMP グループの計画を立てる方法」

複数のインタフェースを持つ IPMP インタフェースグループの構成 

複数のインタフェースを IPMP グループのメンバーとして構成する 

「複数のインタフェースを持つ IPMP グループを構成する方法」

インタフェースの 1 つが待機インタフェースである IPMP グループの構成 

マルチインタフェース IPMP グループのインタフェースの 1 つを待機インタフェースとして構成する 

「IPMP グループの待機インタフェースを構成する方法」

1 つのインタフェースで構成される IPMP グループの構成 

単一インタフェースの IPMP グループを作成する  

「単一インタフェースの IPMP グループを構成する方法」

物理インタフェースが属する IPMP グループの表示 

ifconfig コマンドの出力からインタフェースの IPMP グループの名前を取得する方法を説明する

「インタフェースの IPMP グループメンバーシップを表示する方法」

IPMP グループへのインタフェースの追加 

既存の IPMP グループのメンバーとして新しいインタフェースを追加する 

「IPMP グループにインタフェースを追加する方法」

IPMP グループからのインタフェースの削除 

IPMP グループからインタフェースを削除する方法を説明する 

「IPMP グループからインタフェースを削除する方法」

既存の IPMP グループから別のグループへのインタフェースの移動 

IPMP グループ間でインタフェースを移動する 

「インタフェースを 1 つの IPMP グループから別のグループに移動する方法」

in.mpathd デーモンの 3 つのデフォルト設定の変更

in.mpathd デーモンの障害検出時間などのパラメータをカスタマイズする

/etc/default/mpathd ファイルを構成する方法」

動的再構成をサポートするインタフェースでの IPMP の管理 (作業マップ)

作業 

説明 

説明 

障害が発生したインタフェースの削除 

システム内の障害が発生したインタフェースを削除する 

「障害が発生した物理インタフェースを削除する方法 (DR-Detach)」

障害が発生したインタフェースの交換 

障害が発生したインタフェースを交換する 

「障害が発生した物理インタフェースを交換する方法 (DR-Attach)」

起動時に構成されなかったインタフェースの回復 

障害が発生したインタフェースを回復する 

「システムの起動時に存在しない物理インタフェースを回復する方法」

IPMP グループの構成

この節では、IPMP グループの構成手順を紹介します。また、インタフェースを待機インタフェースとして構成する方法についても説明します。

IPMP グループの計画

IPMP グループの一部としてシステム上のインタフェースを構成する前に、構成前の計画を立てる必要があります。

ProcedureIPMP グループの計画を立てる方法

次の手順には、計画作業と IPMP グループを構成する前に収集すべき情報が含まれています。これらの作業は、順番どおり行う必要はありません。

  1. システムのどのインタフェースを IPMP グループの一部とするかを決定します。

    IPMP グループは、通常、同じ IP リンクに接続されている 2 つ以上の物理インタフェースによって構成されています。ただし、必要に応じて、単一インタフェースの IPMP グループを構成することも可能です。IPMP グループの紹介については、「IPMP インタフェースの構成」を参照してください。たとえば、同じ Ethernet スイッチまたは同じ IP サブネットを同じ IPMP グループに構成できます。同じ IPMP グループにはいくつでもインタフェースを構成できます。

    論理インタフェースでは、ifconfig コマンドの group パラメータを使用することはできません。たとえば、group パラメータを hme0 と使用することはできますが、hme0:1 とは使用できません。

  2. グループ内の各インタフェースが一意の MAC アドレスを持っていることを確認します。

    手順については、「SPARC: インタフェースの MAC アドレスが一意であることを確認する方法」を参照してください。

  3. IPMP グループの名前を選択します。

    空文字以外であれば、どんなグループ名でも構いません。インタフェースが接続されている IP リンクを識別する名前を使用するのが良いでしょう。

  4. STREAMS モジュールの同じセットが転送され、IPMP グループ内のすべてのインタフェースで構成されていることを確認します。

    同じグループのすべてのインタフェースは、同じ順番で構成された STREAMS モジュールを持っていなければなりません。

    1. 予想される IPMP グループのすべてのインタフェースの 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 モジュールを使用できます。

    2. インタフェースのモジュールを IPMP グループでの標準的な順番で転送します。


      ifconfig interface modinsert module-name
      

      ifconfig hme0 modinsert ip
  5. IPMP グループのすべてのインタフェースで同じ IP アドレス指定書式を使用します。

    1 つのインタフェースが IPv4 向けに構成されている場合は、そのグループのすべてのインタフェースを IPv4 向けに構成する必要があります。たとえば、複数の NIC のインタフェースで構成される IPMP グループがあるとします。1 つの NIC のインタフェースに IPv6 アドレス指定を追加すると、IPMP グループ内のすべてのインタフェースを IPv6 によってサポートする構成にする必要があります。

  6. IPMP グループ内のすべてのインタフェースが同じ IP リンクに接続されていることをチェックします。

  7. IPMP グループに、別のネットワークメディアタイプのインタフェースが含まれていないことを確認します。

    グループ化するインタフェースは、/usr/include/net/if_types.h で定義されている同じインタフェースタイプになるべきです。たとえば、1 つの IPMP グループに Ethernet インタフェースとトークンリングインタフェースを組み合わせることはできません。別の例としては、同じ IPMP グループに、トークンバスインタフェースと非同期転送モード (ATM) インタフェースを組み合わせることはできません。

  8. ATM インタフェースを持つ IPMP の場合は、LAN エミュレーションモードで ATM インタフェースを構成します。

    IPMP は、従来型の IP を ATM で使用するインタフェースではサポートされていません。

IPMP グループの構成

この節には、2 つ以上の物理インタフェースを持つ一般的な IPMP グループの構成作業を記載します。

Procedure複数のインタフェースを持つ IPMP グループを構成する方法

次の IPMP グループの構成手順は、VLAN を IPMP グループに構成する際にも適用されます。

始める前に

IPv4 アドレス、および該当する場合は、予想される IPMP グループ内のすべてのインタフェースの IPv6 アドレスを構成しておく必要があります。


注意 – 注意 –

各サブネットまたは L2 ブロードキャストドメインに対して、IPMP グループを 1 つだけ構成する必要があります。詳細については、「IPMP の基本要件」を参照してください。


  1. 構成するインタフェースのシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. 各物理インタフェースを IPMP グループを配置します。


    # ifconfig interface group group-name
    

    たとえば、hme0hme1 をグループ testgroup1 の下に配置するには、次のコマンドを入力します。


    # ifconfig hme0 group testgroup1
    # ifconfig hme1 group testgroup1
    

    グループ名には空白文字を使用しないでください。ifconfig ステータスディスプレイは、スペースを表示しません。したがって、違いは一方の名前がスペースを含んでいるだけという 2 つの類似するグループ名は作成しないでください。グループ名の 1 つにスペースが含まれる場合、これらのグループ名はステータスディスプレイでは同じに見えます。

    デュアルスタック環境では、特定のグループにインタフェースの IPv4 インスタンスを配置すると、IPv6 インスタンスが自動的に同じグループに配置されます。

  3. (任意) 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 に設定する。

    • ネットマスクおよびブロードキャストアドレスをデフォルト値に設定する。

    • -failoverdeprecated を指定


      注 –

      この検査用 IP アドレスをアプリケーションから使用されないようにするため IPv4 検査用アドレスを deprecated と指定する必要があります。


  4. 特定のインタフェースの 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
  5. (任意) 適用できる場合、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 と指定する必要はありません。

  6. 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 アドレスは、インタフェースのリンクローカルアドレスです。

  7. (任意) リブートしても 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 を実行する必要があります。

  8. (任意) 手順 1 - 6 を繰り返して、IPMP グループにさらにインタフェースを追加します。

    実行中のシステムの既存のグループに新しいインタフェースを追加できます。ただし、リブート後は変更の内容は失われます。


例 31–1 2 つのインタフェースを持つ IPMP グループの構成

次の操作を実行したいとします。

次のコマンドを入力します。


# 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 グループを作成したいとします。

この場合、/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 構成が正しく機能していることを示します。

参照

IPMP グループをアクティブ-待機構成にする場合は、「IPMP グループの待機インタフェースを構成する方法」を参照してください。

ターゲットシステムの構成

検査信号ベースの障害検出では、「検査信号ベースの障害検出」で説明されているようにターゲットシステムを使用します。一部の IPMP グループでは、in.mpathd が使用するデフォルトのターゲットで十分です。ただし、一部の IPMP グループでは、検査信号ベースの障害検出用に特定のターゲットを設定したほうが良いこともあります。ルートテーブルのホストルートを検査信号のターゲットとして設定して、検査信号ベースの障害検出を実行します。経路制御テーブルに構成されているすべてのホストルートは、デフォルトルーターの前に一覧化されます。したがって、IPMP はターゲットを選択するために、明示的に定義されたホストルートを使用します。直接ターゲットを指定するには、 ホストルートを手動で設定するか、起動スクリプトになることができるシェルスクリプトを作成します。

ネットワーク上のどのホストが適切なターゲットになるのかの評価では、 次の基準を検討します。

Procedure検査信号ベースの障害検出のターゲットシステムを手動で指定する方法

  1. 検査信号ベースの障害検出を構成しているシステムにユーザーアカウントでログインします。

  2. 検査信号ベースの障害検出のターゲットとして使用される特定のホストにルートを追加します。


    $ route add -host destination-IP gateway-IP -static
    

    destination-IPgateway-IP の値を、ターゲットとして使用されるホストの IPv4 アドレスと置き換えます。たとえば、IPMP グループ testgroup1 のインタフェースと同じサブネット上のターゲットシステム 192.168.85.137 を指定するには、次のように入力します。


    $ route add -host 192.168.85.137 192.168.85.137 -static 
    
  3. ターゲットシステムとして使用されるネットワーク上の追加ホストにルートを追加します。

Procedureシェルスクリプトでターゲットシステムを指定する方法

  1. IPMP グループを構成したシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. 提案したターゲットへの静的なルートを設定するシェルスクリプトを作成します。

    たとえば、次のような内容の 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  
  3. シェルスクリプトを起動スクリプトディレクトリにコピーします。


     # cp ipmp.targets /etc/init.d  
    
  4. 新しい起動スクリプトのアクセス権を変更します。


    # chmod 744 /etc/init.d/ipmp.targets
    
  5. 新しい起動スクリプトの所有権を変更します。


    # chown root:sys /etc/init.d/ipmp.targets
    
  6. /etc/init.d ディレクトリ内に起動スクリプトのリンクを作成します。


    # ln /etc/init.d/ipmp.targets /etc/rc2.d/S70ipmp.targets
    

    ファイル名 S70ipmp.targets の接頭辞 S70 によって、ほかの起動スクリプトを尊重しながら新しいスクリプトが命令されます。

待機インタフェースの構成

IPMP グループをアクティブ-待機構成にする場合は、この手順を行ってください。この種類の構成についての詳細は、「IPMP インタフェースの構成」を参照してください。

ProcedureIPMP グループの待機インタフェースを構成する方法

始める前に

IPMP グループの構成と検査用 IP アドレスの割り当てについては、「複数のインタフェースを持つ IPMP グループを構成する方法」を参照してください。

  1. 構成する待機インタフェースのシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. インタフェースを待機用として構成し、検査用 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

      待機インタフェースとして構成する物理インタフェースとして hme1 を定義します。

      192.168.85.22

      この検査用 IP アドレスを待機インタフェースに割り当てます。

      deprecated

      その検査用 IP アドレスが出力パケットには使用されないことを示します。

      -failover

      インタフェースで障害が発生しても、検査用 IP アドレスのフェイルオーバーは行われないことを示します。

      standby

      インタフェースを待機インタフェースに指定します。

    • たとえば、IPv6 検査用 IP アドレスを作成するには、次のコマンドを入力します。


      # ifconfig hme1 plumb -failover standby up
      
  3. 待機インタフェースの構成結果をチェックします。


    # 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 コマンドを入力することによって、インタフェースの現在のステータスを常に参照できます。インタフェースのステータス参照については、「特定のインタフェースに関する情報を入手する方法」を参照してください。


  4. (任意) リブート後も IPv4 待機インタフェースを保持します。

    待機インタフェースを同じ IPMP グループに割り当て、待機インタフェースの検査用 IP アドレスを構成します。

    たとえば、hme1 を待機インタフェースとして構成するには、/etc/hostname.hme1 ファイルに次の行を追加します。


    192.168.85.22 netmask + broadcast + deprecated group test -failover standby up 
  5. (任意) リブート後も IPv6 待機インタフェースを保持します。

    待機インタフェースを同じ IPMP グループに割り当て、待機インタフェースの検査用 IP アドレスを構成します。

    たとえば、hme1 を待機インタフェースとして構成するには、/etc/hostname6.hme1 ファイルに次の行を追加します。


    -failover group test standby up

例 31–4 IPMP グループの待機インタフェースの構成

次の構成に基づいて検査用 IP アドレスを作成するとします。

その場合、次のように入力します。


# ifconfig hme2 plumb 192.168.85.22 netmask + broadcast + \
deprecated -failover standby up

インタフェースは、アドレスが NOFAILOVER として設定されたあとにだけ、待機インタフェースとして設定されます。

次のように入力して、インタフェースの待機ステータスを解除します。


# ifconfig interface -standby

1 つの物理インタフェースを持つ IPMP グループの構成

IPMP グループにインタフェースが 1 つしかない場合は、フェイルオーバーを実行できません。ただし、インタフェースを IPMP グループに割り当てることで、インタフェースの障害検出を有効にすることはできます。単一インタフェースの IPMP グループの障害検出を確立するために、専用テストIP アドレスを構成する必要はありません。単一の IP アドレスを、データの送信と障害検出の両方に使用できます。

Procedure単一インタフェースの IPMP グループを構成する方法

  1. 予想される単一インタフェース IPMP グループのあるシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. IPv4 の場合は、単一インタフェースの IPMP グループを作成します。

    次の構文で単一インタフェースを 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 のマークを付けないでください。

  3. IPv6 の場合は、単一インタフェースの IPMP グループを作成します。

    次の構文で単一インタフェースを 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 を安全にオンに設定できます。

IPMP グループの維持

この節には、既存の IPMP グループとこれらのグループを構成するインタフェースを維持する作業を記載します。「IPMP グループの構成」の説明に従って、すでに IPMP グループを構成していることが前提です。

Procedureインタフェースの IPMP グループメンバーシップを表示する方法

  1. IPMP グループ構成を持つシステムで、スーパーユーザーまたは同等の役割になります。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. インタフェースが属するグループなど、インタフェースに関する情報を表示します。


    # ifconfig interface
    
  3. 適切な場合は、インタフェースの IPv6 情報を表示します。


    # ifconfig interface inet6
    

例 31–5 物理インタフェースグループの表示

hme0 のグループ名を表示するには、次のように入力します。


# ifconfig hme0
	hme0: flags=9000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 
      index 2 inet 192.168.85.19 netmask ffffff00 broadcast 192.168.85.255
      groupname testgroup1

IPv6 情報だけのグループ名を表示するには、次のように入力します。


# ifconfig hme0 inet6
	hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
        	inet6 fe80::a00:20ff:feb9:19fa/10 
        	groupname testgroup1

ProcedureIPMP グループにインタフェースを追加する方法

  1. IPMP グループ構成を持つシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. IPMP グループへインタフェースを追加します。


    # ifconfig interface group group-name
    

    interface で指定したインタフェースが、IPMP グループ group-name のメンバーになります。


例 31–6 IPMP グループへのインタフェースの追加

hme0 を IPMP グループ testgroup2 に追加するには、次のコマンドを入力します。


# ifconfig hme0 group testgroup2
  hme0: flags=9000843<UP ,BROADCAST,RUNNING,MULTICAST,IPv4,NOFAILOVER> mtu 1500 index 2
  inet 192.168.85.19 netmask ff000000 broadcast 10.255.255.255
  groupname testgroup2
  ether 8:0:20:c1:8b:c3 

ProcedureIPMP グループからインタフェースを削除する方法

ifconfig コマンドの group パラメータに空文字列を指定すると、インタフェースが現在の IPMP グループから削除されます 。グループからインタフェースを削除する場合は、慎重に行う必要があります。IPMP グループのほかのインタフェースに障害が発生している場合、障害経路の迂回が行われていることがあります。たとえば、hme0 に障害が発生し、すべてのアドレスが、同じグループに属する hme1 に移されたとします。このグループから hme1 を削除するとin.mpathd デーモンはこれらの障害経路の迂回が行われたアドレスをグループ内のほかのインタフェースに戻します。正常に動作しているインタフェースがグループ内になければ障害経路の迂回が行われず、すべてのネットワークアクセスは維持できません。

同様に、グループ内のインタフェースを unplumb する必要がある場合は、まずインタフェースをグループから削除する必要があります。そのあと、構成されたすべての IP アドレスを確実に維持します。これは、グループから削除されるインタフェースの構成を in.mpathd デーモンが再現しようとするからです。インタフェースを unplumb する場合は、その前に構成が再現されていなければなりません。フェイルオーバーの前後のインタフェースの見た目については、「インタフェースのフェイルオーバー時の処理」を参照してください。

  1. IPMP グループ構成を持つシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. IPMP グループからインタフェースを削除します。


    # ifconfig interface group ""

    引用符 ("") は空文字列を表します。


例 31–7 グループからのインタフェースの削除

hme0 を IPMP グループ test から削除するには、次のコマンドを入力します。


# ifconfig hme0 group ""
	# ifconfig hme0
	hme0: flags=9000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500
    index 2 inet 192.168.85.19 netmask ffffff00 broadcast 192.168.85.255
	# ifconfig hme0 inet6
	hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
    inet6 fe80::a00:20ff:feb9:19fa/10 

Procedureインタフェースを 1 つの IPMP グループから別のグループに移動する方法

インタフェースが既存の IPMP グループに属している場合は、新しい IPMP グループにインタフェースを配置できます。この場合、現在の IPMP グループからインタフェースを削除する必要はありません。新しいグループに追加されたインタフェースは、既存の IPMP グループから自動的に削除されます。

  1. IPMP グループ構成を持つシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. 新しい IPMP グループへインタフェースを移動します。


    # ifconfig interface group group-name
    

    インタフェースを新しいグループに追加すると、そのインタフェースは現在のグループから自動的に削除されます。


例 31–8 別の IPMP グループへのインタフェースの移動

インタフェース hme0 の IPMP グループを変更するには、次のように入力します。


# ifconfig hme0 group cs-link

このコマンドは、hme0 インタフェースを IPMP グループ test から削除し、グループ cs-link に追加します。


動的再構成をサポートするシステムでの障害が発生した物理インタフェースの交換

この節には、動的再構成 (DR) をサポートするシステムを管理する手順を記載します。


注 –

この作業は、ifconfig コマンドを使用して構成される IP 層にしか関係ありません。ATM またはほかのサービスなど、IP 層よりも上位または下位の層が自動化されていない場合には、手動による特別な手順が必要です。次の手順は、切断の前処理でインタフェースの構成を解除し、接続の後処理でインタフェースを構成するために使用します。


Procedure障害が発生した物理インタフェースを削除する方法 (DR-Detach)

この手順では、DR をサポートするシステムの物理インタフェースを削除する方法を示します。ここでは、すでに次の状態が存在していることを想定しています。


注 –

検査用 IP アドレスが /etc/hostname.hme0 ファイルを使用して plumb されている場合は、手順 2 は省略できます。


  1. IPMP グループ構成を持つシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. 検査用 IP アドレスの構成を表示します。


    # ifconfig hme0:1
    
    hme0:1:
    flags=9040842<BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER>
    mtu 1500 index 3
    inet 192.168.233.250 netmask ffffff00 broadcast 192.168.233.255

    この情報は、物理インタフェースを交換する時に、検査用 IP アドレスを再度 plumb するために必要です。

  3. 物理インタフェースを削除します。

    物理インタフェースの削除に関する完全な説明については、次の参考文書を参照してください。

    • cfgadm(1m) のマニュアルページ

    • Sun Enterprise 6x00, 5x00, 4x00, and 3x00 Systems Dynamic Reconfiguration User's Guide

    • Sun Enterprise 10000 DR Configuration Guide

Procedure障害が発生した物理インタフェースを交換する方法 (DR-Attach)

この手順では、DR をサポートするシステムの物理インタフェースを交換する方法を示します。

  1. IPMP グループ構成を持つシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. 物理インタフェースを交換します。

    手順については、次の参考文書を参照してください。

    • cfgadm(1m) のマニュアルページ

    • Sun Enterprise 6x00, 5x00, 4x00, and 3x00 Systems Dynamic Reconfiguration User's Guide

    • Sun Enterprise 10000 DR Configuration Guide』または『Sun Fire 880 Dynamic Reconfiguration User's Guide

システムの起動時に存在しない物理インタフェースの回復


注 –

この手順は、ifconfig コマンドを使用して構成される IP 層にしか関係ありません。ATM またはほかのサービスなど、IP 層よりも上位または下位の層が自動化されていない場合には、手動による特別な手順が必要です。次の手順は、切断の前処理でインタフェースの構成を解除し、接続の後処理でインタフェースを構成するために使用します。


動的再構成後の回復は、Sun Fire™ プラットフォームの I/O ボードの一部であるインタフェースでは自動的に行われます。NIC が Sun Crypto Accelerator I - cPCI board の場合も、回復は自動的に行われます。よって、インタフェースが DR 操作の一部として戻される場合には、次の手順を行う必要はありません。Sun Fire x800 および Sun Fire 15000 システムの詳細については、cfgadm_sbd(1M) のマニュアルページを参照してください。物理インタフェースは、/etc/hostname.interface ファイルで指定された構成にフェイルオーバーされます。リブートしても構成を保持できるようにインタフェースを構成する方法についての詳細は、「IPMP グループの構成」を参照してください。


注 –

以前の Sun Fire システム (Exx00) の場合には、DR 切り離しは手動で行う必要があります。ただし、DR 接続は自動的に行われます。


Procedureシステムの起動時に存在しない物理インタフェースを回復する方法

システムの起動時に存在しない物理インタフェースを回復するには、次の手順を行なってください。この手順の例は、次のような構成です。


注 –

障害が発生した物理インタフェースの回復時における、IP アドレスの障害回路の迂回には、3 分かかります。この時間は、ネットワークトラフィックによって異なります。また、所要時間は in.mpathd によって障害経路を迂回し回復した着信インタフェースの安定性によっても異なります。


  1. IPMP グループ構成を持つシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. コンソールログの障害エラーメッセージから、障害が発生したネットワークの情報を取得します。

    syslog(3C) のマニュアルページを参照してください。エラーメッセージは次のように表示されます。


    moving addresses from failed IPv4 interfaces:
    hme1 (moved to hme0)

    このメッセージは、障害が発生したインタフェース hme1 の IPv4 アドレスの障害が hme0 インタフェースに迂回されたことを示しています。

    また、次のようなメッセージを受け取ることもあります。


    moving addresses from failed IPv4 interfaces:
    hme1 (couldn't move, no alternative interface)

    このメッセージは、 障害が発生したインタフェース hme1 と同じグループにアクティブなインタフェースを発見できなかったことを示しています。したがって、 hme1 の IPv4 アドレスの障害を迂回することはできません。

  3. システムに物理インタフェースを接続します。

    物理インタフェースの交換方法については、次の参考文書を参照してください。

    • cfgadm(1m) のマニュアルページ

    • Sun Enterprise 10000 DR Configuration Guide

    • Sun Enterprise 6x00, 5x00, 4x00, and 3x00 Systems Dynamic Reconfiguration User's Guide

  4. 手順 2 のエラーメッセージの内容を参照し、アドレスを移動できなかった場合は手順6 へ、アドレスが移動された場合は手順5 へ進んでください。

  5. フェイルオーバープロセスの一環として構成された論理インタフェースを unplumb します。

    1. /etc/hostname. moved-from-interface ファイルの内容から、フェイルオーバー処理の一部として構成された論理インタフェースを確認してください。

    2. 各フェイルオーバー IP アドレスを unplumb します。


      # ifconfig moved-to-interface removeif moved-ip-address
      

      注 –

      フェイルオーバーアドレスは、failover パラメータが指定されたアドレス、または -failover パラメータが指定されていないアドレスです。-failover が指定された IP アドレスは、unplumb する必要がありません。


      たとえば、/etc/hostname.hme0 ファイルの中に次の行が含まれている場合


      inet 10.0.0.4 -failover up group one
      addif 10.0.0.5 failover up
      addif 10.0.0.6 failover up

      各フェイルオーバー IP アドレスを unplumb するためには、次のコマンドを入力します。


      # ifconfig hme0 removeif 10.0.0.5
      # ifconfig hme0 removeif 10.0.0.6
  6. 問題となっている各インタフェース用に次のコマンドを入力して、交換した物理インタフェースの IPv4 情報を再構成します。


    # ifconfig removed-from-NIC <parameters>

    たとえば、次のコマンドを入力します。


    # ifconfig hme1 inet plumb
    # ifconfig hme1 inet 10.0.0.4 -failover up group one
    # ifconfig hme1 addif 10.0.0.5 failover up
    # ifconfig hme1 addif 10.0.0.6 failover up

IPMP 構成の変更

IPMP グループに関連する次のシステム共通パラメータを設定するには、IPMP 構成ファイル /etc/default/mpathd を使用します。

Procedure/etc/default/mpathd ファイルを構成する方法

  1. IPMP グループ構成を持つシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. /etc/default/mpathd ファイルを編集します。

    3 つのパラメータの 1 つ以上のデフォルト値を変更します。

    1. FAILURE_DETECTION_TIME パラメータの新しい値を入力します。


      FAILURE_DETECTION_TIME=n
      

      ここで、n は ICMP 検証がインタフェースの障害が発生していないかどうかを検出する時間 (秒単位) です。デフォルトは 10 秒です。

    2. FAILBACK パラメータの新しい値を入力します。


      FAILBACK=[yes | no]
      • yes - 値 yes を指定した場合は、IPMP のデフォルトのフェイルバック動作になります。障害が発生したインタフェースの回復が検出されると、ネットワークアクセスはこの回復したインタフェースに復帰されます。詳細は、「IPMP 障害検出とリカバリ機能」を参照してください。

      • no - no を指定した場合、回復したインタフェースにデータトラフィックが戻ることはありません。障害が発生したインタフェースの回復が検出されると、そのインタフェースに INACTIVE フラグが設定されます。このフラグは、現時点でそのインタフェースをデータトラフィックに使用すべきでないことを示します。ただし、そのインタフェースを検査信号トラフィックに使用することはできます。

        たとえば、IPMP グループが 2 つのインタフェース ce0 と ce1 で構成されているとします。また、/etc/default/mpathd に値 FAILBACK=no が設定されているとします。ce0 で障害が発生した場合、IPMP の期待される動作に従って、そのトラフィックの処理は ce1 に継続されます。ただし、/etc/default/mpathd に FAILBACK=no パラメータが設定されているため、IPMP がce0 の回復を検出してもトラフィックが ce1 から復帰することはありません。ce1 インタフェースに障害が発生しないかぎり、ce0 インタフェースはその INACTIVE 状態を維持し、トラフィックには使用されません。ce1 インタフェースに障害が発生すると、ce1 上のアドレスは ce0 に戻され、ce0 の INACTIVE フラグは消去されます。この移行が発生するのは、ce0 がグループ内で唯一の INACTIVE インタフェースである場合です。グループ内にほかの INACTIVE インタフェースが存在している場合は、ce0 以外の INACTIVE インタフェースにアドレスが移行されることもあります。

    3. TRACK_INTERFACES_ONLY_WITH_GROUPS パラメータの新しい値を入力します。


      TRACK_INTERFACES_ONLY_WITH_GROUPS=[yes | no]
      • yes - 値 yes を指定した場合は、IPMP のデフォルトの動作になります。このパラメータを指定した場合、IPMP は、IPMP グループ内に構成されていないネットワークインタフェースを無視します。

      • no - 値 no を指定すると、IPMP グループ内に構成されているネットワークインタフェースかどうかにかかわらず、すべてのネットワークインタフェースの障害と回復を検出するように設定されます。ただし、IPMP グループ内に構成されていないインタフェースで障害や回復が検出されたときは、フェイルオーバーやフェイルバックは発生しません。したがって、値 no を指定することは、障害の報告には役立ちますが、ネットワークの可用性を直接向上させることはありません。

  3. in.mpathd デーモンを再起動します。


    # pkill -HUP in.mpathd