evsadm
evsadm set-prop -p <prop>=[<val>[,...]] evsadm show-prop [[-c] -o <field>[,...]] [-p <prop>[,...]]
evsadm set-controlprop [-h host] -p <prop>=[<val>[,...]] evsadm show-controlprop [[-c] -o <field>[,...]] [-p <prop>[,...]]
evsadm create-evs [-T <tenantname>] [-p {<prop>=<val>[,...]}[,..]] <evsname> evsadm delete-evs [-T <tenantname>] <evsname> evsadm show-evs [-f {<fname>=<val>[,...]}[,...]] [[-c] -o <field>[,...]] [<evsname>]
evsadm add-ipnet [-T <tenantname>] -p subnet=<val>[{,<prop>=<val>[,...]}[,...]] <evsname>/<ipnetname> evsadm remove-ipnet [-T <tenantname>] <evsname>/<ipnetname> evsadm show-ipnet [-f {<fname>=<val>[,...]}[,...]] [[-c] -o <field>[,...]] [[<evsname>/][ipnetname]]
evsadm add-vport [-T <tenantname>] [-p {<prop>=val[,...]}[,...]] <evsname>/<vportname> evsadm remove-vport [-T <tenantname>] <evsname>/<vportname> evsadm reset-vport [-T <tenantname>] <evsname>/<vportname> evsadm show-vport [-f {<fname>=<val>[,...]}[,...]] [[-c] -o <field>[,...]] [[<evsname>/][<vportname>]]
evsadm set-evsprop [-T <tenantname>] -p <prop>=<val> <evsname> evsadm show-evsprop [-f {<fname>=<val>[,...]}[,...]] [[-c] -o <field>[,...]] [-p <prop>[,...]] [evsname]
evsadm set-vportprop [-T <tenantname>] -p <prop>=<val> <evsname>/<vportname> evsadm show-vportprop [-f {<fname>=<val>[,...]}[,...]] [[-c] -o <field>[,...]] [-p <prop>[,...]] [[evsname/][vportname]]
evsadm help [subcommand-name]
evsadm コマンドは、次の操作を実行するための一連のサブコマンドを提供します。
EVS を管理する
EVS に関連付けられた IP ネットワークを管理する
EVS に関連付けられた仮想ポートを管理する
エラスティック仮想スイッチ (EVS) は、1 つまたは複数のサーバー (物理マシン) にまたがる仮想スイッチです。これは分離された L2 セグメントを表し、その分離は VLAN または VXLAN のどちらかを通して実装されます。EVS は、そこに接続された仮想マシン間のネットワーク接続を提供します。EVS に関連付けられた主なリソースには、IPnet と VPort の 2 つがあります。
IP ネットワークは、IPv4 アドレスまたは IPv6 アドレスのブロック (つまり、サブネット) を、そのブロックのデフォルトルーターとともに表します。EVS に関連付けることができる IPnet は 1 つだけです。VPort を通して EVS に接続するすべてのゾーン/VNIC が、EVS に関連付けられた IPnet から IP アドレスを取得します。
VPort は、VNIC と EVS の間の接続点を表します。これにより、SLA (maxbw、cos、および priority)、IP アドレス、MAC アドレスなどの、さまざまなネットワーク構成パラメータがカプセル化されます。この構成は、VNIC が VPort に接続したときに、その VNIC によって継承されます。
EVS とそれに関連付けられたすべてのリソースの構成および管理のための機能を提供します。1 つのコントローラを使用して、ネットワーク内のすべての EVS を管理するようにしてください。コントローラには、物理マシンへの L2 セグメントの実装に必要な情報を取得するための関連付けられているプロパティーがあります。これらのプロパティーは、set-controlprop サブコマンドを使用して管理できます。EVS コントローラは RAD モジュールとして実装され、EVS クライアントで使用される RAD インタフェースをエクスポートします。
これは、EVS コントローラと通信して、L2 ネットワークトポロジと、これらのネットワーク上で使用される IP アドレスを定義するエンティティーです。そのため、evsadm(1m) は EVS マネージャーです。
evsadm を経由し、EVS、IPnet、および VPort を使用することにより、L2 ネットワークトポロジと、これらのネットワーク上で使用される IP アドレスを定義できます。次に、dladm(1M) を使用して VNIC をこれらのトポロジに接続するか、または zonecfg(1M) を使用して VNIC anet (したがって、ゾーン) をこれらのトポロジに接続します。dladm(1m) および zonecfg(1m) によって、EVS コントローラのクライアントが形成されます。dladm(1m) と zonecfg(1m) は、コントローラから情報をプルして VPort プロパティーを取得します (evsadm(1m) は開始するコントローラに構成をプッシュします)。ネイティブゾーンとカーネルゾーンの両方がサポートされることに注意してください。
その VNIC またはそのゾーンの VNIC anet リソースを EVS の一部にする必要のある任意のホスト。既存のツール (dladm(1M) および zonecfg(1M)) は、VNIC を EVS の一部にする必要があることを指定するために変更されました。
テナントは、名前空間の管理に使用されます。テナント内で定義されている EVS とそのリソースは、そのテナントの名前空間の外部からは見えません。これは、テナントのすべてのリソースをまとめて保持するためのコンテナとして機能します。
各 evsadm サブコマンドは、上記のオブジェクトのいずれかに対して動作します。そのマッピングを次に示します。
|
EVS、IPnet、および VPort は、名前で識別されます。この名前は 127 文字を超えることはできず、英数字のほか「.」と「_」の組み合わせを指定するようにしてください。
さらに、これらの名前には、特殊な区切り文字「-」を含めることもできます。これらの名前は、このリソースが evsadm の外部で作成されたことを示します。最初に (作成者を識別する) 接頭辞があり、そのあとに「-」および従来のリソース名が続きます。たとえば、sys-vport0 の「sys」は、このリソースがシステムによって作成されたことを示します。これにより、evsadm を使用して作成されたリソースでは名前の衝突が起こらないことが保証されます。したがって、evsadm を使用して、「-」を含むリソースを作成することはできません。
evsadm コマンドは、EVS コントローラを実行しているマシンと通信できる任意のマシン上で動作できます。このコマンドは、EVS コントローラとともに動作して、すべての evsadm サブコマンドを実行します。evsadm を使用する前に、EVS コントローラのホスト名または IP アドレスを指定する必要があります。これは、「set-prop」サブコマンドを使用して「controller」プロパティーを設定することにより実行できます。
# evsadm set-prop -p controller=ssh://[username@]evs-controller.example.com # evsadm show-prop NAME VALUE DEFAULT controller ssh://[username@]evs-controller.example.com --
ここで、オプションの「username」は、「Elastic Virtual Switch Administration RBAC」プロファイル (prof_attr(4) を参照) を割り当てられているユーザーです。構成を簡略化するために、必須の EVS IPS パッケージ (service/network/evs) をインストールすると、EVS の操作を実行するためのすべての認証および権限を持つ「evsuser」と呼ばれるユーザーが作成されます。標準装備の「evsuser」を使用するには、コントローラのプロパティーを次のように設定します。
# evsadm set-prop -p controller=ssh://evsuser@evs-controller.example.com
このように、EVS コントローラと通信する場合は SSH が使用されます。通信を非対話型にするには、ホスト間 (つまり、vsadm を実行するホストと EVS コントローラ) で事前共有公開鍵を使用して SSH 認証を設定する必要があります。
evsadm の各サブコマンドにはオプションが関連付けられており、これらのオプションは、下の各サブコマンドのコンテキストで説明されています。多くのサブコマンドには次の共通オプションがあります:
サブコマンド操作が適用される名前空間を持つテナントの名前を指定します。指定しない場合は、デフォルトのテナント sys-global で操作が行われると見なされます。
ユーザーには、次のサブコマンドを実行するための solaris.network.evs.admin 承認が必要です。
create-evs delete-evs show-evs set-evsprop show-evsprop add-ipnet remove-ipnet show-ipnet add-vport remove-vport show-vport set-vportprop show-vportprop reset-vport
ユーザーには、set-prop サブコマンドを実行するための solaris.network.evs.client 承認、set-controlprop サブコマンドを実行するための solaris.network.evs.controller 承認が必要です。
RBAC プロファイル「Elastic Virtual Switch Administration」を持つユーザーは、上のすべてのサブコマンドを実行できます。
サポートされているサブコマンドは次のとおりです。
このコマンドが実行されているホストのプロパティーの値を設定します。サポートされているプロパティーは「controller」だけです。現在、このプロパティーは rad(1m) SSH URI スキームのみをサポートしています。詳細は、下の「使用例」を参照してください。
指定された値に設定されるプロパティーの名前。一度に設定できるプロパティーは 1 つだけです。<val> が指定されていない場合、プロパティーはデフォルト値にリセットされることに注意してください。
現在のホストの 1 つまたは複数のプロパティーの現在の値を表示します。サポートされているプロパティーは「controller」だけであり、これは接続先の EVS コントローラを指定します。
表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリスト (列の選択)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値allにする必要があります。
プロパティーの名前
プロパティーのアクセス権。rw または r- のどちらかです。
プロパティーの値
プロパティーのデフォルト値
安定したマシン解析可能な形式を使用して表示します。–c には –o オプションが必要です。下の「解析可能な出力形式」を参照してください。
EVS コントローラのプロパティーを、ユーザーが指定した値に変更します。コントローラプロパティーとその指定可能な値のリストについては、下の「コントローラプロパティー」のセクションを参照してください。これらのプロパティーは、show-controlprop サブコマンドを使用して取得できます。
設定されるプロパティーは、指定されたホストにしか適用できません。
EVS コントローラの指定された値に設定されるコントローラプロパティーの名前。プロパティーが複数の値を取る場合は、区切り文字としてコンマを使用して値を指定するようにしてください。一度に指定できるプロパティーは 1 つだけです。<val> が指定されていない場合、プロパティーはデフォルト値にリセットされることに注意してください。
コントローラの 1 つまたは複数のプロパティーの現在の値を表示します。プロパティーが指定されていない場合は、使用可能なすべてのコントローラプロパティーが表示されます。コントローラプロパティーのリストについては、下の「コントローラプロパティー」のセクションを参照してください。
表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリスト (列の選択)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値allにする必要があります。
コントローラプロパティーの名前
コントローラプロパティーのアクセス権
コントローラプロパティーの値
コントローラプロパティーのデフォルト値
この値が「--」である場合、プロパティーはすべてのホストに適用されるか、または大域スコープのプロパティーになります。それ以外の場合は、プロパティーがその特定のホストに適用されることを指定します。
安定したマシン解析可能な形式を使用して表示します。–c には –o オプションが必要です。下の「解析可能な出力形式」のセクションを参照してください。
evsname という名前の EVS を作成します。テナント名が指定されている場合、EVS はそのテナントの名前空間内に作成されます。それ以外の場合は、デフォルトのテナント sys-global 内に作成されます。
–T オプションの詳細は、前述の「概念」のセクションを参照してください。
作成されている EVS の指定された値に設定する EVS プロパティーのコンマ区切りリスト。サポートされるプロパティーの詳細は、下の「EVS プロパティー」のセクションを参照してください。
指定された EVS を削除します。いずれかの VPort が使用中の場合、この操作は失敗します。VPort が使用中になるのは、それに VNIC が接続されている場合です。どの VPort も使用中でない場合は、この操作によって、EVS に関連付けられたすべての VPort および IPnet が削除されます。show-evs の出力の「STATUS」フィールドには、EVS がビジーまたはアイドルのどちらの状態にあるかが表示されます。
–T オプションの詳細は、前述の「概念」のセクションを参照してください。
EVS コントローラによって管理されているすべての EVS か、または指定された EVS に関する EVS 情報を表示します。
出力をフィルタ処理するために使用される、コンマで区切られた名前と値のペア (行の選択)。複数のフィルタが指定されている場合、表示される出力は、フィルタ間での AND 操作の結果です。フィルタ値が複数値である場合、表示される出力は、フィルタ値間での OR 操作の結果です。サポートされるフィルタは次のとおりです。
テナント名で EVS をフィルタ処理する
EVS 名で EVS をフィルタ処理する
ホスト名で EVS をフィルタ処理する
IPnet 名で EVS をフィルタ処理する
VPort 名で EVS をフィルタ処理する
EVS は、分離された L2 セグメントを表します。これを実装または実現するために、VLAN または VXLAN のどちらかが使用されます。このオプションは、次のフィールドを通してその情報を提供します。
EVS の名前
EVS を所有するテナントの名前
EVS を実装するために使用される VLAN ID
EVS を実装するために使用される VXLAN セグメント ID
表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリスト (列の選択)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値allにする必要があります。
EVS の名前
EVS を所有するテナントの名前
EVS がアイドルまたはビジーのどちらの状態にあるか。EVS がビジー状態になるのは、その EVS に、VNIC が接続されている VPort が少なくとも 1 つ存在する場合です。
EVS に関連付けられた仮想ポートの数。
EVS に関連付けられた IP ネットワークのリスト。現在、EVS に関連付けることができる IP ネットワークは 1 つだけです。
EVS がまたがるホストのリスト。
安定したマシン解析可能な形式を使用して表示します。–c には –o オプションが必要です。下の「解析可能な出力形式」を参照してください。
指定された EVS evsname の ipnetname という名前の IPnet を追加します。テナント名が指定されている場合は、その IPnet が、テナント tenantname の名前空間内の EVS evsname に関連付けられます。
–T オプションの詳細は、前述の「概念」のセクションを参照してください。
作成されている EVS の指定された値に設定する IPnet プロパティーのコンマ区切りリスト。サポートされるプロパティーの詳細は、下の「IPnet プロパティー」のセクションを参照してください。「subnet」は必須プロパティーであり、それが指定されていない場合は操作が失敗することに注意してください。
指定された IPnet ipnetname を EVS evsname から削除します。いずれかの VPort が使用中の場合、この操作は失敗します。VPort が使用中になるのは、それに VNIC が接続されている場合です。
–T オプションの詳細は、前述の「概念」のセクションを参照してください。
EVS コントローラによって管理されているすべての IPnet か、または指定された IPnet に関する IPnet 情報を表示します。
出力をフィルタ処理するために使用される、コンマで区切られた名前と値のペア (行の選択)。複数のフィルタが指定されている場合、表示される出力は、フィルタ間での AND 操作の結果です。フィルタ値が複数値である場合、表示される出力は、フィルタ値間での OR 操作の結果です。サポートされるフィルタは次のとおりです。
テナント名で IPnet をフィルタ処理する
EVS 名で IPnet をフィルタ処理する
IPnet 名で IPnet をフィルタ処理する
ホスト名で IPnet をフィルタ処理する
表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリスト (列の選択)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値allにする必要があります。
IPnet の名前と、それが関連付けられている EVS の名前。その形式は evsname/ipnetname です。
IPnet の名前
EVS の名前
EVS を所有するテナントの名前。
この IPnet のサブネット (IPv4 または IPv6 のどちらか) を表します。
IP アドレス範囲の開始アドレス。
IP アドレス範囲の終了アドレス。
指定された IPnet のデフォルトルーターの IP アドレス。
VPort に割り当てることのできる使用可能な IP アドレスのコンマ区切りリスト。
安定したマシン解析可能な形式を使用して表示します。–c には –o オプションが必要です。下の「解析可能な出力形式」を参照してください。
指定された EVS evsname の vportname という名前の VPort を追加します。テナント名が指定されている場合は、その VPort が、テナント tenantname の名前空間内の EVS evsname に関連付けられます。
VPort が作成されると、その VPort には、ランダムな MAC アドレスと IPnet のアドレス範囲の IP アドレスが割り当てられます。そのため、VPort を IPnet に追加する前に、その IPnet を EVS に関連付けることが絶対に必要です。
VPort を EVS に追加する必要はないことに注意してください。VNIC が作成されている場合は、その VNIC の接続先の EVS 名を指定するだけで十分です。その場合は、コントローラがシステム VPort (VPort 名の中の接頭辞「sys-」で識別されます) を生成し、それが EVS プロパティーを継承します。
明示的に VPort を作成することの利点は、VPort を作成するときにその VPort に目的のプロパティーを指定できることであり、作成後に変更することもできます。あるいは、システム VPort のプロパティーを指定および変更しないこともできます。
–T オプションの詳細は、前述の「概念」のセクションを参照してください。
作成されている VPort の指定された値に設定する VPort プロパティーのコンマ区切りリスト。サポートされるプロパティーの詳細は、下の「仮想ポートのプロパティー」のセクションを参照してください。
指定された VPort を削除します。VPort が削除されると、その VPort に関連付けられた IP アドレスと MAC アドレスが解放されます。
この VPort に関連付けられた VNIC が存在する場合は、VPort の削除が失敗することに注意してください。
–T オプションの詳細は、前述の「概念」のセクションを参照してください。
指定された VPort をリセットします。VPort が実際には存在しない VNIC に関連付けられている場合は、この VPort をリセットすることによって解放できます。システム VPort はリセットによって削除されます。
–T オプションの詳細は、前述の「概念」のセクションを参照してください。
EVS コントローラによって管理されているすべての VPort か、または指定された VPort に関する VPort 情報を表示します。
出力をフィルタ処理するために使用される、コンマで区切られた名前と値のペア (行の選択)。複数のフィルタが指定されている場合、表示される出力は、フィルタ間での AND 操作の結果です。フィルタ値が複数値である場合、表示される出力は、フィルタ値間での OR 操作の結果です。サポートされるフィルタは次のとおりです。
テナント名で VPort をフィルタ処理する
EVS 名で VPort をフィルタ処理する
VPort 名で VPort をフィルタ処理する
ホスト名で VPort をフィルタ処理する
表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリスト (列の選択)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値allにする必要があります。
VPort の名前と、それが関連付けられている EVS の名前。その形式は evsname/vportname です。
VPort の名前
EVS の名前
EVS を所有するテナントの名前
VPort が使用中かどうか。VPort が使用中になるのは、それに VNIC が関連付けられている場合です。それ以外の場合は、使用可能です。
この VPort に関連付けられた VNIC の名前。
この VPort に関連付けられた VNIC が存在するホスト。
安定したマシン解析可能な形式を使用して表示します。–c には –o オプションが必要です。下の「解析可能な出力形式」を参照してください。
指定された evsname のプロパティーの値を設定します。EVS プロパティーとその指定可能な値のリストについては、下の「EVS プロパティー」のセクションを参照してください。これらのプロパティーは、show-evsprop サブコマンドを使用して取得できます。
–T オプションの詳細は、前述の「概念」のセクションを参照してください。
指定された値に設定するプロパティーの名前
すべての EVS または指定された EVS の 1 つまたは複数のプロパティーの現在の値を表示します。プロパティーが指定されていない場合は、使用可能なすべての EVS プロパティーが表示されます。EVS プロパティーのリストについては、下の「EVS プロパティー」のセクションを参照してください。
出力をフィルタ処理するために使用される、コンマで区切られた名前と値のペア (行の選択)。複数のフィルタが指定されている場合、表示される出力は、フィルタ間での AND 操作の結果です。フィルタ値が複数値である場合、表示される出力は、フィルタ値間での OR 操作の結果です。サポートされるフィルタは次のとおりです。
テナント名で EVS をフィルタ処理する
EVS 名で EVS をフィルタ処理する
ホスト名で EVS をフィルタ処理する
表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリスト (列の選択)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値allにする必要があります。
EVS の名前
EVS を所有するテナントの名前
EVS プロパティーの名前
プロパティーの読み取り権と書き込み権。表示される値は、r- または rw のどちらかです。
現在のプロパティー値。値が設定されていない場合は、「--」と表示されます。値が不明な場合は、「?」と表示されます。
プロパティーのデフォルト値。プロパティーにデフォルト値がない場合は、「--」が表示されます。
プロパティーに設定できる値のコンマ区切りリスト。値に数値の範囲がある場合は、短縮形としてmin-maxが表示される可能性があります。指定可能な値が不明または無限の場合は、「--」が表示されます。
指定された vportname のプロパティーの値を設定します。VPort プロパティーとその指定可能な値のリストについては、下の「仮想ポートのプロパティー」のセクションを参照してください。これらのプロパティーは、show-vportprop サブコマンドを使用して取得できます。
VPort に VNIC が接続されている場合は、その VPort のプロパティーを設定すると VNIC のプロパティーも変更されます。
システム VPort のプロパティーの変更は許可されていないことに注意してください。システム VPort の詳細は、add-vport サブコマンドを参照してください。
–T オプションの詳細は、前述の「概念」のセクションを参照してください。
指定された値に設定するプロパティーの名前
すべての VPort または指定された VPort の 1 つまたは複数のプロパティーの現在の値を表示します。プロパティーが指定されていない場合は、使用可能なすべての VPort プロパティーが表示されます。VPort プロパティーのリストについては、下の「仮想ポートのプロパティー」のセクションを参照してください。
出力をフィルタ処理するために使用される、コンマで区切られた名前と値のペア (行の選択)。複数のフィルタが指定されている場合、表示される出力は、フィルタ間での AND 操作の結果です。フィルタ値が複数値である場合、表示される出力は、フィルタ値間での OR 操作の結果です。サポートされるフィルタは次のとおりです。
テナント名で VPort をフィルタ処理する
EVS 名で VPort をフィルタ処理する
VPort 名で VPort をフィルタ処理する
ホスト名で VPort をフィルタ処理する
表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリスト (列の選択)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値allにする必要があります。
VPort の名前と、それが関連付けられている EVS の名前。その形式は evsname/vportname です。
VPort の名前
EVS の名前
EVS を所有するテナントの名前
VPort プロパティーの名前
プロパティーの読み取り権と書き込み権。表示される値は、r- または rw のどちらかです。
現在のプロパティー値。値が設定されていない場合は、「--」と表示されます。値が不明な場合は、「?」と表示されます。
プロパティーのデフォルト値。プロパティーにデフォルト値がない場合は、「--」が表示されます。
プロパティーに設定できる値のコンマ区切りリスト。値に数値の範囲がある場合は、短縮形としてmin-maxが表示される可能性があります。指定可能な値が不明または無限の場合は、「--」が表示されます。
サポートされるすべての evsadm サブコマンドまたは特定のサブコマンドの使用法を表示します。特定のサブコマンドのヘルプを呼び出すと、そのコマンド構文が表示されます。evsadm ヘルプを引数なしで使用すると、サポートされるすべてのサブコマンドが表示されます。
evsadm サブコマンドの多くには、出力をマシン解析可能な形式で表示するオプションがあります。この出力形式は、コロン (:) で区切られたフィールドで構成された 1 つ以上の行です。表示されるフィールドは、使用されているサブコマンドに固有のもので、特定のサブコマンドの –o オプションに対するエントリの下に一覧表示されます。出力には、–o オプションを使用して要求されたフィールドのみが、要求された順序で表示されます。
複数のフィールドをリクエストした場合、すべてのコロン文字は、バックスラッシュ (\) でエスケープされてから出力されます。同様に、バックスラッシュ文字もエスケープされます (\\)。このエスケープ形式は、シェルの read(1) 関数を環境変数 IFS=: とともに使用することによって解析できます (下の「使用例」を参照)。1 つのフィールドのみを要求した場合はエスケープが実行されないことに注意してください。
これらのプロパティーは、仮想スイッチまたは L2 セグメントの複数の物理マシンにまたがった実装に不可欠な情報を保持します。ほとんどのプロパティーでは、適用範囲や適用性は本質的に、データセンター全体またはグローバルです。ただし、その値をホストごとにオーバーライドできるいくつかのプロパティー、つまり uplink-port と vxlan-addr が存在します。
EVS を複数の物理マシンにまたがって実装する方法を定義します。指定可能な値は「vlan」または「vxlan」です。デフォルトでは、l2-type は「vlan」です。l2-type を変更しても、その変更の前に作成された EVS には影響しないことに注意してください。変更のあとに作成された EVS のみが新しい l2-type になります。つまり、VLAN に基づいた L2 セグメントと VXLAN に基づいた L2 セグメントは共存できます。
VLAN を実現するために、EVS のすべての VPort が同じ VLAN ID に関連付けられます。使用する VLAN ID は、vlan-range プロパティーから取得されます。この l2-type は、これらの VLAN 上のパケットを送受信するように物理ネットワークが構成されていること、または Oracle Solaris やスイッチファブリックで GVRP などのプロトコルが有効になっていることを前提にしています。少なくとも、vlan-range と uplink-port を指定する必要があります。そうしないと、EVS の作成が失敗します。
VXLAN を実現するために、EVS のすべての VPort が同じ VXLAN ID に関連付けられます。使用する VXLAN ID は、vxlan-range プロパティーから取得されます。vxlan-addr、vxlan-group、vxlan-ipvers、uplink-port などのその他の VXLAN プロパティーは、VXLAN の作成方法に影響を与えます。少なくとも、vxlan-range と、uplink-port または vxlan-addr のどちらかを指定する必要があります。そうしないと、EVS の作成が失敗します。
EVS の作成に使用される VLAN ID の範囲のコンマ区切りリスト。EVS が作成されるたびに、1 つの VLAN ID が消費されます。VLAN ID によって、パケットが EVS 間で分離されます。有効な値は [1-4094] です。
EVS の作成に使用できる VXLAN セグメント番号の範囲のコンマ区切りリスト。EVS が作成されるたびに、1 つの VXLAN セグメント番号が消費されます。VXLAN セグメント番号によって、レイヤー 2 が EVS 間で分離されます。有効な値は [0 - 16777215] です。
VXLAN データリンク作成の基になる IP アドレスを指定します。これは、サブネットアドレスにも設定できます。
VXLAN リンクの作成中に使用する必要のあるマルチキャストアドレス。VXLAN リンクは、このアドレスを使用して、同じ VXLAN セグメント上のほかの VXLAN リンクを検出します。このプロパティーが設定されていない場合は、デフォルトの all-host アドレスが VXLAN リンクによって使用されます。
VXLAN データリンクをホストする IP インタフェースに使用する必要のあるアドレスの IP バージョンを表します。指定可能な値は「v4」および「v6」です。デフォルト値は「v4」です。
VLAN または VXLAN に使用されるデータリンクを指定します。
IPv4 アドレスまたは IPv6 アドレスのブロックを表します。IPv4 の場合、この値は、接頭辞長を含む標準の IPv4 ドット区切り 10 進数形式として指定されます。つまり、次のようになります。
ddd.ddd.ddd.ddd/yy
ここで、「ddd」は 0 - 255 の範囲の 1 から 3 桁の 10 進数であり、「yy」は 1 - 30 の範囲の 1 から 2 桁の 10 進数です。
IPv6 の場合、この値は、接頭辞長を含む標準の IPv6 テキスト形式として指定されます。つまり、次のようになります。
ex:x:x:x:x:x:x:x/yyy
ここで、「x」はアドレスの 8 つの 16 ビット部分の 16 進数値であり、「yy」は 1 - 126 の範囲の 1 から 3 桁の 10 進数です。
デフォルトルーターは、特定のサブネットに対するゲートウェイの IP アドレスを指定します。これはオプションであり、指定されていない場合は、範囲内の最初のアドレスがデフォルトルーター IP アドレスとして選択されます。
仮想ポート上のアウトバウンドパケットの 802.1p 優先度を設定します。値の範囲は 0 - 7 です。このプロパティーを設定すると、仮想ポート上のすべてのアウトバウンドパケットに VLAN タグが付けられ、優先度フィールドがプロパティー値に設定されます。これを使用すると、VPort にまたがる差別化サービスを提供できます。
仮想ポートの全二重帯域幅を設定します。この帯域幅は、いずれかのスケールサフィックス (K ビット/秒、M ビット/秒、または G ビット/秒を示す K、M、または G) が付いた整数として指定されます。単位が指定されていない場合、入力値は Mbps として読み取られます。デフォルトでは、帯域幅の制限はありません。
仮想ポートの相対的な優先度を設定します。この値は、トークン high、medium、low のいずれかとして指定できます。デフォルトは medium です。この優先度は、回線上のどのプロトコル優先度フィールドでも反映されませんが、システム内のパケット処理スケジューリングに使用されます。優先度の高いリンクでは、システムリソースの可用性に応じて待機時間が短縮されます。
この仮想ポートに関連付けられた IP アドレスを表します。VNIC が VPort に接続すると、このアドレスがその VNIC に適用されます。デフォルトでは、EVS コントローラは、EVS に関連付けられた IPnet から IP アドレスを自動的に選択します。ゾーンや VNIC に特定の IP アドレスを割り当てる必要がある場合は、VPort を EVS に追加するときに ipaddr を目的の IP アドレスに手動で設定することによって、それを実現できます。
VPort が作成されたあとは、evsadm set-vportprop コマンドでその IP アドレスを変更することはできません。
この仮想ポートに関連付けられた MAC アドレスを表します。この VPort に接続した VNIC は、基本的に VPort から MAC アドレスを継承します。デフォルトでは、EVS コントローラは、VPort のランダムな MAC アドレスを生成します。VNIC に特定の MAC アドレスを割り当てる必要がある場合は、VPort を EVS に追加するときに macaddr を目的の MAC アドレスに手動で設定することによって、それを実現できます。
VPort が作成されたあとは、evsadm set-vportprop コマンドでその MAC アドレスを変更することはできません。
VPort が関連付けられている EVS を表す読み取り専用プロパティー。
VPort が関連付けられているテナントを表す読み取り専用プロパティー。
上の「仮想ポートのプロパティー」のセクションを参照してください。これにより、EVS の各仮想ポートに関連付けられるデフォルトの maxbw が定義されます。
上の「仮想ポートのプロパティー」のセクションを参照してください。これにより、EVS の各仮想ポートに関連付けられるデフォルトの優先度が定義されます。
EVS が関連付けられているテナントを表す読み取り専用プロパティー。
下のすべての例では、EVS マネージャー、EVS コントローラ、および EVS ノードがすべて同じノード上に存在することを前提にしています。
使用例 1 evsadm の接続先の EVS コントローラを設定する# evsadm set-prop -p controller=ssh://evsuser@evs-controller.example.com
ssh-keygen(1) を使用して、evsadm を呼び出すユーザーの SSH 鍵を作成します。$HOME/.ssh/id_rsa.pub を /var/user/evsuser/.ssh/authorized_keys にコピーします。evsuser として evs-controller.example.com に SSH して、パスワードなしで接続できるかどうかを確認します (注: SSH クライアントによって表示される yes/no の質問に答えます)。
# evsadm show-prop NAME VALUE DEFAULT controller ssh://evs-controller.example.com --使用例 2 L2 セグメントが VLAN を使用して作成されるように EVS コントローラを設定する
上の例からの続きで、コントローラは現在 evs-controller.example.com であり、set-controlprop コマンドを使用して行われた変更はすべてそのコントローラに反映されます。
# evsadm set-controlprop -p l2-type=vlan # evsadm set-controlprop -p vlan-range=200-300,400-500 # evsadm set-controlprop -p uplink-port=net2 # evsadm set-controlprop -h host2.example.com -p uplink-port=net3 # evsadm set-controlprop -h host3.example.com -p uplink-port=net4 NAME VALUE DEFAULT HOST l2-type vlan vxlan -- vlan-range 200-300,400-500 -- -- uplink-port net2 -- -- uplink-port net3 -- host2.example.com uplink-port net4 -- host3.example.com
VLAN ID 200-300 および 400-500 は EVS のために確保されています。net2 は、host2.example.com と host3.example.com を除くすべてのホスト上のアップリンクポートです。host2 では net3 がアップリンクポートとして使用され、host3 では net4 がアップリンクポートとして使用されます。
使用例 3 L2 セグメントが VXLAN を使用して作成されるように EVS コントローラを設定する# evsadm set-controlprop -p l2-type=vxlan # evsadm set-controlprop -p vxlan-range=20000-30000 # evsadm set-controlprop -p vxlan-addr=192.168.10.0/24 # evsadm show-controlprop -p l2-type,vxlan-range,vxlan-addr NAME VALUE DEFAULT HOST l2-type vxlan vxlan -- vxlan-range 20000-30000 -- -- vxlan-addr 192.168.10.0/24 0.0.0.0 --
VXLAN ID 20000-30000 は EVS のために確保されています。サブネット 192.168.10.0/24 の一部である IP インタフェースが、VXLAN リンクを作成するために使用されます。
使用例 4 EVS を作成し、IP サブネットを関連付け、VPort を EVS に追加し、VNIC を接続するevsadm を使用する前に、コントローラプロパティーを設定します。
# evsadm set-prop -p controller=ssh://evs-controller.example.com
また、RAD クライアントが非対話的に EVS コントローラに接続できるように、RAD クライアントとコントローラの間の事前共有鍵による SSH 認証も手動で設定する必要があります。
次に、HR という名前の EVS を作成します。
# evsadm create-evs HR # evsadm show-evs HR EVS TENANT STATUS NVPORTS IPNETS HOST HR sys-global -- 0 -- --
テナント名が指定されなかったため、EVS は sys-global の下に作成されました。これにはまだ、IP ネットワークや VPort が関連付けられていません。
次に、IP ネットワークを作成します。
# evsadm add-ipnet -p subnet=192.168.13.0/24 HR/hr_ipnet # evsadm show-ipnet NAME TENANT SUBNET DEFROUTER AVAILRANGE HR/hr_ipnet sys-global 192.168.13.0/24 192.168.13.1 192.168.13.2-192.168.13.254
次に、VPort を HR に追加します。
# evsadm add-vport HR/vport0 # evsadm show-vport NAME TENANT STATUS VNIC HOST HR/vport0 sys-global free -- -- # evsadm show-vport -o name,macaddr,ipaddr NAME MACADDR IPADDR HR/vport0 2:8:20:95:1:de 192.168.13.2/24
evsadm をサブコマンドなしで実行すると、次の内容が出力されます。
# evsadm NAME TENANT STATUS VNIC IP HR sys-global -- -- hr_ipnet vport0 -- free -- 192.168.13.2/24
次に、VNIC vnic0 を HR/vport0 に接続します。
# dladm create-vnic -t -c HR/vport0 vnic0 # dladm show-vnic -c LINK TENANT EVS VPORT OVER MACADDRESS VIDS vnic0 sys-global HR vport0 evs-vxlan200 2:8:20:95:1:de 0 # dladm show-linkprop -p allowed-ips vnic0 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE vnic0 allowed-ips rw 192.168.13.2 192.168.13.2 -- --
vnic0 の allowed-ips が VPort の IP アドレスでどのように設定されているかに注意してください。
次に、VPort の maxbw プロパティーを 1G に設定し、それが vnic0 にどのように反映されるかを確認します。
# dladm show-linkprop -p maxbw vnic0 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE vnic0 maxbw rw -- -- -- -- # evsadm set-vportprop -p maxbw=1G HR/vport0 # dladm show-linkprop -p maxbw vnic0 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE vnic0 maxbw rw 1000 1000 -- --使用例 5 EVS のプロパティーを表示する
# evsadm show-evsprop HR EVS TENANT PROPERTY PERM VALUE DEFAULT POSSIBLE HR sys-global maxbw rw -- -- -- HR sys-global priority rw -- medium low,medium, high HR sys-global tenant r- sys-global -- --使用例 6 VPort のプロパティーを表示する
# evsadm show-vportprop HR/ NAME TENANT PROPERTY PERM VALUE DEFAULT POSSIBLE HR/vport0 sys-global cos rw 3 0 0-7 HR/vport0 sys-global maxbw rw -- -- 10K- HR/vport0 sys-global priority rw -- medium low,medium, HR/vport0 sys-global ipaddr r- 192.168.13.2/24 -- -- HR/vport0 sys-global macaddr r- 2:8:20:5c:cb:a5 -- -- HR/vport0 sys-global evs r- HR -- -- HR/vport0 sys-global tenant r- sys-global -- --使用例 7 仮想ポートを削除する
# evsadm remove-vport HR/vport0
VPort が使用中の場合は、上の操作が失敗することに注意してください。
使用例 8 IPnet を削除する# evsadm remove-ipnet HR/hr_ipnet
IP サブネット内の IP アドレスが使用中の場合は、上の操作が失敗することに注意してください。
使用例 9 EVS を削除する# evsadm delete-evs HR
EVS の VPort が使用中の場合は、上の操作が失敗することに注意してください。
使用例 10 テナントの EVS を作成し、IPnet と VPort を関連付ける次の例では、テナント tenantA の EVS evsA を作成し、それに IPnet として 192.168.100.0/24 を関連付け、VPort を 1G の maxbw に関連付けます。
# evasdm create-evs -T tenantA evsA # evsadm add-ipnet -T tenantA -p subnet=192.168.100.0/24 evsA/ipnetA # evsadm add-vport -T tenantA -p maxbw=1G evsA/vport0 # evsadm NAME TENANT STATUS VNIC IP HOST evsA tenantA -- -- ipnetA -- vport0 -- free -- 192.168.100.2/24 -- # evsadm show-vport NAME TENANT STATUS VNIC HOST evsA/vport0 tenantA free -- -- # evsadm show-ipnet NAME TENANT SUBNET DEFROUTER AVAILRANGE evsA/ipnetA tenantA 192.168.100.0/24 192.168.100.1 192.168.100.3-192.168.100.254
次の属性については、attributes(5) を参照してください。
|
evsstat(1M), dladm(1M), zonecfg(1M), rad(1M), attributes(5), prof_attr(4), ssh-keygen(1)