• 微信
您当前的位置:首页 >> 生活 >> 搜索竞价

PVE 9.0 保姆级安装及优化教程(换源、网络配置、远程唤醒等)

作者:admin时间:2025-08-14 阅读数:384 +人阅读

前言

最近,Proxmox VE 推出了基于 Debian 13 的 9.0 版本。正巧我手头有一台闲置的老电脑,与其闲置,不如装上 PVE,让它化身 All in One,继续发挥它的余热。配置如下:

Processor  : Intel(R) Pentium(R) CPU G4560 @ 3.50GHz CPU cores  : 4 @ 3500.158 MHz AES-NI     : ✔ Enabled VM-x/AMD-V : ✔ Enabled RAM        : 15.5 GiB Swap       : 0.0 KiB Disk       : 83.9 GiB Distro     : Debian GNU/Linux 13 (trixie) Kernel     : 6.14.8-2-pve

G4560 算是一颗 NAS 神 U,十几元的售价就能有双核四线程,比起什么 J1900 不知道强到哪里去了,尽管定位上是奔腾处理器,但性能甚至能和同代的酷睿 i3-7100 掰掰手腕,并且它还自带 HD 610 的核显,对于解码的支持也还不错。

即便是手头没有闲置的硬件,直接买一颗 G4560 搭配上 HP 800 G3 这类品牌机准系统,个人认为性价也同样很高。


G4560 与 i3-7100 相比,尽管性能上相差不大,但 G4560 缺少了 AVX 等指令集,实测下来还是有一些影响的,别被当年那些测评里说的“缺少指令集无伤大雅”给骗了。

比如 MongoDB 5.0 版本开始要求 AVX 指令集,而 G4560 就只能安装 4.4 版本。

有这方面需求建议淘一颗带核显的 E3 配上 HP Z240 这类原生支持至强的工作站,无论是性能、指令集都更加的符合要求。

BIOS 设置

不同品牌、不同型号的主板 BIOS 设置各不相同,下面以我的华硕 Prime B250M-A 为例

虚拟化

PVE 作为虚拟化系统,必须在 BIOS 中开启虚拟化相关设置(VT-x、VT-d 等)

  • 高级 -> CPU 设置 -> Intel Virtualization Technology

Intel Virtualization TechnologyIntel Virtualization Technology

  • 高级 -> 北桥 -> VT-d

VT-dVT-d

其他设置

除了必备的虚拟化设置以外,如果想要使用 vGPU 和 Wake on LAN 等功能,还需要进行更多设置

  • vGPU: 高级 -> 北桥 -> Above 4G Decoding (大于 4G 地址空间解码)

大于 4G 地址空间解码大于 4G 地址空间解码

  • Wake on LAN: 高级 -> 高级电源管理(APM) -> 由 PCI-E 设备唤醒

由 PCI-E 设备唤醒由 PCI-E 设备唤醒

安装 PVE

前往官网下载 PVE 官网下载 PVE 9.0 的 ISO 镜像,网络不好的可以从 夸克网盘 / UC 网盘 下载,整体的安装步骤和之前版本基本一致

推荐直接用 Ventoy 引导,比较的方便(Ventoy 需要更新到最新版,否则可能会引导失败)

VentoyVentoy

选择系统盘,选中的硬盘会被格式化,如果盘里有文件的注意提前备份

系统盘系统盘

设置 PVE 的密码,密码用于登录 Web UI 和连接 SSH

密码密码

最重要的一步,设置 IP 地址,默认会通过 DHCP 获取到一个地址,后续访问 Web UI 或者连接 SSH 需要用到

安装完成后,这个地址会被设置成静态地址,修改起来比较麻烦,建议提前修改为想要的 IP 地址

IP 地址IP 地址

最后耐心等到安装完成,会自动重启到 PVE 系统

安装完成安装完成

换源

PVE 9.0 基于 Debian 13,除了换 Debian 的软件源以外,还需要编辑企业源、Ceph 源、无订阅源以及 CT 模板源。

Debian 软件源

Debian 13 软件源变更为 DEB822 格式 /etc/apt/sources.list.d/debian.sources ,不再是传统格式 /etc/apt/sources.list

与常规的 Debian 13 一样,将 /etc/apt/sources.list.d/debian.sources 中默认源全部删除,将其替换为清华源

Types: deb URIs: https://mirrors.tuna.tsinghua.edu.cn/debian Suites: trixie trixie-updates trixie-backports Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 # Types: deb-src # URIs: https://mirrors.tuna.tsinghua.edu.cn/debian # Suites: trixie trixie-updates trixie-backports # Components: main contrib non-free non-free-firmware # Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg # 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换 Types: deb URIs: https://security.debian.org/debian-security Suites: trixie-security Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg # Types: deb-src # URIs: https://security.debian.org/debian-security # Suites: trixie-security # Components: main contrib non-free non-free-firmware # Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

企业源

将 PVE 的企业源 /etc/apt/sources.list.d/pve-enterprise.sources 注释掉(也可以直接删除)

