Go to main content
Oracle® Solaris 11.3 での仮想ネットワークとネットワークリソースの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

EVS コントローラの構成

ネットワークで EVS コントローラとして計算ノードを 1 つだけ構成してから、EVS ノードが EVS コントローラと通信できるように各 EVS ノード上に EVS コントローラを設定する必要があります。ただし、EVS コントローラのプロパティーは、その EVS コントローラと通信できるいずれかのノードから 1 回設定するだけで済みます。EVS コントローラのプロパティーを設定するには、evsadm set-controlprop コマンドを使用します。詳細は、EVS コントローラを構成する方法を参照してください。

EVS コントローラのプロパティーをリセットすることもできます。使用例 51は、EVS コントローラのプロパティーをリセットする方法を示しています。EVS コントローラとそのプロパティーの詳細は、EVS コントローラを参照してください。

エラスティック仮想スイッチの構成を簡素化するには、evsuser として接続する必要があります。必須の EVS パッケージ (service/network/evs) をインストールすると、特殊なユーザーである evsuser が作成され、Elastic Virtual Switch Administration 権利プロファイルが割り当てられます。このプロファイルには、EVS 操作を実行するためのすべての承認と特権が含まれています。evsuser を使用するには、controller プロパティーを次のように設定する必要があります。

# evsadm set-prop -p controller=ssh://evsuser@evs-controller-hostname-or-IP-address

さらに、evsadm コマンドを実行するホストと EVS コントローラの間に事前共有された公開鍵を使用した SSH 認証を設定する必要があります。


注 -  EVS 操作を実行するには、スーパーユーザーか、または Elastic Virtual Switch Administration 権利プロファイルを持つユーザーである必要があります。詳細は、EVS を使用するためのセキュリティー要件を参照してください。

SSH 認証の設定

evsadm コマンドが EVS コントローラと非対話形式で、セキュアに通信できるようにするには、事前共有された公開鍵を使用した SSH 認証が必要です。EVS 設定の次のコンポーネント間に evsuser の事前共有された公開鍵を使用した SSH 認証を設定する必要があります。

  • EVS マネージャーと EVS コントローラ – EVS マネージャー上で evsadm コマンドを実行している管理者またはユーザーの公開鍵を EVS コントローラ上の /var/user/evsuser/.ssh/authorized_keys ファイル内に追加します。

  • EVS ノードと EVS コントローラ – 各 EVS ノード上の root ユーザーの公開鍵を EVS コントローラ上の /var/user/evsuser/.ssh/authorized_keys ファイル内に追加します。これらの公開鍵を追加する必要があるのは、zoneadmd デーモンが root として動作するためです。このデーモンは EVS コントローラに接続し、VNIC anet リソースの構成情報を取得します。詳細は、zoneadmd(1M) のマニュアルページを参照してください。

  • EVS コントローラと EVS ノード – EVS コントローラは VPort プロパティーを設定するために各 EVS ノードと通信するため、EVS コントローラ上の evsuser の公開鍵を各 EVS ノード上の /var/user/evsuser/.ssh/authorized_keys ファイル内に追加します。

EVS コンポーネントが単一のホスト内にある場合、UNIX RAD 接続を使用して、認証を設定できます。コマンドの構文は次のとおりです。

# evsadm set-prop -p controller=unix://

詳細は、EVS ノードごとの接続を参照してください。

次の図は、EVS コンポーネント間の SSH 認証の設定を示しています。

図 19  EVS 設定での SSH 認証

image:この図は、EVS コンポーネント間の SSH 認証の設定を示しています。

SSH 認証を設定したあと、EVS コントローラを指定する必要があります。ここでは、EVS ノード、EVS マネージャー、および EVS コントローラ上で controller プロパティーが ssh://evsuser@evs-controller.example.com に設定されていることを前提にしています。

次の手順は、SSH 認証を設定する方法を示しています。

EVS ノードと EVS コントローラの間に SSH 認証を設定する方法

  1. 管理者になります。

    詳細は、Oracle Solaris 11.3 でのユーザーとプロセスのセキュリティー保護 の 割り当てられている管理権利の使用を参照してください。

  2. EVS ノードで RSA 鍵ペアを生成します。
    evs-node# ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): 
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    a0:64:de:3d:c8:26:59:cb:4a:46:b9:1d:17:04:7d:bf root@evs-node
  3. EVS ノード内の /root/.ssh/id_rsa.pub ファイルにある公開鍵を EVS コントローラ内の /var/user/evsuser/.ssh/authorized_keys ファイルにコピーします。
  4. EVS ノードから evsuser として EVS コントローラにログインして、SSH 認証が設定されているかどうかを確認します。
    evs-node# ssh evsuser@evs-controller
    The authenticity of host 'evs-controller (192.168.100.10)' can't be established.
    RSA key fingerprint is 73:66:81:15:0d:49:46:e0:1d:73:32:77:4f:7c:24:a5.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'evs-controller' (RSA) to the list of known hosts.
    Last login: Wed Jun 11 14:36:28 2014 from evs-controller
    Oracle Corporation      SunOS 5.11      11.2    April 2014
    evsuser@evs-controller$ 

    この出力は、EVS ノードから evsuser として EVS コントローラにパスワードなしでログインできることを示しています。

