Go to main content
Oracle® Solaris 11.3 での TCP/IP ネットワーク、IPMP、および IP トンネルの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

IPMP 情報のモニタリング

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

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

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


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

ipmpstat コマンドに次のオプションを付けて使用することで、必要な情報を表示できます。

–g

システム上の IPMP グループに関する情報を表示します。使用例 25を参照してください。

–a

IPMP グループに構成されているデータアドレスを表示します。使用例 26を参照してください。

–i

IPMP 構成に関連する IP インタフェースに関する情報を表示します。使用例 27を参照してください。

–t

障害検出に使用されるターゲットシステムに関する情報を表示します。このオプションは、IPMP グループで使用される検査用アドレスも表示します。使用例 28を参照してください。

–p

障害検出に使用されているプローブに関する情報を表示します。使用例 29を参照してください。

次の追加例では、ipmpstat コマンドを使用してシステムの IPMP 構成に関する情報を表示する方法を示します。

使用例 25  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] (角括弧付き) - インタフェースに障害が発生しているかオフラインになっているために使用不可能であることを示します。

使用例 26  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        --          --
192.168.10.31   up       field2        net2    net2 net7
192.168.10.32   up       field2        net7    net2 net7
192.168.10.33   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 つも残っていないためです。

使用例 27  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

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

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

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

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

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

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

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

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

LINK

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

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

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

PROBE

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

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

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

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

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

STATE

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

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

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

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

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

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

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

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

使用例 28  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     192.168.10.200   192.168.10.1 192.168.10.2
net6        multicast     192.168.10.201   192.168.10.2 192.168.10.1
net5        multicast     192.168.10.202   192.168.10.1 192.168.10.2
net7        multicast     192.168.10.203   192.168.10.1 192.168.10.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

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

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


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

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

使用例 29  IPMP のプローブの監視

–p オプションを使用すると、進行中のプローブを監視できます。ipmpstat コマンドにこのオプションを使用すると、Control-C を押してコマンドを終了するまで、システム上のプローブのアクティビティーに関する情報が継続的に表示されます。このコマンドを実行するには、root 役割になるか、適切な権限が必要です。

次に示すのは、プローブベースの障害検出に検査用アドレスを使用する 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     192.168.10.1
0.26s   net6        602       --       --       --         192.168.10.2
0.25s   net5        601       0.62ms   1.20ms   1.00ms     192.168.10.1
0.26s   net7        603       0.79ms   1.11ms   1.10ms     192.168.10.1
1.66s   net4        613       --       --       --         192.1.2.1
1.70s   net0        603       0.63ms   1.10ms   1.10ms     192.168.85.3
^C

次に示すのは、推移的プローブまたはプローブベースの障害検出を検査用アドレスなしで使用する 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 コマンドの出力のカスタマイズ

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

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

  • IPMP グループ

  • IPMP グループ名

  • グループのステータス

  • 障害検出時間

  • IPMP グループのベースとなるインタフェース

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

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

特定の種類の情報に関してのみ、ipmpstat コマンドのすべてのフィールドを表示するには、–o オプションに all 引数を指定します。

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

–oオプションは、スクリプトから、またはコマンド別名を使用して ipmpstat コマンドを実行する場合で、特にマシン解析可能な出力を生成する必要がある場合に便利です。

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

    マシンによる解析が可能な出力は、次の点で通常の出力とは異なります。

  • 列ヘッダーは省略されます。

  • 各フィールドがコロン (:) で区切られます。

  • 空の値を含むフィールドは、二重ダッシュ (--) が設定されるのではなく、空になります。

  • 複数のフィールドが要求されたとき、あるフィールドにリテラルのコロン (:) またはバックスラッシュ (\) が含まれている場合は、これらの文字の前にバックスラッシュ (\) を付けることによって、これらの文字をエスケープまたは除外できます。

    ipmpstat –P コマンドを正しく使用するには、次の規則に従います。

  • –o option fields–P オプションとともに使用する。複数のオプションフィールドはコンマで区切る。

  • –o all オプションを –P オプションとともに使用しない。


Caution

注意  -  これらの規則のいずれかを無視した場合は、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
}