服务器硬件

硬件介绍

  • R730 2.5寸硬盘 准系统
  • 16个空盘架
  • H730p阵列卡
  • 750W电源
  • ‌Intel Xeon E5-2680 v4 * 2
  • 三星 DDR4 ECC 1R*4 8G * 2
  • NVIDIA Tesla P4 8GB
  • 120GB SSD * 2
  • 960GB SSD * 4

raid阵列情况

ScreenShot_2026-02-14_104008_078.png

服务器功耗

默认的服务器待机功耗iDRAC显示168W,需要进入BIOS进行调整

  • 启动服务器,在看到Dell Logo时按 F2
  • 在BIOS设置界面中,依次进入 System BIOSSystem Profile Settings
  • 修改System Profile选项, 从PerformancePerformance Per Watt Optimized (DAPC)
  • 在iDRAC中,依次进入 硬件风扇设置 ,修改 散热配置文件 改为 最低功率

修改以后开机状态下不运行虚拟机待机iDRAC显示98W,运行5个虚拟机待机iDRAC显示112W,功率表显示大约107W左右,服务器关机状态下待机10W

ScreenShot_2026-02-14_105017_508.png

系统部署

ESXI 8.0u3

镜像使用dell定制版的镜像以及配套的驱动

  • VMware-VMvisor-Installer-8.0.0.update03-24859861.x86_64-Dell_Customized-A08.iso
  • ISM-Dell-Web-5.4.0.0-3644.VIB-ESX8i-Live_A00.zip
  • vSphere 8 Enterprise Plus许可证:4V492-44210-48830-931GK-2PRJ4

非dell服务器可以使用这一版镜像

  • VMware-VMvisor-Installer-8.0U3g-24859861.x86_64.iso

ESXI 8.0安装过程

  • 在同一个局域网内配置好iDRAC的情况下,用dell的虚拟控制台挂载镜像或者使用u盘安装,完全可以远程操作

ScreenShot_2026-02-14_104724_425.png

ScreenShot_2026-02-14_110830_634.png

ISM软件包安装

不是dell服务器可以跳过这一步

  • 需要打开ISM-Dell-Web-5.4.0.0-3644.VIB-ESX8i-Live_A00.zip压缩包找到DEL_bootbank_dellism_5.4.0.0.3644-1OEM.800.1.0.20613240.vib上传到esxi的存储中

ScreenShot_2026-02-14_110500_828.png

  • 镜像位置为/vmfs/volumes/697a6415-025ef58f-5425-44a8423c8fec/iso/DEL_bootbank_dellism_5.4.0.0.3644-1OEM.800.1.0.20613240.vib

ScreenShot_2026-02-14_110753_800.png

  • 安装完成以后,iDRAC的服务模块可以正常使用

ScreenShot_2026-02-14_111007_234.png

ScreenShot_2026-02-14_111024_051.png

部署ESXI vGPU驱动

NVIDIA 在 vGPU 17.x 系列中针对 VMware ESXi 平台停止了对 Pascal 架构(如 Tesla P4)的支持,仅保留对 16.x 系列的兼容。若需继续使用 P4 的 vGPU 功能,建议保持 16.x 版本驱动,本教程中使用的是 vGPU 16.10 驱动来演示。

  • 要在 vSphere 平台上让虚拟机实现 NVIDIA GPU 的硬件加速(比如 vGPU 功能),必须先为 ESXi 主机安装 NVIDIA 官方 Host 驱动。这次我要安装包是NVIDIA-GRID-vSphere-8.0-535.247.02-535.247.01-539.28.zip
  • 解压获得驱动文件NVD_bootbank_NVD-VMware_ESXi_8.0.0_Driver_535.247.02-1OEM.800.1.0.20613240.vib
  • 为了避免安装驱动时影响正在运行的虚拟机,建议先把 ESXi 主机进入 维护模式,然开启 SSH 将 VIB 文件到 ESXi 主机的 tmp 目录下,通过 SSH 客户端连接到 ESXi 主机,执行以下命令安装驱动
  • NVIDIA-GRID-vSphere-8.0-535.247.02-535.247.01-539.28.zip解压出来,里面有三个文件夹,分别是Guest_Drivers,Host_Drivers,Signing_Keys和一些PDF说明。我们只需要用到Guest_DriversHost_DriversGuest_Drivers是给虚拟机用的vGPU驱动,Host_Drivers是安装到ESXI主机上的软件

