使用cloud-init镜像在Proxmox中方便地创建虚拟机

文档 · 今天 · 4 人浏览

1.前言

众~所周知,在PVE中创建虚拟机可谓是一个繁琐又无聊的工作,你要安装操作系统,你要设置用户名和密码,即使你创建了一个模板,在每次新创建虚拟机时又要进入系统设置不同的hostname和IP地址等一大~堆信息,我们可以用cloud-init工具包来免去这一繁琐项目。

2.操作环境

  • 虚拟化平台:Proxmox VE 9.2.2
  • 模板系统:Ubuntu 24.04 cloud-init minimal

3.正式操作

首先,为了方便表示,我就不用命令行创建了,第一步需要创建一个UEFI启动的无硬盘和CD驱动器的虚拟机,然后为其添加cloud-init驱动器,总线保持IDE即可,存储位置按照你要使用的存储位置而定,创建完后的效果如下图所示。

注:UEFI启动非必须,需要跟随下载的不同镜像使用不同的启动方式,但无硬盘和CD驱动器是必须的。

空白虚拟机

在创建完成后,上传下载到的模板镜像,通常为*.img格式,将其通过PVE网页上传到宿主机存储,我这里上传到了ISO镜像目录。

导入磁盘

然后,我们需要通过命令行将导入的镜像转化成虚拟磁盘,挂载到目标虚拟机,转到宿主机shell,执行如下命令

# qm importdisk <虚拟机ID> <镜像完整path> <目标存储> ,在我的环境中命令如下,请对应替换为你的目录和位置

qm importdisk 40000  /var/lib/pve/local-btrfs/template/iso/ubuntu-24.04-server-cloudimg-amd64.img data-storage

等待导入完毕后,转到虚拟机的硬件页,会出现一个新的未使用的磁盘,选中后点击编辑,弹出属性编辑页,点击新增即可。

导入磁盘

然后再调整下引导顺序,使新增的磁盘可以被引导,同时稍微对磁盘进行一些扩容,就可以直接开机!

填写信息

PVE Cloud-init