【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

相关推荐
天才奇男子16 小时前
HAProxy高级功能全解析
linux·运维·服务器·微服务·云原生
小李独爱秋16 小时前
“bootmgr is compressed”错误:根源、笔记本与台式机差异化解决方案深度指南
运维·stm32·单片机·嵌入式硬件·文件系统·电脑故障
学嵌入式的小杨同学16 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
酥暮沐17 小时前
iscsi部署网络存储
linux·网络·存储·iscsi
❀͜͡傀儡师17 小时前
centos 7部署dns服务器
linux·服务器·centos·dns
Dying.Light17 小时前
Linux部署问题
linux·运维·服务器
S190117 小时前
Linux的常用指令
linux·运维·服务器
萤丰信息17 小时前
AI 筑基・生态共荣:智慧园区的价值重构与未来新途
大数据·运维·人工智能·科技·智慧城市·智慧园区
小义_18 小时前
【RH134知识点问答题】第7章 管理基本存储
linux·运维·服务器
运维小欣18 小时前
Agentic AI 与 Agentic Ops 驱动,智能运维迈向新高度
运维·人工智能