Go to main content

マニュアルページ セクション 8: システム管理コマンド

印刷ビューの終了

更新: 2018年8月8日
 
 

evsadm (8)

名前

evsadm - エラスティック仮想スイッチ (EVS) とそのリソース、つまり IP ネットワーク (IPnet) と仮想ポート (VPort) の作成および管理

形式

evsadm
evsadm set-prop -p <prop>=[<val>[,...]]
evsadm show-prop [[-c] -o <field>[,...]] [-p <prop>[,...]]
evsadm set-controlprop [-h host] -p {<prop>=[<val>[,...]]}[,...]
evsadm set-controlprop [-h host]
              -p uplink-port=<val>[,vlan-range=[<val>[,...]]]
                [,vxlan-range=[<val>[,...]]][,flat=yes|no]
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 set-ipnetprop [-T <tenantname>] -p <prop>=<val>
             <evsname>/<ipnetname>
evsadm show-ipnetprop [-f {<fname>=<val>[,...]}[,...]]
             [[-c] -o <field>[,...]] [-p <prop>[,...]] [[evsname/][ipnetname]]
evsadm help [subcommand-name]

説明

evsadm コマンドは、次の操作を実行するための一連のサブコマンドを提供します。

  • EVS を管理する

  • EVS に関連付けられた IP ネットワークを管理する

  • EVS に関連付けられた仮想ポートを管理する

概念

EVS

エラスティック仮想スイッチ (EVS) は、1 つまたは複数のサーバー (物理マシン) にまたがる仮想スイッチです。これは分離された L2 セグメントを表し、L2 セグメントは Flat (タグなし)、VLAN、または VXLAN として実装されます。EVS は、そこに接続された仮想マシン間のネットワーク接続を提供します。EVS に関連付けられた主なリソースには、IPnet と VPort の 2 つがあります。

IPnet

IP ネットワークは、IPv4 アドレスまたは IPv6 アドレスのブロック (つまり、サブネット) を、そのブロックのデフォルトルーターとともに表します。EVS に関連付けることができる IPnet は 1 つだけです。VPort を通して EVS に接続するすべてのゾーン/VNIC が、EVS に関連付けられた IPnet から IP アドレスを取得します。

VPort

VPort は、VNIC と EVS の間の接続点を表します。これにより、SLA (maxbwcos、および priority)、IP アドレス、MAC アドレスなどの、さまざまなネットワーク構成パラメータがカプセル化されます。この構成は、VNIC が VPort に接続したときに、その VNIC によって継承されます。

EVS コントローラ

EVS とそれに関連付けられたすべてのリソースの構成および管理のための機能を提供します。1 つのコントローラを使用して、ネットワーク内のすべての EVS を管理するようにしてください。コントローラには、物理マシンへの L2 セグメントの実装に必要な情報を取得するための関連付けられているプロパティーがあります。これらのプロパティーは、set-controlprop サブコマンドを使用して管理できます。EVS コントローラは RAD モジュールとして実装され、EVS クライアントで使用される RAD インタフェースをエクスポートします。

EVS マネージャー

これは、EVS コントローラと通信して、L2 ネットワークトポロジと、これらのネットワーク上で使用される IP アドレスを定義するエンティティーです。そのため、evsadm(8) は EVS マネージャーです。

EVS クライアント

evsadm を経由し、EVS、IPnet、および VPort を使用することにより、L2 ネットワークトポロジと、これらのネットワーク上で使用される IP アドレスを定義できます。次に、dladm(8) を使用して VNIC をこれらのトポロジに接続するか、または zonecfg(8) を使用して VNIC anet (したがって、ゾーン) をこれらのトポロジに接続します。dladm(8) および zonecfg(8) によって、EVS コントローラのクライアントが形成され、コントローラから情報がプルされて VPort プロパティーが取得されます (evsadm(8) は開始するコントローラに構成をプッシュします)。ネイティブゾーンとカーネルゾーンの両方がサポートされることに注意してください。

EVS ノード

その VNIC またはそのゾーンの VNIC anet リソースを EVS の一部にする必要のある任意のホスト。既存のツールである dladm(8) および zonecfg(8) は、VNIC を EVS の一部にする必要があることを指定するために変更されました。

テナント

テナントは、名前空間の管理に使用されます。テナント内で定義されている EVS とそのリソースは、そのテナントの名前空間の外部からは見えません。これは、テナントのすべてのリソースをまとめて保持するためのコンテナとして機能します。

evsadm サブコマンドは、上記のオブジェクトのいずれかに対して動作します。そのマッピングを次に示します。

オブジェクト
サブコマンド
EVS
create-evsdelete-evsshow-evsset-evspropshow-evsprop
IPnet
add-ipnet, remove-ipnet, show-ipnet, set-ipnetprop, show-ipnetprop
VPort
add-vportremove-vportshow-vportset-vportpropshow-vportpropreset-vport
EVS コントローラ
set-controlpropshow-controlprop
EVS クライアント
set-propshow-prop

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(5) を参照) を割り当てられているユーザーです。構成を簡略化するために、必須の EVS IPS パッケージ (service/network/evs) をインストールすると、EVS の操作を実行するためのすべての承認および特権を持つ「evsuser」と呼ばれるユーザーが作成されます。標準装備の「evsuser」を使用するには、コントローラのプロパティーを次のように設定します。

# evsadm set-prop -p controller=ssh://evsuser@evs-controller.example.com

このように、EVS コントローラと通信する場合は SSH が使用されます。通信を非対話型にするには、ホスト間 (つまり、vsadm が実行されるホストと EVS コントローラの間) で事前共有公開鍵を使用して SSH 認証を設定する必要があります。


注 -  EVS マネージャー、EVS クライアント、および EVS コントローラがすべて同じマシン上に存在する場合は、そのマシン上で、そのマシン上の SSH の代わりにローカル接続 (UNIX ドメインソケット) だけを使用し、次のようにコントローラプロパティーを UNIX RAD URI スキームに設定できます。
# evsadm set-prop -p controller=unix://

evsadm の各サブコマンドにはオプションが関連付けられており、これらのオプションは、下の各サブコマンドのコンテキストで説明されています。多くのサブコマンドには次の共通オプションがあります:

–T tenantname, –-tenant=tenantname

サブコマンド操作が適用される名前空間を持つテナントの名前を指定します。指定しない場合は、デフォルトのテナント sys-global で操作が行われると見なされます。

必要な権利プロファイルおよびセキュリティーモデル

ユーザーは、次のサブコマンドを実行するには Elastic Virtual Switch Administration 権利プロファイルを持っている必要があります。

create-evs      delete-evs   show-evs    set-evsprop show-evsprop
add-ipnet       remove-ipnet show-ipnet  set-ipnetprop show-ipnetprop	
add-vport       remove-vport show-vport  set-vportprop show-vportprop
reset-vport     set-prop                 set-controlprop

Elastic Virtual Switch Observability 権利プロファイルを持つユーザーは、次の可観測性サブコマンドを実行できます。

