Proxmox VE创建Linux虚拟机

前期准备

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

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

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

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

下载镜像

创建虚拟机

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

常规

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

操作系统

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

虚拟机操作系统

系统

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

固件可选 OVMF (UEFI) ,并勾选 添加 TPM 选项,存储路径需根据实际情况进行调整,演示为 local-lvm 。

预注册密钥 可启用,启用后将预装特定于发行版和 Microsoft 标准的安全启动密钥。

虚拟机系统

磁盘

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

虚拟机磁盘

CPU

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

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

虚拟机CPU

1.6.内存

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

对于 Kernel Samepage Merging (KSM) 内核同页合并功能,建议保留勾选状态。

虚拟机内存

网络

通常情况下,模板虚拟机的 桥接 参数设为 PVE 管理口所在虚拟网桥即可。

因在 02.PVE初始化配置 中曾创建未桥接物理网口的内部网桥,故可根据实际需求选择是否使用纯内部网桥作为该参数值。

虚拟机网口

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

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

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

虚拟机网卡多队列

确认

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

虚拟机确认

调整硬件参数

删除光驱

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

虚拟机删除光驱

导入镜像文件

使用终端工具登录 PVE 服务器,并进入 /tmp 目录,执行以下命令创建一个目录。

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

## 进入目录
$ cd /tmp/Debian

将 Debian 云镜像传输到该目录,并检查 hash 。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
## 下载云镜像校验文件
$ curl -LR -O https://cloud.debian.org/images/cloud/trixie/latest/SHA512SUMS

## 下载云镜像(generic版本无需额外配置cloud-init)
$ curl -LR -O https://cloud.debian.org/images/cloud/trixie/latest/debian-13-generic-amd64.qcow2

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

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

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

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

1
2
3
4
5
## 将 qcow2 镜像导入虚拟机中
$ qm importdisk 1001 debian-13-generic-amd64.qcow2 local-lvm

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

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

虚拟机新磁盘

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

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

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

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

虚拟机使用该磁盘

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

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

虚拟机磁盘扩容

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

虚拟机磁盘增加18G

添加 CloudInit

为确保 Cloud-Init 能正常初始化系统,需为模板虚拟机添加 CloudInit 设备 。

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

虚拟机添加ci

总线/设备 选择 SCSI ,编号为 1 ,存储路径需根据实际情况进行调整,演示为 local-lvm 。

添加 VirtIO RNG

为确保系统拥有充足的可用熵,需为模板虚拟机添加 VirtIO RNG 熵源。

点击顶部 添加 菜单,选择 VirtIO RNG 。

虚拟机添加RNG

熵源 选择 /dev/urandom ,其余参数保持默认即可。

虚拟机RNG参数

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

虚拟机全部硬件

调整配置参数

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

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

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

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

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

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

修改引导顺序

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

在 scsi0 设备处勾选 “已启用” 复选框,并通过排序功能将其拖拽至首位,点击 OK 即可。

虚拟机引导顺序

设置平板指针

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

设置 Cloud-Init

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

自动配置 IPv6

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

参数 值 说明
用户 fox 新系统的管理员账户
密码 ******** 使用强密码
DNS 域 fox.internal 内网域名(可选)
DNS 服务器 172.16.1.1 本机 DNS 服务器
SSH 公钥 无 使用秘钥登录服务器,暂不使用
升级程序包 是 启动时更新软件包,保持默认即可
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-Init 的 IP 配置 ,IPv4 使用 静态 地址,IPv6 使用 SLAAC 自动配置,如下图所示。

CI网络配置

手动配置 IPv6

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

本文 IPv6 ULA 演示地址段为 fdac::/64 ,DNS 服务器 和 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 使用 静态 地址后,并不影响虚拟机通过主路由获取 IPv6 GUA 公网地址。

CI网络配置

设置备注信息

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
### 服务器信息

- 系统: Debian 13

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

- 自启: 否

- 用户: fox

- IPv4: 172.16.1.250/24

- IPv6: SLAAC

虚拟机备注

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