EVS マネージャーと EVS コントローラの間に SSH 認証を設定する方法

  1. 管理者になります。

    詳細は、Oracle Solaris 11.3 でのユーザーとプロセスのセキュリティー保護 の 割り当てられている管理権利の使用を参照してください。

  2. EVS マネージャーで RSA 鍵ペアを生成します。
    evs-manager# ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): 
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    a0:64:de:3d:c8:26:59:cb:4a:46:b9:1d:17:04:7e:bf root@evs-manager
  3. EVS マネージャー内の /root/.ssh/id_rsa.pub ファイルにある公開鍵を EVS コントローラ内の /var/user/evsuser/.ssh/authorized_keys ファイルにコピーします。
  4. EVS マネージャーから evsuser として EVS コントローラにログインして、SSH 認証が設定されているかどうかを確認します。
    evs-manager# ssh evsuser@evs-controller
    The authenticity of host 'evs-controller (192.168.100.10)' can't be established.
    RSA key fingerprint is 73:66:81:15:0d:49:46:e0:1d:73:32:77:4f:7c:24:a5.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'evs-controller' (RSA) to the list of known hosts.
    Last login: Wed Jun 11 14:38:28 2014 from evs-controller
    Oracle Corporation      SunOS 5.11      11.2    April 2014
    evsuser@evs-controller$ 

    この出力は、EVS マネージャーから evsuser として EVS コントローラにパスワードなしでログインできることを示しています。

EVS コントローラと EVS ノードの間に SSH 認証を設定する方法

  1. 管理者になります。

    詳細は、Oracle Solaris 11.3 でのユーザーとプロセスのセキュリティー保護 の 割り当てられている管理権利の使用を参照してください。

  2. EVS コントローラでユーザー evsuser になります。
    evs-controller# su - evsuser

    詳細は、Oracle Solaris 11.3 でのユーザーとプロセスのセキュリティー保護 の 割り当てられている管理権利の使用を参照してください。

  3. EVS コントローラで evsuser の RSA 鍵ペアを生成します。
    evsuser@evs-controller$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/var/user/evsuser/.ssh/id_rsa): 
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /var/user/evsuser/.ssh/id_rsa.
    Your public key has been saved in /var/user/evsuser/.ssh/id_rsa.pub.
    The key fingerprint is:
    a0:64:de:3d:c8:26:59:cb:4a:46:b9:1e:17:04:7d:bf evsuser@evs-controller
  4. EVS コントローラ内の /var/user/evsuser/.ssh/id_rsa.pub ファイルにある公開鍵を EVS ノード内の /var/user/evsuser/.ssh/authorized_keys ファイルにコピーします。
  5. EVS コントローラから evsuser として EVS ノードにログインして、SSH 認証が設定されているかどうかを確認します。
    evsuser@evs-controller$ ssh evsuser@evs-node
    The authenticity of host 'evs-node (192.168.100.20)' can't be established.
    RSA key fingerprint is 73:66:89:15:0d:49:46:e0:1d:73:32:77:4f:7c:24:a5.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'evs-node' (RSA) to the list of known hosts.
    Last login: Wed Jun 11 14:40:28 2014 from evs-node
    Oracle Corporation      SunOS 5.11      11.2    April 2014
    evsuser@evs-node$ 

    この出力は、EVS コントローラから evsuser として EVS ノードにパスワードなしでログインできることを示しています。


    Caution

    注意  -  EVS の設定で SSH 認証を設定しないと、evsadm コマンドは EVS コントローラと非対話形式で、セキュアに通信できません。


EVS ノードごとの接続

uri-template コントローラプロパティーを使用することで、ノードの RAD 接続を構成できます。uri-template プロパティーに ssh://[username@] または unix://[username@] のいずれかの値を指定できます。このプロパティーのデフォルト値は ssh:// です。EVS ノードに接続するために使用する RAD URI は、EVS コントローラによって uri-template プロパティーから取得されます。

使用例 49  EVS ノードへの接続

次の例では、uri-template プロパティーの値を表示します。

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

出力には、すべての EVS コントローラで RAD SSH を使用してすべての EVS ノードに接続することが表示されます。SSH ユーザーは、EVS コントローラに接続されているユーザーです。

次の例は、uri-template プロパティーを使用して evsuser として EVS ノードに接続する方法を示しています。

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

出力には、EVS ノード単位の RAD 接続すべてで SSH を使用する必要があることが表示されます。ただし、SSH ユーザーは、EVS コントローラに接続されている SSH ユーザーではなく evsuser を使用する必要があります。たとえば、EVS クライアントは ssh://user1@controller.example.com として EVS コントローラに接続するとします。uri-templatessh://evsuser@ に設定されている場合、user1 を SSH ユーザーとして使用する代わりに、EVS コントローラでは evsuser を SSH ユーザーとして使用します。

次の例は、uri-template プロパティーを使用することで、すべての EVS コンポーネントが含まれている単一のシステムで認証を設定する方法を示しています。

# 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 の代わりに AF_UNIX を EVS ノードに使用できます。

