05 虚拟机管理
可以通过“概要”选项卡查看不同级别的概要信息和监控信息。
“数据中心”——”概要“
”物理机“——“概要”
“虚拟机”——”概要“
基本的操作系统安装不再赘述。
虚拟机可以支持转换成模板。模板可以用于克隆。
注意:虚拟机可以转换成模板,但是模板无法转换成虚拟机。
cloud-init是云平台为Linux操作系统的虚拟机做系统初始化配置的开源服务软件。阿里云、AWS、Azure和OpenStack等主流云平台均支持cloud-init。阿里云版cloud-init能在ECS实例启动阶段完成系统初始化配置,包括NTP、软件源、主机名和SSH密钥对等,同时执行实例自定义数据(User data)脚本。更多详情,请参见cloud-init官方文档。
虚拟机上安装cloud-init软件
# 虚拟机上安装cloud-init
yum install cloud-init -y #配置文件:/etc/cloud/cloud.cfg
# 用于自动扩容系统盘。建议整个系统盘使用一个分区,这样有利于扩容
yum install –y cloud-utils-growpart
其他cloud-init配置可参考:
https://support.huaweicloud.com/bestpractice-ims/ims_bp_0024.html
https://support.huaweicloud.com/bpicg-bms/bms_picg_0322.html
控制台上为虚拟机添加**“Cloud-Init CDROM”**驱动

重启虚拟机后,虚拟机的“Cloud-Init”选项就可以编辑了。

如果不想使用自建的虚拟机模板,可以使用官网提供的cloud-init版本的操作系统:
Centos7下载地址: http://cloud.centos.org/centos/7/images/
Debian10下载地址: http://cdimage.debian.org/cdimage/cloud/OpenStack/current-10/
Ubuntu18下载地址: https://cloud-images.ubuntu.com/bionic/current/
原文链接:https://blog.csdn.net/qq_24841037/article/details/98848814
cloud-init参考链接:
https://blog.csdn.net/qq_24841037/article/details/98848814 https://foxi.buduanwang.vip/virtualization/pve/388.html/ http://einverne.github.io/post/2020/03/cloud-init.html https://www.jianshu.com/p/5c2a63220027 https://help.aliyun.com/document_detail/57803.html
默认创建一个桥接网络。
“物理机”——“系统”——”网络“:
- 支持桥接网络、BOND、VLAN
- 支持OVS(openvswitch)
- 管理网络、业务网络、集群网络、存储网络可独立组网
pve支持丰富的存储,默认使用"LVM-Thin"作为磁盘映像,使用"目录"作为备份文件、模板文件的存储。
集成支持ceph存储,推荐使用ceph存储作为共享存储。
支持各类存储,包括:LVM,LVM-Thin,iSCSI/内核,iSCSI/libiscsi, Ceph/RBD, CephFs, ZFS over iSCSl, ZFS(本地),目录,NFS,CIFS,GlusterFS等
建议使用模板进行克隆。
当然,也可以使用裸盘进行操作系统的安装。
根据镜像模板进行克隆
链接克隆实现秒级生成
热迁移
- 基于共享存储
- 不基于共享存储
手动备份 (“VM”——“备份”)
可以自定义备份策略(“数据中心”——“备份”),按指定周期、存储池、备份时间、以及指定的虚拟机进行备份
#qm importdisk <vmid> <images-name> <storage pool> --format=<disk-fs>
qm importdisk 102 ubuntu-18.04.qcow2 rbd --format=qcow2
此时,pve面板出现未使用磁盘。

这里双击 这个未使用磁盘。然后这是总线、设备,接着点击添加

或直接使用命令创建虚机并导入数据盘(推荐):
#新建虚拟机,名称为:ubuntu1804,vmid为:1000 (id可自定义,不存在即可)
qm create 1000 --name "ubuntu1804" --memory 1024 --cores 1 --net0 virtio,bridge=vmbr0
#导入磁盘文件
qm importdisk 1000 bionic-server-cloudimg-amd64.img local-lvm
#定义磁盘总线类型为virtio-scsi
qm set 1000 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-1000-disk-0
qm resize 1000 scsi0 40G
#设置scsi0磁盘为第一引导设备
qm set 1000 --boot c --bootdisk scsi0
#添加Cloudinit Drive设备
qm set 1000 --ide0 local-lvm:cloudinit
#添加cdrom设备
qm set 1000 -cdrom none,media=cdrom
#导入ssh公钥到虚拟系统
# qm set 1000 --sshkey ~/.ssh/id_rsa.pub
# 添加vga设备
# qm set 1000 --serial0 socket --vga serial0
# 启用qga
qm set 1000 --agent enabled=1
# 设置IP
qm set 1000 --ipconfig0 ip=172.16.2.203/24,gw=172.16.2.254
# 启动
# qm start 1000
## qm template 1000
# 删除vm
# qm destroy 1000
或
#新建虚拟机名称为:debian10-ci,vmid为:102 (id可自定义,不存在即可)
qm create 102 --name centos78 --memory 2048 --net0 virtio,bridge=vmbr0
#导入磁盘文件
qm importdisk 102 debian-10.0.2-20190721-openstack-amd64.qcow2 local-lvm
#定义磁盘总线类型为virtio
qm set 102 --virtio0 local-lvm:vm-102-disk-0
#设置virtio0磁盘为第一引导设备
qm set 102 --boot c --bootdisk virtio0
#添加并设置显卡设备为serial0
qm set 102 --serial0 socket --vga serial0
#添加Cloudinit Drive设备
# qm set 102 --ide2 local-lvm:cloudinit
#导入ssh公钥到虚拟系统
# qm set 102 --sshkey ~/.ssh/id_rsa.pub
# qm template 102
VM_SRC_ID=1000
for i in {1..8};do
VM_NAME="vm-${VM_NEW_ID}"
let VM_NEW_ID=100+i
# qm clone ${VM_SRC_ID} ${VM_NEW_ID} -name ${VM_NAME} -full -storage local-lvm1 -target pve01
qm clone ${VM_SRC_ID} ${VM_NEW_ID} -name ${VM_NAME}
qm set ${VM_NEW_ID} --ipconfig0 ip=172.16.1.${i}/24,gw=172.16.1.254
qm start ${VM_NEW_ID}
done
目录:/var/lib/vz