Online migration of a virtual environment is failing with the following message:
For a container:
Can not migrate: Insufficient cpu capabilities on destination HN. Can't move/copy VE#123 -> VE#123, ,  : Insufficient cpu capabilities on destination HN.
With the verbose output (vzmigrate with -v switch), you can see exact CPU features which are missing on the destination node:
/usr/libexec/vztestcaps 2622788 161183 vztestcaps : Error: Destination cpu does not have xsave vztestcaps : Error: Destination cpu does not have avx vztestcaps : Error: Destination cpu does not have aesni
For a virtual machine:
Failed to migrate the VM: You cannot migrate this virtual machine using the live mode. The CPUs on the source and destination servers are not compatible. /usr/bin/prlctl failed, exitcode=255
This warning is displayed if the destination hardware node does not have some CPU features available on the source node. If a process inside a VE detected SSE2 extension (or some other CPU/system feature) on startup, this process will assume that SSE2 will be available any time later for its use. If a process requests SSE2 functionality after online migration to a node with CPU not providing such instructions, then a process can fail.
However, if the same process will be started on the node without SSE2, then it will not expect/use it and this process will work correctly after a VE is migrated to a hardware node without SSE2 extensions.
The message warns you about possible problems with VE functionality, if you migrate such VE to a hardware node which does not support any of CPU capabilities available on source node.
Please note that SSE2 is mentioned just as an example, it does not mean that exactly SSE2 is absent on destination hardware node, it could be any other CPU extension or system capability.
NOTE: IPv6 support is checked together with CPU features, therefore if the destination node has IPv6 disabled (either by forbidding 'ipv6' module from loading or passing 'enable=0' to this module while loading), the migration will fail if the source node has IPv6 enabled.
If migration takes place between standalone servers it is necessary to perform migration in an offline mode.
In case when nodes are running in a cluster it is possible to enable
cpupools feature which allows to disable some CPU features along the cluster to make CPUs compatible for live migration.
man cpupools for more information.