[All In One] 安装 Proxmox VE 7.4

5 mins to read

最近将 N1 升级成 R71S 小主机,记录一下安装 PVE 的步骤与问题。

Proxmox Virtual Environment(PVE)是一款开源的服务器虚拟化管理平台,可以让用户轻松管理和监控大量的虚拟化和容器化服务器。PVE支持KVM和LXC虚拟化技术,提供了一个易于使用的Web界面,可以让用户创建、管理、备份和恢复虚拟主机、容器和存储。 PVE采用了分布式架构,可以轻松管理多个远程服务器,并提供了高可用性、容错和负载均衡的功能。此外,PVE还支持各种虚拟存储技术,如网络文件系统(NFS)、本地存储和iSCSI卷,可以便捷地存储虚拟机的镜像、容器和数据。

一、下载镜像

  1. 官方下载:https://www.proxmox.com/en/downloads/category/iso-images-pve
  2. 国内镜像下载(如清华镜像源):https://mirrors.tuna.tsinghua.edu.cn/proxmox/iso

二、制作启动盘

由于小主机和配件刚买回来还需要使用 PE 进行一些检测,我使用了在 UTM 下 Windows 虚拟机使用 ventoy 制作多引导的启动 U 盘。另外,MacOS 下如果没有多引导的需求则可以直接使用 balenaEther(没找到类似 ventoy 的工具)烧录启动盘。

写入 ventoy 后(将 U 盘会分为两个盘)将 PVE 的 ISO 文件放在 Ventoy 盘下

三、安装

  1. 将制作好的引导 U 盘插入主机,开机启动(最好先进 Bios 修改引导顺序)
  2. 选择 Install Proxmox VE 并回车
    • 点击 I Agree 同意协议
  3. 磁盘配置
    • 选择需要安装 PVE 的硬盘
    • SWAP 分区:如有大内存则完全可以将 swap 分区设置为 0,这里我安装了 16G 的物理内存,由于硬盘是 1TB 的 m.2 NVME 固态还是设置了 16G 的虚拟内存。
    • 点击 Next 完成
  4. 本地化配置
    • 国家选择 China
    • 时区会自动调至 Asia/Shanghai
    • 键盘保持默认的 U.S.English
    • 点击 Next 完成
  5. 管理员配置
    • 输入密码和确认密码
    • 填写邮箱地址
    • 点击 Next 完成
  6. 网络配置
    • 网卡:选择哪个网口作为管理端口,默认第一个网口
    • 域名:自定义即可
    • IP:即 PVE 的管理 IP,例如:192.168.100.10(下面有说明)
    • 网关:即后续安装的软路由的网关,例如:192.168.100.1
    • DNS:填写网关 IP 或者国内 DNS 地址,例如:114.114.114.114
    • 点击 Next 完成
  7. 点击 Install 开始安装然后等待重启
  8. 重启之后将 U 盘移除

网络配置相关说明

这里的安装配置需考虑整体网络拓扑,如果 PVE 上层还有路由,则 IP 和网关填写上层路由网段信息即可,如果打算 PVE 内虚拟主路由,则自行选择一个网段。

如果没有主路由,则需要用网线将主机和电脑连接,且配置电脑的网络配置:

IP 地址:填写和 PVE 管理 IP 同一网段的地址 子掩网码:255.255.255.0

否则只需要将电脑和主机连接到上层路由即可。

至此,安装完毕,可以通过 Web 页面打开或者通过 SSH 连接到 PVE。

四、配置

4.1 软件源配置

然后执行更新

# debian 源配置更新后
apt update
apt upgrade -y
# 更新完 CT 模板配置
systemctl restart pvedaemon.service
pveam update

4.2 更新内核以及微码

我的小主机CPU是 N6000,由于以 N5105 为代表的 11 代 Intel CPU 在虚拟化场景,大面积出现重启崩溃的现象,PVE 需更新内核和微码。详情可参考以下帖子:

