レイヤー 2 ネットワークを拡張するためにインフラストラクチャを準備したら、NSX Data Center for vSphere ホストを NSX-T ホスト トランスポート ノードに移行できます。
前提条件
- 移行の順序やホストの有効化など、ホストの移行に関連するいくつかの設定を行います。これらの設定の影響を確認します。詳細については、NSX Data Center for vSphere ホスト移行の構成を参照してください。分散ファイアウォールまたは vSphere Distributed Switch 7.0 を使用している場合は、ホストの移行設定を理解することが特に重要になります。
- vCenter Server のユーザー インターフェイスで、[ホストおよびクラスタ] ページに移動し、すべての ESXi ホストが動作状態になっていることを確認します。切断状態を含む、ホストに関するすべての問題を解決します。メンテナンス モードを開始および終了するには、保留中の再起動または保留中のタスクがないことを確認してください。
手順
- [ホストの移行] ページで [開始] をクリックします。
すべてのホスト グループの移行モードに [インプレース] または [自動メンテナンス] を選択した場合、ホストの移行が開始します。[自動メンテナンス] モードでは、Migration Coordinator はパワーオフ状態の仮想マシンを再構成しません。移行後、これらの仮想マシンをパワーオンする前に、仮想マシンの構成を手動で行う必要があります。
- 任意のホスト グループの移行モードに [手動メンテナンス] を選択した場合、メンテナンス モードに切り替えられるように、各仮想マシンで以下のいずれかのタスクを完了する必要があります。
オプション |
アクション |
一時停止している仮想マシンをパワーオフします。 |
- 仮想マシンを右クリックします。 の順に選択するか、 の順に選択するか、 の順に選択します。
- ホストの移行後、仮想マシンのインターフェイスを適切な NSX-T セグメントに接続し、仮想マシンをパワーオンします。
|
vMotion を使用して仮想マシンを移動します。 |
仮想マシンを右クリックして、[移行] を選択します。プロンプトに従って、仮想マシンを別のホストに移行します。Migration Coordinator は、一時ルールで保護されている特定のポートに仮想マシンを vMotion することで、移行中のセキュリティを維持します。手動 vMotion の場合は、これらのポートに仮想マシンが移行されないため、セキュリティ侵害が発生する可能性があります。手動で vMotion を実行するには、vSphere API を使用して、仮想マシンを移行する必要があります。その場合、ネットワーク バッキングが NSX セグメント(NVDS を使用する場合)または VDS ポートグループ ID(VDS 7 を使用する場合)に対応する OpaqueNetwork ID を参照している必要があります。いずれの場合も、ネットワーク デバイスの externalId は文字列「VM_UUID:vNIC_ID」に設定する必要があります。VM_UUID は、仮想マシンのインスタンス UUID です。vNIC_ID は仮想マシンの vNIC インデックスで、最初の vNIC は 4000 です。 |
コールド移行で仮想マシンを移動します。 |
- 仮想マシンを右クリックします。 の順に選択するか、 の順に選択するか、 の順に選択します。
- 仮想マシンを右クリックして、[移行] を選択します。プロンプトに従って、仮想マシンを別のホストに移動し、そのインターフェイスを適切な NSX-T セグメントに接続します。
|
次の Python コードでは、vNIC が正しいポートで ID「ls_id」の NSX-T 論理スイッチに接続するように、仮想マシン内の各 vNIC の外部 ID を指定して、仮想マシンを vMotion しています。
devices = vmObject.config.hardware.device
nic_devices = [device for device in devices if isinstance(device, vim.Vm.device.VirtualEthernetCard)]
vnic_changes = []
for device in nic_devices:
vif_id = vmObject.config.instanceUuid + ":" + str(device.key)
vnic_spec = self._get_nsxt_vnic_spec(device, ls_id, vif_id)
vnic_changes.append(vnic_spec)
relocate_spec = vim.Vm.RelocateSpec()
relocate_spec.SetDeviceChange(vnic_changes)
# set other fields in the relocate_spec
vmotion_task = vmObject.Relocate(relocate_spec)
WaitForTask(vmotion_task)
def _get_nsxt_vnic_spec(self, device, ls_id, vif_id):
nsxt_backing = vim.Vm.Device.VirtualEthernetCard.OpaqueNetworkBackingInfo()
nsxt_backing.SetOpaqueNetworkId(ls_id)
nsxt_backing.SetOpaqueNetworkType('nsx.LogicalSwitch')
device.SetBacking(nsxt_backing)
device.SetExternalId(vif_id)
dev_spec = vim.Vm.Device.VirtualDeviceSpec()
dev_spec.SetOperation(vim.Vm.Device.VirtualDeviceSpec.Operation.edit)
dev_spec.SetDevice(device)
return dev_spec
完全なスクリプトの例については、https://github.com/dixonly/samples/blob/main/vmotion.pyを参照してください。
すべての仮想マシンが移動済み、パワーオフ、または一時停止状態になると、ホストがメンテナンス モードに切り替わります。コールド移行を使用して、移行中のホストがメンテナンス モードに入る前に、仮想マシンを別のホストに移動する場合は、仮想マシンの移動中に少なくとも 1 台の仮想マシンが実行されている必要があります。最後の仮想マシンンがパワーオフするか、一時停止になると、ホストはメンテナンス モードに切り替わり、
NSX-T へのホストの移行が開始します。
結果
移行モードに [インプレース] を選択して NSX-T にホストを移行すると、重大アラームが表示され、「ネットワーク接続が失われました」というメッセージが表示されることがあります。このアラームは、以前に接続されていた VDS に接続されている物理 NIC がホストにないため、vSphere Distributed Switch (VDS) 6.5 または 6.7 が、N-VDS に移行された場合に発生します。移行したホストを接続状態に戻すには、各ホストで [緑にリセット] をクリックして、警告が表示されないようにします。
1 台のホストで移行に失敗すると、実行中のホスト移行がすべて完了した後で、移行が一時停止します。このホストの問題を解決したら、[再試行] をクリックして、失敗したホストの移行を再試行します。
1 台のホストで移行に失敗した場合、そのホスト グループをグループ リストの最後に移動できます。これにより、失敗したホストの問題を解決している間に、他のホスト グループの移行を続けることができます。
次のタスク
- 必要なすべての構成アイテムが NSX-T 環境に移行されていることを確認します。たとえば、次の構成が正常に移行されたかどうかを確認します。
- ユーザー定義の分散ファイアウォール ルール。
- IP セット、グループ、タグなどのグループ化されたすべてのオブジェクト。
- 動的グループに有効なメンバーが表示されます。
- タグは、移行されたワークロード仮想マシンに適用されます。
NSX-T ホストで実行されている仮想マシンが正しい
NSX-T オーバーレイ セグメントに接続されていることを確認し、次の接続を検証します。
- NSX-T ネットワーク内の仮想マシン間の接続。
- DFW ルールによって許可されている場合は、NSX-T ネットワーク外の外部マシンへの仮想マシンの接続。
- [ホストの移行] ページで [終了] をクリックします。
移行の終了を確認するダイアログ ボックスが表示されます。移行が終了すると、すべての移行の詳細は消去されます。終了した移行の設定を確認することはできなくなります。たとえば、[構成の解決] 画面での入力内容や、移行対象外としたホストに関する情報などは、確認できなくなります。