系统配置之前,检查下BIOS的这些功能是否正确开启
Intel VMX虚拟化技术 (需要开启)
VT-d (需要开启)
SR-IOV (需要开启)
IOMMU (需要开启)
VMD setup menu (需要关闭)
将PVE主机接上网络
我的方案是:
光猫(桥接模式) <———> 家里的硬路由(pppoe拨号) <———> 交换机 <———> PVE以及电脑
将loacl和local-lvm两个逻辑卷合二为一
做这一步准备是因为踩坑踩出来的,我的系统盘是1TB的M.2固态,装完系统local逻辑卷(是用来存储ISO镜像文件以及CT模版以及备份文件等)被自动分配了100G空间,大概装了五六个虚拟机存了五六个系统镜像,就只剩下一半的空间了,根本不够用,再说说loacl-LVM,这个跟local作用差不多,要我说原理我也解释不清,反正将两个逻辑卷合二为一省事方便就完了
建议执行这两逻辑卷合二为一的操作时,是PVE刚安装完,没有装任何虚拟机的最初始的状态!
如果PVE里安装了虚拟机再这样操作可能会导致虚拟机崩溃等问题
loacl和local-lvm合二为一
查询当前local的大小
df -h
/dev/mapper/pve-root
这个是系统自动给local的空空间进入到PVE节点的Shell输入以下命令(删除pve/data路径下的local-lvm逻辑卷)
lvremove pve/data
输入完之后会提示是否确定删除,此时按
y
回车继续输入以下命令(将所有系统盘可用空间全部交由local这一个逻辑卷分配)
lvextend -l +100%FREE -r pve/root
继续输入以下命令(使其适应已经调整大小的逻辑卷)
resize2fs /dev/mapper/pve-root
查询是否扩容成功
df -h
成功扩容接下来删除
local-lvm
点数据中心 ——> 存储 ——> local-lvm ——> 移除 ——> local ——> 编辑 ——> 内容(所有选项全部选上) ——> OK
PVE系统基础配置
换国内源
备份PVE自带的软件包源文件
cp /etc/apt/sources.list /etc/apt/sources.list_bak
北方小伙伴选择清华大学源,南方小伙伴选择中科大源,二选一(对号入座后面下载速度会快一点点)
换软件包源
# 编辑源配置文件
nano /etc/apt/sources.list
- 进入到nano编辑器后,将每一行前面加上’#‘注释掉,例如下面这这样
#deb http://ftp.debian.org/debian bookworm main contrib
#deb http://ftp.debian.org/debian bookworm-updates main contrib
# security updates
#deb http://security.debian.org bookworm-security main contrib
# 添加中科大源(在被注释掉的文本下面添加以下内容)
deb https://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free
deb https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib non-free
deb https://mirrors.ustc.edu.cn/debian/ bookworm-backports main contrib non-free
deb https://mirrors.ustc.edu.cn/debian-security/ bookworm-security main contrib non-free
# control+x y 回车保存退出(这段别复制进去了)
# 添加清华大学源(中科大源和清华大学源二选一)
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
# ctrl+x y 回车保存退出(这段别复制进去了)
编辑企业源
nano /etc/apt/sources.list.d/pve-enterprise.list
将其中原有的源前面 # 注释掉,变为:
#deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise
北方添加清华源:
deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/pve bookworm pve-no-subscription
南方添加中科大源:
deb https://mirrors.ustc.edu.cn/proxmox/debian/pve bookworm pve-no-subscription
# ctrl+x y 回车保存退出
添加pve无订阅源
nano /etc/apt/sources.list.d/pve-no-subscription.list
# 粘贴以下pve中科大的无订阅源
deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription
# ctrl+x y 回车保存退出
更新软件包(2024.7.15更新)
apt update && apt dist-upgrade -y # 如果报错就执行 修复源401错误
apt install pve-kernel-6.5.13-1-pve # 安装特定版本的Proxmox VE内核
proxmox-boot-tool kernel pin 6.5.13-1-pve # 使用 proxmox-boot-tool 固定此内核版本作为默认启动内核
# 重启PVE
reboot
修复源401错误(如无401报错可忽略此条)
nano /etc/apt/sources.list.d/ceph.list
# 将其中原有的proxmox句首加 # 注释掉
变为:#deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription
# 添加中科大ceph源:
deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription
# ctrl+x y 回车保存退出
# 再次更新
apt update && apt dist-upgrade -y
apt install pve-kernel-6.5.13-1-pve
proxmox-boot-tool kernel pin 6.5.13-1-pve
# 重启PVE
reboot
更换LXC容器源
中科大源和清华大学源二选一
# 备份PVE自带的LXC容器源文件
cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back
# 更换为中科大源:
sed -i 's|http://download.proxmox.com|https://mirrors.ustc.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm
# 更换为清华大学源:
sed -i 's|http://download.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm
# 重启PVE(使所有更换的源文件生效)
reboot
SRIOV核显虚拟化
升级内核头文件headers
查看内核版本
uname -a
i915-sriov目前支持6.1~6.5内核,根据
uname-a
反馈信息调整 header 的版本信息下载安装 headers
apt update && apt install pve-headers-$(uname -r)
# 如果遇到报错,执行以下命令
apt install pve-headers-6.5
- 后面这个-6.5与uname-a返回的内核大版本号一致
重启PVE使其生效
reboot
编译i915-sriov驱动
安装 git工具 及 dkms
apt install -y git build-* dkms
拖库
git clone https://github.com/strongtz/i915-sriov-dkms.git
cd i915-sriov-dkms
nano dkms.conf
# 将第一行改为 PACKAGE_NAME="i915-sriov-dkms"
# 将第二行改为 PACKAGE_VERSION="6.5"
# ctrl+x y 回车保存退出
添加安装sriov模块
cd i915-sriov-dkms
dkms add .
dkms install -m i915-sriov-dkms -v 6.5
检查安装是否成功
# 输入以下命令检查是否成功
modinfo i915|grep vf
# 反馈如下表示成功
parm: max_vfs:Limit number of virtual functions to allocate. (0 = no VFs [default]; N = allow up to N VFs) (uint)
# 如无反馈则安装失败,输入以下命令删除此模块
dkms remove -m i915-sriov-dkms -v 6.5
# 输入以下命令重新安装(直至有成功信息反馈为止)
dkms install -m i915-sriov-dkms -v 6.5
设置直通和i915控制器
# 编辑 grub 配置文件
nano /etc/default/grub
- 在 quiet 后添加 intel_iommu=on i915.enable_guc=3 i915.max_vfs=7
# ctrl+x y 回车保存退出
更新grub和initramfs
update-grub
update-initramfs -u
安装sysfsutils(对新手友好方便对VF核显数量设置)
不建议使用开机自启脚本rc.local,增加不必要的风险
apt install -y sysfsutils
设置SRIOV核显数量
下面命令中
sriov_numvfs = 5
的5
代表SRIOV核显数量,可自定义设定,最多设置7个设置为1个性能最强,如果设置为7个,那么每一个的性能只有14%(所以这里大家根据自身核显性能自行考量)
echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 3" > /etc/sysfs.conf
重启使其生效
reboot
重启完之后检查是否成功
通过PVE节点的Shell输入以下命令查看SRIOV核显直通是否成功
lspci | grep VGA
如果成功则会输出以下数据
00:02.0 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c)
00:02.1 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c)
00:02.2 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c)
00:02.3 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c)
00:02.4 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c)
00:02.5 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c)
00:02.x VGA 这就是刚刚虚拟出来的核显了
⚠️注意:物理核显02.0不能直通出去(可以映射给LXC),否则物理核显本体被独占,所有虚拟核显消失。
接下来就可以按照自己的需求安装虚拟机了
设置虚拟机后面的地址标记
数据中心 ——> 选项 ——> 标记样式设定 ——> 树形结构:完整 ——> OK
选择想要修改的虚拟机 ——> 修改标记 ——> 完成