JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 ネットワークパフォーマンスの管理     Oracle Solaris 11.1 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  ネットワークパフォーマンス管理の概要

2.  リンクアグリゲーションの使用

3.  VLAN の操作

4.  ブリッジネットワークの管理 (タスク)

5.  IPMP の概要

6.  IPMP の管理 (タスク)

IPMP の配備時にルーティングを維持

IPMP の使用時にルートを定義する方法

IPMP グループの構成

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

DHCP を使用して IPMP グループを構成する方法

アクティブ - アクティブ IPMP グループを手動で構成する方法

アクティブ - スタンバイ IPMP グループを手動で構成する方法

IPMP の保守

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

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

IP アドレスを追加する方法

IP アドレスを削除する方法

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

IPMP グループを削除する方法

プローブベースの障害検出の構成

プローブベースの障害検出のターゲットを選択するための要件

プローブベースの障害検出の構成 (タスクマップ)

使用する障害検出手法を選択する方法

プローブベースの障害検出のターゲットシステムを手動で指定する方法

IPMP デーモンの動作を構成する方法

IPMP 情報のモニタリング

ipmpstat コマンドの出力のカスタマイズ

スクリプト内での ipmpstat コマンドの使用

7.  LLDP によるネットワーク接続情報の交換

8.  Oracle Solaris におけるデータセンターブリッジング機能の操作

9.  Oracle Solaris でのエッジ仮想ブリッジング

10.  統合ロードバランサ (概要)

11.  統合ロードバランサの構成

12.  統合ロードバランサの管理

13.  仮想ルーター冗長プロトコル (概要)

A.  リンクアグリゲーションの種類: 機能比較

B.  リンクアグリゲーションと IPMP: 機能比較

索引

IPMP 情報のモニタリング

このセクションの例では、ipmpstat コマンドを使用して、システム上の IPMP グループのさまざまな側面をモニターできるようにします。IPMP グループ全体のステータスやそのベースとなる IP インタフェースのステータスを監視できます。IPMP グループのデータアドレスや検査用アドレスの構成を確認することもできます。ipmpstat コマンドを使用すると、障害検出に関する情報も取得されます。ipmpstat コマンドやそのオプションの詳細については、ipmpstat(1M) のマニュアルページを参照してください。

ipmpstat コマンドを使用する場合はデフォルトで、80 列に収まるもっとも意味のあるフィールドが表示されます。出力では、ipmpstat -p 構文の場合を除き、ipmpstat コマンドで使用したオプションに固有のフィールドがすべて表示されます。

デフォルトでは、ホスト名が存在する場合、数値 IP アドレスではなくホスト名が出力に表示されます。出力に数値 IP アドレスを表示するには、-n オプションを、IPMP グループの特定の情報を表示するためのほかのオプションとともに使用します。


注 - 次の各例では、特に明記していないかぎり、ipmpstat コマンドの使用時にシステム管理者の特権は必要ありません。


表示する情報を決定するには、ipmpstat コマンドに次のオプションを使用します。

次の例では、ipmpstat コマンドで取得できるシステムの IPMP 構成に関する情報を示します。

例 6-9 IPMP グループ情報の取得

-g オプションは、システム上のさまざまな IPMP グループのステータスを、そのベースとなるインタフェースのステータスも含めて一覧表示します。ある特定のグループでプローブベースの障害検出が有効になっていると、コマンドはそのグループの障害検出時間も含めます。

$ ipmpstat -g
GROUP   GROUPNAME   STATE      FDT        INTERFACES
ipmp0   ipmp0       ok         10.00s     net0 net1
acctg1  acctg1      failed     --         [net3 net4]
field2  field2      degraded   20.00s     net2 net5 (net7) [net6]

出力フィールドでは、次の情報が提供されます。

GROUP

IPMP インタフェースの名前を指定します。匿名グループの場合、このフィールドは空になります。匿名グループの詳細は、in.mpathd(1M) のマニュアルページを参照してください。

GROUPNAME

IPMP グループの名前を指定します。匿名グループの場合、このフィールドは空になります。

STATE