# Types: deb # URIs: https://enterprise.proxmox.com/debian/pve # Suites: trixie # Components: pve-enterprise # Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg

Ceph 源

将 PVE 的 Ceph 源 /etc/apt/sources.list.d/ceph.sources 也替换成清华源

Types: deb URIs: https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/ceph-squid Suites: trixie Components: main Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg

无订阅源

/etc/apt/sources.list.d 目录下创建 pve-no-subscription.sources 文件,填上以下内容

Types: deb URIs: https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/pve Suites: trixie Components: pve-no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg

CT 模板源

如果你需要用到 PVE 中的 LXC 容器,那么还需要替换一下 CT 模板源,否则下载模板会非常的慢

/usr/share/perl5/PVE/APLInfo.pm 文件中默认的源地址 http://download.proxmox.com 替换为

https://mirrors.tuna.tsinghua.edu.cn/proxmox

可以使用如下命令修改,重启后生效

cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back sed -i 's|http://download.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm

删除订阅弹窗

尽管我们使用的 PVE 是免费版,但如果你没有订阅,每次访问网页时,都会有一个“无有效订阅”的弹窗

订阅弹窗订阅弹窗

弹窗代码在 /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js 中,通过 void({...}) 可以让弹窗部分代码不执行,实现删除弹窗的效果。

因此,直接执行以下命令即可实现删除订阅弹窗

sed -Ezi.bak "s/(Ext.Msg.show({s+title: gettext('No valid sub)/void({ //1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service

硬盘

合并 local 与 local-lvm

  1. 只建议系统盘比较小的这么操作,系统盘大的的建议保持默认!

  2. 由于我的傲腾系统盘太小,PVE 安装程序跳过了创建 local-lvm,因此以下内容未进行实操验证,仅供参考

PVE 安装过程中会自动创建 locallocal-lvm,如果你的系统盘不够大,可能会出现一个用满了,另一个却比较空的情况,提前将两者合并就可以避免出现这种尴尬的情况。

  1. 删除 local-lvm 分区

lvremove /dev/pve/data

  1. 扩容 local

lvextend -l +100%FREE /dev/pve/root

  1. 扩展文件系统

resize2fs /dev/pve/root

  1. 在 Web UI 上删除 local-lvm,然后编辑 local 勾选所有内容

删除 Swap 分配给主分区

只建议系统盘特别小的这么操作,系统盘大的的建议保持默认!

PVE 安装后默认会根据硬盘大小分配 Swap,但我的系统盘是 16G 的傲腾,本身就已经寸土寸金了,再加上 G4560 配上 16G 内存也基本够用了。如果把默认分配的 1G Swap 删除,重新分配给系统分区的话,更加宽裕一些。

  1. 关闭 Swap

swapoff /dev/mapper/pve-swap

  1. 编辑 /etc/fstab,注释掉 Swap 挂载行

# /dev/pve/swap none swap sw 0 0

  1. 删除 swap 的 LVM 卷

lvremove /dev/pve/swap

  1. 扩展 pve-root 卷到全部剩余空间

lvextend -l +100%FREE /dev/mapper/pve-root

  1. 扩展文件系统

resize2fs /dev/mapper/pve-root

添加硬盘

如果想给 PVE 添加硬盘,首先需要将硬盘挂载到 PVE 上,然后再在 Web UI 中添加存储。其中挂载到 PVE 的步骤与常规 Debian 挂载硬盘相同,不了解的可以搜索“Linux 挂载磁盘”

完成挂载后,来到 数据中心 -> 存储 -> 添加 -> 目录 填写上 ID 和挂载的目录,内容勾选所有选项,最后点击添加即可

添加硬盘添加硬盘

网络

DHCP

如果你的网络环境经常变动,则可以将静态 IP 修改为 DHCP,通过 DHCP 分配 IP,方便网络变动后连接 PVE 设备

编辑 /etc/network/interfaces,将 static 修改为 dhcp,然后将地址和网关删除

auto lo iface lo inet loopback iface enp4s0 inet manual auto vmbr0 iface vmbr0 inet dhcp # [!code ++] iface vmbr0 inet static # [!code --]        address 10.0.0.10/24 # [!code --]        gateway 10.0.0.1 # [!code --]        bridge-ports enp4s0        bridge-stp off        bridge-fd 0 source /etc/network/interfaces.d/*

SLAAC

之前一直想给 PVE 添加 IPv6 地址,但通过下面这行代码获取的 IPv6 会同时启用 SLAAC 和 DHCPv6,总会遇到一些奇奇怪怪的问题。

iface vmbr0 inet6 auto

后面发现可以直接通过 post-up echo "2" > /proc/sys/net/ipv6/conf/vmbr0/accept_ra 来启用 SLAAC 获取 IPv6 地址,目前使用下来还没遇到过问题。

auto lo iface lo inet loopback iface enp3s0 inet manual auto vmbr0 iface vmbr0 inet dhcp        bridge-ports enp3s0        bridge-stp off        bridge-fd 0        post-up echo "2" > /proc/sys/net/ipv6/conf/vmbr0/accept_ra # [!code ++] source /etc/network/interfaces.d/*

