スタンドアロン ESXi ホストを使用する場合、Web ベースの vSphere Web Client を介してホスト仮想マシンにアクセスすることはできません。その場合は、この手順に従って、仮想マシンを NSX 論理スイッチに接続します。
ここで示す例では、app-vm という名前の仮想マシンを app-switch という名前の論理スイッチに接続します。
前提条件
- 仮想マシンが、NSX ファブリックに追加したハイパーバイザーでホストされている必要があります。
- ファブリック ノードが、NSX 管理プレーン (MPA) と NSX 制御プレーン (LCP) に接続できる
- ファブリック ノードがトランスポート ゾーンに追加されている
- 論理スイッチが作成されている
- NSX Manager API にアクセスできる
- 仮想マシンの VMX ファイルに対する書き込み権限がある
手順
- (インストール ベースの)vSphere Client アプリケーションまたはその他の仮想マシン管理ツールを使用して、仮想マシンを編集し、VMXNET 3 イーサネット アダプタを追加します。
任意のネットワークを選択します。ネットワーク接続は後の手順で変更します。
- NSX API を使用して、GET https://<nsx-mgr>/api/v1/fabric/virtual-machines/<VM-ID> API 呼び出しを発行します。
結果から仮想マシンの externalId を検出します。
次はその例です。
GET https://<nsx-mgr>/api/v1/fabric/virtual-machines/60a5a5d5-ea2b-407e-a806-4fdc8468f735
{
"resource_type": "VirtualMachine",
"id": "60a5a5d5-ea2b-407e-a806-4fdc8468f735",
"display_name": "app-vm",
"compute_ids": [
"instanceUuid:50066bae-0f8a-386b-e62e-b0b9c6013a51",
"moIdOnHost:5",
"externalId:[50066bae-0f8a-386b-e62e-b0b9c6013a51]",
"hostLocalId:5",
"locationId:564dc020-1565-e3f4-f591-ee3953eef3ff",
"biosUuid:4206f47d-fef7-08c5-5bf7-ea26a4c6b18d"
],
"external_id": "50066bae-0f8a-386b-e62e-b0b9c6013a51",
"type": "REGULAR",
"host_id": "cb82b0fa-a8f1-11e5-92a9-6b7d1f8661fa",
"local_id_on_host": "5"
}
- 仮想マシンをパワーオフし、ホストから登録解除します。
ここに示すように、仮想マシン管理ツールまたは ESXi CLI を使用できます。
[user@host:~] [vim-cmd /vmsvc/getallvms]
Vmid Name File Guest OS Version Annotation
5 app-vm [ds2] app-vm/app-vm.vmx ubuntuGuest vmx-08
8 web-vm [ds2] web-vm/web-vm.vmx ubuntu64Guest vmx-08
[user@host:~] [vim-cmd /vmsvc/power.off 5]
Powering off VM:
[user@host:~] [vim-cmd /vmsvc/unregister 5]
- NSX Manager のユーザー インターフェイスから論理スイッチ ID を取得します。
次はその例です。
- 仮想マシンの VMX ファイルを修正します。
[ethernet1.networkName = "<name>"] フィールドを削除し、次のフィールドを追加します。
- ethernet1.opaqueNetwork.id = "<logical switch's ID>"
- ethernet1.opaqueNetwork.type = "nsx.LogicalSwitch"
- ethernet1.externalId = "<VM's externalId>"
- ethernet1.connected = "TRUE"
- ethernet1.startConnected = "TRUE"
次はその例です。
[OLD]
ethernet1.pciSlotNumber = "224"
ethernet1.virtualDev = "vmxnet3"
ethernet1.networkName = "VM Network"
ethernet1.addressType = "vpx"
ethernet1.generatedAddress = "00:50:56:86:7b:d7"
ethernet1.uptCompatibility = "true"
ethernet1.present = "TRUE"
[NEW]
ethernet1.pciSlotNumber = "224"
ethernet1.virtualDev = "vmxnet3"
ethernet1.addressType = "vpx"
ethernet1.generatedAddress = "00:50:56:86:7b:d7"
ethernet1.uptCompatibility = "true"
ethernet1.present = "TRUE"
ethernet1.opaqueNetwork.id = "22b22448-38bc-419b-bea8-b51126bec7ad"
ethernet1.opaqueNetwork.type = "nsx.LogicalSwitch"
ethernet1.externalId = "50066bae-0f8a-386b-e62e-b0b9c6013a51"
ethernet1.connected = "TRUE"
ethernet1.startConnected = "TRUE"
- NSX Manager のユーザー インターフェイスで、論理スイッチ ポートを追加し、仮想マシンの externalId を VIF 接続に使用します。
- 仮想マシンを再登録し、パワーオンします。
ここに示すように、仮想マシン管理ツールまたは ESXi CLI を使用できます。
[user@host:~] [vim-cmd /solo/register /path/to/file.vmx]
For example:
[user@host:~] [vim-cmd solo/registervm /vmfs/volumes/355f2049-6c704347/app-vm/app-vm.vmx]
9
[user@host:~] [vim-cmd /vmsvc/power.on 9]
Powering on VM:
結果
[マネージャ] モードの
NSX Manager ユーザー インターフェイスで
を選択します。仮想マシンの ExternalID に一致する VIF 接続 ID を探し、管理と操作の状態が Up/Up であることを確認します。
2 台の仮想マシンが同じ論理スイッチに接続され、IP アドレスが同じサブネットで構成されている場合、それらの仮想マシンは互いに ping を送信することができます。
次のタスク
論理ルーターを追加します。
論理スイッチ ポート上でアクティビティをモニターして、問題をトラブルシューティングできます。『NSX 管理ガイド』で「論理スイッチ ポート アクティビティのモニター」を参照してください。