IPMP グループの現在のステータスを示します。ステータスは次のいずれかになります。

  • ok は、IPMP グループのベースとなるインタフェースがすべて使用可能であることを示します。

  • degraded は、グループ内のベースとなるインタフェースの一部が使用不可能であることを示します。

  • failed は、グループのインタフェースがすべて使用不可能であることを示します。

FDT

障害検出が有効になっている場合に、その障害検出時間を指定します。障害検出が無効になっている場合、このフィールドは空になります。

INTERFACES

IPMP グループに属するベースとなるインタフェースを指定します。このフィールドでは、まずアクティブなインタフェースが表示され、次にアクティブでないインタフェースが表示され、最後に使用不可能なインタフェースが表示されます。インタフェースのステータスはその表示形式によって示されます。

  • interface (丸括弧や角括弧なし) は、アクティブなインタフェースを示します。アクティブなインタフェースは、システムでデータトラフィックの送受信に使用されています。

  • (interface) (丸括弧付き) は、機能しているがアクティブではないインタフェースを示します。このインタフェースは、管理ポリシーの定義に従って未使用になっています。

  • [interface] (角括弧付き) は、インタフェースに障害が発生しているかオフラインになっているために使用不可能であることを示します。

例 6-10 IPMP のデータアドレス情報の取得

-a オプションは、データアドレスと各アドレスの所属先 IPMP グループを表示します。表示される情報には、アドレスが ipadm [up-addr/down-addr] コマンドによって切り替えられたかどうかに基づいてどのアドレスが使用可能であるかも含まれます。また、あるアドレスがどのインバウンドまたはアウトバウンドインタフェース上で使用できるかも判定できます。

$ ipmpstat -an
ADDRESS         STATE    GROUP      INBOUND     OUTBOUND
192.168.10.10   up       ipmp0         net0    net0 net1
192.168.10.15   up       ipmp0         net1    net0 net1
192.0.0.100     up       acctg1       --          --
192.0.0.101     up       acctg1       --          --
128.0.0.100     up       field2        net2    net2 net7
128.0.0.101     up       field2        net7    net2 net7
128.0.0.102     down     field2       --          --

出力フィールドでは、次の情報が提供されます。

ADDRESS

-n オプションが -a オプションとともに使用された場合は、ホスト名またはデータアドレスを示します。

STATE

IPMP インタフェースのアドレスが、up したがって使用可能、down したがって使用不可能、のいずれであるかを示します。

GROUP

特定のデータアドレスをホストする IPMP インタフェースを示します。通常、Oracle Solaris では、IPMP グループの名前は IPMP インタフェースです。

INBOUND

特定のアドレスのパケットを受信するインタフェースを識別します。このフィールドの情報は、外部のイベントに応じて変わる可能性があります。たとえば、データアドレスが停止している場合や、IPMP グループ内にアクティブな IP インタフェースが 1 つも残っていない場合、このフィールドは空になります。空のフィールドは、この特定のアドレス宛ての IP パケットをシステムが受け入れていないことを示します。

OUTBOUND

特定のアドレスを発信元アドレスとして使用したパケットを送信するインタフェースを識別します。INBOUND フィールドと同様に、OUTBOUND の情報も外部のイベントに応じて変わる可能性があります。空のフィールドは、システムがこの特定の発信元アドレスでパケットを送信していないことを示します。このフィールドが空である場合、それは、アドレスが停止しているからか、またはグループ内にアクティブな IP インタフェースが 1 つも残っていないからです。

例 6-11 IPMP グループのベースとなる IP インタフェースに関する情報の取得

-i オプションは、IPMP グループのベースとなる IP インタフェースに関する情報を表示します。

$ ipmpstat -i
INTERFACE   ACTIVE   GROUP      FLAGS      LINK       PROBE      STATE
net0        yes      ipmp0      --mb---    up         ok         ok
net1        yes      ipmp0      -------    up         disabled   ok
net3        no       acctg1     -------    unknown    disabled   offline
net4        no       acctg1     is-----    down       unknown    failed
net2        yes      field2     --mb---    unknown    ok         ok
net6        no       field2     -i-----    up         ok         ok
net5        no       filed2     -------    up         failed     failed
net7        yes      field2     --mb---    up         ok         ok

