ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 管理: ネットワークインタフェースとネットワーク仮想化 Oracle Solaris 11 Information Library (日本語) |
この Oracle Solaris リリースでのネットワーク構成
7. プロファイルでのデータリンクおよびインタフェース構成コマンドの使用
10. Oracle Solaris 上での無線インタフェース通信の構成
アクティブ - アクティブ IPMP グループを手動で構成する方法
アクティブ - スタンバイ IPMP グループを手動で構成する方法
インタフェースを 1 つの IPMP グループから別のグループに移動する方法
検査信号ベースの障害検出のターゲットシステムを手動で指定する方法
次の各手順は、システム上の IPMP グループのさまざまな側面の監視を可能にする ipmpstat コマンドを使用します。IPMP グループ全体のステータスやそのベースとなる IP インタフェースのステータスを監視できます。グループのデータアドレスや検査用アドレスの構成を確認することもできます。ipmpstat コマンドを使用すると、障害検出に関する情報も取得されます。ipmpstat コマンドやそのオプションの詳細については、ipmpstat(1M) のマニュアルページを参照してください。
デフォルトでは、ホスト名が存在する場合、数値 IP アドレスではなくホスト名が出力に表示されます。出力に数値 IP アドレスを表示するには、-n オプションを、IPMP グループの特定の情報を表示するためのほかのオプションとともに使用します。
注 - 次の各手順では、特に明記していないかぎり、ipmpstat コマンドの使用時にシステム管理者の特権は必要ありません。
この手順は、システム上のさまざまな IPMP グループのステータス (そのベースとなるインタフェースのステータスも含む) を一覧表示する場合に使用します。ある特定のグループでプローブベースの障害検出が有効になっていると、コマンドはそのグループの障害検出時間も含めます。
$ ipmpstat -g GROUP GROUPNAME STATE FDT INTERFACES itops0 itops0 ok 10.00s net0 net1 acctg1 acctg1 failed -- [net3 net4] field2 field2 degraded 20.00s net2 net5 (net7) [net6]
IPMP インタフェースの名前を指定します。匿名グループの場合、このフィールドは空になります。匿名グループの詳細については、in.mpathd(1M) のマニュアルページを参照してください。
IPMP グループの名前を指定します。匿名グループの場合、このフィールドは空になります。
グループの現在のステータスを示します。ステータスは次のいずれかになります。
ok は、IPMP グループのベースとなるインタフェースがすべて使用可能であることを示します。
degraded は、グループ内のベースとなるインタフェースの一部が使用不可能であることを示します。
failed は、グループのインタフェースがすべて使用不可能であることを示します。
障害検出が有効になっている場合に、その障害検出時間を指定します。障害検出が無効になっている場合、このフィールドは空になります。
グループに属するベースとなるインタフェースを指定します。このフィールドでは、まずアクティブなインタフェースが表示され、次にアクティブでないインタフェースが表示され、最後に使用不可能なインタフェースが表示されます。インタフェースのステータスはその表示形式によって示されます:
interface (丸括弧や角括弧なし) は、アクティブなインタフェースを示します。アクティブなインタフェースとは、システムでデータトラフィックの送受信に使用されているインタフェースのことです。
(interface) (丸括弧付き) は、機能しているがアクティブではないインタフェースを示します。このインタフェースは、管理ポリシーの定義に従って未使用になっています。
[interface] (角括弧付き) は、インタフェースが故障しているかオフラインになっているために使用不可能であることを示します。
この手順は、データアドレスと各アドレスの所属先グループを表示する場合に使用します。表示される情報には、アドレスが ipadm [up-addr/down-addr] コマンドによって切り替えられたかどうかに基づいてどのアドレスが使用可能であるかも含まれます。また、あるアドレスがどのインバウンドまたはアウトバウンドインタフェース上で使用できるかも判定できます。
$ ipmpstat -an ADDRESS STATE GROUP INBOUND OUTBOUND 192.168.10.10 up itops0 net0 net0 net1 192.168.10.15 up itops0 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 -- --
-n オプションが -a オプションと組み合わせて使用された場合は、ホスト名またはデータアドレスを指定します。
IPMP インタフェースのアドレスが、up したがって使用可能、down したがって使用不可能、のいずれであるかを示します。
特定のデータアドレスをホストする IPMP IP インタフェースを指定します。
特定のアドレスのパケットを受信するインタフェースを識別します。このフィールドの情報は、外部のイベントに応じて変わる可能性があります。たとえば、データアドレスが停止している場合や、IPMP グループ内にアクティブな IP インタフェースが 1 つも残っていない場合、このフィールドは空になります。空のフィールドは、この特定のアドレス宛ての IP パケットをシステムが受け入れていないことを示します。
特定のアドレスを発信元アドレスとして使用したパケットを送信するインタフェースを識別します。INBOUND フィールドと同様に、OUTBOUND フィールドの情報も外部のイベントに応じて変わる可能性があります。空のフィールドは、システムがこの特定の発信元アドレスでパケットを送出していないことを示します。このフィールドが空である場合、それは、アドレスが停止しているからか、あるいはグループ内にアクティブな IP インタフェースが 1 つも残っていないからです。
この手順は、IPMP グループのベースとなる IP インタフェースに関する情報を表示する場合に使用します。NIC、データリンク、および IP インタフェースの対応関係については、「Oracle Solaris のネットワークスタック」を参照してください。
$ ipmpstat -i INTERFACE ACTIVE GROUP FLAGS LINK PROBE STATE net0 yes itops0 --mb--- up ok ok net1 yes itops0 ------- 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
各 IPMP グループのベースとなる各インタフェースを指定します。
このインタフェースが機能していて使用中 (yes) であるか、それともそうではない (no) かを示します。
IPMP インタフェースの名前を指定します。匿名グループの場合、このフィールドは空になります。匿名グループの詳細については、in.mpathd(1M) のマニュアルページを参照してください。
ベースとなるインタフェースのステータスを示します。これは次のいずれか、あるいはその任意の組み合わせになります。
i は、このインタフェースに INACTIVE フラグが設定されていること、したがってこのインタフェースがデータトラフィックの送受信に使用されていないことを示します。
s は、このインタフェースがスタンバイインタフェースとして構成されていることを示します。
m は、このインタフェースがこの IPMP グループの IPv4 マルチキャストトラフィックの送受信用として、システムによって指定されていることを示します。
b は、このインタフェースがこの IPMP グループのブロードキャストトラフィックの受信用として、システムによって指定されていることを示します。
M は、このインタフェースがこの IPMP グループの IPv6 マルチキャストトラフィックの送受信用として、システムによって指定されていることを示します。
d は、このインタフェースが停止しており、したがって使用不可能であることを示します。
h は、このインタフェースが重複する物理ハードウェアアドレスを別のインタフェースと共有しており、オフラインになっていることを示します。h フラグは、このインタフェースが使用不可能であることを示します。
リンクベースの障害検出の状態を示します。これは、次の状態のいずれかになります。
up または down は、リンクの使用可能または使用不可能を示します。
unknown は、リンクが up、down のいずれであるかの通知をドライバがサポートしておらず、したがってドライバがリンクの状態変化を検出しないことを示します。
検査用アドレスが構成されたインタフェースについて、次のようにプローブベースの障害検出の状態を指定します。
ok は、プローブが機能しており、アクティブであることを示します。
failed は、プローブベースの障害検出が、このインタフェースが動作していないことを検出したことを示します。
unknown は、適切なプローブターゲットが見つからなかったため、プローブを送信できないことを示します。
disabled は、このインタフェースでは IPMP 検査用アドレスが構成されていないことを示します。したがって、プローブベースの障害検出は無効になっています。
次のように、このインタフェース全体の状態を指定します。
ok は、このインタフェースがオンラインになっており、障害検出手法の構成に基づいて正常に動作していることを示します。
failed は、このインタフェースのリンクが停止しているか、あるいはこのインタフェースはトラフィックを送受信できないとプローブ検出が判定したために、このインタフェースが動作していないことを示します。
offline は、このインタフェースが使用不可能であることを示します。通常、次の状況の下ではインタフェースがオフラインに切り替えられます。
インタフェースがテスト中である。
動的再構成が実行中である。
このインタフェースが、重複するハードウェアアドレスを別のインタフェースと共有している。
unknown は、プローブベースの障害検出のプローブターゲットが見つからないために IPMP インタフェースのステータスを判定できないことを示します。
この手順は、IPMP グループ内の各 IP インタフェースに関連付けられたプローブターゲットを監視する場合に使用します。
$ 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 $ 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
IPMP グループのベースとなるインタフェースを指定します。
プローブターゲットを取得するための方法を指定します。
routes は、プローブターゲットの検索にシステムの経路指定テーブルが使用されることを示します。
mcast は、ターゲットの検索にマルチキャスト ICMP プローブが使用されることを示します。
disabled は、このインタフェースでプローブベースの障害検出が無効になっていることを示します。
transitive は、2 番目の例に示したように、障害検出に推移的プローブが使用されることを示します。推移的プローブと検査用アドレスを同時に使用してプローブベースの障害検出を実装することはできない点に注意してください。検査用アドレスを使用しない場合は、推移的プローブをオンに切り替える必要があります。推移的プローブを使用しない場合は、検査用アドレスを構成する必要があります。概要については、「検査信号ベースの障害検出」を参照してください。
ホスト名または、-n オプションが -t オプションと組み合わせて使用された場合はプローブの送受信用としてこのインタフェースに割り当てられた IP アドレス、を指定します。
推移的プローブが使用された場合、インタフェースの名前は、データ受信用としてアクティブに使用されていない、ベースとなる IP インタフェースを表します。また、これらの名前は、指定されたこれらのインタフェースの発信元アドレスを使用して推移的テストプローブが送出されていることも示しています。データを受信するアクティブなベースとなる IP インタフェースの場合、表示される IP アドレスは、送信 ICMP プローブの発信元アドレスを示します。
注 - IP インタフェースに IPv4 検査用アドレスと IPv6 検査用アドレスの両方が設定されている場合、プローブターゲットの情報は各検査用アドレスについて個別に表示されます。
現在のプローブターゲットを空白区切りリストとして一覧表示します。-n が -t オプションと組み合わせて使用された場合、プローブターゲットはホスト名、IP アドレスのいずれかとして表示されます。
この手順は、進行中のプローブを監視する場合に使用します。プローブ監視用のコマンドを発行すると、Ctrl-C でコマンドを終了するまで、システム上のプローブのアクティビティーに関する情報が継続的に表示されます。このコマンドを実行するには、Primary Administrator 特権を持っている必要があります。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
# 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 # 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
ipmpstat コマンドが発行された時点を基準にしたプローブの送信時間を指定します。ipmpstat が開始される前にプローブが起動された場合、コマンドが発行された時点を基準にした負の値で時間が表示されます。
プローブの送信先となるインタフェースを指定します。
プローブを表す識別子を指定します。障害検出に推移的プローブが使用される場合は、この識別子に、推移的プローブの場合は t という接頭辞が、ICMP プローブの場合は i という接頭辞が付きます。
プローブの合計ネットワーク往復時間を指定し、ミリ秒で測定されます。NETRTT は、IP モジュールがプローブを送信した時点から、IP モジュールがターゲットから ack パケットを受け取った時点までの時間をカバーします。プローブが失われたと in.mpathd デーモンが判定した場合、このフィールドは空になります。
プローブの合計往復時間を指定し、ミリ秒で測定されます。RTT は、デーモンがプローブ送信用コードを実行した時点から、デーモンがターゲットからの ack パケットの処理を完了した時点までの時間をカバーします。プローブが失われたと in.mpathd デーモンが判定した場合、このフィールドは空になります。NETRTT に存在しないスパイクが RTT で発生する場合、それは、ローカルシステムが過負荷状態であることを示している可能性があります。
ローカルシステムとターゲット間の、このインタフェース経由でのプローブの平均往復時間を指定します。平均往復時間は、低速なターゲットの特定に役立ちます。データが不十分で平均を計算できない場合、このフィールドは空になります。
ホスト名または、-n オプションが -p と組み合わせて使用された場合はプローブの送信先となるターゲットアドレス、を指定します。
ipmpstat を使用する場合はデフォルトで、80 列に収まるもっとも意味のあるフィールドが表示されます。出力では、ipmpstat -p 構文の場合を除き、ipmpstat コマンドで使用したオプションに固有のフィールドがすべて表示されます。表示対象のフィールドを指定する場合は、-o オプションを、コマンドの出力モードを決定するほかのオプションと組み合わせて使用します。このオプションは特に、コマンドをスクリプトから発行したりコマンドエイリアスを使用して発行したりする場合に便利です。
ipmpstat コマンドの選択されたフィールドを表示するには、-o オプションを、特定の出力オプションと組み合わせて使用します。たとえば、グループ出力モードの GROUPNAME フィールドと STATE フィールドのみを表示するには、次のように入力します。
$ ipmpstat -g -o groupname,state GROUPNAME STATE itops0 ok accgt1 failed field2 degraded
特定の ipmpstat コマンドのフィールドをすべて表示するには、次の構文を使用します。
# ipmpstat -o all
ipmpstat - P 構文を使用して、マシンによる解析が可能な情報を生成できます。-P オプションは、特にスクリプト内で使用するためのものです。マシンによる解析が可能な出力は、次のように通常の出力とは異なります。
ヘッダーは省略されます。
各フィールドがコロン (:) で区切られます。
空の値を含むフィールドは、二重ダッシュ (--) が設定されるのではなく、空になります。
複数のフィールドが要求された場合に、あるフィールドにリテラルのコロン (:) またはバックスラッシュ (\) が含まれていると、それらの文字の接頭辞としてバックスラッシュ (\) を付加することで、それらの文字がエスケープつまり除外されます。
ipmpstat -P 構文を正しく使用するには、次の規則に従います。
-o option fields を -P オプションとともに使用する。
-o all は -P オプションでは決して使用しない。
これらの規則のいずれかを無視した場合は、ipmpstat -P が失敗します。
$ ipmpstat -P -o -g groupname,fdt,interfaces itops0:10.00s:net0 net1 acctg1::[net3 net4] field2:20.00s:net2 net7 (net5) [net6]
グループ名、障害検出時間、およびベースとなるインタフェースは、グループ情報フィールドです。したがって、-o -g オプションを -P オプションとともに使用します。
例 15-8 スクリプト内での ipmpstat -P の使用
このサンプルスクリプトは、特定の IPMP グループの障害検出時間を表示します。
getfdt() { ipmpstat -gP -o group,fdt | while IFS=: read group fdt; do [[ "$group" = "$1" ]] && { echo "$fdt"; return; } done }