ESXi以外の仮想環境にも慣れておかないと、ということで、最近Proxmoxを触り出しています。
VMを新規で作るだけでは無く、既存のモノを持ち込むシーンもあるかと思い、インポート方法について少し試してみました。
実験について
練習用のVMイメージは(単に複数環境用のVMが用意されていたため)Zabbix Applianceを使ってみることにしました。
Hyper-V/ovf/KVM/VMware形式の各アプライアンスをインポートし、OS(AlmaLinux)が起動して来る所までをゴールとします。
各仮想マシンはlocal-lvmに置くこととしました。
準備
Zabbix公式から各種仮想マシンをダウンロードします。
https://www.zabbix.com/jp/download_appliance
今回は、
- Microsoft Hyper-V 2012(.vhdx)
- Open virtualization format (.ovf/.vmdk)
- KVM, QEMU (.qcow2)
- VMWare (.vmx)
の4パターンの仮想マシンをダウンロードし、
/var/lib/vz/images/zabbixappliance/
以下に各アーカイブの中身(仮想ディスク等)をコピーしました。
注意点
以下の各方法の中の『–name』で作成するVM名を指定しますが、DNSで許されない文字(_など)が入っているとError400となるので注意下さい。
Hyper-V → Proxmox
- アプライアンスとなるVM(IDは500とする)を作る
- OSメディアは使用しない
- システムタブはそのまま
- OSインストールは無し
- disk容量は1GB程度
- diskとCDはdetachする
- detachした仮想ディスクは削除する
- 仮想ディスクをインポートする
root@proxmox:~# qm importdisk 500 /var/lib/vz/images/zabbixappliance/HyperV/zabbix_appliance-6.4.12.vhdx local-lvm importing disk '/var/lib/vz/images/zabbixappliance/HyperV/zabbix_appliance-6.4.12.vhdx' to VM 500 ... WARNING: You have not turned on protection against thin pools running out of space. WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full. Logical volume "vm-500-disk-0" created. WARNING: Sum of all thin volume sizes (426.03 GiB) exceeds the size of thin pool pve/data and the size of whole volume group (237.47 GiB). transferred 0.0 B of 10.0 GiB (0.00%) (snip) transferred 10.0 GiB of 10.0 GiB (100.00%) Successfully imported disk as 'unused0:local-lvm:vm-500-disk-0' root@proxmox:~#
- 未使用のdisk(local-lvm:vm-500-disk-0)選択→編集→追加
- VMを起動し、動作を確認する
ovf → Proxmox
- (IDは501とする)
- OVFファイルからVMを生成する
root@proxmox:~# qm importovf 501 /var/lib/vz/images/zabbixappliance/ovf/zabbix_appliance-6.4.12.ovf local-lvm --format qcow2 --dryrun warning: unable to parse the VM name in this OVF manifest, generating a default value invalid host ressource /disk/vmdisk1, skipping { "disks" : [], "qm" : { "cores" : "4", "memory" : "4096" } } root@proxmox:~#
- これはダメだった
ovf → Proxmox(その2)
- 適当にVM(IDは501)を作り、CDとdiskをdetach
- detachした仮想ディスクは削除する
- vmdkをqcow2形式でインポートする
root@proxmox:~# qm importdisk 501 /var/lib/vz/images/zabbixappliance/ovf/zabbix_appliance-6.4.12-disk001.vmdk local-lvm -format qcow2 importing disk '/var/lib/vz/images/zabbixappliance/ovf/zabbix_appliance-6.4.12-disk001.vmdk' to VM 501 ... WARNING: You have not turned on protection against thin pools running out of space. WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full. Logical volume "vm-501-disk-0" created. WARNING: Sum of all thin volume sizes (436.03 GiB) exceeds the size of thin pool pve/data and the size of whole volume group (237.47 GiB). transferred 0.0 B of 10.0 GiB (0.00%) (snip) transferred 10.0 GiB of 10.0 GiB (100.00%) Successfully imported disk as 'unused0:local-lvm:vm-501-disk-0' root@proxmox:~#
- 未使用のdisk(local-lvm:vm-501-disk-0)選択→編集→追加
- VMを起動し、動作を確認する
KVM qcow2 → Proxmox
- (IDは502とする)
- 単純にインポートしてVMを作成する
root@proxmox:~# qm create 502 --name ZabbixApplianceQcow2 --ostype l26 --cpu host --sockets 1 --cores 2 --memory 4096 --net0 virtio,bridge=vmbr0 --scsi0 local-lvm:0,import-from=/var/lib/vz/images/zabbixappliance/KVM/zabbix_appliance-6.4.12.qcow2,format=qcow2,discard=on --boot order=scsi0 --scsihw virtio-scsi-pci WARNING: You have not turned on protection against thin pools running out of space. WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full. Logical volume "vm-502-disk-0" created. WARNING: Sum of all thin volume sizes (446.03 GiB) exceeds the size of thin pool pve/data and the size of whole volume group (237.47 GiB). transferred 0.0 B of 10.0 GiB (0.00%) (snip) transferred 10.0 GiB of 10.0 GiB (100.00%) scsi0: successfully created disk 'local-lvm:vm-502-disk-0,discard=on,size=10G' root@proxmox:~#
- VMを起動し、動作を確認する
VMware ESXi -> Proxmox
- 適当にVM(IDは503)を作り、CDとdiskをdetach
- detachした仮想ディスクは削除する
- vmdkファイルをqcow2形式でインポートする
root@proxmox:~# qm importdisk 503 /var/lib/vz/images/zabbixappliance/VMware/zabbix_appliance-6.4.12-disk1.vmdk local-lvm -format qcow2 importing disk '/var/lib/vz/images/zabbixappliance/VMware/zabbix_appliance-6.4.12-disk1.vmdk' to VM 503 ... WARNING: You have not turned on protection against thin pools running out of space. WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full. Logical volume "vm-503-disk-0" created. WARNING: Sum of all thin volume sizes (456.03 GiB) exceeds the size of thin pool pve/data and the size of whole volume group (237.47 GiB). transferred 0.0 B of 10.0 GiB (0.00%) (snip) transferred 10.0 GiB of 10.0 GiB (100.00%) Successfully imported disk as 'unused0:local-lvm:vm-503-disk-0' root@proxmox:~#
- 未使用のdisk(local-lvm:vm-503-disk-0)選択→編集→追加
- VMを起動し、動作を確認する
以上です。