中文教程:https://pve-doc-cn.readthedocs.io/zh-cn/latest/index.html 显卡直通:https://blog.csdn.net/fbllfbll/article/details/127345381 显卡虚拟化:https://www.lategege.com/?p=988
一、概要
常见的虚拟化软件有pve、exsi、hyper-v,以前用后两者,现在尝试开始用pve。
博主配置:
服务器:R730
pve版本:8.1.4
显卡:2080TI 22G
经过博主测试,没必要开启集群模式。因为若集群中部分节点离线,则整个集群难以仲裁,导致不可用。
二、PVE安装
2.1 系统下载
ISO下载地址: https://pve.proxmox.com/wiki/Downloads
2.2 U盘安装盘制作
工具:Rufus https://rufus.ie/
刻录模式:DD mode
二、性能损失测试
1.1 硬盘损失测试
虚拟机安装Ubuntu时、硬盘是SSD是,经过目测,硬盘损失大约在80%左右。
采用nvme ssd,虚拟机内部测试结果见下:
1.2 网速测试
三、配置国内源
设置 debian 阿里云源 - For PVE 8.x
cat > /etc/apt/sources.list <<EOF
deb https://mirrors.huaweicloud.com/debian/ bookworm main non-free contrib
deb-src https://mirrors.huaweicloud.com/debian/ bookworm main non-free contrib
deb https://mirrors.huaweicloud.com/debian-security/ bookworm-security main
deb-src https://mirrors.huaweicloud.com/debian-security/ bookworm-security main
deb https://mirrors.huaweicloud.com/debian/ bookworm-updates main non-free contrib
deb-src https://mirrors.huaweicloud.com/debian/ bookworm-updates main non-free contrib
deb https://mirrors.huaweicloud.com/debian/ bookworm-backports main non-free contrib
deb-src https://mirrors.huaweicloud.com/debian/ bookworm-backports main non-free contrib
EOF
删除企业源 - For PVE 8.x
rm -rf /etc/apt/sources.list.d/pve-enterprise.list
rm /etc/apt/sources.list.d/ceph.list
下载秘钥 - For PVE 8.x
wget http://mirrors.ustc.edu.cn/proxmox/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
添加国内源 - For PVE 8.x
echo "deb http://mirrors.ustc.edu.cn/proxmox/debian/pve bookworm pve-no-subscription" >/etc/apt/sources.list.d/pve-install-repo.list
apt update -y
四、显卡直通或虚拟化
提示:博主在2080TI显卡直通的Ubuntu22.04上安装DockerNvidia始终无法运行pytorch程序,报段错误,但不加Docker是可以直接在Ubuntu运行相关LLM程序的,而且推理速度还可以。
经过调研,显卡使用有两种做法:
- 显卡直通,仅一个虚拟机可以试用网卡;
- 显卡虚拟化,使用vGPU,可以多个虚拟机共享网卡;
1.显卡直通
PVE配置开启硬件直通
前提条件:主板BIOS开启VT-D
登录PVE后台,进入shell管理终端
开启iommu
vim /etc/default/grub
#找到
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
#intel cpu 改为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
#amd cpu改为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"
更新grub
update-grub
加载vfio模块
echo vfio >> /etc/modules
echo vfio_iommu_type1 >> /etc/modules
echo vfio_pci >> /etc/modules
echo vfio_virqfd >> /etc/modules
更新内核参数
update-initramfs -k all -u
屏蔽系统中的开源显卡驱动避免开启显卡被系统加载
#AMD显卡
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf
echo "blacklist amdgpu" >> /etc/modprobe.d/blacklist.conf
#NVIDIA显卡
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist.conf
#INTEL核显
echo "blacklist snd_hda_intel" >> /etc/modprobe.d/blacklist.conf
echo "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/blacklist.conf
echo "blacklist i915" >> /etc/modprobe.d/blacklist.conf
更新内核并重启
update-initramfs -k all -u
先pve webgui中,通过pci映射显卡
五、常见问题
一、磁盘应该选用什么格式?
raw格式的话,速度稍微快点,在高版本的qemu-kvm中,几乎不比qcow2的格式快,而qcow2格式节省空间,可动态增长,在公有云中广泛使用,建议使用qcow2。
二、动态内存调整
安装Windows虚拟机后,发现内存未随使用而调整,而是为固定设置至,经过百度后发现是少装了windows/linux virio drivers所致。
Dynamic Memory Management - Proxmox VE
Windows VirtIO Drivers - Proxmox VE
三、启用qemu guest agent
启用qemu guest agent后,pve可以管理虚拟机的IP等信息,详细资料见下:
Ubuntu开启方法:
sudo apt -y install qemu-guest-agent
sudo systemctl enable qemu-guest-agent
sudo systemctl start qemu-guest-agent
windows安装guest agent方法
四、显卡直通43错误
解决方法:PCI直通式,选择PCIE模式且选择所有功能。
三、nvidia-docker内报错:非法指令 (核心已转储)
目前没有找到好的解决方法。唯一的经验是,不要再pice直通卡中用docker