出力フィールドでは、次の情報が提供されます。

INTERFACE

各 IPMP グループのベースとなる各インタフェースを示します。

ACTIVE

このインタフェースが機能していて使用中 (yes) であるか、それともそうではない (no) かを示します。

GROUP

IPMP インタフェースの名前を指定します。匿名グループの場合、このフィールドは空になります。匿名グループの詳細は、in.mpathd(1M) のマニュアルページを参照してください。

FLAGS

ベースとなる各インタフェースのステータスを示し、これは次のいずれか、またはその任意の組み合わせになります。

  • i は、このインタフェースに INACTIVE フラグが設定されていることを示します。したがって、このインタフェースはデータトラフィックの送受信に使用されません。

  • s は、このインタフェースがスタンバイインタフェースとして構成されていることを示します。

  • m は、このインタフェースがこの IPMP グループの IPv4 マルチキャストトラフィックの送受信用として、システムによって指定されていることを示します。

  • b は、このインタフェースがこの IPMP グループのブロードキャストトラフィックの受信用として、システムによって指定されていることを示します。

  • M は、このインタフェースがこの IPMP グループの IPv6 マルチキャストトラフィックの送受信用として、システムによって指定されていることを示します。

  • d は、このインタフェースが停止しており、したがって使用不可能であることを示します。

  • h は、このインタフェースが重複する物理ハードウェアアドレスを別のインタフェースと共有しており、オフラインになっていることを示します。h フラグは、このインタフェースが使用不可能であることを示します。

LINK

リンクベースの障害検出のステータスを示し、これは次のいずれかになります。

  • up または down は、リンクの使用可能または使用不可能を示します。

  • unknown は、リンクが updown のいずれであるかの通知をドライバがサポートしておらず、したがってドライバがリンクの状態変化を検出しないことを示します。

PROBE

検査用アドレスが構成されたインタフェースについて、次のようにプローブベースの障害検出の状態を示します。

  • ok は、プローブが機能しており、アクティブであることを示します。

  • failed は、プローブベースの障害検出が、このインタフェースが動作していないことを検出したことを示します。

  • unknown は、適切なプローブターゲットが見つからなかったため、プローブを送信できないことを示します。

  • disabled は、このインタフェースでは IPMP 検査用アドレスが構成されていないことを示します。したがって、プローブベースの障害検出は無効になっています。

STATE

次のように、このインタフェース全体の状態を指定します。

  • ok は、このインタフェースがオンラインになっており、障害検出手法の構成に基づいて正常に動作していることを示します。

  • failed は、このインタフェースのリンクが停止しているか、またはこのインタフェースはトラフィックを送受信できないとプローブ検出が判定したために、このインタフェースが動作していないことを示します。

  • offline は、このインタフェースが使用不可能であることを示します。通常、次の状況の下ではインタフェースがオフラインになります。

    • インタフェースがテスト中である。

    • 動的再構成が実行中である。

    • このインタフェースが、重複するハードウェアアドレスを別のインタフェースと共有している。

  • unknown は、プローブベースの障害検出のプローブターゲットが見つからなかったために IPMP インタフェースの状態を判定できないことを示します。

例 6-12 IPMP のプローブターゲット情報の取得

-t オプションは、IPMP グループ内の各 IP インタフェースに関連付けられたプローブターゲットを特定します。最初の出力は、プローブベースの障害検出に検査用アドレスを使用する IPMP 構成の例です。

$ ipmpstat -nt
INTERFACE   MODE          TESTADDR        TARGETS
net0        routes        192.168.85.30   192.168.85.1 192.168.85.3
net1        disabled      --              --
net3        disabled      --              --
net4        routes        192.1.2.200     192.1.2.1
net2        multicast     128.9.0.200     128.0.0.1 128.0.0.2
net6        multicast     128.9.0.201     128.0.0.2 128.0.0.1
net5        multicast     128.9.0.202     128.0.0.1 128.0.0.2
net7        multicast     128.9.0.203     128.0.0.1 128.0.0.2

