Linuxword Global
当前位置: Linux技术 > PVE 用 cloud-init + Cloud Image 镜像制作 Ubuntu 24.04 LTS 模板

20231005203828480.pngfull

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

  • 下载目录: /var/lib/vz/template/iso

  • 模板虚拟机编号: 999011

  • 镜像格式: .qcow2

  • 目标: 制作一个支持 cloud-init 的 Ubuntu 24.04 LTS 模板,禁用公钥登录、启用密码登录、启用 SSH、安装 QEMU Guest Agent、清理历史。


✅ 目录结构调整建议

虽然你把镜像放到 /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 模板,默认支持:

  • cloud-init 自动注入 IP、用户、密码

  • 启用了 SSH 密码登录

  • 禁用了公钥认证

  • 开启了 QEMU Guest Agent

  • 自动获取 IP(DHCP)

  • 清除了所有历史和日志


 

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏
一分也是爱

支付宝扫一扫打赏

微信扫一扫打赏

上一篇:

下一篇:

相关推荐

博客简介

本站CDN采用VmShell免费提供离中国大陆最近的香港CMI高速网络做支撑,ToToTel打造全球最快速的边沿网络支撑服务,具体详情请见 :https://vmshell.com/ 以及 https://tototel.com/,网站所有的文件和内容禁止大陆网站搬迁复制,谢谢,VPS营销投稿邮箱: admin@linuxxword.com,我们免费帮大家发布,不收取任何费用,请提供完整测试文稿!

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 2886 篇
  • 草稿数目: 33 篇
  • 分类数目: 6 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 29995 个
  • 注册用户: 139 人
  • 访问总量: 8,660,652 次
  • 最近更新: 2025年6月19日