VMware Cloud Director 10.4(VCD)で、PowerCLI を使用して vApp 仮想マシン vNIC のネットワークを変更してみます。その前提として、組織 VDC ネットワークの vApp への追加が必要になるはずなので、あわせて紹介します。
前回はこちら。
今回の内容です。
今回の設定内容
今回は、vApp に含まれる仮想マシン(jbox01)に作成されている vNIC の、ネットワーク接続を変更します。
- すでに作成してある組織 VDC ネットワーク「orgvdc-routed-nw-01」を、同名の vApp ネットワークとして vApp に追加します。
- 仮想マシン(jbox01)の NIC 0 の接続ネットワークを、追加した vApp ネットワークに切り替えます。
この vApp は、前回の投稿で PowerCLI で作成したものに、仮想マシン(jbox01)を追加してあります。
jbox01 は、下記投稿にある手順(4-2)で作成してあります。
これ以降の手順の開始時点では、下記のような構成にしてあります。
組織 VDC ネットワークとして、2つのネットワーク(orgvdc-ext-nw-vlan-31 とorgvdc-routed-nw-01)が作成されています。
PS C:\> Get-OrgVdcNetwork -OrgVdc org-vdc-01 Name OrgVdc DefaultGateway NetworkType ---- ------ -------------- ----------- orgvdc-ext-nw-vlan-31 org-vdc-01 192.168.31.1 Direct orgvdc-routed-nw-01 org-vdc-01 10.0.1.1 Routed
組織 VDC には、vApp(vapp-02)が作成されています。
PS C:\> Get-CIVApp -OrgVdc org-vdc-01 Name Enabled InMaintenanceMode Owner ---- ------- ----------------- ----- vapp-01 True False org-01-admin vapp-02 True False org-01-admin
vapp-02 には、2つのネットワークが作成されています。この時点は、組織 VDC ネットワークの orgvdc-routed-nw-01 は vApp にまだ追加されていません。
PS C:\> Get-CIVAppNetwork -VApp vapp-02 Name Gateway Netmask ConnectionType FirewallEnabled NatEnabled ---- ------- ------- -------------- --------------- ---------- orgvdc-ext-nw-vlan-31 192.168.31.1 255.255.255.0 Direct False False vapp-isolate-nw-01 10.0.0.1 255.255.255.0 Isolated False False
vapp-02 には、仮想マシンが 3つ作成されています。
PS C:\> Get-CIVApp -Name vapp-02 -OrgVdc org-vdc-01 | Get-CIVM Name Status GuestOSFullName CpuCount MemoryGB ---- ------ --------------- -------- -------- jbox01 PoweredOff VMware Photon OS (64-bit) 1 2.000 vm01 PoweredOff VMware Photon OS (64-bit) 1 2.000 vm02 PoweredOff VMware Photon OS (64-bit) 1 2.000
そのうち、jbox01 の vNIC は 2つあり、NIC 0(Primary)は orgvdc-ext-nw-vlan-31 という vApp ネットワークに接続されています。
PS C:\> Get-CIVApp -Name vapp-02 -OrgVdc org-vdc-01 | Get-CIVM -Name jbox01 | Get-CINetworkAdapter Index Primary Connected IPAddressAllocation IPAddress ExternalIPAddress VM ----- ------- --------- ------------------- --------- ----------------- -- 0 True True Pool 192.168.31.150 jbox01 1 False True Manual 10.0.0.10 jbox01 PS C:\> Get-CIVApp -Name vapp-02 -OrgVdc org-vdc-01 | Get-CIVM -Name jbox01 | Get-CINetworkAdapter -Primary $true Index Primary Connected IPAddressAllocation IPAddress ExternalIPAddress VM ----- ------- --------- ------------------- --------- ----------------- -- 0 True True Pool 192.168.31.150 jbox01 PS C:\> Get-CIVApp -Name vapp-02 -OrgVdc org-vdc-01 | Get-CIVM -Name jbox01 | Get-CINetworkAdapter -Primary $true | select VM, Index, Primary, MACAddress, VAppNetwork, IPAddress, Connected VM : jbox01 Index : 0 Primary : True MACAddress : 00:50:56:01:01:55 VAppNetwork : orgvdc-ext-nw-vlan-31 IPAddress : 192.168.31.150 Connected : True
1. vApp への組織 VDC ネットワーク追加
まず、vApp に組織 VDC ネットワークを追加します。
組織 VDC ネットワークを vApp ネットワークとして追加するには、New-CIVAppNetwork コマンドレットで「-ParentOrgVdcNetwork」オプションを指定して実行します。
PS C:\> New-CIVAppNetwork -VApp vapp-02 -ParentOrgVdcNetwork orgvdc-routed-nw-01 -Direct Name Gateway Netmask ConnectionType FirewallEnabled NatEnabled ---- ------- ------- -------------- --------------- ---------- orgvdc-routed-nw-01 10.0.1.1 255.255.255.0 Direct False False
これで、orgvdc-routed-nw-01 が vApp ネットワークとして追加されました。
PS C:\> Get-CIVAppNetwork -VApp vapp-02 Name Gateway Netmask ConnectionType FirewallEnabled NatEnabled ---- ------- ------- -------------- --------------- ---------- orgvdc-ext-nw-vlan-31 192.168.31.1 255.255.255.0 Direct False False orgvdc-routed-nw-01 10.0.1.1 255.255.255.0 Direct False False vapp-isolate-nw-01 10.0.0.1 255.255.255.0 Isolated False False
2. 仮想マシン NIC の接続ネットワーク変更
仮想マシンの NIC 0 の接続ネットワークを、vApp ネットワークとして追加した orgvdc-routed-nw-01 に変更してみます。
設定変更の対象となる vNIC を、Get-CINetworkAdapter で確認しておきます。この時点では、orgvdc-ext-nw-vlan-31 に接続されています。
PS C:\> Get-CIVApp -Name vapp-02 -OrgVdc org-vdc-01 | Get-CIVM -Name jbox01 | Get-CINetworkAdapter -Primary $true Index Primary Connected IPAddressAllocation IPAddress ExternalIPAddress VM ----- ------- --------- ------------------- --------- ----------------- -- 0 True True Pool 192.168.31.150 jbox01 PS C:\> Get-CIVApp -Name vapp-02 -OrgVdc org-vdc-01 | Get-CIVM -Name jbox01 | Get-CINetworkAdapter -Primary $true | select VM, Index, Primary, MACAddress, VAppNetwork, IPAddress, Connected VM : jbox01 Index : 0 Primary : True MACAddress : 00:50:56:01:01:55 VAppNetwork : orgvdc-ext-nw-vlan-31 IPAddress : 192.168.31.150 Connected : True
NIC の接続ネットワークを、Set-CINetworkAdapter で変更します。IP アドレスの設定には、IP プールを使用します。
PS C:\> Get-CIVApp -Name vapp-02 -OrgVdc org-vdc-01 | Get-CIVM -Name jbox01 | Get-CINetworkAdapter -Primary $true | Set-CINetworkAdapter -VAppNetwork orgvdc-routed-nw-01 -IPAddressAllocationMode Pool Index Primary Connected IPAddressAllocation IPAddress ExternalIPAddress VM ----- ------- --------- ------------------- --------- ----------------- -- 0 True True Pool 10.0.1.100 jbox01
これで、vNIC の接続ネットワークが orgvdc-routed-nw-01 に変更されました。IP プールから、10.0.1.100 が払い出されたことがわかります。
PS C:\> Get-CIVApp -Name vapp-02 -OrgVdc org-vdc-01 | Get-CIVM -Name jbox01 | Get-CINetworkAdapter -Primary $true | select VM, Index, Primary, MACAddress, VAppNetwork, IPAddress, Connected VM : jbox01 Index : 0 Primary : True MACAddress : 00:50:56:01:01:55 VAppNetwork : orgvdc-routed-nw-01 IPAddress : 10.0.1.100 Connected : True
IP アドレスを固定で設定したい場合は、下記のように「-IPAddressAllocationMode Manual」と「-IPAddress」を指定します。
PS C:\work\git\vcd-powercli> Get-CIVApp -Name vapp-02 -OrgVdc org-vdc-01 | Get-CIVM -Name jbox01 | Get-CINetworkAdapter -Primary $true | Set-CINetworkAdapter -VAppNetwork orgvdc-routed-nw-01 -IPAddressAllocationMode Manual -IPAddress 10.0.1.161 Index Primary Connected IPAddressAllocation IPAddress ExternalIPAddress VM ----- ------- --------- ------------------- --------- ----------------- -- 0 True True Manual 10.0.1.161 jbox01
ちなみに、組織内に同名のネットワークが存在するとエラーになることがあります。
Set-CINetworkAdapter The specified parameter 'VAppNetwork' expects a single value, but your name criteria 'orgvdc-ext-nw-vlan-31' corresponds to multiple values.
その場合は、下記のように vApp を指定してネットワークを取得しておき、対象となるネットワークが1つになるように工夫します。
PS C:\> $vapp_nw = Get-CIVAppNetwork -VApp vapp-02 -Name orgvdc-routed-nw-01 PS C:\> Get-CIVApp -Name vapp-02 -OrgVdc org-vdc-01 | Get-CIVM -Name jbox01 | Get-CINetworkAdapter -Primary $true | Set-CINetworkAdapter -VAppNetwork $vapp_nw -IPAddressAllocationMode Pool
3. vApp ネットワークの削除
vApp で不要になった vApp ネットワークは、Remove-CIVAppNetwork で削除します。使用しなくなった orgvdc-ext-nw-vlan-31 を、vApp ネットワークから削除しておきます。
PS C:\> Get-CIVAppNetwork -VApp vapp-02 -Name orgvdc-ext-nw-vlan-31 | Remove-CIVAppNetwork -Confirm:$false
これで、vapp-02 から orgvdc-ext-nw-vlan-31 が削除されました。
PS C:\> Get-CIVAppNetwork -VApp vapp-02 Name Gateway Netmask ConnectionType FirewallEnabled NatEnabled ---- ------- ------- -------------- --------------- ---------- orgvdc-routed-nw-01 10.0.1.1 255.255.255.0 Direct False False vapp-isolate-nw-01 10.0.0.1 255.255.255.0 Isolated False False
これは vApp から削除しただけなので、組織 VDC ネットワークとして存在したままになります。
PS C:\> Get-OrgVdcNetwork -OrgVdc org-vdc-01 Name OrgVdc DefaultGateway NetworkType ---- ------ -------------- ----------- orgvdc-ext-nw-vlan-31 org-vdc-01 192.168.31.1 Direct orgvdc-routed-nw-01 org-vdc-01 10.0.1.1 Routed
つづく。