# 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

出力には、AF_UNIX を使用する必要があるホスト evs-controller.example.com を除き、EVS ノード単位での RAD 接続すべてでデフォルトの SSH を使用する必要があることが表示されます。

EVS コントローラを構成する方法

始める前に

evsadm コマンドを実行するホストと EVS コントローラの間に事前共有鍵を使用した SSH 認証を設定します。

  1. Elastic Virtual Switch Administration 権利プロファイルを持つ管理者またはユーザーになります。

    詳細は、Oracle Solaris 11.3 でのユーザーとプロセスのセキュリティー保護 の 割り当てられている管理権利の使用を参照してください。

  2. EVS コントローラを設定します。
    # evsadm set-prop -p controller=[value[...,]]

    このコマンドは、コマンドが実行されるホストのプロパティーの値を設定します。サポートされている唯一のプロパティーは controller であり、ssh://[user@]evs-controller-host-namessh://[user@]evs-controller-IP-address、または unix:// の形式にできます。

  3. (オプション) 構成した EVS コントローラを表示します。
    # evsadm show-prop [[-c] -o field[,...]] [-p controller[,...]]

    詳細は、EVS コントローラの表示を参照してください。

  4. EVS コントローラのプロパティーを設定します。
    # evsadm set-controlprop [-h host] -p prop=[value[...,]]

    詳細は、EVS コントローラのプロパティーの設定を参照してください。

  5. (オプション) EVS コントローラのプロパティーを表示します。
    # evsadm show-controlprop [[-c] -o field[,...]] [-p prop[,...]]

    詳細は、EVS コントローラのプロパティーの表示を参照してください。

使用例 50  EVS コントローラの構成

次の例は、ホスト s11-server を、L2 セグメントが VXLAN を使用して作成される EVS コントローラとして構成する方法を示します。

# evsadm set-prop -p controller=ssh://evsuser@s11-server
# evsadm show-prop
PROPERTY            PERM   VALUE                      DEFAULT
controller          rw     ssh://evsuser@s11-server   -- 
# evsadm set-controlprop -p l2-type=vxlan 
# evsadm set-controlprop -p vxlan-range=10000-20000 
# evsadm set-controlprop -p vxlan-addr=192.168.10.0/24
# evsadm set-controlprop -h s11-server -p uplink-port=net3
# evsadm set-controlprop -h s11-client -p uplink-port=net4
# evsadm show-controlprop
PROPERTY            PERM VALUE                   DEFAULT     HOST
l2-type             rw   vxlan                   vlan          --
uplink-port         rw   --                      --            --
uplink-port         rw   net3                    --          s11-server
uplink-port         rw   net4                    --          s11-client
uri-template        rw   ssh://                  ssh://        --
uuid                r-   b3fda654-c14c-11e4-ae16-5f67bed8a8e9 -- --
vlan-range          rw   --                       --            --
vlan-range-avail    r-   --                       --            --
vxlan-addr          rw   192.168.10.0/24 0.0.0.0  --
vxlan-ipvers        rw   v4                       v4            --
vxlan-mgroup        rw   0.0.0.0                  0.0.0.0       --
vxlan-range         rw   10000-20000              --            --
vxlan-range-avail   r-   10000-20000              --            --
# evsadm show-controlprop -o property,value,vlan_range,vxlan_range, \
flat,host -p uplink-port
PROPERTY          VALUE       VLAN_RANGE  VXLAN_RANGE FLAT HOST
uplink-port       --          --          --          no   --
uplink-port       net3        --          10000-20000 yes  s11-server
uplink-port       net4        --          10000-20000 yes  s11-client

この例では、vxlan-range-avail プロパティーに、エラスティック仮想スイッチの実装に使用できる VXLAN ID (10000-20000) が表示されています。サブネット 192.168.10.0/24 の一部である IP インタフェースは、EVS ノードに VXLAN リンクを作成するために使用されます。

次の例は、IP アドレスが 192.168.100.1 であるホストを、L2 セグメントが VLAN を使用して作成される EVS コントローラとして構成する方法を示しています。

# evsadm set-prop -p controller=ssh://evsuser@192.168.100.1
# 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

この出力は、VLAN ID 200-300400-500 がエラスティック仮想スイッチ用に確保されていることを示しています。データリンク net2 は、host2.example.comhost3.example.com を除くすべてのホスト上の uplink-port です。host2 ではデータリンク net3uplink-port として使用され、host3 ではデータリンク net4uplink-port として使用されます。

オプションで vlan-range または vxlan-range プロパティーを uplink-port プロパティーとともに指定できます。使用例 47を参照してください。

使用例 51  EVS コントローラのプロパティーのリセット

次の例は、コントローラのプロパティー uplink-port をリセットする方法を示しています。

# evsadm show-controlprop -p uplink-port
PROPERTY            PERM     VALUE      DEFAULT             HOST
uplink-port         rw       net2       --                  --
# evsadm set-controlprop -p uplink-port=
# evsadm show-controlprop -p uplink-port
PROPERTY            PERM     VALUE      DEFAULT             HOST
uplink-port         rw       --         --                  --