show-evs      show-evsprop    
show-ipnet    show-ipnetprop
show-vport    show-vportprop
show-prop     show-controlprop

サブコマンド


注 -  evsadm コマンドをサブコマンドなしで実行すると、EVS コントローラによって管理されているすべてのエラスティック仮想スイッチの簡単なサマリーが表示されます。この表示には、各 EVS に関連付けられた IP ネットワークと仮想ポートも含まれます。詳細は、下の「使用例」を参照してください。

サポートされているサブコマンドは次のとおりです。

evsadm set-prop –p <prop>=[<val>[,...]]

このコマンドが実行されているホストのプロパティーの値を設定します。サポートされているプロパティーは「controller」だけです。現在、このプロパティーは rad(8) SSH および UNIX URI スキームのみをサポートしています。詳細は、下の「使用例」を参照してください。

–p <prop>=[<val>[,...]], -–prop <prop>=[<val>[,...]]

指定された値に設定されるプロパティーの名前。一度に設定できるプロパティーは 1 つだけです。<val> が指定されていない場合、プロパティーはデフォルト値にリセットされることに注意してください。

evsadm show-prop [[–c] –o <field>[,...]] [–p <prop>[,...]]

現在のホストの 1 つまたは複数のプロパティーの現在の値を表示します。サポートされているプロパティーは「controller」だけであり、これは接続先の EVS コントローラを指定します。

–o <field>[,...], -output=<field>[,...]

表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリスト (列の選択)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値allにする必要があります。

NAME

プロパティーの名前

PERM

プロパティーのアクセス権。rw または r- のどちらかです。

VALUE

プロパティーの値

DEFAULT

プロパティーのデフォルト値

–c, –-parseable

安定したマシン解析可能な形式を使用して表示します。–c には –o オプションが必要です。下の「解析可能な出力形式」を参照してください。

evsadm set-controlprop [–h host] –p uplink-port=<val>[,vlan-range=[<val>[,...]]] [,vxlan-range=[<val>[,...]]] [,flat=yes|no]

EVS コントローラのプロパティーを、ユーザーが指定した値に変更します。コントローラプロパティーとその指定可能な値のリストについては、下の「コントローラプロパティー」のセクションを参照してください。これらのプロパティーは、show-controlprop サブコマンドを使用して取得できます。

uplink-port プロパティーの設定中に、オプションで vlan-rangevxlan-range、または flat を指定できます。vlan-range が指定された場合は、対応する uplink-port がこれらの VLAN ID をサポートすることを示します。vxlan-range が指定された場合は、対応する uplink-port がこれらの VXLAN ID をサポートすることを示します。flat が指定された場合は、対応する uplink-port が flat ネットワークタイプをサポートすることを示します。EVS ノードに複数のアップリンクポートが存在する場合は、vlan-rangevxlan-range、および flat により、その EVS ノードの VNIC を作成するための 1 つの uplink-port を容易に一意に識別できます。詳細は、「使用例」セクションを参照してください。

プロパティー値をリセットするには、そのプロパティーを空の値に設定します。

コントローラのプロパティーは、コントローラがそのコンポーネントからアクセスできるかぎり、任意の EVS コンポーネントから設定できます。

–h–-host

設定されるプロパティーは、指定されたホストにしか適用できません。

–p <prop>=[<val>[,...]], –-prop <prop>=[<val>[,...]]
–p uplink-port=<val>[,vlan-range=[<val>[,...]]] [,vxlan-range=[<val>[,...]]][,flat=yes|no]

EVS コントローラの指定された値に設定されるコントローラプロパティーの名前。プロパティーが複数の値を取る場合は、区切り文字としてコンマを使用して値を指定するようにしてください。一度に指定できるプロパティーは 1 つだけです。<val> が指定されていない場合、プロパティーはデフォルト値にリセットされることに注意してください。

設定されているプロパティーが uplink-port である場合は、vlan-rangevxlan-range、および flat を使用して追加のメタデータを指定できます。

evsadm show-controlprop [[–c] –o <field>[,...]] [–p <prop>[,...]]

コントローラの 1 つまたは複数のプロパティーの現在の値を表示します。プロパティーが指定されていない場合は、使用可能なすべてのコントローラプロパティーが表示されます。コントローラプロパティーのリストについては、下の「コントローラプロパティー」のセクションを参照してください。

–o <field>[,...], –-output=<field>[,...]

表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリスト (列の選択)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値allにする必要があります。

PROPERTY

コントローラプロパティーの名前

PERM

コントローラプロパティーのアクセス権

VALUE

コントローラプロパティーの値

DEFAULT

コントローラプロパティーのデフォルト値

HOST

この値が「--」である場合、プロパティーはすべてのホストに適用されるか、または大域スコープのプロパティーになります。それ以外の場合は、プロパティーがその特定のホストに適用されることを指定します。

VLAN_RANGE

対応する uplink-port で提供される VLAN ID のコンマ区切りの範囲を表します。このフィールドは uplink-port の値のみを持ち、残りのプロパティーの場合は「--」が表示されます。

VXLAN_RANGE

対応する uplink-port で提供される VXLAN ID のコンマ区切りの範囲を表します。このフィールドは uplink-port または vxlan-addr の値のみを持ち、残りのプロパティーの場合は「--」が表示されます。

FLAT

特定のアップリンクポートが Flat (タグなし) ネットワークタイプをサポートするかどうかを指定します。表示される値は yes または no です。

–c, –-parseable

安定したマシン解析可能な形式を使用して表示します。–c には –o オプションが必要です。下の「解析可能な出力形式」のセクションを参照してください。

evsadm create-evs [–T <tenantname>] [–p {<prop>=<val>[,...]}[,..]] <evsname>

evsname という名前の EVS を作成します。テナント名が指定されている場合、EVS はそのテナントの名前空間内に作成されます。それ以外の場合は、デフォルトのテナント sys-global 内に作成されます。

–T, –-Tenant

–T オプションの詳細は、前述の「概念」のセクションを参照してください。

–p {<prop>=<val>[,...]}[,..], –-prop {<prop>=<val>[,...]}[,..]

作成されている EVS の指定された値に設定する EVS プロパティーのコンマ区切りリスト。サポートされるプロパティーの詳細は、下の「EVS プロパティー」のセクションを参照してください。

evsadm delete-evs [–T <tenantname>] <evsname>

指定された EVS を削除します。いずれかの VPort が使用中の場合、この操作は失敗します。VPort が使用中になるのは、それに VNIC が接続されている場合です。どの VPort も使用中でない場合は、この操作によって、EVS に関連付けられたすべての VPort および IPnet が削除されます。show-evs の出力の「STATUS」フィールドには、EVS がビジーまたはアイドルのどちらの状態にあるかが表示されます。

–T, –-Tenant

–T オプションの詳細は、前述の「概念」のセクションを参照してください。

evsadm show-evs [–f {<fname>=<val>[,...]}[,...]] [[–c] –o <field>[,...]] [<evsname>]

