Skip to content

Latest commit

 

History

History
280 lines (154 loc) · 8.83 KB

04.PVE创建模板虚拟机.md

File metadata and controls

280 lines (154 loc) · 8.83 KB

0.前期准备

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

该虚拟机模板主要用作内网 DNS 服务器,由 Adguard HomeSmartDNS 提供 DNS 解析服务。

本文将使用 Debian 的云镜像 debian-12-generic-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 ,机型可选 q35 ,并勾选 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.导入镜像文件

使用终端工具登录 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-generic-amd64.qcow2

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

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

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

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

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

#### 镜像导入示例输出
unused0: successfully imported disk 'local-lvm:vm-1001-disk-0'

磁盘导入成功后,虚拟机硬件列表中将显示一块未使用的磁盘设备,可鼠标 双击 该设备进行配置调整。

虚拟机新磁盘

当宿主机使用 SSD 作为物理存储设备,并且虚拟磁盘采用 精简置备 (Thin Provisioning) 模式时,可考虑开启以下选项:

  • 丢弃 (Discard) 选项,有助于存储空间回收。

  • SSD仿真 (SSD Emulation) 选项,让虚拟机将虚拟磁盘视为 SSD 存储设备。

在弹出的对话框中,确认 IO thread 选项为 勾选 状态,并点击 添加

虚拟机使用该磁盘

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

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

虚拟机磁盘扩容

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

虚拟机磁盘增加18G

2.3.添加 CloudInit

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

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

虚拟机添加ci

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

虚拟机ci参数

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

虚拟机全部硬件

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.internal 内网域名(可选)
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

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

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

参数 说明
DNS域 fox.internal 内网域名(可选)
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 口 IPv6 ULA 地址。

CI网络配置

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

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

CI网络配置

5.设置备注信息

进入左侧虚拟机 概要 页面,修改虚拟机的备注信息。

### 服务器信息

- 系统: Debian12

- 用途: 内网 DNS 服务器 ( 模板 )

- 自启: 否

- 用户: fox

- IPv4: 172.16.1.250/24

- IPv6: SLAAC

虚拟机备注

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