在PVE中使用 Cloud-init 初始化 Ubuntu cloud-image 并创建模板
在 Proxmox VE (PVE) 环境中,cloud-init 作为云虚拟机初始化的事实标准工具,为运维工作带来了极大的便利。该工具能够通过模板文件自动化完成虚拟机的基础配置,包括用户账户创建、密码设置、主机名配置、网络参数定制以及磁盘分区扩容等关键初始化任务。
与此同时,Ubuntu 官方发布的 cloud-image 是专为云场景优化的精简系统镜像,结合 cloud-init 即可实现“一次配置,多次部署”的批量克隆工作流,显著提升了虚拟机部署效率。
本文以 Ubuntu 26.04 LTS 和 PVE 9 为例。
下载 Ubuntu cloud-image
Ubuntu 官方提供了多个版本的 Cloud Image 镜像,可根据需求选择合适的版本进行下载。
https://cloud-images.ubuntu.com/releases/
以 Ubuntu 26.04 LTS 为例,进入对应版本文件夹后,向下滚动找到 "release/" 目录:

下载文件名为「ubuntu-26.04-server-cloudimg-amd64.img」的镜像:
https://cloud-images.ubuntu.com/releases/resolute/release/ubuntu-26.04-server-cloudimg-amd64.img
将镜像导入 PVE 中
使用任意 SFTP 客户端,连接到 PVE 节点,将下载好的镜像文件上传至 PVE 存储中。
创建虚拟机并导入镜像
打开 PVE Web 管理界面,创建虚拟机。「操作系统」中,选择「不使用任何介质」,客户机操作系统类别选择 Linux,版本选择 7.x – 2.6 Kernel

「系统」中,显卡和 SCSI 控制器保持默认,机型选择「q35」,BIOS 选择「OVMF (UEFI)」,勾选「添加 EFI 磁盘」和「预注册密钥」。建议同时勾选 Qemu 代理(安装相应服务后可在 PVE Web 端查看虚拟机 IP 地址)。

磁盘暂不设置,后续将替换为 cloud image。CPU 和内存根据实际需求调整。网络保持默认配置即可。
创建完毕后,打开虚拟机的「硬件」选项,分离并移除默认硬盘:
通过 SSH 连接到 PVE 节点,执行以下命令将 cloud image 导入虚拟机。其中,「vmid」为创建虚拟机后分配的虚拟机 ID(可在 PVE Web 侧边栏查看),「ubuntu-26.04-server-cloudimg-amd64.img」为镜像文件名(根据实际情况调整),需填写绝对路径。「local-lvm」为目标存储池,也可根据需要更换。
qm importdisk vmid ubuntu-26.04-server-cloudimg-amd64.img local-lvm
导入成功后,命令输出类似以下信息:
transferred x GiB of x GiB (100.00%)
Successfully imported disk as 'unused0:local-lvm:vm-vmid-disk-1'
返回虚拟机硬件页面,可见新增一块硬盘:

选中该硬盘,点击「编辑」,将「总线」更改为「SATA」,然后点击「添加」:

此时硬盘列表中会出现「硬盘0 (SATA)」,再次选中后,点击「磁盘操作」→「调整大小」:

在此处输入增量大小(单位为 GiB):
添加一个 Cloud-init 设备:
点击左侧栏的「Cloud-Init」,在此处可编辑用户名、密码、SSH 公钥及 IP 地址。编辑完成后,务必点击上方的「重生成镜像」。建议生成 SSH 公钥进行连接(Cloud Image 默认禁用密码登录)。

完成后,点击左侧「选项」→「引导顺序」,勾选「sata0」并拖至首位:

至此,已完成所有配置,可以启动虚拟机了。

使用邮箱注册 Ubuntu Pro 服务,个人账户包含 5 个授权,通常足够使用。

验证系统运行正常后,关闭虚拟机。
⚠️ 执行下述操作前,请务必确认选择正确的虚拟机,此操作不可逆。
点击右上角「更多」→「转换成模板」:
此时虚拟机会转变为模板,概览页面显示如下:

左侧栏的图标也会相应变化:

此时,原虚拟机已转换为模板,可通过克隆该模板快速部署多个 Ubuntu 系统。
克隆虚拟机
点击右上角「更多」→「克隆」:
根据实际需求选择「链接克隆」或「完整克隆」。其中,「完整克隆」可更改目标存储池。

链接克隆与完整克隆的区别:链接克隆基于模板创建快照,依赖该快照运行,若模板被删除,链接克隆的虚拟机将无法使用,且性能略低于完整克隆;完整克隆是完全独立的虚拟机,性能与原虚拟机一致,但克隆耗时较长。如需了解更多细节,请自行查阅相关资料。本人倾向于使用「完整克隆」。