内核

使用 apt-cache search pve-kernel 查看当前 PVE 最新内核(如今天 2023-05-08 的最新内核为 6.2)

apt install pve-kernel-6.2
apt -y dist-upgrade
reboot

重启后查看内核版本 uname -r

更新 Intel Microcode

apt install intel-microcode

更新系统引导

update-initramfs -u -k all
reboot

重启后查看 microcode 版本(如 0x24000024):grep 'stepping\|model\|microcode' /proc/cpuinfo

4.3 虚拟内存策略的调整

即便是使用了 NVME 的虚拟内存,我也倾向于使用更多的物理内存。PVE 可以自行调整 Linux 的内核参数:

首先查看当前虚拟内存策略:cat /proc/sys/vm/swappiness,默认为 60。

vm.swappiness:取值为 0-100,值越大则表示越倾向于使用 swap。 比如物理内存为 16GB,设置 vm.swappiness=30,则系统会在使用 16GB * (100 - 30)% = 11.2GB 后使用虚拟内存。

# vi /etc/sysctl.conf
# 增加
vm.swappiness=30
# 应用配置
sysctl -p

4.4 开启硬件直通

  1. 编辑 grub 配置:vi /etc/default/grub

找到这一行:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

注释并在下面添加或直接修改成:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
  1. 更新 grub:update-grub
  2. 调整所需模块 vi /etc/modules
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
  1. 更新系统引导
update-initramfs -u -k all
reboot
  1. 验证
dmesg | grep iommu
# 出现如下例子。则代表成功
[    0.847285] pci 0000:00:02.0: Adding to iommu group 0
[    0.848441] pci 0000:00:00.0: Adding to iommu group 1
[    0.848467] pci 0000:00:04.0: Adding to iommu group 2
[    0.848508] pci 0000:00:14.0: Adding to iommu group 3
[    0.848527] pci 0000:00:14.2: Adding to iommu group 3
find /sys/kernel/iommu_groups/ -type l
# 出现很多直通组,表示成功开启
/sys/kernel/iommu_groups/17/devices/0000:05:00.0
/sys/kernel/iommu_groups/7/devices/0000:00:1c.3
/sys/kernel/iommu_groups/15/devices/0000:03:00.0
/sys/kernel/iommu_groups/5/devices/0000:00:17.0
/sys/kernel/iommu_groups/13/devices/0000:01:00.0
/sys/kernel/iommu_groups/3/devices/0000:00:14.2

4.5 local-lvm 优化

PVE 默认安装会创建 local 和 local-lvm 两个存储。其中 local 大约磁盘容量的 10%,存储类别为目录。 local-lvm 的存储类别为 lvm-thin。实际使用 lvm-thin 效率比目录低,建议不适用 thin 模式。

如果要将 local-lvm 转换成目录模式可参照此文:https://www.cnblogs.com/doracloud/p/16874171.html

如果要将 local-lvm 合并至 local 可参照此文:https://foxi.buduanwang.vip/virtualization/pve/1434.html/

这里记录合并至 local 的方法。

  1. 打开 Web 页面 - 数据中心 - 存储 - 编辑 local - 修改内容选中全部

  2. 删除 lvm-local:Shell 执行 lvremove pve/data

  3. 扩容 local:Shell 执行 lvextend -rl +100%FREE /dev/pve/root

  4. 打开 Web 页面 - 数据中心 - 存储 - 删除 local-lvm

五、其他

查看硬盘信息
apt install smartmontools
smartctl -a /dev/nvme0n1
查看当前 CPU 工作模式
apt install linux-cpupower
cpupower frequency-info
移除无用内核
# 查看当前安装的内核
dpkg --get-selections |grep kernel
移除内核
dpkg --purge --force-remove-essential pve-kernel-***-pve
# 更新引导菜单  
update-grub  
# 重启PVE  
reboot
获取传感器温度
apt install lm-sensors