免責事項: これは英文の記事「Migration of virtual machines fails with an error "Failed to allocate migration heap" on the source ESXi host」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
hostd.log
YYYY-MM-DDTXX:XX:XX.XXXZ verbose hostd[2099806] [Originator@6876 sub=Vigor.Vmsvc.vm:/vmfs/volumes/<datastore>/<VM directory>/<VM name>.vmx opID=5a5d3910-02-d2-12e9] VMotionInitiateSrc: Start message: Failed to reserve a migration memory slice. This host has reached its concurrent migration limit. Wait for another migration to complete before retrying.
--> Failed to create a migrate heap of size 15119369: Not found.
--> Failed to allocate migration heap.
--> Failed to initialize migration at source. Error 0xbad00a4. Migration failed to start due to lack of CPU or memory resources.
-->
vmkernel.log
YYYY-MM-DDTXX:XX:XX.XXXZ cpu0:12526735 opID=82a3a298)WARNING: Migrate: 1063: Failed to create a migrate heap of size 15119369: Not found.
YYYY-MM-DDTXX:XX:XX.XXXZ cpu0:12526735 opID=82a3a298)WARNING: Migrate: 369: vmmLeaderID = XXXX: Failed to allocate migration heap
YYYY-MM-DDTXX:XX:XX.XXXZ cpu0:12526735 opID=82a3a298)WARNING: Migrate: 3881: Can't create migrate info struct for vmmLeaderID = XXXX : Migration failed to start due to lack of CPU or memory resources
ESXi 7.x
ESXi 8.x
ごくまれに、実行中の移行が完了する前に仮想マシンをパワーオフすると、ESXi での移行ヒープのクリーンアップが失敗することがあります。
メモリリークが長期間続くと、移行ヒープが枯渇し、仮想マシンがこのような ESXi ホストから移行できなくなる可能性があります。
この問題は ESXi 7.0 U3v と 8.0 U3eで修正されています。
Workaround
もし vSphere HA によるフェイルオーバの方がすべての仮想マシンをシャットダウンするよりも都合が良ければ、DCUI より「Forcefully terminate running VMs, if any ...」を有効化し、ESXi ホストを再起動します。
https://bugzilla-vcf.lvn.broadcom.net/show_bug.cgi?id=3329281