ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris 管理: ネットワークインタフェースとネットワーク仮想化 Oracle Solaris 11 Information Library (日本語) |
この Oracle Solaris リリースでのネットワーク構成
7. プロファイルでのデータリンクおよびインタフェース構成コマンドの使用
10. Oracle Solaris 上での無線インタフェース通信の構成
インタフェースを 1 つの IPMP グループから別のグループに移動する方法
検査信号ベースの障害検出のターゲットシステムを手動で指定する方法
グループのベースとなる IP インタフェースに関する情報を取得する方法
スクリプト内で ipmpstat コマンドの出力をカスタマイズする方法
ipmpstat コマンドのマシンによる解析が可能な出力を生成する方法
この節は、IPMP グループの計画および構成に使用される手順を提供します。第 14 章IPMP の紹介の概要は、IPMP グループの実装をインタフェースとして説明しています。したがって、この章では、用語「IPMP グループ」と「IPMP インタフェース」が同義として使用されます。
次の手順には、必要となる計画タスクと IPMP グループを構成する前に収集する情報が含まれています。これらのタスクは、順番どおり行う必要はありません。
IPMP の構成は、システム上でホストされるタイプのトラフィックを処理するためにネットワークに何が必要かによって決まります。IPMP はアウトバウンドのネットワークパケットを IPMP グループのインタフェース間で分散するため、ネットワークのスループットを改善します。ただし、ある特定の TCP 接続では、インバウンドトラフィックは通常、アウトオブオーダーのパケットを処理するリスクを最小限に抑えるために、1 つの物理パスのみをたどります。
したがって、ネットワークが大量のアウトバウンドトラフィックを処理する場合、多数のインタフェースを 1 つの IPMP グループに構成すると、ネットワークのパフォーマンスを改善できます。代わりに、システムが大量のインバウンドトラフィックをホストする場合、グループ内のインタフェースの数を増やしても、トラフィックの負荷分散によってパフォーマンスが改善されるとはかぎりません。ただし、ベースとなるインタフェースの数を増やせば、インタフェースが故障した際のネットワークの可用性を保証しやすくなります。
システム内のインタフェースごとに一意の MAC アドレスを構成する方法については、「SPARC: インタフェースの MAC アドレスが一意であることを確認する方法」を参照してください。
同じグループのすべてのインタフェースは、同じ順番で構成された STREAMS モジュールを持っていなければなりません。
ifconfig interface modlist コマンドを使用して、STREAMS モジュールの一覧を出力できます。たとえば、net0 インタフェースの ifconfig 出力は次のようになります。
# ifconfig net0 modlist 0 arp 1 ip 2 e1000g
この出力が示しているように、インタフェースは通常、IP モジュールのすぐ下のネットワークドライバとして存在します。これらのインタフェースでは、追加の構成は必要ないはずです。
ただし、特定のテクノロジは、IP モジュールとネットワークドライバの間にそのテクノロジを STREAMS モジュールとして挿入します。STREAMS モジュールの処理状態を把握可能な場合には、グループ内のすべてのインタフェースに同じモジュールを転送している場合でも、フェイルオーバーで予想外の動作が実行される可能性はあります。ただし、IPMP グループのすべてのインタフェースに同じ順番で転送している場合は、処理状態を把握できない STREAMS モジュールを使用できます。
ifconfig interface modinsert module-name@position
ifconfig net0 modinsert vpnmod@3
1 つのインタフェースが IPv4 向けに構成されている場合は、そのグループのすべてのインタフェースを IPv4 向けに構成する必要があります。たとえば、1 つのインタフェースに IPv6 アドレス指定を追加すると、IPMP グループ内のすべてのインタフェースを IPv6 をサポートするように構成する必要があります。
たとえば、プローブベースの障害検出を実装する場合は、ベースとなるインタフェースで検査用アドレスを構成する必要があります。関連情報については、「IPMP の障害検出の種類」を参照してください。
たとえば、同じ IP サブネット上の Ethernet スイッチを 1 つの IPMP グループに構成できます。1 つの IPMP グループにいくつでもインタフェースを構成できます。
注 - たとえば、システムに物理インタフェースが 1 つだけ存在する場合は、単一インタフェースの IPMP グループを構成することもできます。関連情報については、「IPMP インタフェース構成のタイプ」を参照してください。
グループ化するインタフェースは、/usr/include/net/if_types.h で定義されている同じインタフェースタイプになるべきです。たとえば、1 つの IPMP グループに Ethernet インタフェースとトークンリングインタフェースを組み合わせることはできません。別の例としては、同じ IPMP グループに、トークンバスインタフェースと非同期転送モード (ATM) インタフェースを組み合わせることはできません。
IPMP は、従来型の IP を ATM で使用するインタフェースではサポートされていません。
現在の IPMP 実装では、動的ホスト構成プロトコル (DHCP) のサポートを使用して IPMP グループを構成できます。
複数インタフェースの IPMP グループは、アクティブ - アクティブインタフェースで構成することも、アクティブ - スタンバイインタフェースで構成することもできます。関連情報については、「IPMP インタフェース構成のタイプ」を参照してください。次の手順は、DHCP を使用してアクティブ - スタンバイ IPMP グループを構成する手順について説明します。
始める前に
IPMP グループに含める予定の IP インタフェースが、システムのネットワークデータリンク上で正しく構成されていることを確認します。IPMP インタフェースは、ベースとなる IP インタフェースがまだ存在していなくても作成できます。ただし、この IPMP インタフェースでのその後の構成は失敗します。
リンクや IP インタフェースの構成手順については、「IP インタフェースの構成 (タスク)」を参照してください。IPv6 インタフェースの構成方法については、『Oracle Solaris の管理: IP サービス』の「IPv6 インタフェースの構成」を参照してください。
さらに、SPARC システムを使用する場合は、インタフェースごとに一意の MAC アドレスを構成します。手順については、「SPARC: インタフェースの MAC アドレスが一意であることを確認する方法」を参照してください。
最後に、DHCP を使用する場合は、ベースとなるインタフェースのリースが無限になっていることを確認します。それ以外の場合、グループで障害が発生した場合に検査用アドレスが期限切れとなり、IPMP デーモンがプローブベースの障害検出を無効化し、リンクベースの障害検出が使用されます。リンクベースの障害検出によってインタフェースが機能していることがわかると、デーモンは誤ってインタフェースが修復されたと報告する可能性があります。DHCP の構成方法の詳細については、『System Administration Guide: IP Services』の第 13 章「Planning for DHCP Service (Tasks)」を参照してください。
注 - システムのアクティブネットワークプロファイルがリアクティブなプロファイルの場合は、IPMP を使用できません。IPMP グループを構成する前に、必要に応じて DefaultFixed プロファイルを有効化し、固定ネットワーク構成プロファイルに切り替えます。手順については、「プロファイルと構成ツール」を参照してください。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
# ipadm create-ipmp ipmp-interface
各情報の意味は次のとおりです。
ipmp-interface は、IPMP インタフェースの名前を指定します。IPMP インタフェースには、意味のある任意の名前を割り当てることができます。ほかの IP インタフェースと同様に、名前は ipmp0 のように文字列と数字から構成されます。
# ipadm create-ip under-interface
ここで、under-interface は、IPMP グループに追加する IP インタフェースを表します。
# ipadm add-ipmp -i under-interface1 [-i under-interface2 ...] ipmp-interface
IP インタフェースは、システムで使用可能な数だけ IPMP グループに作成できます。
# ipadm create-addr -T dhcp addrobj
addrobj はアドレスオブジェクトを表し、interface/string という形式を使用します。interface は、この手順では IPMP インタフェースです。文字列は、任意のユーザー定義文字列です。したがって、IPMP インタフェース上にデータアドレスが複数存在する場合、対応するアドレスオブジェクトは、ipmp-interface/string1、ipmp-interface /string2、ipmp-interface/ string3 のようになります。
IPMP グループのベースとなるインタフェースごとに、次のコマンドを発行する必要があります。
# ipadm create-addr -T dhcp addrobj
addrobj はアドレスオブジェクトを表し、interface/string という形式を使用します。interface は、この手順では、ベースとなるインタフェースです。文字列は、任意のユーザー定義文字列です。したがって、IPMP グループのベースとなるインタフェースが複数存在する場合、対応するアドレスオブジェクトは、under-interface1/string、ipmp-interface2 /string、ipmp-interface3/string のようになります。
例 15-1 DHCP を使用した IPMP グループの構成
この例は、DHCP を使用してアクティブ - スタンバイ IPMP グループを構成する方法を示しますが、次のシナリオに基づいています。
IPMP グループの 3 つのベースとなるインタフェースがそれぞれ対応するデータリンク net0、net1、および net2 上で構成されます。これらが IPMP グループの指定されたメンバーになります。
IPMP インタフェース itops0 は、同じ名前を IPMP グループと共有します。
net2 が指定されたスタンバイインタフェースになります。
プローブベースの障害検出を使用するために、ベースとなるインタフェースのすべてに検査用アドレスが割り当てられます。
# ipadm create-ipmp itops0 # ipadm create-ip net0 # ipadm create-ip net1 # ipadm create-ip net2 # ipadm add-ipmp -i net0 -i net1 -i net2 itops0 # ipadm create-addr -T dhcp itops0/dhcp0 # ipadm create-addr -T dhcp itops0/dhcp1 # ipadm create-addr -T dhcp net0/test # ipadm create-addr -T dhcp net2/test # ipadm create-addr -T dhcp net3/test # ipadm set-ifprop -p standby=on net2
次の手順は、アクティブ - アクティブ IPMP グループを手動で構成する手順について説明します。
始める前に
想定 IPMP グループに含める予定の IP インタフェースが、システムのネットワークデータリンク上で正しく構成されていることを確認します。リンクや IP インタフェースの構成手順については、「IP インタフェースの構成 (タスク)」を参照してください。IPv6 インタフェースの構成方法については、『Oracle Solaris の管理: IP サービス』の「IPv6 インタフェースの構成」を参照してください。IPMP インタフェースは、ベースとなる IP インタフェースがまだ存在していなくても作成できます。ただし、この IPMP インタフェースでのその後の構成は失敗します。
さらに、SPARC システムを使用する場合は、インタフェースごとに一意の MAC アドレスを構成します。手順については、「SPARC: インタフェースの MAC アドレスが一意であることを確認する方法」を参照してください。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
# ipadm create-ipmp ipmp-interface
各情報の意味は次のとおりです。
ipmp-interface は、IPMP インタフェースの名前を指定します。IPMP インタフェースには、意味のある任意の名前を割り当てることができます。ほかの IP インタフェースと同様に、名前は ipmp0 のように文字列と数字から構成されます。
# ipadm add-ipmp -i under-interface1 [-i underinterface2 ...] ipmp-interface
ここで、under-interface は、IPMP グループのベースとなるインタフェースを表します。IP インタフェースは、システムで使用可能な数だけ追加できます。
注 - デュアルスタック環境では、特定のグループにインタフェースの IPv4 インスタンスを配置すると、IPv6 インスタンスも自動的に同じグループに配置されます。
# ipadm create-addr -T static IP-address addrobj
IP-address は CIDR 表記にすることができます。
addrobj は、命名規則 ipmp-interface/any-string を使用する必要があります。したがって、IPMP インタフェースの名前が ipmp0 の場合、addrobj は ipmp0/dataaddr とすることができます。
# ipadm create-addr -T static IP-address addrobj
IP-address は CIDR 表記にすることができます。
addrobj は、命名規則 under-interface/any-string を使用する必要があります。したがって、ベースとなるインタフェースの名前が net0 の場合、addrobj は net0/testaddr とすることができます。
注 - 検査用 IP アドレスを構成する必要があるのは、特定のインタフェースで検査信号ベースの 障害検出を使用する場合だけです。
IPMP グループのすべての検査用 IP アドレスには、同じネットワークアドレスを使用してください。すべての検査用 IP アドレスは 1 つの IP サブネットに属していなければなりません。
スタンバイインタフェースの詳細については、「IPMP インタフェース構成のタイプ」を参照してください。次の手順は、1 つのインタフェースが予約として確保される IPMP グループを構成します。このインタフェースは、グループ内のアクティブインタフェースが故障した場合にのみ配備されます。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
# ipadm create-ipmp ipmp-interface
各情報の意味は次のとおりです。
ipmp-interface は、IPMP インタフェースの名前を指定します。IPMP インタフェースには、意味のある任意の名前を割り当てることができます。ほかの IP インタフェースと同様に、名前は ipmp0 のように文字列と数字から構成されます。
# ipadm add-ipmp -i under-interface1 [-i underinterface2 ...] ipmp-interface
ここで、under-interface は、IPMP グループのベースとなるインタフェースを表します。IP インタフェースは、システムで使用可能な数だけ追加できます。
注 - デュアルスタック環境では、特定のグループにインタフェースの IPv4 インスタンスを配置すると、IPv6 インスタンスも自動的に同じグループに配置されます。
# ipadm create-addr -T static IP-address addrobj
IP-address は CIDR 表記にすることができます。
addrobj は、命名規則 ipmp-interface/any-string を使用する必要があります。したがって、IPMP インタフェースの名前が ipmp0 の場合、addrobj は ipmp0/dataaddr とすることができます。
# ipadm create-addr -T static IP-address addrobj
IP-address は CIDR 表記にすることができます。
addrobj は、命名規則 under-interface/any-string を使用する必要があります。したがって、ベースとなるインタフェースの名前が net0 の場合、addrobj は net0/testaddr とすることができます。
注 - 検査用 IP アドレスを構成する必要があるのは、特定のインタフェースで検査信号ベースの 障害検出を使用する場合だけです。
IPMP グループのすべての検査用 IP アドレスには、同じネットワークアドレスを使用してください。すべての検査用 IP アドレスは 1 つの IP サブネットに属していなければなりません。
# ipadm set-ifprop -p standby=yes under-interface
例 15-2 アクティブ - スタンバイ IPMP グループの構成
この例は、アクティブ - スタンバイ IPMP 構成を手動で作成する方法を示します。この例はまず、ベースとなるインタフェースを作成します。
# ipadm create-ip net0 # ipadm create-ip net1 # ipadm create-ip net2 # ipadm create-ipmp itops0 # ipadm add-ipmp -i net0 -i net1 -i net2 itops0 # ipadm create-addr -T static -a 192.168.10.10/24 itops0/v4add1 # ipadm create-addr -T static -a 192.168.10.15/24 itops0/v4add2 # ipadm create-addr -T static -a 192.168.85.30/24 net0/test # ipadm create-addr -T static -a 192.168.85.32/24 net1/test # ipadm create-addr -T static -a 192.168.85.34/24 net2/test # ipadm set-ifprop -p standby=yes net2 # ipmpstat -g GROUP GROUPNAME STATE FDT INTERFACES itops0 itops0 ok 10.00s net0 net1 (net2) # ipmpstat -t INTERFACE MODE TESTADDR TARGETS net0 routes 192.168.10.30 192.168.10.1 net1 routes 192.168.10.32 192.168.10.1 net2 routes 192.168.10.34 192.168.10.5