Converting Vmdk / Vhd To Virtualizor's supported storages
Overview
Creating a VPS directly using VMDK / VHD is not possible but you can follow the below steps to manually migrate vmdk / vhd to Virtualizor VPS using LVM / File based storage.
Step 1 : Copy `vmdk` / `vhd` file from Source server to Virtualizor Server
Copy the VPS vmdk / vhd file from Source server to the Virtualizor server. (You can use SCP for it)
Note : Server must have the same amount of free space available on "/" partition so that it can fit the converted file as well.
Step 2 : Convert 'vmdk' / 'vhd' file to 'img' format
Once the file has been copied to the proper destination, you need to convert it to img format by running the following command (Skip this step if your storage on Virtualizor panel is Qcow2) :
For Vmdk :
qemu-img convert vpsfile.vmdk -O raw /converted.img
For Vhd :
qemu-img convert vpsfile.vhd -O raw /converted.img
Note : The file ownership should be set to qemu for user and group using chown command.
chown qemu:qemu filename
Step 3 : Create VPS on Virtualizor panel
Create VPS on Virtualizor panel with LVM / File based storage with same or more disk space than original vps and then power off the VPS from panel.
Step 4 : dd the `.img` to Virtualizor VPS disk
Let's assume the VPS created on Virtualizor is v1001 and vps disk name is vsv1001-dvhckogpoqenoy9c-fy4xodn6olq3efvi. You can run the below command to dd the .img data to vps
For LVM Storage :
Syntax : dd if=/converted.img of=/dev/vg/vps-lv
Example : dd if=/converted.img of=/dev/vg/vsv1001-dvhckogpoqenoy9c-fy4xodn6olq3efvi status=progress
For Thin - LVM Storage :
Syntax : dd if=/converted.img of=/dev/vg/vps-lv conv=sparse status=progress
Example : dd if=/converted.img of=/dev/vg/vsv1001-dvhckogpoqenoy9c-fy4xodn6olq3efvi conv=sparse status=progress
Note : You can find the actual VPS disk path using lvscan command in case of LVM & Thin LVM Storage.
Example : lvscan | grep v1001
For RAW - File based storage :
Syntax : cp /converted.img /path-to-vps-disk.raw
Example : cp /converted.img /vms/vsv1001-dvhckogpoqenoy9c-fy4xodn6olq3efvi.raw (You can press 'y' to overwrite the vps disk.)
Note : The file ownership should be set to qemu for user and group using chown command.
chown qemu:qemu filename
For qcow2 - File based storage :
Syntax : qemu-img convert vpsfile.vmdk -O qcow2 vpsfile.qcow2
Example : qemu-img convert vpsfile.vmdk -O qcow2 vsv1001-dvhckogpoqenoy9c-fy4xodn6olq3efvi.qcow2
And then copy the convert disk to vps storage path.
Note : The file ownership should be set to qemu for user and group using chown command.
chown qemu:qemu filename
Once the dd / cp operation is successful , you can start the VPS from the panel.
Note : Virtualizor may fail to perform operations on such VPS since they might be having a custom partitioning layout.
Converting Proxmox Qcow2 storage to LVM / Thin LVM / RAW Storage
Overview
You can follow the below steps to manually convert qcow2 to LVM / File based storage.
Step 1 : Copy `.qcow2`file from Source server to Virtualizor Server
Copy the VPS qcow2 file from Source server to the Virtualizor server. (You can use SCP for it)
Note : Server must have the same amount of free space available on "/" partition so that it can fit the converted file as well.
Step 2 : Convert 'qcow2' file to 'img' format
Once the file has been copied to the proper destination, you need to convert it to img format by running the following command:
qemu-img convert vps_disk.qcow2 -O raw /converted.img
Note : The file ownership should be set to qemu for user and group using chown command.
chown qemu:qemu filename
Step 3 : Create VPS on Virtualizor panel
Create VPS on Virtualizor panel with LVM / File based storage with same or more disk space than original VPS and then power off the VPS from panel.
Step 4 : dd the `.img` to Virtualizor VPS disk
Let's assume the VPS created on Virtualizor is v1001. You can run the below command to dd the .img data to VPS
For LVM Storage :
Syntax : dd if=/converted.img of=/dev/vg/vps-lv
Example : dd if=/converted.img of=/dev/vg/vsv1001-dvhckogpoqenoy9c-fy4xodn6olq3efvi status=progress
For Thin - LVM Storage :
Syntax : dd if=/converted.img of=/dev/vg/vps-lv conv=sparse status=progress
Example : dd if=/converted.img of=/dev/vg/vsv1001-dvhckogpoqenoy9c-fy4xodn6olq3efvi conv=sparse status=progress
Note : You can find the actual VPS disk path using lvscan command in case of LVM & Thin LVM Storage.
Example : lvscan | grep v1001
For RAW - File based storage :
Syntax : cp /converted.img /path-to-vps-disk.raw
Example : cp /converted.img /vms/v1001-dqvftoc1ccqqgiap-t2arww0xaxskh0pj.raw (You can press 'y' to overwrite the vps disk.)
Note : The file ownership should be set to qemu for user and group using chown command.
chown qemu:qemu filename
Once the DD / cp operation is successful , you can start the VPS from the panel.
Note : Virtualizor may fail to perform operations on such VPS since they might be having a custom partitioning layout.