ScreenShot_2026-02-14_111855_237.png

ScreenShot_2026-02-14_112020_510.png

  • 执行后,命令行会输出驱动验证、安装的进度日志。耐心等待片刻,直到看到Installation completed successfully(安装成功)的提示
#执行以下命令安装驱动 需要等待3-5分钟
esxcli software vib install -v /tmp/NVD_bootbank_NVD-VMware_ESXi_8.0.0_Driver_535.247.02-1OEM.800.1.0.20613240.vib
  • 驱动安装后,必须重启 ESXi 主机 才能让驱动完全生效。主机重启后,再次通过 SSH 登录,执行以下命令查看驱动是否安装成功
[root@localhost:~] nvidia-smi
Sat Feb 14 03:20:57 2026       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.247.02             Driver Version: 535.247.02   CUDA Version: N/A      |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla P4                       On  | 00000000:82:00.0 Off |                  Off |
| N/A   46C    P8              12W /  75W |     31MiB /  8192MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+

vCenter Server

可以在esxi上直接部署虚拟机安装,如果需要在VMware Workstation安装那么就需要获得ovf文件,最小版本需要硬件14G内存和600GB硬盘容量

  • VMware-VCSA-all-8.0.3-24853646.iso

ESXI安装

  • 把镜像放入虚拟光驱后进行第一阶段安装

ScreenShot_2026-02-14_152750_985.png

ScreenShot_2026-02-14_152855_162.png

ScreenShot_2026-02-14_152908_217.png

  • 关于这个部署大小 微型的配置会很卡 如果想要流畅选择硬件足够的情况下 可以选择小型

ScreenShot_2026-02-14_152924_604.png

ScreenShot_2026-02-14_153033_525.png

  • 配置网络位置 建议用ESXI部署一个liunx虚拟机然后安装dns服务器 这样就能简单很多

ScreenShot_2026-02-14_153151_913.png

  • 完成第一阶段以后,确认信息进行第二阶段安装

ScreenShot_2026-02-14_154902_258.png

ScreenShot_2026-02-14_154935_875.png

ScreenShot_2026-02-14_154957_057.png

ScreenShot_2026-02-14_155008_263.png

VMware Workstation安装

不能直接安装,但是可以通过ovf导入的方式进行安装

  • 目前这个操作不能在Windows 11进行,最终的转换命令不能Windows 11无法执行,最后我用了Windows 10虚拟机完成这个操作
  • 先解压镜像到桌面,找到其中的vcsa文件夹
  • 如果您使用的是macOS系统,则可能还需要从提取的目录中删除安全隔离标志,并确保目录具有写访问权限,例如chmod 755

ScreenShot_2026-02-14_113531_015.png

  • 把ova文件移动到win32目录方便操作,然后打开cmd进入该目录查看文件

ScreenShot_2026-02-14_113831_970.png

  • 执行转换命令,并删除mf文件
#进入vcsa目录,您将看到VCSA OVA。运行以下命令将VCSA OVA转换为OVF
ovftool.exe VMware-vCenter-Server-Appliance-8.0.0.10200-21216066_OVF10.ova VMware-vCenter-Server-Appliance-8.0.0.10200-21216066_OVF10.ovf
#删除原始的VCSA OVF清单文件,以便由于我们的更改而不会失败验证
del VMware-vCenter-Server-Appliance-8.0.0.10200-21216066_OVF10.mf

ScreenShot_2026-02-14_114026_585.png

  • 编辑VCSA OVF文件,找到以下部分并将ovf:userConfigurable的值更改为true,然后保存更改
#修改前
<Property ovf:key="guestinfo.cis.upgrade.import.directory" ovf:type="string" ovf:userConfigurable="false" ovf:value="/storage/seat/cis-export-folder">
#修改后
<Property ovf:key="guestinfo.cis.upgrade.import.directory" ovf:type="string" ovf:userConfigurable="true" ovf:value="/storage/seat/cis-export-folder">

ScreenShot_2026-02-14_114434_032.png

  • 然后导入VMware Workstation进行安装

ScreenShot_2026-02-14_121650_772.png

ScreenShot_2026-02-14_121629_878.png

ScreenShot_2026-02-14_121728_704.png

  • 这里可以先用dhcp自动获取ip之后在系统里可以修改

ScreenShot_2026-02-14_121756_583.png

  • 导入以后需要先配置密码和修改ip 然后用浏览器访问5480端口第一阶段安装完成

