1 Star 0 Fork 43

梁文杰9311 / PVE_Toss_Notes

forked from 狐狸 Nomad. / PVE_Toss_Notes 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
04.PVE创建模板虚拟机.md 8.35 KB
一键复制 编辑 原始数据 按行查看 历史
狐狸 Nomad. 提交于 2023-07-16 01:23 . 更新 PVE 制作虚拟机模板

0.前期准备

将虚拟机制作成模板,可在后续新建虚拟机时快速从模板中创建,减少系统安装配置时间。

该虚拟机模板主要作为内网 DNS 服务器使用,并会安装 Adguard Home 。

本文将使用 Debian 的云镜像 debian-12-genericcloud-amd64.qcow2 作为模板虚拟机的镜像。

访问 Debian Official Cloud Images 官方网站,下载最新版 Bookworm 云镜像以及对应的校验文件。

下载镜像

1.创建虚拟机

登录 PVE 管理后台,点击页面右上角 创建虚拟机 ,进入虚拟机创建流程。

1.1.常规

勾选底部 高级 选项,显示完整的配置参数,节点即 “本机” ,VM ID名称 可自定义。

虚拟机名称

1.2.操作系统

无需使用任何安装介质,客户机操作系统类别选择 Linux , 版本选择 6.x - 2.6 Kernel 即可。

虚拟机操作系统

1.3.系统

SCSI 控制器保持默认 VirtIO SCSI single ,并勾选 Qemu代理 选项。

虚拟机系统

1.4.磁盘

一般情况下,如果该虚拟机仅为 Adguard Home 服务器,20G 磁盘空间足够使用。

由于使用 Debian 云镜像制作虚拟机模板,此处删除所有 磁盘

虚拟机磁盘

1.5.CPU

CPU 类别 选择 host插槽核心 数根据物理 CPU 核心数进行酌情设置。

若 PVE 服务器内有多颗物理 CPU ,则推荐勾选 启用NUMA 选项。

虚拟机CPU

1.6.内存

内存一般 2G 足够使用,取消勾选 Ballooning设备

虚拟机内存

1.7.网络

02.PVE初始化配置 中,曾创建了一个没有桥接任何物理网口的内部网桥。

该内部网桥接口同属于主路由内部网桥成员接口。

因此,模板虚拟机的 桥接 参数可设置为该纯内部网桥。

虚拟机网口

由于演示环境中暂未安装主路由系统,因此选择其他网桥接口替代。

通常情况下无需使用 PVE 内建防火墙,因此 取消勾选 网络设备的 防火墙 选项。

推荐在 Multiqueue 处根据前面设置的 CPU 核心数进行网卡多队列设置,设置比例为 1:1 。

即有 n 个 CPU 核心,此处多队列也设置为 n 。

虚拟机网卡多队列

1.8.确认

接下来查看设置总览,确认无误后即可点击 完成

虚拟机确认

2.调整硬件参数

2.1.删除光驱

查看虚拟机详情页,在虚拟机硬件配置页面,移除其 CD/DVD驱动器

虚拟机删除光驱

2.2.导入镜像文件

使用 SSH 工具登录 PVE 服务器,并进入 tmp 目录,逐行执行以下命令创建一个文件夹。

## 创建存放 Debian 云镜像的临时目录
$ mkdir -p /tmp/Debian

## 进入文件夹
$ cd /tmp/Debian

将 Debian 云镜像传输到该文件夹,并检查 hash

## 下载云镜像校验文件
$ wget https://cloud.debian.org/images/cloud/bookworm/latest/SHA512SUMS

## 下载云镜像
$ wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.qcow2

## 检查文件是否存在
$ ls -la

## 显示校验文件内容
$ cat SHA512SUMS

## 计算文件 hash
$ sha512sum debian-12-genericcloud-amd64.qcow2

确认无误后,将镜像文件导入刚才创建的虚拟机,命令中的 VM ID 需要根据实际情况替换,演示为 1000

## 将 qcow2 镜像导入虚拟机中
$ qm importdisk 1000 debian-12-genericcloud-amd64.qcow2 local-lvm

#### 镜像导入示例输出
Successfully imported disk as 'unused0:local-lvm:vm-1000-disk-0'

虚拟机新磁盘

鼠标 双击 该未使用的磁盘,点击 添加

虚拟机使用该磁盘

导入的镜像只有 2G 磁盘空间,为了后续方便使用,需要对磁盘进行扩容。