EVS コントローラによって管理されているすべての EVS か、または指定された EVS に関する EVS 情報を表示します。

–f {<fname>=<val>[,...]}[,...], –-filter {<fname>=<val>[,...]}[,...]

出力をフィルタ処理するために使用される、コンマで区切られた名前と値のペア (行の選択)。複数のフィルタが指定されている場合、表示される出力は、フィルタ間での AND 操作の結果です。フィルタ値が複数値である場合、表示される出力は、フィルタ値間での OR 操作の結果です。サポートされるフィルタは次のとおりです。

tenant

テナント名で EVS をフィルタ処理する

evs

EVS 名で EVS をフィルタ処理する

host

ホスト名で EVS をフィルタ処理する

ipnet

IPnet 名で EVS をフィルタ処理する

vport

VPort 名で EVS をフィルタ処理する


注 -  EVS は、そのプロパティー名でフィルタ処理できます。そのため、すべての EVS プロパティーが有効なフィルタです。EVS プロパティーのリストについては、下の「EVS プロパティー」のセクションを参照してください。
–L, –-l2-type

EVS は、分離された L2 セグメントを表します。これを実装または実現するために、Flat (タグなし)、VLAN、または VXLAN が使用されます。このオプションは、次のフィールドを通してその情報を提供します。

EVS

EVS の名前

TENANT

EVS を所有するテナントの名前

L2TYPE

L2 ネットワークのタイプ

VID

EVS を実装するために使用される VLAN ID

VNI

EVS を実装するために使用される VXLAN セグメント ID

–o <field>[,...], –-output=<field>[,...]

表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリスト (列の選択)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値allにする必要があります。

EVS

EVS の名前

TENANT

EVS を所有するテナントの名前

STATUS

EVS がアイドルまたはビジーのどちらの状態にあるか。EVS がビジー状態になるのは、その EVS に、VNIC が接続されている VPort が少なくとも 1 つ存在する場合です。

NVPORTS

EVS に関連付けられた仮想ポートの数。

IPNETS

EVS に関連付けられた IP ネットワークのリスト。現在、EVS に関連付けることができる IP ネットワークは 1 つだけです。

HOST

EVS がまたがるホストのリスト。

–c, –-parseable

安定したマシン解析可能な形式を使用して表示します。–c には –o オプションが必要です。下の「解析可能な出力形式」を参照してください。

evsadm add-ipnet [–T <tenantname>] –p subnet=<val>[{,<prop>=<val>[,...]}[,...]] <evsname>/<ipnetname>

指定された EVS evsnameipnetname という名前の IPnet を追加します。テナント名が指定されている場合は、その IPnet が、テナント tenantname の名前空間内の EVS evsname に関連付けられます。

–T, –-Tenant

–T オプションの詳細は、前述の「概念」のセクションを参照してください。

–p {<prop>=<val>[,...]}[,..], –-prop {<prop>=<val>[,...]}[,..]

作成されている EVS の指定された値に設定する IPnet プロパティーのコンマ区切りリスト。サポートされるプロパティーの詳細は、下の「IPnet プロパティー」のセクションを参照してください。「subnet」は必須プロパティーであり、それが指定されていない場合は操作が失敗することに注意してください。

evsadm remove-ipnet [–T <tenantname>] <evsname>/<ipnetname>

指定された IPnet ipnetname を EVS evsname から削除します。いずれかの VPort が使用中の場合、この操作は失敗します。VPort が使用中になるのは、それに VNIC が接続されている場合です。

–T, –-Tenant

–T オプションの詳細は、前述の「概念」のセクションを参照してください。

evsadm show-ipnet [–f {<fname>=<val>[,...]}[,...]] [[–c] –o <field>[,...]] [ipnetname]

EVS コントローラによって管理されているすべての IPnet か、または指定された IPnet に関する IPnet 情報を表示します。

–f {<fname>=<val>[,...]}[,...], -filter {<fname>=<val>[,...]}[,...]

出力をフィルタ処理するために使用される、コンマで区切られた名前と値のペア (行の選択)。複数のフィルタが指定されている場合、表示される出力は、フィルタ間での AND 操作の結果です。フィルタ値が複数値である場合、表示される出力は、フィルタ値間での OR 操作の結果です。サポートされるフィルタは次のとおりです。

tenant

テナント名で IPnet をフィルタ処理する

evs

EVS 名で IPnet をフィルタ処理する

ipnet

IPnet 名で IPnet をフィルタ処理する

host

ホスト名で IPnet をフィルタ処理する

IPnet は、そのプロパティー名でフィルタ処理できます。そのため、すべての IPnet プロパティーが有効なフィルタです。IPnet プロパティーのリストについては、下の「IPnet プロパティー」のセクションを参照してください。

–o <field>[,...], –-output=<field>[,...]

表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリスト (列の選択)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値allにする必要があります。

NAME

IPnet の名前と、それが関連付けられている EVS の名前。その形式は evsname/ipnetname です。

IPNET

IPnet の名前

EVS

EVS の名前

TENANT

EVS を所有するテナントの名前。

SUBNET

この IPnet のサブネット (IPv4 または IPv6 のどちらか) を表します。

START

IP アドレス範囲の開始アドレス。

END

IP アドレス範囲の終了アドレス。

DEFROUTER

指定された IPnet のデフォルトルーターの IP アドレス。

AVAILRANGE

VPort に割り当てることのできる使用可能な IP アドレスのコンマ区切りリスト。

–c, –-parseable

安定したマシン解析可能な形式を使用して表示します。–c には –o オプションが必要です。下の「解析可能な出力形式」を参照してください。

evsadm add-vport [–T <tenantname>] [–p {<prop>=val[,...]}[,...]] <evsname>/<vportname>

指定された EVS evsnamevportname という名前の 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, –-Tenant

–T オプションの詳細は、前述の「概念」のセクションを参照してください。

–p {<prop>=<val>[,...]}[,..]

作成されている VPort の指定された値に設定する VPort プロパティーのコンマ区切りリスト。サポートされるプロパティーの詳細は、下の「仮想ポートのプロパティー」のセクションを参照してください。

evsadm remove-vport [–T <tenantname>] <evsname>/<vportname>

指定された VPort を削除します。VPort が削除されると、その VPort に関連付けられた IP アドレスと MAC アドレスが解放されます。

この VPort に関連付けられた VNIC が存在する場合は、VPort の削除が失敗することに注意してください。

–T, –-Tenant

–T オプションの詳細は、前述の「概念」のセクションを参照してください。

evsadm reset-vport [–T <tenantname>] <evsname>/<vportname>

指定された VPort をリセットします。VPort が実際には存在しない VNIC に関連付けられている場合は、この VPort をリセットすることによって解放できます。システム VPort はリセットによって削除されます。

–T, –-Tenant

–T オプションの詳細は、前述の「概念」のセクションを参照してください。

evsadm show-vport [–f {<fname>=<val>[,...]}[,...]] [[–c] –o <field>[,...]] [[<evsname>/][<vportname>]]