ScreenShot_2026-02-14_122142_411.png

  • 第二阶段需要配置ip信息,用户名和密码

ScreenShot_2026-02-14_122249_509.png

ScreenShot_2026-02-14_122330_082.png

ScreenShot_2026-02-14_122530_726.png

ScreenShot_2026-02-14_123235_373.png

ScreenShot_2026-02-14_123308_650.png

vCenter 创建数据中心添加ESXI主机

  • 安装完成后进入vCenter 创建数据中心添加esxi

ScreenShot_2026-02-14_124244_098.png

ScreenShot_2026-02-14_124316_378.png

  • 前面就是基本的esxi的参数,主机生命周期这边我取消了勾选

ScreenShot_2026-02-14_124406_581.png

  • 锁定模式 这边选禁用

ScreenShot_2026-02-14_124447_832.png

  • 连接上虚拟机后就可以看到GPU的信息设置,vCenter版本不同内容不一样
  • 一共需要修改2个位置的共享,修改为截图里的参数

ScreenShot_2026-02-14_124624_181.png

ScreenShot_2026-02-14_124646_476.png

ScreenShot_2026-02-14_124845_335.png

ScreenShot_2026-02-14_124911_926.png

添加vGPU

  • 在虚拟机关机的情况下,可以添加vGPU

以飞牛os为例

ScreenShot_2026-02-14_125223_402.png

ScreenShot_2026-02-14_125301_226.png

  • 测试使用的是grid_p4-1q,grid_p4-2q,grid_p4-4q,grid_p4-8q其他配置尝试过,飞牛os可以识别但是不能正常使用

ScreenShot_2026-02-14_125318_130.png

ScreenShot_2026-02-14_125332_079.png

  • 在ESXI这一侧看不到具体的pci设备信息,如果需要调整要进入vCenter

ScreenShot_2026-02-14_125619_166.png

客户端安装驱动

  • NVIDIA-GRID-vSphere-8.0-535.247.02-535.247.01-539.28.zip里的Guest_Drivers目录下有4个文件对应了4种客户端,根据客户端的不同选择对应的驱动

飞牛OS

  • 1.1.20系统开启ssh

ScreenShot_2026-02-14_130604_921.png

  • 先 SSH 连接切换到 root 准备安装所需依赖
# 切换root权限
sudo -i

# 屏蔽nouveau
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist-nouveau.conf

# 更新initramfs
update-initramfs -u

# 安装aptitude包管理工具
apt update && apt install aptitude

# 使用 aptitude 自动解决依赖冲突
aptitude install build-essential dkms linux-headers-generic libglvnd-dev pkg-config -y

