ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 ネットワークパフォーマンスの管理 Oracle Solaris 11.1 Information Library (日本語) |
インタフェースを 1 つの IPMP グループから別の IPMP グループに移動する方法
プローブベースの障害検出のターゲットシステムを手動で指定する方法
8. Oracle Solaris におけるデータセンターブリッジング機能の操作
このセクションでは、IPMP グループの計画および構成の手順について説明します。第 5 章IPMP の概要の概要では、IPMP グループの実装をインタフェースとして説明しています。したがって、この章では、用語「IPMP グループ」と「IPMP インタフェース」が同義として使用されます。
次の手順には、必要となる計画タスクと IPMP グループを構成する前に収集する情報が含まれています。これらのタスクは、順番どおり行う必要はありません。
IPMP の構成は、システム上でホストされるタイプのトラフィックを処理するためのネットワークの要件によって決まります。IPMP はアウトバウンドのネットワークパケットを IPMP グループのインタフェース間で分散するため、ネットワークのスループットを改善します。ただし、ある特定の TCP 接続では、インバウンドトラフィックは通常、アウトオブオーダーのパケットを処理するリスクを最小限に抑えるために、1 つの物理パスのみをたどります。
したがって、ネットワークが大量のアウトバウンドトラフィックを処理する場合、多数のインタフェースを 1 つの IPMP グループに構成すると、ネットワークのパフォーマンスを改善できます。代わりに、システムが大量のインバウンドトラフィックをホストする場合、グループ内のインタフェースの数を増やしても、トラフィックの負荷分散によってパフォーマンスが改善されるとはかぎりません。ただし、ベースとなるインタフェースの数を増やせば、インタフェースが故障した際のネットワークの可用性を保証しやすくなります。
システム上のインタフェースごとに一意の MAC アドレスを構成するには、『Oracle Solaris 11.1 での固定ネットワーク構成を使用したシステムの接続』の「各インタフェースの MAC アドレスが一意であることを確認する方法」を参照してください。
同じグループのすべてのインタフェースは、同じ順番で構成された STREAMS モジュールを持っていなければなりません。
ifconfig interface modlist コマンドを使用して、STREAMS モジュールの一覧を出力できます。たとえば、net0 インタフェースの ifconfig 出力は次のようになります。
# ifconfig net0 modlist 0 arp 1 ip 2 e1000g
この出力が示しているように、インタフェースは通常、IP モジュールのすぐ下のネットワークドライバとして存在します。これらのインタフェースでは、追加の構成は必要ありません。
ただし、特定のテクノロジは、IP モジュールとネットワークドライバの間に STREAMS モジュールとしてプッシュされます。STREAMS モジュールがステートフルである場合、グループ内のすべてのインタフェースに同じモジュールをプッシュしている場合でも、フェイルオーバーで予期しない動作が発生する可能性があります。ただし、IPMP グループのすべてのインタフェースに同じ順番で転送している場合は、処理状態を把握できない STREAMS モジュールを使用できます。
例:
# ifconfig net0 modinsert vpnmod@3
1 つのインタフェースが IPv4 向けに構成されている場合は、IPMP グループのすべてのインタフェースを IPv4 向けに構成する必要があります。たとえば、1 つのインタフェースに IPv6 アドレス指定を追加すると、IPMP グループ内のすべてのインタフェースを IPv6 をサポートするように構成する必要があります。
たとえば、プローブベースの障害検出を実装する場合は、ベースとなるインタフェースで検査用アドレスを構成する必要があります。関連情報については、「IPMP での障害検出」を参照してください。
たとえば、同じ IP サブネット上の Ethernet スイッチを 1 つの IPMP グループに構成できます。1 つの IPMP グループにいくつでもインタフェースを構成できます。
注 - たとえば、システムに物理インタフェースが 1 つだけ存在する場合は、単一インタフェースの IPMP グループを構成することもできます。関連情報については、「IPMP インタフェース構成のタイプ」を参照してください。
グループ化するインタフェースは、同じインタフェースタイプである必要があります。たとえば、1 つの IPMP グループに Ethernet インタフェースとトークンリングインタフェースを組み合わせることはできません。別の例としては、同じ IPMP グループに、トークンバスインタフェースと非同期転送モード (ATM) インタフェースを組み合わせることはできません。
IETF RFC 1577 および IETF RFC 2225 で定義されているクラシカル IP over ATM テクノロジを使用するインタフェースでは、IPMP はサポートされていません。
複数インタフェースの IPMP グループは、アクティブ - アクティブインタフェースで構成することも、アクティブ - スタンバイインタフェースで構成することもできます。関連情報については、「IPMP インタフェース構成のタイプ」を参照してください。次の手順では、DHCP を使用してアクティブ - スタンバイ IPMP グループを構成する方法について説明します。
始める前に
想定 IPMP グループに含める予定の IP インタフェースが、システムのネットワークデータリンク上で正しく構成されていることを確認します。リンクおよび IP インタフェースの構成手順については、『Oracle Solaris 11.1 での固定ネットワーク構成を使用したシステムの接続』の「IP インタフェースを構成する方法」を参照してください。IPMP インタフェースは、ベースとなる IP インタフェースがまだ作成されていなくても作成できます。ただし、ベースとなる IP インタフェースが作成されていない場合、この IPMP インタフェースでのその後の構成は失敗します。
さらに、SPARC ベースのシステムを使用する場合は、インタフェースごとに一意の MAC アドレスを構成します。手順については、『Oracle Solaris 11.1 での固定ネットワーク構成を使用したシステムの接続』の「各インタフェースの MAC アドレスが一意であることを確認する方法」を参照してください。
最後に、DHCP を使用する場合は、ベースとなるインタフェースのリースが無限になっていることを確認します。それ以外の場合、IPMP グループの障害が発生した場合に検査用アドレスが期限切れとなり、in.mpathd デーモンがプローブベースの障害検出を無効化し、リンクベースの障害検出が使用されます。リンクベースの障害検出によってインタフェースが機能していることがわかると、デーモンは誤ってインタフェースが修復されたと報告する可能性があります。DHCP の構成方法の詳細は、『Oracle Solaris 11.1 での DHCP の作業』を参照してください。
詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# 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 ipmp-interface
手順 5 は、DHCP サーバーによって提供されたアドレスをアドレスオブジェクトに関連付けます。アドレスオブジェクトは、たとえば ipmp0/v4 のように、interface/address-type という形式を使用して IP アドレスを一意に識別します。アドレスオブジェクトの詳細は、『Oracle Solaris 11.1 での固定ネットワーク構成を使用したシステムの接続』の「IP インタフェースを構成する方法」を参照してください
IPMP グループのベースとなるインタフェースごとに、次のコマンドを発行します。
# ipadm create-addr -T dhcp under-interface
手順 6 で自動的に作成されるアドレスオブジェクトは、たとえば net0/v4 のように、under-interface/address-type という形式を使用します。
例 6-2 DHCP を使用した IPMP グループの構成
この例は、DHCP を使用してアクティブ - スタンバイ IPMP グループを構成する方法を示しますが、次のシナリオに基づいています。
3 つのベースとなるインタフェース net0、net1、および net2 が IPMP グループに構成されます。
IPMP インタフェース ipmp0 は、同じ名前を IPMP グループと共有します。
net2 が指定されたスタンバイインタフェースになります。
ベースとなるインタフェースのすべてに検査用アドレスが割り当てられます。
まず、管理者は IPMP インタフェースを作成します。
# ipadm create-ipmp ipmp0
次に、管理者はベースとなる IP インタフェースを作成し、それらを IPMP インタフェースに追加します。
# ipadm create-ip net0 # ipadm create-ip net1 # ipadm create-ip net2 # ipadm add-ipmp -i net0 -i net1 -i net2 ipmp0
次に、管理者は DHCP によって管理される IP アドレスを IPMP インタフェースに割り当てます。IPMP インタフェースに割り当てられる IP アドレスはデータアドレスです。この例では、IPMP インタフェースには 2 つのデータアドレスがあります。
# ipadm create-addr -T dhcp ipmp0 ipadm: ipmp0/v4 # ipadm create-addr -T dhcp ipmp0 ipadm: ipmp0/v4a
次に、管理者は DHCP によって管理される IP アドレスを、IPMP グループのベースとなる IP インタフェースに割り当てます。ベースとなるインタフェースに割り当てられる IP アドレスは、プローブベースの障害検出に使用される検査用アドレスです。
# ipadm create-addr -T dhcp net0 ipadm: net0/v4 # ipadm create-addr -T dhcp net1 ipadm: net1/v4 # ipadm create-addr -T dhcp net2 ipadm net2/v4
最後に、管理者は net2 がスタンバイインタフェースになるように構成します。
# ipadm set-ifprop -p standby=on net2
次の手順では、アクティブ - アクティブ IPMP グループを手動で構成する方法について説明します。この手順の手順 1 から 4 では、リンクベースのアクティブ - アクティブ IPMP グループを構成する方法について説明します。手順 5 では、リンクベースの構成をプローブベースにする方法について説明します。
始める前に
想定 IPMP グループに含める予定の IP インタフェースが、システムのネットワークデータリンク上で正しく構成されていることを確認します。リンクおよび IP インタフェースの構成手順については、『Oracle Solaris 11.1 での固定ネットワーク構成を使用したシステムの接続』の「IP インタフェースを構成する方法」を参照してください。IPMP インタフェースは、ベースとなる IP インタフェースがまだ存在していなくても作成できます。ただし、この IPMP インタフェースでのその後の構成は失敗します。
さらに、SPARC ベースのシステムを使用する場合は、インタフェースごとに一意の MAC アドレスを構成します。手順については、『Oracle Solaris 11.1 での固定ネットワーク構成を使用したシステムの接続』の「各インタフェースの MAC アドレスが一意であることを確認する方法」を参照してください。
詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# 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 -a address ipmp-interface
ここで、address は CIDR 表記にすることができます。
注 - IPMP グループ名または IP アドレスの DNS アドレスのみが必要です。
# ipadm create-addr -a address under-interface
ここで、address は CIDR 表記にすることができます。IPMP グループのすべての検査用 IP アドレスは、1 つの IP サブネットに属していなければならず、したがって同じネットワーク接頭辞を使用する必要があります。
スタンバイインタフェースについては、「IPMP インタフェース構成のタイプ」を参照してください。次の手順では、1 つのインタフェースがスタンバイとして確保される IPMP グループを構成する方法を説明します。このインタフェースは、グループ内のアクティブインタフェースが故障した場合にのみ配備されます。
詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# 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 インタフェースは、システムで使用可能な数だけ追加できます。
注 - デュアルスタック環境では、特定の IPMP グループにインタフェースの IPv4 インスタンスを配置すると、IPv6 インスタンスが自動的に同じグループに配置されます。
# ipadm create-addr -a address ipmp-interface
ここで、address は CIDR 表記にすることができます。
# ipadm create-addr -a address under-interface
ここで、address は CIDR 表記にすることができます。IPMP グループのすべての検査用 IP アドレスは、1 つの IP サブネットに属していなければならず、したがって同じネットワーク接頭辞を使用する必要があります。
# ipadm set-ifprop -p standby=on under-interface
例 6-3 アクティブ - スタンバイ IPMP グループの構成
この例は、アクティブ - スタンバイ IPMP 構成を手動で作成する方法を示します。
まず、管理者は IPMP インタフェースを作成します。
# ipadm create-ipmp ipmp0
次に、管理者はベースとなる IP インタフェースを作成し、それらを IPMP インタフェースに追加します。
# ipadm create-ip net0 # ipadm create-ip net1 # ipadm create-ip net2 # ipadm add-ipmp -i net0 -i net1 -i net2 ipmp0
次に、管理者は IPMP インタフェースに IP アドレスを割り当てます。IPMP インタフェースに割り当てられる IP アドレスはデータアドレスです。この例では、IPMP インタフェースには 2 つのデータアドレスがあります。
# ipadm create-addr -a 192.168.10.10/24 ipmp0 ipadm: ipmp0/v4 # ipadm create-addr -a 192.168.10.15/24 ipmp0 ipadm: ipmp0/v4a
この例の IP アドレスには、10 進数で表される prefixlen プロパティーが含まれています。IP アドレスの prefixlen 部分は、アドレスの左から何ビットがアドレスの IPv4 ネットマスクまたは IPv6 接頭部に該当するかを指定します。残りの下位ビットは、アドレスのホスト部を定義します。prefixlen プロパティーをアドレスのテキスト表現に変換すると、アドレスのネットワーク部として使用するビット位置には 1 が、ホスト部として使用するビット位置には 0 が含まれています。このプロパティーは、dhcp アドレスオブジェクトタイプではサポートされません。詳細は、ipadm(1M) のマニュアルページを参照してください。
次に、管理者は IPMP グループのベースとなる IP インタフェースに IP アドレスを割り当てます。ベースとなるインタフェースに割り当てられる IP アドレスは、プローブベースの障害検出に使用される検査用アドレスです。
# ipadm create-addr -a 192.168.10.30/24 net0 ipadm: net0/v4 # ipadm create-addr -a 192.168.10.32/24 net1 ipadm: net1/v4 # ipadm create-addr -a 192.168.10.34/24 net2 ipadm: net2/v4
最後に、管理者は net2 がスタンバイインタフェースになるように構成します。
# ipadm set-ifprop -p standby=on net2
管理者は ipmpstat コマンドを使用して IPMP 構成を表示できます。
# ipmpstat -g GROUP GROUPNAME STATE FDT INTERFACES ipmp0 ipmp0 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