EVS コントローラによって管理されているすべての VPort か、または指定された VPort に関する VPort 情報を表示します。

–f {<fname>=<val>[,...]}[,...], –-filter {<fname>=<val>[,...]}[,...]

出力をフィルタ処理するために使用される、コンマで区切られた名前と値のペア (行の選択)。複数のフィルタが指定されている場合、表示される出力は、フィルタ間での AND 操作の結果です。フィルタ値が複数値である場合、表示される出力は、フィルタ値間での OR 操作の結果です。サポートされるフィルタは次のとおりです。

tenant

テナント名で VPort をフィルタ処理する

evs

EVS 名で VPort をフィルタ処理する

vport

VPort 名で VPort をフィルタ処理する

host

ホスト名で VPort をフィルタ処理する

VPort は、そのプロパティー名でフィルタ処理できます。そのため、すべての VPort プロパティーが有効なフィルタです。VPort プロパティーのリストについては、下の「VPort プロパティー」のセクションを参照してください。

–o <field>[,...], –-output=<field>[,...]

表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリスト (列の選択)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値allにする必要があります。

NAME

VPort の名前と、それが関連付けられている EVS の名前。その形式は evsname/vportname です。

VPORT

VPort の名前

EVS

EVS の名前

TENANT

EVS を所有するテナントの名前

STATUS

VPort が使用中かどうか。VPort が使用中になるのは、それに VNIC が関連付けられている場合です。それ以外の場合は、使用可能です。

VNIC

この VPort に関連付けられた VNIC の名前。

HOST

この VPort に関連付けられた VNIC が存在するホスト。

–c, –-parseable

安定したマシン解析可能な形式を使用して表示します。–c には –o オプションが必要です。下の「解析可能な出力形式」を参照してください。

evsadm set-evsprop [–T <tenantname>] –p <prop>=[<val>[,...]] <evsname>

指定された evsname のプロパティーの値を設定します。EVS プロパティーとその指定可能な値のリストについては、下の「EVS プロパティー」のセクションを参照してください。これらのプロパティーは、show-evsprop サブコマンドを使用して取得できます。

–T, –-Tenant

–T オプションの詳細は、前述の「概念」のセクションを参照してください。

–p <prop>=[<val>[,...]], –-prop <prop>=[<val>[,...]]

指定された値に設定するプロパティーの名前。<val> が指定されていない場合、プロパティーはそのデフォルト値にリセットされることに注意してください。

