使用cloud-img镜像快速在PVE环境部署虚拟机
建立虚拟机
qm create 9991 --name Debian-10-01template --net0 virtio,bridge=vmbr0 --ostype l26 --memory 2048 --cpu host
导入磁盘镜像
qm importdisk 9991 debian-10-generic-amd64-20230917-1506.qcow2 local-ssd -format qcow2
挂载导入的磁盘到控制器
qm set 9991 --scsihw virtio-scsi-single --scsi0 local-ssd:vm-9991-disk-0
配置cloud-init驱动
qm set 9991 --ide2 local-ssd:cloudinit
配置引导磁盘
qm set 9991 --boot order=scsi0
启用QEMU Guest Agent
qm set 9991 --agent enabled=1(默认值 = 0关闭)
配置虚拟机使用ovmf还是传统bios
qm set 9991 --bios ovmf <ovmf | seabios>(默认值 = seabios)
配置虚拟机使用核心数量
qm set 9991 --cores 2 (1 - N ,默认值 = 1)
配置虚拟机内存大小
qm set 9991 --memory 512 (默认值 = 512 扩容以MB为单位)
配置虚拟机安装的OS类型
qm set 9991 --ostype 126 <l24 | l26=Linux2.6-6.x | 其他 | solaris | w2k | w2k3 | w2k8 | win10 | win11 | win7 | win8 | wvista | wxp>(注意该命令无法设置Linux ,可能是bug,124和126参数在命令行控制会报错)
配置直通显卡示范如ga rx580 2048sp
- 此处第一个示范为直通并且让客户机可见ROM信息:
qm set 9991 -hostpci0 0000:02:00,pcie=1,x-vga=1,romfile=rx5802048sp.rom,rombar=1
下载显卡ROM
- 如果需要覆盖ID请下载对应覆盖后可以驱动的ROM 比如2048sp,覆盖为2304sp的显卡ID
- 可用选项包括 vendor-id、device-id、sub-vendor-id 和 sub-device-id如果需要覆盖硬件ID可以使用,请注意选取的ROM A卡必须显存相同,下面是覆盖硬件ID的一个示范:
qm set 9991 -hostpci0 000:02:00,vendor-id=0x1002,device-id=0x67df,pcie=1,x-vga=1,romfile=rx580234sp.rom,rombar=1
添加串口显示控制台
qm set 9991 --serial0 socket --vga serial0
转换为模板机器
qm template 9991
克隆虚拟机
qm clone 9991 103 --name debian-10
- 克隆虚拟机命令说明: qm clone 模板机器ID 新虚拟机ID --name 设定新名称
配置虚拟机CPU模式host性能最好
qm set 9991 --cpu host
配置cloud-init使用的数据
1、添加带有预注册密钥,安全启动支持的uefi配置保存磁盘
qm set 9991 -efidisk0 local-lvm:1,format=raw,efitype=4m,pre-enrolled-keys=1
2、添加TPM2.0支持
qm set 9991 -tpmstate0 local-lvm:1,version=v2.0
3、添加需要的公钥用于配置免密码登陆可以是RSA等任意
qm set 9991 --sshkey ~/.ssh/id_ed25519.pub
4、配置网络吗,网关和ip
qm set 9991 --ipconfig0 ip=10.0.10.123/24,gw=10.0.10.1,ip6=auto
5、配置用户名和密码,注意此处为cloud-init初始化会往机器内配置的
qm set 9991 --ciuser ymwl --cipassword 123456
6、配置是否开机后调用cloud-init更新系统包,默认值1
开启,可选值0
关闭
qm set 9991 --ciupgrade 1
7、设置自定义dns解析服务器
qm set 9991 --nameserver 8.8.8.8