2 番目の出力は、推移的プローブまたはプローブベースの障害検出を検査用アドレスなしで使用する IPMP 構成の例です。

$ ipmpstat -nt
INTERFACE   MODE         TESTADDR         TARGETS
net3        transitive   <net1>           <net1> <net2> <net3>
net2        transitive   <net1>           <net1> <net2> <net3>
net1        routes       172.16.30.100    172.16.30.1

出力フィールドでは、次の情報が提供されます。

INTERFACE

IPMP グループのベースとなる各インタフェースを示します。

MODE

プローブターゲットを取得するための方法を指定します。

  • routes は、プローブターゲットの検索にシステムのルーティングテーブルが使用されることを示します。

  • mcast は、ターゲットの検索にマルチキャスト ICMP プローブが使用されることを示します。

  • disabled は、このインタフェースでプローブベースの障害検出が無効になっていることを示します。

  • transitive は、2 番目の例に示したように、障害検出に推移的プローブが使用されることを示します。推移的プローブと検査用アドレスを同時に使用してプローブベースの障害検出を実装することはできない点に注意してください。検査用アドレスを使用しない場合は、推移的プローブを有効にする必要があります。推移的プローブを使用しない場合は、検査用アドレスを構成する必要があります。概要については、「プローブベースの障害検出」を参照してください。

TESTADDR

ホスト名、または -n オプションが -t オプションとともに使用された場合は、プローブの送受信のためにこのインタフェースに割り当てられた IP アドレスを示します。

推移的プローブが使用された場合、インタフェースの名前は、データ受信用としてアクティブに使用されていない、ベースとなる IP インタフェースを表します。また、これらの名前は、指定されたこれらのインタフェースの発信元アドレスを使用して推移的テストプローブが送信されていることも示しています。データを受信するアクティブなベースとなる IP インタフェースの場合、表示される IP アドレスは、送信 ICMP プローブの発信元アドレスを示します。


注 - IP インタフェースに IPv4 検査用アドレスと IPv6 検査用アドレスの両方が構成されている場合、プローブターゲットの情報は各検査用アドレスについて個別に表示されます。


TARGETS

現在のプローブターゲットを空白区切りリストとして一覧表示します。プローブターゲットは、ホスト名と IP アドレスのどちらかで表示されます。-n オプションが -t オプションとともに使用された場合は、IP アドレスが表示されます。

例 6-13 IPMP のプローブの監視

-p オプションを使用すると、進行中のプローブを監視できます。ipmpstat コマンドにこのオプションを使用すると、Control-C を押してコマンドを終了するまで、システム上のプローブのアクティビティーに関する情報が継続的に表示されます。このコマンドを実行するには、Primary Administrator 特権を持っている必要があります。

最初の出力は、プローブベースの障害検出に検査用アドレスを使用する IPMP 構成の例です。

# ipmpstat -pn
TIME    INTERFACE   PROBE     NETRTT   RTT      RTTAVG     TARGET
0.11s   net0        589       0.51ms   0.76ms   0.76ms     192.168.85.1
0.17s   net4        612       --       --       --         192.1.2.1
0.25s   net2        602       0.61ms   1.10ms   1.10ms     128.0.0.1
0.26s   net6        602       --       --       --         128.0.0.2
0.25s   net5        601       0.62ms   1.20ms   1.00ms     128.0.0.1
0.26s   net7        603       0.79ms   1.11ms   1.10ms     128.0.0.1
1.66s   net4        613       --       --       --         192.1.2.1
1.70s   net0        603       0.63ms   1.10ms   1.10ms     192.168.85.3
^C

2 番目の出力は、推移的プローブまたはプローブベースの障害検出を検査用アドレスなしで使用する IPMP 構成の例です。

# ipmpstat -pn
TIME    INTERFACE   PROBE      NETRTT   RTT      RTTAVG     TARGET
1.39S   net4        t28        1.05ms   1.06ms   1.15ms     <net1>
1.39s   net1        i29        1.00ms   1.42ms   1.48ms     172.16.30.1
^C

