【Linux】PVE系统创建规范的VM模版

基于 Ubuntu Cloud Image 在 Proxmox VE 上创建一个 可用于制作模板的虚拟机 。
注意!如果未将 local-lvm 和 local 分区合并, --scsi0 参数的值应该是 local-lvm


Proxmox VE Linux 模板创建规范(Ubuntu 22.04 Cloud Image 示例)

1. 下载 Cloud Image

bash 复制代码
wget https://cloud-images.ubuntu.com/releases/jammy/release/ubuntu-22.04-server-cloudimg-amd64.img -P /var/lib/vz/template/iso/
  • 建议保存到 /var/lib/vz/template/iso/,方便统一管理模板。
  • Cloud Image 已经最小化,适合 Cloud-Init 和模板使用。

2. 创建虚拟机(VMID: 9000)

bash 复制代码
qm create 9000 \
  --name ubuntu-22.04-cloud-base-v1.0 \
  --memory 2048 \
  --cores 2 \
  --net0 virtio,bridge=vmbr0
  • VMID:唯一标识 VM(模板一般使用 9000+ 避免和生产 VM 冲突)
  • 内存/CPU:模板可以根据默认需求设置,克隆后可调整
  • 网卡类型 :virtio,桥接到 vmbr0

3. 导入 Cloud Image 磁盘

bash 复制代码
qm importdisk 9000 \
  /var/lib/vz/template/iso/ubuntu-22.04-server-cloudimg-amd64.img \
  local \
  --format qcow2
  • 格式 qcow2:支持快照,节省存储空间
  • 存储 local :可根据实际存储选择 local-lvm 或其他存储池

4. 配置磁盘与启动顺序

bash 复制代码
qm set 9000 \
  --scsihw virtio-scsi-pci \
  --scsi0 local:9000/vm-9000-disk-0.qcow2 \
  --ostype l26 \
  --boot order=scsi0
  • SCSI 控制器 :推荐 virtio-scsi-pci(高性能、支持热迁移和快照)
  • boot order:指定从 SCSI 磁盘启动

5. 添加 Cloud-Init 磁盘

bash 复制代码
qm set 9000 --ide2 local:cloudinit
qm set 9000 --agent enabled=1
  • Cloud-Init 磁盘:用于自动化初始化 VM(hostname、IP、SSH key)
  • QEMU Guest Agent :开启后支持 qm agent 获取信息、优雅关机、文件系统冻结

6. 启动并登录 VM(可选)

bash 复制代码
qm start 9000
qm terminal 9000
  • 进入 VM 后,可以执行以下步骤进一步规范化模板:
bash 复制代码
# 更新系统
sudo apt update && sudo apt upgrade -y

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

# 清理 Cloud-Init 信息(保证模板通用)
sudo cloud-init clean

# 清理日志和临时文件
sudo rm -rf /tmp/*
sudo rm -f /var/log/*.log

注:保持最小化系统,去除特定主机信息,提高模板通用性。


7. 关闭虚拟机并制作模板

bash 复制代码
sudo shutdown now
qm template 9000
  • VM 转为模板后,可以通过克隆创建生产 VM
  • 克隆时可以通过 Cloud-Init 自动分配 hostname、IP 和 SSH key

8.调整磁盘大小

shell 复制代码
qm resize 100 scsi0 100G

相关推荐
骑着蜗牛撵大象3271 小时前
Linux 进程间通信之管道:从 pipe() 的内核语义到 FIFO 落地排错
android·java·linux·系统编程·fifo·管道·进程间通信
众壹新能源科技1 小时前
逆变器自带无功不够用,加装5MVar SVG后功率因数从0.85回到0.99
运维·人工智能·自动化
..Dauntless..1 小时前
【Linux】一切皆文件和缓冲区
linux·运维·服务器
裕晟资质规划1 小时前
三类资质变更报告时限差在哪?军工 15 日、集成印制 10 日
大数据·服务器·网络
QMCY_jason1 小时前
x86 ubuntu2204 无gui 安装 openeuler 2203 aarch64版本
linux·运维·服务器
重生之小比特1 小时前
【Linux系统】12 进程程序替换 自定义Shell 命令行解释器
linux·运维·服务器
轻舟技术A1 小时前
Provider 不属于 Agent 核心:rpi 的分层理由与收益
服务器·网络
考拉讲支付1 小时前
母婴亲子服务平台分账架构设计:多场景多方分账与合规清结算实践
大数据·运维·人工智能·微信小程序·架构·微信公众平台
连山齐名2 小时前
ai应用开发的学习笔记
服务器·笔记·学习
LateFrames2 小时前
“场控软件” 如何容错与运维
运维·容错·led大屏·播控系统·场控软件