Proxmox虽然好用,但是每次创建KVM机器就必须从头安装一次,所以有个模板那就是坠好的。
模板的制作涉及到cloud-init(这玩意超方便),VM模板用一些官方的image,这里以Debian11为例。
先放两个Cloud-init下载地址:
CentOS7:
https://cloud.centos.org/centos/7/images/
AlmaLinux:
https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/
RockyLinux:
https://download.rockylinux.org/pub/rocky/8.5/images/
Debian11:
https://cloud.debian.org/images/cloud/bullseye/
Debian10:
https://cloud.debian.org/images/cloud/buster/
镜像要选择带有GenericCloud字样的,这样有了 Cloud-init 驱动,Proxmox可以更好的利用。
教程:
下载镜像:
这里以教程当前Debian11最新模板为例。
直接下载到root根目录即可。
wget -c "https://cloud.debian.org/images/cloud/bullseye/daily/20220117-890/debian-11-genericcloud-amd64-daily-20220117-890.qcow2" -O debian11.qcow2
镜像每天都会更新 如果想要最新版建议不要直接复制我的内容。
导入镜像:
首先创建VM:qm create 8888 --memory 1024 --name debian11 --net0 virtio,bridge=vmbr0
然后导入下载的镜像到local存储盘中:qm importdisk 8888 debian11.qcow2 local
将镜像磁盘以scsi方式挂载至VM:qm set 8888 --scsihw virtio-scsi-pci --scsi0 local:8888/vm-8888-disk-0.raw
添加 Cloud-Init驱动和显示串行端口:qm set 8888 --ide2 local:cloudinit --boot c --bootdisk scsi0 --serial0 socket --vga serial0
设置IP为DHCP:qm set 8888 --ipconfig0 ip=dhcp
启动VM:qm set 8888 --boot c --bootdisk scsi0
镜像Cloud-init设置:
Cloud-init 驱动是Proxmox一项特色,可以在外部直接管理虚拟机,而不用在VM内部操作。

按照途中顺序设置好用户和网络,生成映像即可。
当然如果你看了我之前的DHCP分发IP地址,那也可以不用设置第3步,让VM自动获取即可。
优化镜像:
首先开启ssh的root登录:
cat >> /etc/ssh/sshd_config << EOF PasswordAuthentication yes PermitRootLogin yes EOF service ssh restart 配置文件中PasswordAuthentication选项默认是NO,需要找到并删除。
修改时区:
timedatectl set-timezone Asia/Tokyo
开启BBR:
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf sysctl -p
剩下就是你自己需要的内容,可以内置宝塔,LNMP之类的应用程序,方便生成直接使用。
另外如果是国内网络建议设置一下镜像站,改为清华或163。
最后彻底删除所有命令以及登录信息:
echo > /var/log/syslog echo > /var/log/messages echo > /var/log/httpd/access_log echo > /var/log/httpd/error_log echo > /var/log/xferlog echo > /var/log/secure echo > /var/log/auth.log echo > /var/log/user.log echo > /var/log/wtmp echo > /var/log/lastlog echo > /var/log/btmp echo > /var/run/utmp echo > ~/.bash_history history -c
做完这一切就在Proxmox控制台中关闭VM即可。
生成模板:
qm template 8888
模板创建至此结束。
结尾:
创建新的VM


如图选择完整克隆即可。
生成VM之后记得在Cloud-init修改一下网络用户相关信息即可。
最最后PS 制作多个模板的时候,VM ID尽量填大一些,不要与正常VM ID冲突。