网卡灯不亮(无网络)

常见于移除/更换了 PCI-E 设备,比如显卡、 M.2 硬盘,我是在装完系统后拔下显卡后出现的问题,主要原因是拔下显卡后,网卡的编号发生了改变,而 PVE 的网络配置却不会跟着改变。

查看 /etc/network/interfaces 可以看到,网卡为 enp4s0,而通过 ip a 查看,此时的网卡已经变为了 enp3s0,只需要将两处 enp4s0 修改为 enp3s0

auto lo iface lo inet loopback iface enp4s0 inet manual # [!code --] iface enp3s0 inet manual # [!code ++] auto vmbr0 iface vmbr0 inet dhcp        bridge-ports enp4s0 # [!code --]        bridge-ports enp3s0 # [!code ++]        bridge-stp off        bridge-fd 0 source /etc/network/interfaces.d/*

然后重启一下网络,就可以恢复了

systemctl restart networking

如果你经常新增/减少 PCI-E 设备,可以考虑将网卡命名修改回传统名称,详见下方修改网卡名

修改网卡名

要想将网卡修改回 eth0 这样的传统名称,只需要编辑启动参数,在 /etc/default/grub 配置中加上 net.ifnames=0 biosdevname=0

# If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. # For full documentation of the options in this file, see: #   info -f grub -n 'Simple configuration' GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet" # [!code --] GRUB_CMDLINE_LINUX_DEFAULT="quiet net.ifnames=0 biosdevname=0" # [!code ++] GRUB_CMDLINE_LINUX=""

然后更新 grub 后重启,网卡名就会变成传统的 eth0eth1

update-grub

重启前,别忘了把 /etc/network/interfaces 中的网卡名也修改成 eth0,否则会断网

auto lo iface lo inet loopback iface enp4s0 inet manual # [!code --] iface eth0 inet manual # [!code ++] auto vmbr0 iface vmbr0 inet dhcp        bridge-ports enp4s0 # [!code --]        bridge-ports eth0 # [!code ++]        bridge-stp off        bridge-fd 0 source /etc/network/interfaces.d/*

网络唤醒 WOL

需要在 BIOS 中开启 PCI-E 唤醒

默认情况下,PVE 的网络唤醒是禁用的,需要手动打开才可以网络唤醒。

开启 WOL

  1. 安装 ethtool 工具

apt install ethtool

  1. 查看网卡名称 ip a

  2. 查看网卡信息

ethtool eth0

  1. 观察 Supports Wake-onWake-on

supports wake-on 判断该网卡是否支持 WOL 唤醒,若值为 pumbg 则表示支持 WOL

Wake-on 值为 d 则表示 WOL 禁用状态,g 则为开启,PVE 默认为 d

Settings for eth0:        Supported ports: [ TP    MII ]        Supported link modes:   10baseT/Half 10baseT/Full                                100baseT/Half 100baseT/Full                                1000baseT/Full        Supported pause frame use: Symmetric Receive-only        Supports auto-negotiation: Yes        Supported FEC modes: Not reported        Advertised link modes:  10baseT/Half 10baseT/Full                                100baseT/Half 100baseT/Full                                1000baseT/Full        Advertised pause frame use: Symmetric Receive-only        Advertised auto-negotiation: Yes        Advertised FEC modes: Not reported        Link partner advertised link modes:  10baseT/Half 10baseT/Full                                             100baseT/Half 100baseT/Full                                             1000baseT/Half 1000baseT/Full        Link partner advertised pause frame use: Symmetric Receive-only        Link partner advertised auto-negotiation: Yes        Link partner advertised FEC modes: Not reported        Speed: 1000Mb/s        Duplex: Full        Auto-negotiation: on        master-slave cfg: preferred slave        master-slave status: slave        Port: Twisted Pair        PHYAD: 0        Transceiver: external        MDI-X: Unknown        Supports Wake-on: pumbg # [!code highlight]        Wake-on: d # [!code highlight]        Current message level: 0x0000003f (63)                               drv probe link timer ifdown ifup        Link detected: yes

  1. 开启 WOL 网络唤醒

ethtool -s eth0 wol g

开机运行

由于每次开机时,Wake-on 的值都会重置为 d,因此需要在开机时自动运行开启 WOL 的命令

  1. 编辑 /etc/rc.local 文件

#!/bin/bash ethtool -s eth0 wol g exit 0  

  1. 赋予运行权限

chmod +x /etc/rc.local

  1. 重启并按上一步骤查看 Wake-on 是否自动在开机时自动修改为 g 即可

总结

本文为基础篇,主要是 PVE 的安装和配置,接下来我们还要直通硬件、定制虚拟机模板并创建虚拟机,感兴趣的可以持续关注!

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~


本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:info@taoxm.com

标签:

淘厦门

当你还撑不起你的梦想时,就要去奋斗。如果缘分安排我们相遇,请不要让她擦肩而过。我们一起奋斗!