我在我的家庭实验室中使用 proxmox 来运行虚拟机,但默认情况下你必须从头开始安装每个虚拟机,这可能很烦人。幸运的是,Proxmox 有一个功能,您可以制作模板并使用 Cloud-Init 来设置它们。
下载基础镜像
首先,我们需要下载一个可以使用的云镜像。大多数发行版已经为此准备了特殊的图像。我在下面链接了一些:
在本教程中,我将把这些图像称为
<image>
。将其替换为您下载的图像
将软件添加到图像
我们需要将 qemu guest 代理添加到这些映像中,这可以通过以下方式完成(将<image>
替换为您下载的映像):
sudo apt update ; sudo apt install libguestfs-tools -y ; virt-customize --install qemu-guest-agent -a <image>
创建模板
现在我们已经准备好了磁盘镜像,我们可以制作VM模板了。我们可以使用以下命令创建一个新的空白虚拟机(随意将 ram/cpu 更改为您喜欢的值)
qm create 9000 --name debian-12-bookworm-template --memory 2048 --cores 2 --net0 virtio,bridge = vmbr0 --agent 1
接下来我们可以导入磁盘:
# replace local-lvm with the name of your storage qm importdisk 9000 <image> local-lvm # if you use a normal "directory" volume for storage, you can use this instead: qm importdisk 9000 <image> local --format qcow2
接下来,附加磁盘、cloud-init 并设置一些附加选项:
qm set 9000 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-9000-disk-0 qm set 9000 --ide2 local-lvm:cloudinit qm set 9000 --boot c --bootdisk scsi0 qm set 9000 --serial0 socket qm set 9000 --ipconfig0 ip = dhcp qm set 9000 --cpu cputype = x86-64-v2-AES
如果您愿意,还可以设置默认的 cloud-init 用户/sshkey:
现在我们可以将磁盘大小调整为更舒适的最小大小,请记住您以后无法缩小它。
qm resize 9000 scsi0 50G qm template 9000
现在您可以使用“克隆”基于此映像创建一个新的虚拟机。
原文: https://www.vincentlammens.be/making-proxmox-templates.html