出力フィールドでは、次の情報が提供されます。

TIME

ipmpstat コマンドが発行された時点を基準にしたプローブの送信時間を指定します。ipmpstat が開始される前にプローブが起動された場合、コマンドが発行された時点を基準にした負の値で時間が表示されます。

INTERFACE

プローブの送信先となるインタフェースを指定します。

PROBE

プローブを表す識別子を指定します。障害検出に推移的プローブが使用される場合は、この識別子に、推移的プローブの場合は t という接頭辞が、ICMP プローブの場合は i という接頭辞が付きます。

NETRTT

プローブの合計ネットワーク往復時間を示します (ミリ秒で測定)。NETRTT は、IP モジュールがプローブを送信した時点から、IP モジュールがターゲットから ack パケットを受け取った時点までの時間をカバーします。プローブが失われたと in.mpathd デーモンが判定した場合、このフィールドは空になります。

RTT

プローブの合計往復時間を示します (ミリ秒で測定)。RTT は、in.mpathd デーモンがプローブを送信するコードを実行した時点から、デーモンがターゲットからの ack パケットの処理を完了した時点までの時間が対象になります。プローブが失われたとデーモンが判定した場合、このフィールドは空になります。NETRTT に存在しないスパイクが RTT で発生する場合、それは、ローカルシステムが過負荷状態であることを示している可能性があります。

RTTAVG

ローカルシステムとターゲットの間における、このインタフェース経由でのプローブの平均往復時間を示します。平均往復時間は、低速なターゲットの特定に役立ちます。データが不十分で平均を計算できない場合、このフィールドは空になります。

TARGET

ホスト名、または -n オプションが -p とともに使用された場合は、プローブの送信先となるターゲットアドレスを示します。

ipmpstat コマンドの出力のカスタマイズ

ipmpstat コマンドの -o オプションを使用すると、出力をカスタマイズできます。前述した ipmpstat のほかのオプションとともにこのオプションを使用して、メインオプションで通常表示される合計フィールドの中から、表示する特定のフィールドを選択します。

たとえば、-g オプションでは次の情報が提供されます。

システム上の IPMP グループのステータスだけを表示するとします。次の例に示すように、-o オプションと -g オプションを組み合わせ、フィールド groupname および state を指定します。

$ ipmpstat -g -o groupname,state
GROUPNAME  STATE
ipmp0      ok
accgt1     failed
field2     degraded

特定の種類の情報に関してのみ、ipmpstat コマンドのすべてのフィールドを表示するには、構文に -o all を含めます。たとえば、グループ情報を提供するすべてのフィールドを表示するには、ipmpstat -g -o all と入力します。

スクリプト内での ipmpstat コマンドの使用

-o オプションは、コマンドをスクリプトから発行したりコマンドエイリアスを使用して発行したりするときに、特にマシンによる解析が可能な出力を生成する場合に便利です。

マシンによる解析が可能な情報を生成するには、-P オプションと -o オプションを ipmpstat のほかのメインオプションの 1 つに組み合わせ、表示する特定のフィールドを指定します。マシンによる解析が可能な出力は、次のように通常の出力とは異なります。

ipmpstat -P 構文を正しく使用するには、次の規則に従います。

これらの規則のいずれかを無視した場合は、ipmpstat -P が失敗します。

次の例は、-P オプションを使用した場合の情報の形式を示しています。

$ ipmpstat -P -o -g groupname,fdt,interfaces
ipmp0:10.00s:net0 net1
acctg1::[net3 net4]
field2:20.00s:net2 net7 (net5) [net6]

グループ名、障害検出時間、およびベースとなるインタフェースは、グループ情報フィールドです。したがって、-o -g オプションを -P オプションとともに使用します。

-P オプションは、スクリプト内で使用するためのものです。次の例は、ipmpstat コマンドをスクリプトから発行する方法を示しています。このスクリプトは、IPMP グループの障害検出時間を表示します。

getfdt() {
         ipmpstat -gP -o group,fdt | while IFS=: read group fdt; do
             [[ "$group" = "$1" ]] && { echo "$fdt"; return; }
         done
     }