【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

相关推荐
.千余2 小时前
【Linux】网络基础2---Socket编程预备
linux·网络·php
曦月合一2 小时前
在CentOS 6.5系统中OpenJDK 1.7升级更新 OpenJDK 1.8,并部署
linux·centos·jdk1.8
小小ken2 小时前
virtualbox中的ubuntu虚拟机登录到桌面后出现屏幕闪烁现象解决办法
linux·运维·ubuntu
UCloud_TShare2 小时前
告警至处置的自动化鸿沟:AI Agent 的破局思路探索
运维·人工智能·自动化
tianyuanwo2 小时前
Linux社区ISO制作底层探秘:从mkisofs到xorriso的全面解析
linux·mkisofs·xorriso
xiaoye-duck2 小时前
《Linux系统编程》Linux基础开发工具 (三):从零实现动态进度条(附回车、换行与缓冲区详解)
linux
cui_ruicheng2 小时前
Linux网络编程(四):UDP Socket基础编程
linux·服务器·网络·udp
用户2367829801682 小时前
Linux more 命令详解:从基础分页到高级文本查看技巧
linux
sunlifenger2 小时前
构筑绿色能源数字底座,风光一体化智慧电站整体解决方案
服务器·网络·能源