この章では、インタフェースグループを作成および使用するための手順や、検査用 IP アドレス、hostname ファイル、マルチパス構成ファイルを構成するための手順について説明します。
この章では、以下の内容について説明します。
この節では、マルチパスインタフェースグループの構成手順とインタフェースを待機インタフェースに指定するための手順を説明します。
物理インタフェースのグループ化にも関連情報が記述されています。
作業 |
説明 |
参照個所 |
---|---|---|
2 つのインタフェースでマルチパスインタフェースグループを構成 |
ifconfig コマンド、group オプション、-failover オプション、deprecated オプション、および /etc/hostname.interface ファイルを使用 | |
インタフェースの 1 つが待機インタフェースであるマルチパスグループを構成 |
ifconfig コマンド、group オプション、standby オプション、failover オプション、および /etc/hostname.interface ファイルを使用 | |
物理インタフェースが属するグループを表示 |
ifconfig コマンドとインタフェース名を使用 | |
グループにインタフェースを追加 |
ifconfig コマンドとインタフェース名を使用 | |
グループからインタフェースを削除 |
ifconfig コマンドと空文字列を使用して、IP ネットワークマルチパスを無効化 | |
インタフェースを既存のグループから別のグループに移動 |
ifconfig コマンドと group オプションを使用 |
スーパーユーザーになります。
次のコマンドを使って、個々の物理インタフェースをマルチパスグループに入れます。
# ifconfig interface-name group group-name |
たとえば、hme0 と hme1 を test グループに入れるには、次のように入力します。
# ifconfig hme0 group test # ifconfig hme1 group test |
すべての物理インタフェースに対し検査用 IP アドレスを指定します。
IPv4 検査用アドレスの場合は、次のコマンドを使用します。
この手順では、物理インタフェースのアドレスがすでに構成されているものとします。
# ifconfig interface-name addif ip-address <パラメータ> -failover deprecated up |
たとえば、次の構成で hme0 上に検査用 IP アドレスを構成するとします。
アドレスは 19.16.85.21
ネットマスクおよびブロードキャストアドレスをデフォルト値に設定
-failover と deprecated を指定
この場合、次のコマンドを入力します。
# ifconfig hme0 addif 19.16.85.21 netmask + broadcast + -failover deprecated up |
構成を確認するには、次のように入力します。
# ifconfig hme0:1 hme0:1: flags=9000843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2 inet 19.16.85.21 netmask ffffff00 broadcast 19.16.85.255 |
この検査用 IP アドレスをアプリケーションが使用しないようにするため IPv4 検査用 IP アドレスを deprecated と指定する必要があります。
たとえば、次の構成で hme1 上に検査用 IP アドレスを構成するとします。
アドレスは 19.16.85.22
ネットマスクおよびブロードキャストアドレスをデフォルト値に設定
-failover と deprecated を指定
この場合、次のコマンドを入力します。
# ifconfig hme1 addif 19.16.85.22 netmask + broadcast + -failover deprecated up |
IPv6 検査用 IP アドレスの場合は、次のコマンドを使用します。
# ifconfig interface-name inet6 -failover |
IPv6 アドレスを割り当てられた物理インタフェースは、IPv4 アドレスとして同じマルチパスグループ内に明示的に追加されます。IPv4 アドレスを割り当てられた物理インタフェースがマルチパスグループに追加されることによって、このような結果になります。IPv6 アドレスを持つ物理インタフェースが最初にマルチパスグループに追加されていることがありますが、その場合、IPv4 アドレスを持つ物理インタフェースが自動的に同じマルチパスグループに追加されます。
たとえば、hme0 に IPv6 検査用 IP アドレスを指定するには、次のコマンドを使用します。
# ifconfig hme0 inet6 -failover |
構成を確認するには、次のように入力します。
# ifconfig hme0 inet6 hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 2 inet6 fe80::a00:20ff:feb9:17fa/10 groupname test |
検査用 IP アドレスをアプリケーションから使用されないようにするために IPv6 検査用 IP アドレスを deprecated と指定する必要はありません。
2 つ目のインタフェース hme1 には、次のコマンドを使用します。
# ifconfig hme1 inet6 -failover |
この手順は、リブート後も構成内容を保持したい場合にのみ行います。リブート後も構成内容を保持するには、次の手順に従ってください。
IPv4 の場合は、/etc/hostname.interface ファイルに次の行を追加します。
interface-address <パラメータ> group group-name up \ addif logical-interface -failover deprecated <パラメータ> up |
この検査用 IP アドレスは、次回のリブートで有効になります。構成をその場で有効にするには、手順 1 から 3 を実行する必要があります。
たとえば、hme0 を次のように構成して test グループを作成するとします。
物理インタフェース hme0 のアドレスが 19.16.85.19
論理インタフェースのアドレスが 19.16.85.21
deprecated と -failover を指定
ネットマスクおよびブロードキャストアドレスをデフォルト値に設定
この場合、/etc/hostname.hme0 ファイルに次の行を追加します。
19.16.85.19 netmask + broadcast + group test up \ addif 19.16.85.21 deprecated -failover netmask + broadcast + up |
同様に、hme1 を同じグループ (test) に入れ、検査用 IP アドレスを指定するには、/etc/hostname.hme1 ファイルに次の行を追加します。
19.16.85.20 netmask + broadcast + group test up \ addif 19.16.85.22 deprecated -failover netmask + broadcast + up |
IPv6 の場合は、/etc/hostname6.interface ファイルに次の行を追加します。
-failover group group-name up |
この検査用 IP アドレスは、次回のリブートで有効になります。構成をその場で有効にするには、手順 1 から 3 を実行する必要があります。
たとえば、IPv6 アドレスを持つ hme0 に対して test グループを作成するには、次の行を /etc/hostname6.hme0 ファイルに追加します。
-failover group test up |
同様に、hme1 を同じグループ (test) に入れ、検査用 IP アドレスを指定するには、次の行を /etc/hostname6.hme1 ファイルに追加します。
-failover group test up |
マルチパスグループにさらにインタフェースを追加する場合は、上記の手順 1 から 3 を繰り返します。新しいインタフェースを、動作しているシステム上の既存のグループに追加することができます。ただし、リブート後は変更の内容は失われます。
この例では、hme1 を待機インタフェースとして構成します。
待機インタフェースのアドレスには、検査用 IP アドレスしか指定できません。
2 つのインタフェースでマルチパスインタフェースグループを構成する方法の手順 1 と 2 を実行します。
すべての物理インタフェースに検査用 IP アドレスを設定するために、次の手順を実行します。
hme0 のような非待機インタフェースは、2 つのインタフェースでマルチパスインタフェースグループを構成する方法の手順 3 を実行します。
待機インタフェースは、次のコマンドを使って検査用 IP アドレスを設定します。
待機インタフェースのアドレスには、検査用 IP アドレスしか指定できません。待機インタフェースは、これ以外の IP アドレスを持つことはできません。
# ifconfig interface-name plumb ip-address <その他のパラメータ> deprecated -failover standby up |
-failover オプションは standby オプションより前に、standby オプションは up より前にそれぞれ指定する必要があります。
<その他のパラメータ> には、実際の構成に応じたパラメータを指定します。 詳細については、ifconfig(1M) のマニュアルページを参照してください。
たとえば、次の構成で検査用 IP アドレスを作成するとします。
物理インタフェース hme1 を待機インタフェースにする
アドレスは 19.16.85.22
deprecated と -failover を指定
ネットマスクおよびブロードキャストアドレスをデフォルト値に設定
この場合、次のコマンドを入力します。
# ifconfig hme1 plumb 19.16.85.22 netmask + broadcast + deprecated -failover standby up |
結果を確認するには、次のコマンドを入力します。
# ifconfig hme1 flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 4 inet 19.16.85.22 netmask ffffff00 broadcast 19.16.85.255 groupname test |
IPv6 の場合、検査用 IP アドレスを待機インタフェースに作成するには、次のコマンドを使用します。
ifconfig hme1 plumb -failover standby up |
INACTIVE は、このインタフェースが送信パケットには使用されないことを示します。この待機インタフェースに障害経路の迂回が行われると、INACTIVE フラグはクリアされます。
この手順は、リブート後も構成内容を保持したい場合にのみ行います。リブート後も構成内容を保持するには、次の手順に従ってください。
IPv4 の場合は、/etc/hostname.interface ファイルに次の行を追加します。
interface-address <parameters> group group-name up \ addif logical-interface-failover deprecated <parameters> up |
この検査用 IP アドレスは、次回のリブートで有効になります。構成をその場で有効にするには、手順 1 と 2 を実行する必要があります。
たとえば、hme0 を次のように構成して test グループを作成するとします。
物理インタフェース hme0 のアドレスが 19.16.85.19
論理インタフェースのアドレスが 19.16.85.21
deprecated と -failover を指定
ネットマスクおよびブロードキャストアドレスをデフォルト値に設定
/etc/hostname.hme0 ファイルに次の行を追加します。
19.16.85.19 netmask + broadcast + group test up \ addif 19.16.85.21 deprecated -failover netmask + broadcast + up |
同様に、hme1 を同じグループ (test) に入れ、検査用 IP アドレスを指定するには、次のコマンドを入力します。
19.16.85.22 netmask + broadcast + deprecated group test -failover standby up |
IPv6 の場合は、/etc/hostname6.interface ファイルに次の行を追加します。
-failover group group-name up |
この検査用 IP アドレスは、次回のリブートで有効になります。構成をその場で有効にするには、手順 1 と 2 を実行する必要があります。
たとえば、IPv6 アドレスを持つ hme0 に対して test グループを作成するには、次の行を /etc/hostname6.hme0 ファイルに追加します。
-failover group test up |
同様に、hme1 を同じグループ (test) に入れ、検査用 IP アドレスを指定するには、次の行を /etc/hostname6.hme1 ファイルに追加します。
-failover group test standby up |
たとえば、hme0 のグループ名を表示するには、次のコマンドを入力します。
# ifconfig hme0 hme0: flags=9000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 19.16.85.19 netmask ffffff00 broadcast 19.16.85.255 groupname test |
IPv6 だけのグループ名を表示するには、次のコマンドを入力します。
# ifconfig hme0 inet6 hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 inet6 fe80::a00:20ff:feb9:19fa/10 groupname test |
たとえば、test グループに hme0 を追加するには、次のコマンドを入力します。
# ifconfig hme0 group test |
たとえば、test グループから hme0 を削除するには、次のコマンドを入力します。
# ifconfig hme0 group "" # ifconfig hme0 hme0: flags=9000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 19.16.85.19 netmask ffffff00 broadcast 19.16.85.255 # ifconfig hme0 inet6 hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 inet6 fe80::a00:20ff:feb9:19fa/10 |
マルチパスグループからのネットワークアダプタの削除に関連情報が記述されています。
新しいグループに追加されたインタフェースは、既存のグループから自動的に削除されます。
たとえば、test グループから hme0 を削除し、cs-link グループに追加するには、次のコマンドを入力します。
# ifconfig hme0 group cs-link |
該当のインタフェースが現在のグループから削除され、cs-link グループに追加されます。
この節の手順は、ifconfig(1M) を使用して構成される IP 層だけに適用されます。 ATM または他のサービスなど、IP 層よりも上位または下位の層が自動化されていない場合には、手動による特別な手順が必要です。この特別な手順は、事前切り離し時の構成解除および事後接続後の構成を行うために実行します。障害または DR の対処方法については、該当する層およびアプリケーションのマニュアルを参照してください。
障害が発生した物理インタフェースを交換する場合は、まず次の各手順を手作業で行う必要があります。次の手順の例では、物理インタフェースとして hme0 と hme1 を使用します。両インタフェースとも同じマルチパスグループに属し、hme0 に障害が発生したとします。さらに、論理インタフェース hme0:1 が検査用 IP アドレスを持っているとします。
次の手順の例では、障害のあるインタフェースを同じ名前の別の物理インタフェースで置き換えます。hme0 の置き換えを例にとります。
検査用 IP アドレスが /etc/hostname.hme0 ファイルを使用して結合されている場合は、手順 1 を省略することができます。
次のコマンドを実行して、検査用 IP アドレスの構成情報を入手します。
# ifconfig hme0:1 hme0:1: flags=9040842<BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 3 inet 129.146.233.250 netmask ffffff00 broadcast 129.146.233.255 |
この情報は、物理インタフェースを交換する時に、検査用 IP アドレスを再結合するために必要です。
検査用 IP アドレスの hostname ファイルを使用した構成方法についての詳細は、 hostname ファイルによるグループと検査用 IP アドレスの構成を参照してください。
物理インタフェースの取り外し方については、cfgadm(1M) のマニュアルページ、『Sun Enterprise 6x00, 5x00, 4x00, 3x00 システム Dynamic Reconfiguration ユーザーマニュアル』、または『Sun Enterprise 10000 DR 構成マニュアル』を参照してください。
物理インタフェースの交換方法については、cfgadm(1M) のマニュアルページ、『Sun Enterprise 6x00, 5x00, 4x00, 3x00 システム Dynamic Reconfiguration ユーザーマニュアル』、『Sun Enterprise 10000 DR 構成マニュアル』、または『Sun Fire 880 Dynamic Reconfiguration ユーザーマニュアル』を参照してください。
次のコマンドを実行して、検査用 IP アドレスを結合し、有効にします。
# ifconfig hme0 <検査用 IP アドレス構成> |
この検査用 IP アドレス構成は、/etc/hostname.hme0 ファイルに構成されたものと同じです。障害が発生した物理インタフェースを取り外す方法の手順 1 に従った場合は、検査用 IP の構成は同手順で表示された構成と同じにします。
この構成によって、in.mpathd デーモンが検査を再開します。 検査の結果、in.mpathd は回復を検出します。その後、in.mpathd により、障害経路の迂回が行われた元の IP アドレスが hme1 から回復した経路へ戻されます。
検査用 IP アドレスの構成方法についての詳細は、検査用 IP アドレスの構成 を参照してください。
障害が発生した物理インタフェースの回復時における、IP アドレスの回復した経路への復帰には 3 分ほどかかります。ネットワークトラフィックに応じて、この所要時間は異なります。また、所要時間は in.mpathd によって障害経路を迂回し回復した着信インタフェースの安定性によっても異なります。
この節の手順は、ifconfig(1M) を使用して構成される IP 層だけに適用されます。 ATM または他のサービスなど、IP 層よりも上位または下位の層が自動化されていない場合には、手動による特別な手順が必要です。この特別な手順は、事前切り離し時の構成解除および事後接続後の構成を行うために実行します。障害または DR の対処方法については、該当する層およびアプリケーションのマニュアルを参照してください。
NIC が Sun Fire プラットフォーム上の入出力ボードの一部である場合、この NIC に対して DR を実行すると、自動的に回復処理が行われます。NIC が PCI デバイスである場合も、自動的に回復処理が行われます。このため、NIC が DR 操作の一部として戻される場合には、次の手順を行う必要はありません。Sun Fire x800 および Sun Fire 15000 の詳細については、cfgadm_sbd(1M) のマニュアルページを参照してください。 物理インタフェースは、/etc/hostname.interface ファイルで指定された構成に回復されます。リブートを行っても構成が保持されるようにインタフェースを構成する方法の詳細については、マルチパスインタフェースグループの構成を参照してください。
以前の Sun Fire システム (Exx00) の場合には、DR 切り離しは手動で行う必要があります。ただし、DR 接続は自動的に行われます。
システムの起動時に存在しない物理インタフェースを回復するには、次の手順を行なってください。次の手順では、物理インタフェース hme0 と hme1 を例として使用します。どちらのインタフェースもマルチパスグループに属しているものとします。また、システムの起動時には hme0 が存在していなかったものとします。
障害が発生した物理インタフェースの回復時における、IP アドレスの障害回路の迂回には 3 分かかります。ネットワークトラフィックに応じて、この所要時間は異なります。また、所要時間は in.mpathd によって障害経路を迂回し回復した着信インタフェースの安定性によっても異なります。
コンソールログの障害エラーメッセージから、障害が発生したネットワークの情報を取得します。
syslog(3C) のマニュアルページを参照してください。エラーメッセージは次のように表示されます。
moving addresses from failed IPv4 interfaces: hme1 (moved to hme0) |
または、次のようなエラーメッセージが表示されます。
moving addresses from failed IPv4 interfaces: hme1 (couldn't move, no alternative interface) |
システムに物理インタフェースを接続します。
物理インタフェースの交換方法については、 cfgadm(1M) のマニュアルページ、『Sun Enterprise 10000 DR 構成マニュアル』、または『Sun Enterprise 6x00, 5x00, 4x00, 3x00 システム Dynamic Reconfiguration ユーザーマニュアル』を参照してください。
手順 1 のエラーメッセージの内容を参照します。アドレスを移動できなかった場合は手順 5 へ進みます。アドレスが移動された場合は手順 4 へ進みます。
次の指示に従って、障害迂回処理の一部として構成された論理インタフェースを結合解除します。
/etc/hostname.moved_from_interface ファイルの内容から、障害迂回処理の一部として構成された論理インタフェースを確認してください。
次のコマンドを入力して、各障害迂回 IP アドレスを結合解除します。
# ifconfig moved_to_interface removeif moved_ip_address |
障害迂回アドレスは、failover オプションが指定されたアドレス、 または -failover オプションが指定されていないアドレスです。-failover が指定された IP アドレスは、結合解除の必要がありません。
たとえば、/etc/hostname.hme0 ファイルの中に次の行が含まれているとします。
inet 1.2.3.4 -failover up group one addif 1.2.3.5 failover up addif 1.2.3.6 failover up |
各障害迂回 IP アドレスを結合解除するためには、次のコマンドを入力します。
# ifconfig hme0 removeif 1.2.3.5 # ifconfig hme0 removeif 1.2.3.6 |
問題となっている各インタフェース用に次のコマンドを入力して、交換した物理インタフェースの IPv4 情報を再構成します。
# ifconfig removed_from_NIC parameters |
手順 4 の例を使用すると、次のようにコマンドを入力します。
# ifconfig hme1 inet plumb # ifconfig hme1 inet 1.2.3.4 -failover up group one # ifconfig hme1 addif 1.2.3.5 failover up # ifconfig hme1 addif 1.2.3.6 failover up |
マルチパス構成ファイル /etc/default/mpathd で、必要に応じて以下の 3 つのパラメータを調整できます。
FAILURE_DETECTION_TIME
FAILBACK
TRACK_INTERFACES_ONLY_WITH_GROUPS
これらのパラメータについては、マルチパス構成ファイルを参照してください。