鼠标 单击 选中该磁盘,选择页面顶部 磁盘操作 菜单的子菜单 调整大小

虚拟机磁盘扩容

在弹出的对话框中,给该磁盘增加 18G 磁盘空间。

虚拟机磁盘增加18G

2.3.添加 CloudInit

为了能够正常使用 Cloud-Init 初始化系统,需要给模板虚拟机添加 CloudInit设备

点击顶部 添加 菜单,选择 CloudInit设备

虚拟机添加ci

总线/设备 选择 SCSI ,编号为 1存储 选择 local-lvm

虚拟机ci参数

2.4.添加串行端口

部分云镜像需要使用 serial 端口作为视频输出端口,否则虚拟机无法启动,因此给模板虚拟机添加串行端口。

点击顶部 添加 菜单,选择 串行端口

虚拟机添加串口

串行端口编号为 0

虚拟机串口参数

虚拟机硬件设备修改完成后,如下图所示。

虚拟机全部硬件

3.调整配置参数

进入左侧虚拟机 选项 页面,可以看到当前虚拟机的配置参数。

通常情况下,模板虚拟机的配置参数需要修改以下内容:

  1. 开机自启动(模板无需修改,克隆的虚拟机需要修改)

  2. 启动/关机顺序(模板无需修改,克隆的虚拟机需要修改)

  3. 引导顺序(仅模板需要修改)

  4. 使用平板指针(仅模板需要修改)

3.1.修改引导顺序

鼠标 双击 引导顺序 选项,进入编辑界面。

scsi0 设备处,勾选前面的 “已启用” 复选框,并使用行首的排序功能,将该设备拖拽到第一个。

然后点击 OK 按钮。

虚拟机引导顺序

3.2.设置平板指针

关闭 使用平板指针 选项,可以一定程度上降低虚拟机的 CPU 使用率。

虚拟机平板指针

4.设置 Cloud-Init

进入左侧虚拟机 Cloud-Init 菜单,可以看到当前虚拟机的初始化参数。

4.1.自动配置 IPv6

根据之前的网络规划,内网的 IP 地址段为 172.16.1.0/24 ,因此模板虚拟机的参数如下。

参数 说明
用户 fox 新系统的管理员账户
密码 ******** 使用强密码
DNS域 fox.local 内网域名(可选)
DNS服务器 172.16.1.1 本机 DNS 服务器
SSH公钥 使用秘钥登录服务器,暂不使用
Upgrade packages 启动时更新软件包,保持默认即可
IP配置(net0) ip=172.16.1.250/24,gw=172.16.1.1,ip6=auto 模板的 IP 设置

额外说明:

  1. 修改 Cloud-Init 参数时,需要在虚拟机关机情况下修改才会生效。

  2. DNS服务器 参数支持输入多个 IPv4 / IPv6 地址,使用空格隔开。

  3. 当前 DNS服务器 参数为主路由 LAN 口 IPv4 地址,确保虚拟机能正常联网。

CI网络配置

Cloud-InitIP配置 ,IPv4 使用静态地址,IPv6 使用 SLAAC 自动配置,如下图所示。

CI网络配置

4.2.手动配置 IPv6

当主路由配置了 ULA IPv6 网段,且希望指定内网 DNS 服务器的 ULA IPv6 地址时,需要调整 Cloud-Init 参数。

本文 ULA IPv6 演示地址为 fdac::/64DNS服务器IP配置 参数调整如下。

参数 说明
DNS域 fox.local 内网域名(可选)
DNS服务器 172.16.1.1 fdac::1 本机 DNS 服务器
IP配置(net0) ip=172.16.1.250/24,gw=172.16.1.1,ip6=fdac::fa/64 模板的 IP 设置

DNS服务器 参数中需要加入主路由 LAN 口 ULA IPv6 地址。

CI网络配置

IP配置 参数,IPv4 使用静态地址,IPv6 同样使用静态地址,如下图所示。

IPv6 使用静态地址后,并不影响虚拟机通过主路由获取公网 GUA IPv6 地址。

CI网络配置

至此,模板虚拟机创建完成,可将该虚拟机开机。

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Shell
1
https://gitee.com/liang-wenjie-9311/pve_toss_notes.git
git@gitee.com:liang-wenjie-9311/pve_toss_notes.git
liang-wenjie-9311
pve_toss_notes
PVE_Toss_Notes
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891