<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pve8.0.4 on lategege 的技术博客</title><link>https://lategege.com/tags/pve8.0.4/</link><description>Recent content in Pve8.0.4 on lategege 的技术博客</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Sun, 06 Aug 2023 08:35:43 +0000</lastBuildDate><atom:link href="https://lategege.com/tags/pve8.0.4/index.xml" rel="self" type="application/rss+xml"/><item><title>PVE8开启vgpu显卡虚拟化(基于Tesla P4)</title><link>https://lategege.com/p/pve8%E5%BC%80%E5%90%AFvgpu%E6%98%BE%E5%8D%A1%E8%99%9A%E6%8B%9F%E5%8C%96-%E5%9F%BA%E4%BA%8Etesla-p4/</link><pubDate>Sun, 06 Aug 2023 08:35:43 +0000</pubDate><guid>https://lategege.com/p/pve8%E5%BC%80%E5%90%AFvgpu%E6%98%BE%E5%8D%A1%E8%99%9A%E6%8B%9F%E5%8C%96-%E5%9F%BA%E4%BA%8Etesla-p4/</guid><description>&lt;p&gt;Tesla系列显卡真是垃圾佬的福音,很久以上上万的卡，现在几百块就能收到，不仅可以炼丹，还可以玩游戏，甚至可以给PVE用作vgpu，来实现云桌面，云游戏。博主先后买过P40和P4，面对250W功耗的24G显存的P40，显然它更适合炼丹，P4 TDP 75W，1060的性能表现，它的最佳用途其实不是个人桌面的游戏显卡，而是虚拟化云主机使用，而搭配上一台低功耗主机，做all in one 是非常不错的选择，任何一个虚拟机想要硬解或者游戏，都可以分配一个vgpu来使用，8g显存的P4, 如果分配2G显存，可以供4个虚拟机使用，分配1G可以供8个虚拟机使用，一般来说普通游戏2G已足够。&lt;/p&gt;
&lt;p&gt;一、PVE8的安装&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;镜像下载，地址：&lt;a href="https://enterprise.proxmox.com/iso/"&gt;https://enterprise.proxmox.com/iso/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;安装过程略&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;二、PVE配置开启硬件直通&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;前提条件：主板BIOS开启VT-D&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li&gt;登录PVE后台，进入shell管理终端&lt;/li&gt;
&lt;li&gt;开启iommu
&lt;pre&gt;&lt;code class="language-shell"&gt;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"&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;更新grub
&lt;pre&gt;&lt;code class="language-shell"&gt;update-grub&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;加载vfio模块
&lt;pre&gt;&lt;code class="language-shell"&gt;echo vfio &amp;gt;&amp;gt; /etc/modules
echo vfio_iommu_type1 &amp;gt;&amp;gt; /etc/modules
echo vfio_pci &amp;gt;&amp;gt; /etc/modules
echo vfio_virqfd &amp;gt;&amp;gt; /etc/modules&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;更新内核参数
&lt;pre&gt;&lt;code class="language-shell"&gt;update-initramfs -k all -u&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;屏蔽系统中的开源显卡驱动避免开启显卡被系统加载
&lt;pre&gt;&lt;code class="language-shell"&gt;#AMD显卡
echo "blacklist radeon" &amp;gt;&amp;gt; /etc/modprobe.d/blacklist.conf
echo "blacklist amdgpu" &amp;gt;&amp;gt; /etc/modprobe.d/blacklist.conf
#NVIDIA显卡
echo "blacklist nouveau" &amp;gt;&amp;gt; /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia" &amp;gt;&amp;gt; /etc/modprobe.d/blacklist.conf
echo "blacklist nvidiafb" &amp;gt;&amp;gt; /etc/modprobe.d/blacklist.conf
#INTEL核显
echo "blacklist snd_hda_intel" &amp;gt;&amp;gt; /etc/modprobe.d/blacklist.conf
echo "blacklist snd_hda_codec_hdmi" &amp;gt;&amp;gt; /etc/modprobe.d/blacklist.conf
echo "blacklist i915" &amp;gt;&amp;gt; /etc/modprobe.d/blacklist.conf &lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li&gt;更新内核并重启
&lt;pre&gt;&lt;code class="language-shell"&gt;update-initramfs -k all -u &lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr/&gt;
&lt;p&gt;三、安装nvidia显卡宿主机vgpu驱动&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;注意，这个驱动不是常规的驱动，需要去nvidia官网注册企业账号才能下载到，PVE8的内核为6.2，可以安装最新的535驱动，如果不想注册企业号，可以去网上搜索下载。&lt;img alt="" src="https://img.lategege.com:30443/images/web/2023/8-6/20.png?imageView2/0/format/png/q/75|watermark/2/text/5Y2a5a6iOiBodHRwOi8vbGF0ZWdlZ2UuY29t/font/5b6u6L2v6ZuF6buR/fontsize/660/fill/I0ZGRkZGRg==/dissolve/100/gravity/SouthEast/dx/20/dy/20"/&gt;
&lt;ol&gt;
&lt;li&gt;将PVE需要安装的驱动传如PVE中，方法很多，可以通过scp或者ssh工具软件或者修改后缀名为iso，直接用pve后台传进去。
2.安装显卡驱动需要用到的依赖
&lt;pre&gt;&lt;code class="language-shell"&gt;apt install build-essential dkms mdevctl pve-headers-$(uname -r)&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;安装驱动并重启
&lt;pre&gt;&lt;code class="language-shell"&gt;#进入驱动所在目录
#r如果安装了显卡驱动，先卸载
./NVIDIA-Linux-x86_64-535.54.06-vgpu-kvm.run --uninstall
sudo apt-get remove --purge nvidia-*
###卸载后安装
chmod +x NVIDIA-Linux-x86_64-535.54.06-vgpu-kvm.run
./NVIDIA-Linux-x86_64-535.54.06-vgpu-kvm.run
#重启pve
reboot&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;验证是否安装成功，若正常显示下图所示，证明安装成功
&lt;pre&gt;&lt;code class="language-shell"&gt;nvidia-smi&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img alt="" src="https://img.lategege.com:30443/images/web/2023/8-6/21.png?imageView2/0/format/png/q/75|watermark/2/text/5Y2a5a6iOiBodHRwOi8vbGF0ZWdlZ2UuY29t/font/5b6u6L2v6ZuF6buR/fontsize/660/fill/I0ZGRkZGRg==/dissolve/100/gravity/SouthEast/dx/20/dy/20"/&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;p&gt;四、创建虚拟机，这里以WIN11为例，在虚拟机中安装vgpu驱动&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;创建虚拟机过程略，在创建完成后添加PCI设备，如下图
&lt;img alt="" src="https://img.lategege.com:30443/images/web/2023/8-6/22.png?imageView2/0/format/png/q/75|watermark/2/text/5Y2a5a6iOiBodHRwOi8vbGF0ZWdlZ2UuY29t/font/5b6u6L2v6ZuF6buR/fontsize/660/fill/I0ZGRkZGRg==/dissolve/100/gravity/SouthEast/dx/20/dy/20"/&gt;
&lt;img alt="" src="https://img.lategege.com:30443/images/web/2023/8-6/23.png?imageView2/0/format/png/q/75|watermark/2/text/5Y2a5a6iOiBodHRwOi8vbGF0ZWdlZ2UuY29t/font/5b6u6L2v6ZuF6buR/fontsize/660/fill/I0ZGRkZGRg==/dissolve/100/gravity/SouthEast/dx/20/dy/20"/&gt;&lt;/li&gt;
&lt;li&gt;打开win11虚拟机，将上面提到的虚拟机vgpu驱动传入win11,然后双击安装，过程略
&lt;img alt="" src="https://img.lategege.com:30443/images/web/2023/8-6/24.png?imageView2/0/format/png/q/75|watermark/2/text/5Y2a5a6iOiBodHRwOi8vbGF0ZWdlZ2UuY29t/font/5b6u6L2v6ZuF6buR/fontsize/660/fill/I0ZGRkZGRg==/dissolve/100/gravity/SouthEast/dx/20/dy/20"/&gt;&lt;/li&gt;
&lt;li&gt;装好以后重启设备管理器就识别了
&lt;img alt="" src="https://img.lategege.com:30443/images/web/2023/8-6/26.png?imageView2/0/format/png/q/75|watermark/2/text/5Y2a5a6iOiBodHRwOi8vbGF0ZWdlZ2UuY29t/font/5b6u6L2v6ZuF6buR/fontsize/660/fill/I0ZGRkZGRg==/dissolve/100/gravity/SouthEast/dx/20/dy/20"/&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr/&gt;
&lt;p&gt;五、搭建nvidia vgpu授权服务&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;服务需要用到证书，所以搭建之前要自己创建证书，可以使用任何一台安装完openssl的机器创建，创建过程如下
&lt;pre&gt;&lt;code class="language-shell"&gt;WORKING_DIR=/opt/docker/fastapi-dls/cert
mkdir -p $WORKING_DIR
cd $WORKING_DIR
# create instance private and public key for singing JWT's
openssl genrsa -out $WORKING_DIR/instance.private.pem 2048
openssl rsa -in $WORKING_DIR/instance.private.pem -outform PEM -pubout -out $WORKING_DIR/instance.public.pem
# create ssl certificate for integrated webserver (uvicorn) - because clients rely on ssl
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout $WORKING_DIR/webserver.key -out $WORKING_DIR/webserver.crt&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;运行docker fastapi-dls服务
&lt;pre&gt;&lt;code class="language-shell"&gt;docker run -e DLS_URL=替换成你的ip地址 -e DLS_PORT=443 -p 443:443 -v $WORKING_DIR:/app/cert collinwebdesigns/fastapi-dls:latest&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;访问你服务得https://ip地址，查看服务是否运行
1.win11下载证书，用浏览器访问 &lt;a href="https://ip地址/-/client-token"&gt;https://ip地址/-/client-token&lt;/a&gt; ，下载后放入C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken\这个目录&lt;/li&gt;
&lt;li&gt;重启win11&lt;/li&gt;
&lt;li&gt;击右下角的nvidia图标，看到如下图所示就证明授权成功
&lt;img alt="" src="https://img.lategege.com:30443/images/web/2023/8-6/25.png?imageView2/0/format/png/q/75|watermark/2/text/5Y2a5a6iOiBodHRwOi8vbGF0ZWdlZ2UuY29t/font/5b6u6L2v6ZuF6buR/fontsize/660/fill/I0ZGRkZGRg==/dissolve/100/gravity/SouthEast/dx/20/dy/20"/&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr/&gt;
&lt;ul&gt;
&lt;li&gt;如果是linux系统，执行下面命令即可
&lt;pre&gt;&lt;code class="language-shell"&gt;curl --insecure -L -X GET https://&amp;lt;dls-hostname-or-ip&amp;gt;/-/client-token -o /etc/nvidia/ClientConfigToken/client_configuration_token_$(date '+%d-%m-%Y-%H-%M-%S').tok
# or
wget --no-check-certificate -O /etc/nvidia/ClientConfigToken/client_configuration_token_$(date '+%d-%m-%Y-%H-%M-%S').tok https://&amp;lt;dls-hostname-or-ip&amp;gt;/-/client-token&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;其他细节其实可以查看https://ip/-/readme&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;p&gt;至此，你可以愉快的玩耍了！&lt;/p&gt;</description></item></channel></rss>