在使用 Proxmox VE (PVE)之前,办公室的服务器做虚拟化,使用的是方案是:Vagrant / libvirt kvm provider。
优点是全部配置文件化,一个命令可以跑起来全部节点,比如跑 7 vm 节点的 es 集群或者 k8s 集群。
缺点是不好管理,全得靠命令行,另外就是没有多用户权限支持,不利于分工合作。
为了便于多人合作和管理,开始使用 Proxmox VE,并给出一个不太自动化的操作最小集(节约学习成本)。
使用 qm
命令,通过 ssh 或者 pve web 界面的 shell 中操作,以下是必须的操作:
- 下载 ubuntu server 支持 cloud-int 的镜像
- 创建虚拟机模板
- 克隆虚拟机实例
- 修改虚拟机实例磁盘大小
- 启动虚拟机实例
- 停止虚拟机实例
- 删除虚拟机实例
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| wget https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img
template_id=500 vm_number=1
qm create $template_id --name temp --memory 2048 --net0 virtio,bridge=vmbr0 qm importdisk $template_id focal-server-cloudimg-amd64.img local-lvm qm set $template_id --virtio0 local-lvm:vm-$template_id-disk-0 qm set $template_id --boot c --bootdisk virtio0 qm set $template_id --agent 1 qm set $template_id --ide2 local-lvm:cloudinit qm template $template_id
qm clone $template_id 20$vm_number --name p$vm_number
qm resize 20$vm_number virtio0 20G
qm start 20$vm_number
qm stop 20$vm_number
qm destroy 20$vm_number
|
代码见:https://gist.github.com/MarshalW/bc186c041c962655b6c0c20881f74a55