Proxmox VE 7.2 qm 方式批量导入ESXi OVA

Posted CIAS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Proxmox VE 7.2 qm 方式批量导入ESXi OVA相关的知识,希望对你有一定的参考价值。

 ESXi OVA 导入ProxmoxVE 虚拟机

  • 首先从esxi主机的管理客户端vSphere Client中把要迁移的虚拟机关机选中需要迁移的机器,在菜单“文件”--“导出”--“导出OVF模板”,然后格式选择“单个文件(OVA)”,等待导出完成

  • Centos7.6.ova 

  • 上传Centos7.6.ova虚拟机存储(local-lvm的备份默认路径为:/var/lib/vz/template/iso)

解压 Centos7.6.ova

一个ovf文件,文件包虚拟机的硬件配置,例如cpu规格、内存等
一个或多个vmdk,虚拟机的硬盘镜像,数量取决于虚拟机有多少个硬盘。

tar -xvf Centos7.6.ova

qm基本硬件环境

  • 主板类型

简化
--machine q35|i440fx
完整
--machine (pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)
  •   CPU

--sockets <N>    //几个物理插槽
--vcpus <N>      //几个核心
--cpu <string>   //CPU类型 host | kvm64 | qemu64 等等
--cpulimit <0-128> //CPU限制
--cpuunits <2-262144> //CPU权重
  • 其他信息

--bios seabios|ovmf  //选择是哪种bios类型
--boot cdn //启动顺序。cdrom  disk network 
--ostype  //l24 | l26 | other | solaris | w2k | w2k3 | w2k8 | win10 | win7 | win8 | wvista | wxp 
(注意前两个 一个是linux 2.4内核 一个是linux2.6内核以上,所以是字母小写L,不是1)
--agent 1  //开启qemu-guest-agent
--name vmname  //虚拟机名称
--scsihw virtio-scsi-pci | virtio-scsi-single | megasas | pvscsi | lsi53c810 |lsi //磁盘控制器类型
--serial<N> (/dev/.+|socket) //增加串口,N=0-3。一般指定串口0,类型为socket。此项对于需要串口情况非常有用,例如cloudinit。
  • 硬盘参数

--scsi<N> [pool]:[size]       //其中N为scsi序号,从0开始。pool为储存池名称,例如local-lvm,[size]是硬盘大小,不需要指定磁盘名,系统创建。
例: qm create 100 --scsi0 local-lvm:40
创建虚拟机100,并且在local-lvm上创建一个40G的scsi磁盘。
--ide<N> [pool]:[size]  //ide磁盘
--sata<N> [pool]:[size] //sata磁盘
  • cloud-init

  • cloudinit常用于公有云中。
  • 需要虚拟机有cloud drive
#创建cloud drive
qm set 100 --ide2 local-lvm:cloudinit --ciuser root --cipassword YOU_password

单一导入ESXI OVA虚拟机到 ProxmoxVE

qm create 103 --name Centos7.6 --ostype l26 --agent 1 --bios seabios --boot cdn --bootdisk ide0 --onboot yes --memory 4096 --cores 2 --sockets 1 --cpu host --scsihw pvscsi --serial0 socket --start 0 --net0 virtio,bridge=vmbr0

 将Esxi的磁盘导入local-lvm存储

  • var/lib/vz/template/iso 上传到此目录或者自定义到任意目录
qm importdisk 103 /var/lib/vz/template/iso/Centos_7.6-disk1.vmdk local-lvm --format=qcow2

将新磁盘以ideo或者scsi驱动器的形式绑定给虚拟机 

qm set 103 --ide0 local-lvm:vm-103-disk-0

增加一个磁盘

qm set 103 --ide1 local-lvm:100

将 VM 转换成 template

qm template 103

从 template 中克隆系统

qm clone 103 104 --name Centos7.6-01

 启动104 vm

qm start 104

qm批量一键导入 OVA 虚拟机10台

  • 前提,esxi 创建安装导出的OVA虚拟机

vi /root/qm-ova.sh
#!/bin/bash
clear
wget -N -P /root/ ftp://192.168.12.20//VMware/OVA/Centos7.6.ova --ftp-user=user --ftp-password=you_password
tar -xvf Centos7.6.ova -C /root/
echo "###"
echo "### create multiple qm Containers"
echo "###"
if [ $# -lt 3 ]; then
        echo "usage:   $0 <from id> <to id> <name>"
        echo "example: $0 120 130 centos"
        exit
else
# which template to use from local storage
vmdk="/root/Centos_7.6-disk1.vmdk"
# create container (4096MB RAM, 200GB Storage, DHCP)
for i in `seq $1 $2`; do
        clear
        echo "###"
        echo "### create qm Container ID $i from $2"
        echo "###"
        qm create $i \\
        --name $3$i \\
        --ostype l26 \\
        --agent 1 \\
        --bios seabios \\
        --boot cdn \\
        --bootdisk ide0 \\
        --onboot yes \\
        --memory 4096 \\
        --cores 2 \\
		--sockets 1 \\
		--cpu host \\
		--scsihw pvscsi \\
		--serial0 socket \\
		--start 0 \\
		--net0 virtio,bridge=vmbr0 

qm importdisk $i $vmdk local-lvm --format=qcow2

qm set $i --ide0 local-lvm:vm-$i-disk-0

qm set $i --ide1 local-lvm:100

qm start $i

#qm template $i
done
fi

qm批量部署开始

sh qm-ova.sh 120 130 centos

qm批量创建完成 

qm一键可以删除

 for i in `seq 120 130`; do qm stop $i; qm destroy $i; done

以上是关于Proxmox VE 7.2 qm 方式批量导入ESXi OVA的主要内容,如果未能解决你的问题,请参考以下文章

Proxmox VE 7.2 qm 方式安装openwet

Proxmox VE 7.2 从CT 模板导入虚拟机

Proxmox VE 7.2 网卡直通

Proxmox VE 7.2 LXC 方式部署openwrt

Proxmox VE 7.2 更改登录横幅

Proxmox VE 7.2 变更默认访问端口