2020年12月にリリースされた vCenter 7.0u1c で実装された "Advanced Cross vCenter Server vMotion (Migration)" により、vSphere Clinent の GUI から異なる vCenter 間での vMotion が可能になりました。
※ 従来は SSO ドメインの異なる vCenter 間では PowerCLI などから vCenter API を叩く必要がありました。
今回は新機能の "Advanced Cross vCenter Server vMotion (Migration)" 含めて、現在利用可能な仮想マシンの移行機能をご紹介、試してみたいと思います。
"Advanced Cross vCenter Server vMotion (Migration)" に関する公式情報は以下を参照ください。
- VMware vCenter Server 7.0 Update 1c リリース ノート
- Advanced Cross vCenter Server Migration Integrated in vSphere 7 U1c (vSphere Blog)
- Introducing the Advanced Cross vCenter Server vMotion Capability (The Cloud Platform Tech Zone)
- vCenter を跨いだ仮想マシンの移行方法
- vMotion の種類について
- 通常の vMotion : クラスタ内 vMotion、クラスタ間 vMotion
- 同一 SSO ドメイン (vCenter 拡張リンクモード) 間の Cross vCenter vMotion
- 異なる SSO ドメイン間の Cross vCenter vMotion
- Advanced Cross vCenter vMotion (Migration) で出来る様になった事
- Cross vCenter vMotion を行うための要件・制限・考慮事項
- vSphere 6.0u3 環境のサポート(非サポート)について(2021/4/5 追記)
- Standard Edition の場合のエラー
- vDS のバージョン違いなどネットワーク系のエラー
- 仮想マシンハードウェアバージョンがサポートされない場合のエラー
- EVC レベルが合わず移行できない場合のエラー
- Advanced Cross vCenter Server vMotion (Migration) を試してみる
- Advanced Cross vCenter Migration (コールドマイグレーション)
- Advanced Cross vCenter vMotion (ホットマイグレーション)
- Advanced Cross vCenter Cloning (クローン : vCenter 7.0u3 から)
- Storage vMotion を伴わない Cross vCenter vMotion
- PowerCLI を利用した Cross vCenter vMotion / Migration
- vDS のバージョンが異なるクラスタ間での vMotion を実施する
- vCenter Converter Standalone の現在
vCenter を跨いだ仮想マシンの移行方法
- 仮想マシンを起動した状態での移行(vMotion 系)
- (1) 同一 vCenter 配下での vMotion
- (2) 同一 SSO 下の vCenter 間での vMotion (vCenter 拡張 Linked Mode 間での Cross vCenter vMotion、従来から vSphere Client で実施可能)
- (3) 異なる SSO の vCenter 間での vMotion (Cross vCenter vMotion without SSO、従来は PowerCLI などが必要) → 今回の Advanced Cross vCenter vMotion の強化ポイント
- (4) クロスクラウド間での vMotion (HCX vMotion など別ライセンス・専用ツールが必要)
- 仮想マシンの停止を伴う移行 (移行元での停止や移行先での再起動が必要な方法)
- (5) 異なる vCenter 間で vSphere Client を利用しての Advanced Cross vCenter Migration → 今回の強化ポイント
- (6) vSphere Replication (+SRM) を利用した異なる vCenter 間での移行 (クラウドや遠隔地移行に最適、SRM と組み合わせた半自動化も可)
- (7) OVF/OVA テンプレートへエクスポート・インポートする(要 VM 停止)
- (8) vCenter Converter Standalone を利用したエクスポート・インポート(要 VM 停止、現在は開発終了)
- (9) 外部データストアを双方のクラスタでマウントして vCenter 間で仮想マシンのインベントリを付け替え (要 VM 停止、手動でのインベントリ操作)
- (10) 3rd Party バックアップソフトウェアやレプリケーションツールを利用した移行
vMotion の種類について
通常の vMotion : クラスタ内 vMotion、クラスタ間 vMotion
- vSphere Client または PowerCLI などで操作可能
- vSphere 6.x 以降では Cross vSwitch vMotion もサポート
- vSphere Standard で利用可能
同一 SSO ドメイン (vCenter 拡張リンクモード) 間の Cross vCenter vMotion
異なる SSO ドメイン間の Cross vCenter vMotion
- vCenter 7.0u1a までは PowerCLI などで操作可能 (vSphere Client など GUI は非対応だが、Flings のツール Cross vCenter Workload Migration Utility を利用する事で操作可能。7.0u1c からはこの機能が組み込まれた)
- 要 vSphere Enterprise Plus 相当のエディション
Advanced Cross vCenter vMotion (Migration) で出来る様になった事
- vCenter 7.0u1c からは "Advanced Cross vCenter Server vMotion (Migration)" が vSphere Client で操作可能に
- Cross vCenter vMotion (ライブマイグレーション) には 要 vSphere Enterprise Plus 相当のエディション
- Cross vCenter Migration (コールドマイグレーション) の場合は vSphere Standard でも OK
- 2021/2/4 追記 : Cross vCenter Migration (コールドマイグレーション) の場合は Source・Target が vCenter Essential / vSphere Essential または Essential Plus のライセンスの場合でも移行が行えました。
- vCenter 6.5 / 6.7 の環境との移行がサポートされる様子 (vCenter 6.0u3 の環境は GUI 上にインベントリが表示されず利用不可)
Cross vCenter vMotion を行うための要件・制限・考慮事項
- 通常の vMotion と同じくクラスタの EVC レベルは揃える事
- 下位 EVC → 上位 EVC への移行は可能だが、サーバーモデル・CPU モデル、環境によっては時折 NG な場合も起きうるので揃っている方が無難
- 6.7 以降で VM レベル EVC (Per-VM EVC) を利用する場合は vCenter 間の移行時に EVC 設定が保持され、移行のハードルを下げてくれるのでお勧め
- 双方の vSphere Edition は Enterprise Plus 相当である事
- vDS to vDS 間の移行時には vDS のバージョンを揃える事
- 双方の環境で vDS のバージョンが揃えられない場合は KB : https://kb.vmware.com/s/article/79446 を参照の上、vCenter の詳細設定に追加する事で回避も可能です。
詳細は後述 vDS のバージョンが異なるクラスタ間での vMotion を実施する に手順をまとめてあります。 - vDS to vSS への移行はできない
- 双方の vMotion Network の MTU、vDS / vSS / ポートグループ のセキュリティポリシーは一致させる事
- 少なくとも既存の vSphere バージョンは 6.0u3 以上である事
- vCenter Server インスタンス間の移行の要件
- VMware vSphere 6.0 以降 におけるクロス vCenter Server vMotion とクローンの要件 (2106952)
- 互換性チェック中にクラスタ間の仮想マシンのクロス vDS vMotion に失敗する。 (52248)
- vSphere 6.x の各エディションにおける機能一覧 (2109507)
vSphere 6.0u3 環境のサポート(非サポート)について
また、vSphere 6.0u3 (vCenter 6.0u3) 環境からの移行は PowerCLI/SDK/API の利用が必要と明記されました。
----The Advanced Cross vCenter vMotion feature in vSphere 7.0 U1c is only supported with vSphere 6.5+, and it is not supported with any builds of vSphere 6.0, as per vSphere Documentation:https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-ED703E35-269C-48E0-A34D-CCBB26BFD93E.htmlTo migrate VMs from vSphere 6.0, PowerCLI/SDK/API can be used.----
Advanced Cross vCenter vMotion/Migration を利用したい場合は、少なくとも vCenter 6.5 + ESXi 6.0U3 以降にしていただく事で 7.0u1c 以降への移行性が確保できます。
Standard Edition の場合のエラー
PS C:\> Move-VM -VM $vm -Destination $esxi -Datastore $ds -PortGroup $pg Move-VM : 2021/01/06 15:08:31 Move-VM The operation for the entity "VM" failed with the following message: "License not available to perform the operation.". The VMware vSphere 6 Standard license for Host esxi60u3-01.vx.local does not include Cross Virtual Center vMotion. Upgrade the license.
vDS のバージョン違いなどネットワーク系のエラー
vDS のバージョン違いや、vDS → vSS はエラーとなりますのでご注意下さい。
詳細は後述 vDS のバージョンが異なるクラスタ間での vMotion を実施する に手順をまとめてあります。
仮想マシンハードウェアバージョンがサポートされない場合のエラー
EVC レベルが合わず移行できない場合のエラー
Advanced Cross vCenter Server vMotion (Migration) を試してみる
- vCenter 7.0u1c 環境 (vSphere ESXi 7.0u1)
- vSphere Standard / vSphere Enterprise Plus
- vSS / vDS 6.6
- vCenter 6.7u3b 環境 (vSphere ESXi 6.7u3)
- vSphere Standard / vSphere Enterprise Plus
- vSS / vDS 6.6
- 仮想 HW バージョン 15
- vCenter 6.5u3a 環境 (vSphere ESXi 6.5u3)
- vSphere Standard / vSphere Enterprise Plus
- vSS / vDS 6.5
- 仮想 HW バージョン 13
- vCenter 6.0u3a 環境 (vSphere ESXi 6.0u3)
- vSphere Standard / vSphere Enterprise Plus
- vSS / vDS 6.0
- 仮想 HW バージョン 11
Advanced Cross vCenter Migration (コールドマイグレーション)
- コールドマイグレーションの場合は、Import / Export ともに双方のクラスタ環境が vSphere Standard でも OK
- 2021/2/4 追記 : Cross vCenter Migration (コールドマイグレーション) の場合は Source・Target が vCenter Essential / vSphere Essential または Essential Plus のライセンスの場合でも移行が行えました。
- vCenter 7.0u1c の vSphere Client を利用して移行が可能だったのは vCenter 6.5 以降となる様で、vCenter 6.0u3 は対象外
- PowerCLI を利用した場合は 6.0u3 環境から 7.0u1 環境へコールドマイグレーションは可能
- コールドマイグレーションの利点は、vDS のバージョンがクラスタ間で異なっている場合も UI 上は警告が表示されますが、問題なく移行出来て移行完了後の起動も問題ない
一時的なシステムの停止が可能であればコールドマイグレーションの方が転送も早く進み、vDS のバージョン違いも吸収できる利点がある - コールドマイグレーションならば vDS → vSS への移行も可能
- コールドマイグレーションの場合は vMotion ネットワークが双方のクラスタで疎通できなくても管理ネットワークがつながれば移行可能
Advanced Cross vCenter vMotion (ホットマイグレーション)
- Cross vCenter vMotion では vSphere Enterprise Plus のライセンスが双方のクラスタに必須 (厳密にいうと移行時に VM が配置されたホストと移行先のホストに必須)
- 仮想マシンネットワークは vSS → vSS、 vSS → vDS、 vDS → vDS (双方同一バージョン) での移行が可能。
- 従来通り vDS → vDS は同一バージョンが必須
- vDS のバージョンが異なる場合は、移行時に移行元を vSS に付け替えるか、移行先に移行用に同一バージョンの vDS を用意する必要がある。
※ 詳細は KB を参照 : 互換性チェック中にクラスタ間の仮想マシンのクロス vDS vMotion に失敗する。 (52248) - 双方の環境で vDS のバージョンが揃えられない場合は KB : https://kb.vmware.com/s/article/79446 を参照の上、vCenter の詳細設定に追加する事で回避も可能です。
詳細は後述 vDS のバージョンが異なるクラスタ間での vMotion を実施する に手順をまとめてあります。 - vCenter 7.0u1c の vSphere Client を利用して移行が可能だったのは vCenter 6.5 以降となる様で、vCenter 6.0u3 は対象外
- PowerCLI を利用した場合は 6.0u3 環境から 7.0u1 環境への vMotion は可能
(私の環境では実行できましたが正式にサポートされるものとは限らない)でサポートされる旨、KB に追記されました(以下参照)。 - 2021/3/10 の KB : Cross vCenter Migration and Clone requirements in VMware vSphere 6.x and later (2106952) の更新で Adv-XvC-vMotion は vCenter 6.0u3 をサポートせず、vSphere 6.0 からの移行は To migrate VMs from vSphere 6.0, PowerCLI/SDK/API can be used. が条件であると追記されました。
Advanced Cross vCenter Cloning ( vCenter 間 VM クローン : vCenter 7.0u3 から機能追加)
Storage vMotion を伴わない Cross vCenter vMotion
NFS データストアなどネットワークストレージを活用して移行時のインパクトを抑え、vMotion の後に改めて新しいストレージ領域に Storage vMotion を行うといった事も可能です。
※ データストアのマウントは必ず同じ Path、名称でマウントしてください。特に NFS データストアは Path 文字列が1つでも異なると別データストアして認識され、内部的に Storage vMotion が発生しますので要注意です。(詳細は以下解説)
※ 2023/3/3 追記 : お客様から報告された事象として、上記のデータストアを共有したクラスタ間の vMotion 時ですが、それぞれの vCenter が認識しているデータストアの UUID が異なると別データストアとして認識され、同じストレージ内でコピーと削除が ESXi 経由の Storage vMotion の動作として行われる様です。回避策は別途検証してみようと思います。
※ 2023/3/16 追記 : お客様で起きた事象を複数相談を受け、共通していたのは新旧の環境で NFS データストアを利用していたこと、Storage vMotion が起きる VM とそうでないVM、データストアがあったことが確認できました。
結果、10年ほど前に Duncan Epping が以下の Blog に記載していた NFS のマウント時のパス文字列が異なると異なるハッシュ値が計算され UUID が変わり、別データストアとしてマウントされる事象が今回の Storage vMotion が起きてしまう原因でした。
- How does vSphere recognize an NFS Datastore?
https://www.yellow-bricks.com/2013/01/21/how-does-vsphere-recognize-an-nfs-datastore/ - Using a CNAME (DNS alias) to mount an NFS datastore
https://www.yellow-bricks.com/2012/02/07/using-a-cname-dns-alias-to-mount-an-nfs-datastore/
関係者にて検証行ったところ NFS マウント時の最後の "/" の有無でこの違いが確認できました。
必ず NFS データストアの接続時の NFS サーバーホスト名 (FQDN or IP アドレス) 及び Path は同一ものを利用してマウントしてください。
PowerCLI を利用した Cross vCenter vMotion / Migration
移行先の vCenter から配置先のホスト(またはクラスタやリソースプール)、接続先 ポートグループ、保存先データストアなどを渡してあげるだけです。
Advanced Cross vCenter vMotion / Migration では複雑な構成の仮想マシンの移行も GUI で適切に設定できるので非常に便利だと思います。
PS C:\> Connect-VIServer -Server "Old-vCenter" -Credential $cre PS C:\> Connect-VIServer -Server "New-vCenter" -Credential $cre PS C:\> PS C:\> $vm = Get-VM -Server "Old-vCenter" -Name "VM Name" PS C:\> $ds = Get-Datastore -Server "New-vCenter" -Name "Target Datastore" PS C:\> $pg = Get-VDSwitch -Server "New-vCenter" | Get-VDPortgroup -Name "Target PortGroup" PS C:\> $esxi = Get-VMHost -Server "New-vCenter" -name "Target Host" PS C:\> PS C:\> Move-VM -VM $vm -Destination $esxi -Datastore $ds -PortGroup $pg
vDS のバージョンが異なるクラスタ間での vMotion を実施する
- vCenter 6.x では
config.migrate.test.NetworksCompatibleOption.AllowMismatchedDVSwitchConfig - vCenter 7.x では
config.vmprov.enableHybridMode
- Migrating a virtual machine between two different vDS version (79446)
https://kb.vmware.com/s/article/79446
vCenter 6.x への設定
- 名前 : config.migrate.test.NetworksCompatibleOption.AllowMismatchedDVSwitchConfig
- 値 : true
# vCenter への接続 PS C:\> $vc65 = Connect-VIServer -Server "vCenter 6.x" -Credential $cre -Force # 設定の追加 PS C:\> New-AdvancedSetting -Entity $vc65 -Name config.migrate.test.NetworksCompatibleOption.AllowMismatchedDVSwitchConfig -Value true Perform operation? Creating advanced setting 'config.migrate.test.NetworksCompatibleOption.AllowMismatchedDVSwitchConfig' on entity 'vCenter 6.x'. [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y Name Value Type Description ---- ----- ---- ----------- config.migrate.te... true VIServer # 設定の確認 PS C:\> Get-AdvancedSetting -Entity $vc65 -Name config.migrate.test.NetworksCompatibleOption.AllowMismatchedDVSwitchConf ig | Format-Table -AutoSize Name Value Type Description ---- ----- ---- ----------- config.migrate.test.NetworksCompatibleOption.AllowMismatchedDVSwitchConfig true VIServer
vCenter 7.x への設定
- 名前 : config.vmprov.enableHybridMode
- 値 : true
# vCenter への接続 PS C:\> $vc70 = Connect-VIServer -Server "vCenter 7.x" -Credential $cre -Force # 設定の追加 PS C:\> New-AdvancedSetting -Entity $vc70 -Name config.vmprov.enableHybridMode -Value true Perform operation? Creating advanced setting 'config.vmprov.enableHybridMode' on entity 'vCenter 7.x'. [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y Name Value Type Description ---- ----- ---- ----------- config.vmprov.ena... true VIServer # 設定の確認 PS C:\> Get-AdvancedSetting -Entity $vc70 -Name config.vmprov.enableHybridMode | Format-Table -AutoSize Name Value Type Description ---- ----- ---- ----------- config.vmprov.enableHybridMode true VIServer
異なる vDS バージョン間での vMotion の実行
vCenter Converter Standalone の現在
- ※ 2022/2/3 追記
vCenter Converter 6.2 は公式に公開が終了となりました
https://blogs.vmware.com/vsphere/2022/02/vcenter-converter-unavailable-for-download.html
- ※ 2022/10/12 追記
vSphere 8 のリリースに合わせて 公開β版 で開発中だった vCenter Converter Standalone 6.3 が復活公開となりました - VMware vCenter Converter Standalone 6.3 Release Notes
- Download VMware vCenter converter
https://customerconnect.vmware.com/downloads/info/slug/datacenter_cloud_infrastructure/vmware_vcenter_converter/6_3_0
- vCenter Converter Standalone ダウンロードページ
https://my.vmware.com/group/vmware/downloads/details?downloadGroup=CONV62&productId=701&rPId=20180 - vCenter Converter Standalone 6.2.0.1 Release note
https://docs.vmware.com/en/vCenter-Converter-Standalone/6.2/rn/conv_sa_62_rel_notes.html - VMware Product Lifecycle Matrix
https://lifecycle.vmware.com/
仮想マシンバージョンの表示がおかしいままなので、仮想マシンハードウェアバージョンは変更せずに移行するのが良さそうです。
0 件のコメント:
コメントを投稿