# 清理缓存
apt clean
apt autoclean
rm -rf /var/lib/apt/lists/*
apt update

# 安**uild-essential dkms 等依赖包
apt install build-essential dkms linux-headers-generic libglvnd-dev pkg-config -y

# 重启飞牛
reboot
  • 然后将 NVIDIA-Linux-x86_64-535.247.01-grid.run 这个 vGPU Guest 上传到飞牛 OS,同样命令行下开始编译安装
# 给予驱动执行权限
chmod +x NVIDIA-Linux-x86_64-535.247.01-grid.run

# 安装NVIDIA GUEST驱动,一路回车直至安装完成
 ./NVIDIA-Linux-x86_64-535.247.01-grid.run --dkms
  • 安装成功后使用命令验证一下
root@******:~# nvidia-smi
Sat Feb 14 13:09:27 2026       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.247.01             Driver Version: 535.247.01   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  GRID P4-2Q                     On  | 00000000:02:00.0 Off |                  N/A |
| N/A   N/A    P8              N/A /  N/A |      0MiB /  2048MiB |      0%      Default |
|                                         |                      |             Disabled |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+
  • 相册和飞牛影视可以正常选择GPU

ScreenShot_2026-02-14_131047_135.png

ScreenShot_2026-02-14_131109_082.png

ScreenShot_2026-02-14_131139_348.png

授权服务

本身FastAPI-DLS就提供了多重部署方法,使用vGPU本身就已经在ESXI的环境,只要再部署一个用于授权的服务器就可以了

安装授权服务器

  • 下面是所有的部署方式,安装完docker以后访问readme页面就能看到,下面介绍了所有的部署方式,感觉下来docker是最简单的
  • Docker
  • Debian / Ubuntu / macOS (manual method using git clone and python virtual environment)
  • openSUSE Leap (manual method using git clone and python virtual environment)
  • Debian / Ubuntu (using dpkg / apt)
  • ArchLinux (using pacman)
  • unRAID
  • NixOS
  • Let's Encrypt Certificate (optional)
  • Nginx Reverse Proxy (experimental)

ScreenShot_2026-02-14_134056_440.png

  • 授权服务器配置变量名及含义
Variable Default Usage
DEBUG false 切换FastAPI调试模式
DLS_URL localhost 在客户端令牌中用于告知客户端驱动DLS实例的访问地址
DLS_PORT 443 在客户端令牌中用于告知客户端驱动DLS实例的访问端口
CERT_PATH None 存储生成的证书的目录路径。默认为 /<应用目录>/cert
TOKEN_EXPIRE_DAYS 1 客户端认证令牌有效期(用于客户端通过API进行认证,不是.tok文件!)
LEASE_EXPIRE_DAYS 90 租期(天数)
LEASE_RENEWAL_PERIOD 0.15 许可客户端可以续订许可证前必须经过的租期百分比 *1
DATABASE sqlite:///db.sqlite 参见官方SQLAlchemy文档
CORS_ORIGINS https://{DLS_URL} 设置Access-Control-Allow-Origin头(逗号分隔的字符串)*2
SITE_KEY_XID 00000000-0000-0000-0000-000000000000 站点标识UUID
INSTANCE_REF 10000000-0000-0000-0000-000000000001 实例标识UUID
ALLOTMENT_REF 20000000-0000-0000-0000-000000000001 配额标识UUID
  1. 例如,如果租期为一天,续订周期为 20%,客户端将尝试每 4.8 小时续订一次许可证。如果网络连接中断,则会在许可证续订期间检测到连接中断,客户端有 19.2 小时的时间重新建立连接,否则其许可证将过期。
  2. 始终使用 https,因为访客驱动程序仅支持安全连接!

docker部署

docker load -i fastapi-dls.tar
docker images 
docker tag 6a5a6b655a7f collinwebdesigns/fastapi-dls:latest
  • 需要运行以下命令
WORKING_DIR=/opt/docker/fastapi-dls/cert
mkdir -p $WORKING_DIR
cd $WORKING_DIR
# 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
  • 设定系统变量这个命令会在重启后失效如果要长期作为授权服务器需要做持久化部署
# 系统变量 持久化部署
echo 'WORKING_DIR="/opt/docker/fastapi-dls/cert"' | sudo tee -a /etc/environment
  • 启动容器

DLS_URLDLS_PORT分别代表客户端访问的地址和端口,是告知虚拟机内的grid驱动,访问哪个IP与端口获取授权,如果对应的地址和端口没有开放那么就会授权失败,这也是我一开始就踩的坑,不想用标准端口 后来授权不成功才改回来的

docker volume create dls-db
docker run -e DLS_URL=`hostname -i` -e DLS_PORT=443 -p 443:443 -v $WORKING_DIR:/app/cert -v dls-db:/app/database collinwebdesigns/fastapi-dls:latest
# 原本的命令在重启后不会自启动可以使用以下命令
docker run -d --restart=always -e DLS_URL=192.168.50.2 -e DLS_PORT=443 -p 443:443 -v $WORKING_DIR:/app/cert -v dls-db:/app/database collinwebdesigns/fastapi-dls:latest
  • 验证访问https://192.168.50.2/-/readme出现页面就代表部署成功

使用授权服务器

  • 一共提供了3种授权的使用方式
  • Linux
  • Windows
  • unRAID Guest

Linux

  • 查看/etc/nvidia/ClientConfigToken是否存在
#获取token
curl --insecure -L -X GET https://<dls-hostname-or-ip>/-/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://<dls-hostname-or-ip>/-/client-token

#重启
service nvidia-gridd restart
# or
systemctl restart nvidia-gridd
  • 查看授权信息
nvidia-smi -q | grep "License"
  • 显示授权具体日期说明已经授权成功
root@******:~# nvidia-smi -q | grep "License"
    vGPU Software Licensed Product
        License Status                    : Licensed (Expiry: 2026-5-15 5:34:1 GMT)

Windows

  • 安装驱动包里的驱动539.28_grid_win10_win11_server2019_server2022_dch_64bit_international.exe
  • https://192.168.50.2/-/client-token下载配置文件,然后放到C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken
  • 重启电脑,然后就能看到正在获取许可证并激活成功

资源

所有驱动和镜像来自互联网

vGPU相关驱动