通过 cloud-init 制作 PVE 模板
2023-7-5
| 2023-7-5
0  |  0 分钟
type
status
date
Jun 30, 2023 08:57 AM
slug
summary
tags
PVE
category
技术折腾
icon
password
创建虚拟机首先正常创建虚拟机,并勾选 Qemu 代理。

创建虚拟机

首先正常创建虚拟机,并勾选 Qemu 代理。
notion image
硬盘选择固定大小,后期通过克隆后调整硬盘大小就会自动 growpart,必须安装 cloud-utils-growpart。有两点值得注意,磁盘空间只能比原先大并且只支持 ext3 和 ext4。
notion image

模板制作

准备工作

在网卡配置中,确保 onboot=yes,清除 UUID,指向正确的 DNS 并禁用 ipv6。
禁用 selinux 及设置信任区
替换国内 YUM 源
开启内核的 namespace
开启转发功能
限制用户资源
调整 NFS 请求数量
优化 ssh
预置用户
赋予 sudoer 权限
为了让虚拟化层能重启和关闭虚拟机,必须在虚拟机内安装并运行 acpid 服务,为了使根分区正确调整大小安装 cloud-utils-growpart, cloud-init 支持下发前设置信息写入 instance。
禁用默认 zeroconf 路线
当系统无法连接 DHCP Server 的时候,就会尝试通过 zeroconf 来获取 IP,并添加一条 169.254.0.0/16 的路由条目。
修改 cloud-init 配置文件
disable_root:1,是禁止 root 登陆;ssh_pwauth: 0,是禁止使用 password 登陆;package-update-upgrade-install 使实例初次启动时执行 yum update -y。
默认 cloud-init 会创建一个系统类型的用户,不想创建的话就注释掉。
安装点常用工具就可以关机了
开启 qemu-guest-agent

转换模板

查看虚拟机的 VMID
通过本地 lvm 存储 cloud-init 的 metadata,此时 Cloud-Init 按钮不再是灰色。最后在 Portal 上右击转换为模板即可。

基于模板创建虚拟机

notion image
notion image
开机之前修改下所需的硬件信息,及磁盘大小,密码不设置的话就是模板密码。当然,网络信息也可以从 pve 的后台设置。

备份及导入虚拟机

本文由简悦 SimpRead 转码
目录