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.
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.
For containers, not the virtual machines, you may forcibly migrate the VE (use '
-f' switch of '
vzmigrate' utility) and after the VE is migrated, just check if it works correctly on the destination node. If not - restart this VE, it should correctly detect all available CPU extensions.
You may also use offline migration.