站点图标 Linux-技术共享

PVE 用 cloud-init + Cloud Image 镜像制作 Ubuntu 24.04 LTS 模板

20231005203828480.pngfull

我们现在基于你提供的环境要求:


✅ 目录结构调整建议

虽然你把镜像放到 /var/lib/vz/template/iso,但 导入 .qcow2 镜像时并不要求一定在该目录。PVE 会从那里拷贝一份。如果你喜欢集中管理镜像,可以继续使用该目录。


?️ 完整制作步骤(基于 .qcow2 格式镜像)


第 1 步:下载 Ubuntu 24.04 LTS .qcow2 格式 Cloud Image

cd /var/lib/vz/template/iso
wget https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img -O ubuntu-24.04.qcow2

第 2 步:创建虚拟机(不分配磁盘)

qm create 999011 \
  --name ubuntu-24.04-template \
  --memory 2048 \
  --cores 2 \
  --net0 virtio,bridge=vmbr0 \
  --serial0 socket \
  --vga serial0 \
  --ostype l26

第 3 步:导入 qcow2 磁盘到虚拟机

qm importdisk 999011 /var/lib/vz/template/iso/ubuntu-24.04.qcow2 local-lvm

local-lvm 是你的存储池名称,请根据实际情况修改。


第 4 步:挂载磁盘并配置启动项

qm set 999011 \
  --scsihw virtio-scsi-pci \
  --scsi0 local-lvm:vm-999011-disk-0 \
  --boot c \
  --bootdisk scsi0

第 5 步:添加 cloud-init 支持磁盘

qm set 999011 --ide2 local-lvm:cloudinit

第 6 步:配置 cloud-init 网络和密码

# 使用 DHCP 分配 IP
qm set 999011 --ipconfig0 ip=dhcp

# 设置默认登录用户和密码(cloud-init)
qm set 999011 --ciuser cloudadmin --cipassword Secure@123456

第 7 步:启动虚拟机并登录初始配置

qm start 999011
qm terminal 999011

? 第 8 步:虚拟机内配置(复制以下命令执行)

# 切换为 root
sudo -i

# 更新系统
apt update && apt upgrade -y

# 安装 QEMU Guest Agent
apt install -y qemu-guest-agent
systemctl enable qemu-guest-agent
systemctl start qemu-guest-agent

# 启用 SSH 服务
systemctl enable ssh
systemctl start ssh

# 启用密码登录,禁用公钥登录
sed -i 's/^#\?PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
sed -i 's/^#\?PubkeyAuthentication yes/PubkeyAuthentication no/' /etc/ssh/sshd_config
sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin prohibit-password/' /etc/ssh/sshd_config
systemctl restart ssh

# 清理日志、历史记录、cloud-init 状态
apt autoremove --purge -y
apt clean
cloud-init clean --logs
truncate -s 0 /var/log/*.log
rm -f /var/log/wtmp /var/log/btmp
history -c && unset HISTFILE

? 第 9 步:关闭并转换为模板

qm shutdown 999011
# 等待关机完成后执行:
qm template 999011

✅ 克隆虚拟机测试

# 克隆模板为测试虚拟机
qm clone 999011 100 --name ubuntu-test-vm --full
qm start 100

你现在拥有一个可大规模部署的 Ubuntu 24.04 模板,默认支持:


 

退出移动版