evsadm show-evsprop [–f {<fname>=<val>[,...]}[,...] [[–c] –o <field>[,...]] [–p <prop>[,...]] [evsname]

すべての EVS または指定された EVS の 1 つまたは複数のプロパティーの現在の値を表示します。プロパティーが指定されていない場合は、使用可能なすべての EVS プロパティーが表示されます。EVS プロパティーのリストについては、下の「EVS プロパティー」のセクションを参照してください。

–f {<fname>=<val>[,...]}[,...], –-filter {<fname>=<val>[,...]}[,...]

出力をフィルタ処理するために使用される、コンマで区切られた名前と値のペア (行の選択)。複数のフィルタが指定されている場合、表示される出力は、フィルタ間での AND 操作の結果です。フィルタ値が複数値である場合、表示される出力は、フィルタ値間での OR 操作の結果です。サポートされるフィルタは次のとおりです。

tenant

テナント名で EVS をフィルタ処理する

evs

EVS 名で EVS をフィルタ処理する

host

ホスト名で EVS をフィルタ処理する

–o <field>[,...], –-output=<field>[,...]

表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリスト (列の選択)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値allにする必要があります。

EVS

EVS の名前

TENANT

EVS を所有するテナントの名前

PROPERTY

EVS プロパティーの名前

PERM

プロパティーの読み取り権と書き込み権。表示される値は、r- または rw のどちらかです。

VALUE

現在のプロパティー値。値が設定されていない場合は、「--」と表示されます。値が不明な場合は、「?」と表示されます。

EFFECTIVE

システムによって選択される有効なプロパティー値。システムは、VPort プロパティーを次の順序で選択します。

  1. 現在の VPort プロパティー値

  2. 現在の EVS プロパティー値

  3. デフォルトの VPort プロパティー値

DEFAULT

プロパティーのデフォルト値。プロパティーにデフォルト値がない場合は、「--」が表示されます。

POSSIBLE

プロパティーに設定できる値のコンマ区切りのリスト。値に数値の範囲がある場合は、短縮形としてmin-maxが表示される可能性があります。指定可能な値が不明または無限の場合は、「--」が表示されます。

evsadm set-vportprop [–T <tenantname>] –p <prop>=[<val>[,...]] <evsname>/<vportname>

指定された vportname のプロパティーの値を設定します。VPort プロパティーとその指定可能な値のリストについては、下の「仮想ポートのプロパティー」のセクションを参照してください。これらのプロパティーは、show-vportprop サブコマンドを使用して取得できます。

VPort に VNIC が接続されている場合は、その VPort のプロパティーを設定すると VNIC のプロパティーも変更されます。

システム VPort のプロパティーの変更は許可されていないことに注意してください。システム VPort の詳細は、add-vport サブコマンドを参照してください。

–T, –-Tenant

–T オプションの詳細は、前述の「概念」のセクションを参照してください。

–p <prop>=[<val>[,...]], –-prop <prop>=[<val>[,...]]

指定された値に設定するプロパティーの名前。<val> が指定されていない場合、プロパティーはそのデフォルト値にリセットされることに注意してください。

evsadm show-vportprop [–f {<fname>=<val>[,...]}[,...] [[–c] –o <field>[,...]] [–p <prop>[,...]] [[evsname/][vportname]]

すべての VPort または指定された VPort の 1 つまたは複数のプロパティーの現在の値を表示します。プロパティーが指定されていない場合は、使用可能なすべての VPort プロパティーが表示されます。VPort プロパティーのリストについては、下の「仮想ポートのプロパティー」のセクションを参照してください。

[–f {<fname>=<val>[,...]}[,...], –-filter <fname>=<val>[,...]

出力をフィルタ処理するために使用される、コンマで区切られた名前と値のペア (行の選択)。複数のフィルタが指定されている場合、表示される出力は、フィルタ間での AND 操作の結果です。フィルタ値が複数値である場合、表示される出力は、フィルタ値間での OR 操作の結果です。サポートされるフィルタは次のとおりです。

tenant

テナント名で VPort をフィルタ処理する

evs

EVS 名で VPort をフィルタ処理する

vport

VPort 名で VPort をフィルタ処理する

host

ホスト名で VPort をフィルタ処理する

–o <field>[,...], –-output=<field>[,...]

表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリスト (列の選択)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値allにする必要があります。

NAME

VPort の名前と、それが関連付けられている EVS の名前。その形式は evsname/vportname です。

VPORT

VPort の名前

EVS

EVS の名前

TENANT

EVS を所有するテナントの名前

PROPERTY

VPort プロパティーの名前

PERM

プロパティーの読み取り権と書き込み権。表示される値は、r- または rw のどちらかです。

VALUE

現在のプロパティー値。値が設定されていない場合は、「--」と表示されます。値が不明な場合は、「?」と表示されます。

DEFAULT

プロパティーのデフォルト値。プロパティーにデフォルト値がない場合は、「--」が表示されます。

POSSIBLE

プロパティーに設定できる値のコンマ区切りのリスト。値に数値の範囲がある場合は、短縮形としてmin-maxが表示される可能性があります。指定可能な値が不明または無限の場合は、「--」が表示されます。

evsadm set-ipnetprop [–T <tenantname>] –p {<prop>=[<val>[,...]]}[,...] <evsname>/<ipnetname>

指定された ipnetname でプロパティーの値を設定します。IPnet プロパティーとその指定可能な値のリストについては、下の IP ネットワークのプロパティーに関するセクションを参照してください。これらのプロパティーは、show-ipnetprop サブコマンドを使用して取得できます。

–T, –-Tenant

–T オプションの詳細は、前述の「概念」のセクションを参照してください。

–p <prop>=[<val>[,...]], –-prop <prop>=[<val>[,...]]

指定された値に設定するプロパティーの名前。<val> が指定されていない場合、プロパティーはそのデフォルト値にリセットされることに注意してください。

evsadm show-ipnetprop [–f {<fname>=<val>[,...]}[,...] [[–c] –o <field>[,...]] [–p <prop>[,...]] [[evsname/][ipnetname]]

すべての IPnet または指定された IPnet の 1 つまたは複数のプロパティーの現在の値を表示します。プロパティーが指定されていない場合は、使用可能なすべての IPnet プロパティーが表示されます。IPnet プロパティーのリストについては、下の IP ネットワークのプロパティーに関するセクションを参照してください。

[–f {<fname>=<val>[,...]}[,...], –-filter <fname>=<val>[,...]

出力をフィルタ処理するために使用される、コンマで区切られた名前と値のペア (行の選択)。複数のフィルタが指定されている場合、表示される出力は、フィルタ間での AND 操作の結果です。フィルタ値が複数値である場合、表示される出力は、フィルタ値間での OR 操作の結果です。サポートされるフィルタは次のとおりです。

tenant

テナント名で IPnet をフィルタ処理する

evs

EVS 名で IPnet をフィルタ処理する

ipnet

IPnet 名で IPnet をフィルタ処理する

host

ホスト名で IPnet をフィルタ処理する

–o <field>[,...], –-output=<field>[,...]

表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリスト (列の選択)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値 all にする必要があります。

NAME

IPnet の名前と、それが関連付けられている EVS の名前。その形式は evsname/ipnetname です

IPNET

IPnet の名前

EVS

EVS の名前

TENANT

EVS を所有するテナントの名前

PROPERTY

IPnet プロパティーの名前

PERM

プロパティーの読み取り権と書き込み権。表示される値は、r- または rw のどちらかです

VALUE

現在のプロパティー値。値が設定されていない場合は、「--」と表示されます。値が不明な場合は、「?」と表示されます

DEFAULT

プロパティーのデフォルト値。プロパティーにデフォルト値がない場合は、「--」が表示されます

POSSIBLE

プロパティーに設定できる値のコンマ区切りのリスト。値に数値の範囲がある場合は、短縮形としてmin-maxが表示される可能性があります。指定可能な値が不明または無限の場合は、「--」が表示されます。

evsadm help [subcommand-name]

サポートされるすべての evsadm サブコマンドまたは特定のサブコマンドの使用法を表示します。特定のサブコマンドのヘルプを呼び出すと、そのコマンド構文が表示されます。evsadm ヘルプを引数なしで使用すると、サポートされるすべてのサブコマンドが表示されます。

解析可能な出力形式

evsadm サブコマンドの多くには、出力をマシン解析可能な形式で表示するオプションがあります。この出力形式は、コロン (:) で区切られたフィールドで構成された 1 つ以上の行です。表示されるフィールドは、使用されているサブコマンドに固有のもので、特定のサブコマンドの –o オプションに対するエントリの下に一覧表示されます。出力には、–o オプションを使用して要求されたフィールドのみが、要求された順序で表示されます。

複数のフィールドをリクエストした場合、すべてのコロン文字は、バックスラッシュ (\) でエスケープされてから出力されます。同様に、バックスラッシュ文字もエスケープされます (\\)。このエスケープ形式は、シェルの read(1) 関数を環境変数 IFS=: とともに使用することによって解析できます (下の「使用例」を参照)。1 つのフィールドのみを要求した場合はエスケープが実行されないことに注意してください。

コントローラプロパティー

これらのプロパティーは、仮想スイッチまたは L2 セグメントの複数の物理マシンにまたがった実装に不可欠な情報を保持します。ほとんどのプロパティーでは、適用範囲や適用性は本質的に、データセンター全体またはグローバルです。ただし、その値をホストごとにオーバーライドできるいくつかのプロパティー、つまり uriuplink-port、および vxlan-addr が存在します。

l2-type

EVS を複数の物理マシンにまたがって実装する方法を定義します。指定可能な値は、「flat」(タグなし)、「vlan」、または「vxlan」です。デフォルトでは、l2-type は「vlan」です。l2-type を変更しても、その変更の前に作成された EVS には影響しないことに注意してください。変更のあとに作成された EVS のみが新しい l2-type になります。つまり、Flat、VLAN、および VXLAN に基づいた L2 セグメントは共存できます。

Flat を実現するために、EVS のすべての VPort が同じネットワーク上に配置されます (これらはまた、ホストとも共有できます)。このような VPort 上では、パケットはタグ付けされません。flat l2-type EVS に接続するすべての VNIC (したがって VM インスタンス) が、VLAN ID が 0 に設定されて作成されます。このような EVS は、既存の物理ネットワークに直接マップするために使用されます。

VLAN を実現するために、EVS のすべての VPort が同じ VLAN ID に関連付けられます。使用する VLAN ID は、vlan-range プロパティーから取得されます。この l2-type は、これらの VLAN 上のパケットを送受信するように物理ネットワークが構成されていること、または Oracle Solaris やスイッチファブリックで GVRP などのプロトコルが有効になっていることを前提にしています。少なくとも、vlan-rangeuplink-port を指定する必要があります。そうしないと、EVS の作成が失敗します。

VXLAN を実現するために、EVS のすべての VPort が同じ VXLAN ID に関連付けられます。使用する VXLAN ID は、vxlan-range プロパティーから取得されます。vxlan-addrvxlan-groupvxlan-ipversuplink-port などのその他の VXLAN プロパティーは、VXLAN の作成方法に影響を与えます。少なくとも、vxlan-range と、uplink-port または vxlan-addr のどちらかを指定する必要があります。そうしないと、EVS の作成が失敗します。

vlan-range

EVS の作成に使用される VLAN ID の範囲のコンマ区切りリスト。EVS が作成されるたびに、1 つの VLAN ID が消費されます。VLAN ID によって、パケットが EVS 間で分離されます。有効な値は [1-4094] です。

vxlan-range

EVS の作成に使用できる VXLAN セグメント番号の範囲のコンマ区切りリスト。EVS が作成されるたびに、1 つの VXLAN セグメント番号が消費されます。VXLAN セグメント番号によって、レイヤー 2 が EVS 間で分離されます。有効な値は [0 - 16777215] です。

vxlan-addr

VXLAN データリンク作成の基になる IP アドレスを指定します。これは、サブネットアドレスにも設定できます。

vxlan-mgroup

VXLAN リンクの作成中に使用する必要のあるマルチキャストアドレス。VXLAN リンクは、このアドレスを使用して、同じ VXLAN セグメント上のほかの VXLAN リンクを検出します。このプロパティーが設定されていない場合は、デフォルトの all-host アドレスが VXLAN リンクによって使用されます。

vxlan-ipvers

VXLAN データリンクをホストする IP インタフェースに使用する必要のあるアドレスの IP バージョンを表します。指定可能な値は「v4」および「v6」です。デフォルト値は「v4」です。

uplink-port

Flat、VLAN、および VXLAN のネットワークタイプに使用されるデータリンクを指定します。

uuid

データセンター内の EVS コントローラを一意に識別する ID。これは読み取り専用プロパティーであり、その値は、EVS コントローラがインストールされたときに自動的に生成されます。

uri_template

実際の RAD URI (rad(8) を参照) スキームが EVS コントローラによって計算される元のテンプレートを指定します。計算された RAD URI は、EVS コントローラと EVS ノードの間で使用されます。uri_template 値の形式は、ssh://[username@] または unix://[username@] です。使用法については、下の「使用例」のセクションを参照してください。

IPnet プロパティー

subnet

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 進数です。

defrouter

デフォルトルーターは、特定のサブネットに対するゲートウェイの IP アドレスを指定します。これはオプションであり、指定されていない場合は、範囲内の最初のアドレスがデフォルトルーター IP アドレスとして選択されます。

pool

サブネット内の IP アドレスのサブ範囲を表します。仮想ポートに割り当てられる IP アドレスは、サブネット全体ではなくプールから選択されます。複数の範囲はコンマで区切って指定できますが、それらの範囲が互いに重なり合うことはできません。各範囲の形式は start_ip_address-end_ip_address です。start_ip_address および end_ip_address はサブネット内にある必要があります。

仮想ポートのプロパティー

cos

仮想ポート上のアウトバウンドパケットの 802.1p 優先度を設定します。値の範囲は 0 - 7 です。このプロパティーを設定すると、仮想ポート上のすべてのアウトバウンドパケットに VLAN タグが付けられ、優先度フィールドがプロパティー値に設定されます。これを使用すると、VPort にまたがる差別化サービスを提供できます。

maxbw

仮想ポートの全二重帯域幅を設定します。この帯域幅は、いずれかのスケールサフィックス (K ビット/秒、M ビット/秒、または G ビット/秒を示す K、M、または G) が付いた整数として指定されます。単位が指定されていない場合、入力値は Mbps として読み取られます。デフォルトでは、帯域幅の制限はありません。

priority

仮想ポートの相対的な優先度を設定します。この値は、トークン high、medium、low のいずれかとして指定できます。デフォルトは medium です。この優先度は、回線上のどのプロトコル優先度フィールドでも反映されませんが、システム内のパケット処理スケジューリングに使用されます。優先度の高いリンクでは、システムリソースの可用性に応じて待機時間が短縮されます。

protection

リンク保護の 1 つ以上のタイプを有効にします。これはデータリンクの protection プロパティーと同じです。有効な値は次のとおりです。

mac-nospoof

MAC アドレスのスプーフィング対策。送信パケットの発信元 MAC アドレスが、そのリンクの構成済み MAC アドレスに一致している必要があります。一致していないパケットはドロップされます。

ip-nospoof

IP アドレスのスプーフィング対策。アウトバウンドパケットの送信元 IP アドレスは、VPort の IP アドレス、DHCP 応答から学習された IPv4/IPv6 アドレス、RFC 2464 に準拠したリンクローカル IPv6 アドレス、および指定されない (すべて 0 の) IPv4/IPv6 アドレスと一致する必要があります。

アウトバウンド ARP パケットは、その送信側プロトコルアドレスが VPort の IP アドレスに含まれている場合に通過できます。

dhcp-nospoof

DHCPv4 パケットのクライアント ID は、VPort の MAC アドレスと一致する必要があります。DHCPv6 パケットの DUID のタイプが 1 または 3 で、DUID のリンクレイヤーアドレス部が VPort の MAC アドレスに一致している必要があります。

restricted

送信パケットのタイプを IPv4、IPv6、および ARP だけに制限します。

none

保護は適用されません

ipaddr

この仮想ポートに関連付けられた IP アドレスを表します。VNIC が VPort に接続すると、このアドレスがその VNIC に適用されます。デフォルトでは、EVS コントローラは、EVS に関連付けられた IPnet から IP アドレスを自動的に選択します。ゾーンや VNIC に特定の IP アドレスを割り当てる必要がある場合は、VPort を EVS に追加するときに ipaddr を目的の IP アドレスに手動で設定することによって、それを実現できます。

VPort が作成されたあとは、evsadm set-vportprop コマンドでその IP アドレスを変更することはできません。

macaddr

この仮想ポートに関連付けられた MAC アドレスを表します。この VPort に接続した VNIC は、基本的に VPort から MAC アドレスを継承します。デフォルトでは、EVS コントローラは、VPort のランダムな MAC アドレスを生成します。VNIC に特定の MAC アドレスを割り当てる必要がある場合は、VPort を EVS に追加するときに macaddr を目的の MAC アドレスに手動で設定することによって、それを実現できます。

VPort が作成されたあとは、evsadm set-vportprop コマンドでその MAC アドレスを変更することはできません。

evs

VPort が関連付けられている EVS を表す読み取り専用プロパティー。

tenant

VPort が関連付けられているテナントを表す読み取り専用プロパティー。

EVS プロパティー

maxbw

上の「仮想ポートのプロパティー」のセクションを参照してください。これにより、EVS の各仮想ポートに関連付けられるデフォルトの maxbw が定義されます。

priority

上の「仮想ポートのプロパティー」のセクションを参照してください。これにより、EVS の各仮想ポートに関連付けられるデフォルトの優先度が定義されます。

tenant

EVS が関連付けられているテナントを表す読み取り専用プロパティー。

l2-type
vlan-id
vni

詳細は、前述の「コントローラプロパティー」のセクションを参照してください。これらのプロパティーは、EVS が実装されるネットワークタイプ (flat、vlan、または vxlan) と、vlan および vxlan ネットワークタイプに対応するセグメンテーション ID を指定します。基本的に、l2-type を使用するとデフォルトのコントローラ設定をオーバーライドできます。

protection

「仮想ポートのプロパティー」のセクションを参照してください。設定された場合は、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          --

EVS フレームワーク内の参加しているすべてのノードが同じ物理マシン上に存在するため、SSH の代わりに単にローカル接続 (UNIX ドメインソケット) を使用して次の接続が可能になります。

  • EVS マネージャー (evsadm(8)) から EVS コントローラ。

  • EVS クライアント (dladm(8) および zoneadmd(8)) から EVS コントローラ。

これは、次を使用して実現できます。

# evsadm set-prop -p controller=unix://
# evsadm show-prop
NAME            VALUE                                     DEFAULT
controller      unix://                                   --
使用例 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.comhost3.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 flat l2-type の EVS を作成する

FLAT VNIC を作成するために EVS ノード上のどのアップリンクポートを使用するかを定義します。

# evsadm set-controlprop -p uplink-port=net0,flat=yes

ここで Flat EVS を作成し、それにサブネットを関連付けたあと、一連の VPort を追加します。

# evsadm create-evs -p l2-type=flat evs0
# evsadm show-evs -L
EVS           TENANT        L2TYPE VID  VNI
evs0          sys-global    flat   --   --
# evsadm add-ipnet -p subnet=192.168.100.0/24 evs0/ipnet0
# evsadm add-vport evs0/vport0
# evsadm add-vport evs0/vport1
# evsadm add-vport evs0/vport2

これにより、evs0 の 3 つのすべての VPort が同じネットワーク上に配置され、これらの VPort 上の送信パケットはタグなしになります。

使用例 6 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 --       --
使用例 7 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 --       --
# evsadm	show-vportprop HR/
  
NAME	    TENANT        PROPERTY  PERM  VALUE     EFFECTIVE  POSSIBLE
HR/vport0   sys-global   cos	    rw    3	     3          0-7
HR/vport0   sys-global   maxbw      rw    --        --	       
HR/vport0   sys-global   priority   rw	--	    medium    low,medium,
HR/vport0   sys-global   ipaddr     r-	192.168.13.2/24 192.168.13.2/24  --
HR/vport0   sys-global   macaddr    r-	2:8:20:5c:cb:a5 2:8:20:5c:cb:a5  --
HR/vport0   sys-global   evs	    r-	HR	    --         --
HR/vport0   sys-global   tenant     r-	sys-global --        --
使用例 8 仮想ポートを削除する
# evsadm remove-vport HR/vport0

VPort が使用中の場合は、上の操作が失敗することに注意してください。

使用例 9 IPnet を削除する
# evsadm remove-ipnet HR/hr_ipnet

IP サブネット内の IP アドレスが使用中の場合は、上の操作が失敗することに注意してください。

使用例 10 EVS を削除する
# evsadm delete-evs HR

EVS の VPort が使用中の場合は、上の操作が失敗することに注意してください。

使用例 11 テナントの EVS を作成し、IPnet と VPort を関連付ける

次の例では、テナント tenantA の EVS evsA を作成し、それに IPnet として 192.168.100.0/24 を関連付け、VPort を 1Gmaxbw に関連付けます。

# 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
使用例 12 EVS ノードごとの RAD 接続を指定する

VPort プロパティーをプッシュしたり、VPort 統計を取得したりするために、EVS コントローラは EVS ノードに接続します。RAD 接続をどのように作成する必要があるかは、uri_template コントローラプロパティーによって制御できます。このプロパティーは、すべての EVS ノードにグローバルに適用されます。ただし、別のタイプの接続を指定する必要がある EVS ノードの場合は、このグローバル値をそのホスト用にオーバーライドできます。

この値の形式は、ssh://[username@] または unix://[username@] です。

# evsadm show-controlprop -p uri_template
PROPERTY          PERM VALUE       DEFAULT   HOST
uri_template      rw   ssh://      ssh://    --

これは基本的に、EVS ノードごとの RAD 接続がすべて SSH を使用すべきであり、かつ evsadm を実行しているユーザーを SSH ユーザーとして使用すべきであることを示します。

# evsadm set-controlprop -p uri_template=ssh://evsuser
# evsadm show-controlprop -p uri_template
PROPERTY          PERM VALUE           DEFAULT   HOST
uri_template      rw   ssh://evsuser   ssh://    -

これは基本的に、EVS ノードごとの RAD 接続がすべて SSH を使用すべきであることを示します。ただし、SSH ユーザーについては代わりに evsuser を使用します。

# evsadm set-controlprop -p uri_template=unix://
# evsadm show-controlprop -p uri_template
PROPERTY          PERM VALUE       DEFAULT   HOST
uri_template      rw   unix://     unix://   --

単一サーバー EVS の場合 (つまり、EVS フレームワーク内の参加しているすべてのノードが同じ物理マシン上に存在する場合) は、SSH の必要性はなく、ローカル接続 (UNIX ドメインソケット) だけを使用できます。

# evsadm set-controlprop -h evs-controller.example.com -p uri_template=unix://
# evsadm show-controlprop -p uri_template
PROPERTY          PERM VALUE       DEFAULT   HOST
uri_template      rw   ssh://      ssh://    --
uri_template      rw   unix://     unix://   evs-controller.example.com

これは基本的に、ローカル接続が使用される evs-controller.example.com を除き、EVS ノードごとの RAD 接続がすべて、デフォルトの SSH であるべきであることを示します。

使用例 13 指定された IP ネットワークのプール (サブネットの IPv4 または IPv6 アドレスのサブ範囲) の指定
# evsadm create-evs HR
# evsadm add-ipnet HR/ipnet0 -p subnet=10.0.0.0/24
# evsadm set-ipnetprop -p pool=10.0.0.10-10.0.0.15 HR/ipnet0
# evsadm show-ipnetprop -p pool HR/ipnet0

NAME              TENANT      PROPERTY  PERM VALUE         DEFAULT   POSSIBLE
HR/ipnet0         sys-global  pool      rw   10.0.0.10-10.0.0.15 --  --

# evsadm add-vport HR/vport0
# evsadm add-vport HR/vport1
# evsadm add-vport HR/vport2
# evsadm add-vport HR/vport3
# evsadm add-vport HR/vport4
# evsadm add-vport HR/vport5
# evsadm add-vport HR/vport6
evsadm: vport addition failed: insufficient resource

# evsadm
NAME          TENANT        STATUS VNIC         IP                HOST
HR            sys-global    idle   --           ipnet0            --
   vport0     --            free   --           10.0.0.10/24      --
   vport1     --            free   --           10.0.0.11/24      --
   vport2     --            free   --           10.0.0.12/24      --
   vport3     --            free   --           10.0.0.13/24      --
   vport4     --            free   --           10.0.0.14/24      --
   vport5     --            free   --           10.0.0.15/24      --

# evsadm set-ipnetprop -p pool=10.0.0.10-10.0.0.20 HR/ipnet0
# evsadm add-vport HR/vport6
# evsadm add-vport HR/vport7
# evsadm
NAME          TENANT        STATUS VNIC         IP                HOST
HR            sys-global    idle   --           ipnet0            --
   vport0     --            free   --           10.0.0.10/24      --
   vport1     --            free   --           10.0.0.11/24      --
   vport2     --            free   --           10.0.0.12/24      --
   vport3     --            free   --           10.0.0.13/24      --
   vport4     --            free   --           10.0.0.14/24      --
   vport5     --            free   --           10.0.0.15/24      --
   vport6     --            free   --           10.0.0.16/24      --
   vport7     --            free   --           10.0.0.17/24      --

# evsadm add-vport HR/vport8 -p ipaddr=10.0.0.100
# evsadm
NAME          TENANT        STATUS VNIC         IP                HOST
HR            sys-global    idle   --           ipnet0            --
  vport8     --            free   --           10.0.0.100/24     --
  vport0     --            free   --           10.0.0.10/24      --
  vport1     --            free   --           10.0.0.11/24      --
  vport2     --            free   --           10.0.0.12/24      --
  vport3     --            free   --           10.0.0.13/24      --
  vport4     --            free   --           10.0.0.14/24      --
  vport5     --            free   --           10.0.0.15/24      --
  vport6     --            free   --           10.0.0.16/24      --
  vport7     --            free   --           10.0.0.17/24      --
# evsadm set-ipnetprop -p pool= HR/ipnet0

上記の呼び出しにより、プールがデフォルトゲートウェイの IP を除くサブネット範囲全体にリセットされます。

# evsadm show-ipnetprop -p pool HR/ipnet0

NAME              TENANT      PROPERTY  PERM VALUE         DEFAULT   POSSIBLE
HR/ipnet0         sys-global  pool      rw   10.0.0.2-10.0.0.254 --  --

この場合、HR に追加されるすべての VPort が指定されたプール内からの IP アドレスを取得します。プール内に割り当てる IP アドレスがなくなった場合は、VPort の追加に失敗します。プール外部のアドレスを使用するには、VPort の作成時に -p ipaddr=<IP address> を明示的に使用する必要があります。

使用例 14 指定されたホストからの複数のアップリンクポートを使用した接続
# evsadm set-controlprop -p vlan-range=200-300
# evsadm set-controlprop -h host1 -p uplink-port=net0,vlan-range=200-250
evsadm: warning: provided value range is a subset of the complete range. Ensure to provide the 
remaining value range on a different uplink-port or vxlan-addr
# evsadm set-controlprop -h host1 -p uplink-port=net1,vlan-range=251-300
# evsadm show-controlprop -p uplink-port -o property,perm,value,default,
          vlan_range,vxlan_range,host

PROPERTY          PERM VALUE       DEFAULT   VLAN_RANGE  VXLAN_RANGE HOST
uplink-port       rw   net0        --        200-300     --          --
uplink-port       rw   net0        --        200-250     --          host1
uplink-port       rw   net1        --        251-300     --          host1

# evsadm create-evs evs0 -p vlanid=200
# evsadm create-evs evs1 -p vlanid=251
# evsadm show-evs -L
EVS           TENANT        VID  VNI
evs0          sys-global    200  --
evs1          sys-global    251  --

# evsadm add-ipnet evs0/ipnet0 -p subnet=10.0.0.0/24
# evsadm add-ipnet evs1/ipnet1 -p subnet=10.0.1.0/24
# dladm create-vnic -c evs0 -t vnic0
# dladm create-vnic -c evs1 -t vnic1
# dladm show-vnic
LINK                OVER              SPEED  MACADDRESS        MACADDRTYPE VIDS
vnic0               net0              1000   2:8:20:d4:d7:d5   fixed       200
vnic1               net1              1000   2:8:20:a:11:40    fixed       251

# evsadm set-controlprop -h host1 -p uplink-port=
# evsadm show-controlprop -p uplink-port -o property,perm,value,default,
          vlan_range,vxlan_range,host
PROPERTY          PERM VALUE       DEFAULT   VLAN_RANGE  VXLAN_RANGE HOST
uplink-port       rw   net0        --        200-300     2000-3000   -- 

これは、host1 には 2 つのアップリンクポート net0 および net1 があり、net0 でサポートされる vlan-range は 200-250、net1 でサポートされる vlan-range は 251-300 であることを意味します。残りのすべてのホストについて、net0 は vlan-range 全体をホストします。ホストの uplink-port プロパティーをリセットすると、そのホストのすべての uplink-port 値がクリアされます。

使用例 15 protection プロパティーの構成
# evsadm create-evs evs0
# evsadm add-ipnet evs0/ipnet0 -p subnet=10.0.0.0/24
# evsadm add-vport evs0/vport0
# evsadm show-vportprop -p protection
NAME              TENANT      PROPERTY  PERM VALUE         EFFECTIVE    POSSIBLE
evs0/vport0       sys-global  protection rw  --            mac-nospoof, mac-nospoof,
			    					   ip-nospoof   restricted,
	            							        ip-nospoof,
	            							        dhcp-nospoof,
	            							        none
# dladm create-vnic -c evs0/vport0 -t vnic0
# dladm show-linkprop vnic0 -p protection
LINK     PROPERTY        PERM VALUE        EFFECTIVE    DEFAULT     POSSIBLE
vnic0    protection      rw   mac-nospoof, mac-nospoof, --          mac-nospoof,
			          ip-nospoof   ip-nospoof               restricted,
										   ip-nospoof,
										   dhcp-nospoof
# evsadm set-vportprop -p protection=none evs0/vport0
# dladm show-linkprop vnic0 -p protection
LINK     PROPERTY        PERM VALUE        EFFECTIVE    DEFAULT   POSSIBLE
vnic0    protection      rw   --           --           --        mac-nospoof,
										 restricted,
										 ip-nospoof,
										 dhcp-nospoof
# evsadm set-vportprop -p protection=restricted evs0/vport0
# dladm show-linkprop vnic0 -p protection
LINK     PROPERTY        PERM VALUE        EFFECTIVE    DEFAULT   POSSIBLE
vnic0    protection      rw   restricted   restricted   --        mac-nospoof,
										 restricted,
										 ip-nospoof,
										 dhcp-nospoof
# evsadm set-vportprop -p protection= evs0/vport0

値を指定しないと、保護をリセットします

# dladm show-linkprop vnic0 -p protection
LINK     PROPERTY        PERM VALUE        EFFECTIVE    DEFAULT   POSSIBLE
vnic0    protection      rw   mac-nospoof, mac-nospoof, --        mac-nospoof,
				    ip-nospoof   ip-nospoof             restricted,
							            	  ip-nospoof,
								              dhcp-nospoof

VPort の protection プロパティーのデフォルト値は、mac-nopsoof, ip-nospoof です。protection プロパティーをリセットすると、値がデフォルト値に復元されます。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
service/network/evs
インタフェースの安定性
確実

関連項目

ssh-keygen(1)prof_attr(5)attributes(7)dladm(8)evsstat(8)rad(8)zonecfg(8)