Since migrating containers from one host to another is still a work in progress I thought I would share an easy way to migrate a virtual machine called "test" (with ID 100) from a "local" disk on a cluster host1 to a disk2 on a host2. (This functionality is still missing.)
First we create /media/data2 LVM drive and folder and add them to proxmox storage. (Not part of this short tutorial.)
Then we bind mount the /var/lib/vz dir as a root on host2 with command
After migration is done from host1 to a different storage on host2 we unmount the temporary "local" storage, mount the new data2 folder (for real this time) and remount the real "local" storage again.
Then we change the /etc/pve/openvz/100.conf content to point to data2.
Now the virtual machine is ready to be started on a different storage on a different host.
The benefit of this approach compared to just backing up and restoring a client is that this way the down time is actually quite small compared to backing up and restoring a 50Gb VM.
First we create /media/data2 LVM drive and folder and add them to proxmox storage. (Not part of this short tutorial.)
Then we bind mount the /var/lib/vz dir as a root on host2 with command
And then we migrate the container normally to host2 and it's "local" storage.mount --bind /media/data2 /var/lib/vz
After migration is done from host1 to a different storage on host2 we unmount the temporary "local" storage, mount the new data2 folder (for real this time) and remount the real "local" storage again.
Then we change the /etc/pve/openvz/100.conf content to point to data2.
VE_ROOT="/var/lib/vz/root/100"
VE_PRIVATE="/media/data2/private/100"
Now the virtual machine is ready to be started on a different storage on a different host.
The benefit of this approach compared to just backing up and restoring a client is that this way the down time is actually quite small compared to backing up and restoring a 50Gb VM.