ESXI8.0下直通NVIDIA Tesla P4显卡给Ubuntu22.04系统中Docker容器里的Jellyfin使用
环境
CPU:AMD 7551P
系统:ESXI 8.0
需求
播放视频时jellyfin可以通过显卡进行硬件解码
ESXI8.0直通特斯拉P4
直接点直通就可以了
创建虚拟机
添加直通显卡
关闭UEFI 安全引导
安装安装操作系统
Ubuntu22.04
过程:略
通过SMB挂载NAS目录
安装cifs-utils
sudo apt-get install cifs-utils
编辑文件
vi /etc/fstab
增加以下内容,共享路径 挂载点 文件类型 挂载参数(共享的认证账号和认证账号的密码等参数)
【SMB目录】 【本地挂载目录】 cifs defaults,username=【用户名】,password=【密码】 0 0
#例子:
//10.1.0.10/Jellyfin /jellyfin/media/ cifs defaults,username=test,password=ASD123asd 0 0
挂载
mount -a
查看挂载
df -Th
Tesla P4安装驱动
屏蔽系统内置显卡驱动nouveau
su
touch /etc/modprobe.d/blacklist-nvidia-nouveau.conf
cat >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf << EOF
blacklist nouveau
options nouveau modeset=0
EOF
touch /etc/modprobe.d/nvidia.conf
cat >> /etc/modprobe.d/nvidia.conf << EOF
options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
EOF
sudo update-initramfs -u
检查nouveau
lsmod |grep nouveau
安装显卡驱动程序
访问https://www.nvidia.cn/Download/index.aspx?lang=cn下载
#补全文件信息
chmod +x /NVIDIA-Linux-x86_64-525.xxx.xx.run
#补全文件信息
apt install build-essential pkg-config libglvnd-dev ./NVIDIA-Linux-x86_64-525.xxx.xx.run -no-x-check -no-nouveau-check -no-opengl-files -m=kernel-open
验证
nvidia-smi
安装CUDA
英伟达官方命令[https://developer.nvidia.com/cuda-toolkit]
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda
执行完成后设置变量环境,在~/.bashrc文件末尾添加
export PATH=/usr/local/cuda-12.2/bin${PATH:+:${PATH}}
确认nvidia-persistenced守护进程是否开启
systemctl enable nvidia-persistenced
systemctl start nvidia-persistenced
systemctl status nvidia-persistenced
reboot
#这里一定要重启!
#这里一定要重启!
#这里一定要重启!
为了服务器软件的版本稳定,关掉 unattended-upgrade 自动更新!
sudo dpkg-reconfigure unattended-upgrades
输入no
安装dcoker
过程:略
安装docker-compose
过程:略
显卡docker直通
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list |
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' |
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
apt update
apt-get install -y nvidia-docker2 nvidia-container-runtime
systemctl restart docker
#这里一定要重启Docker!
#这里一定要重启Docker!
#这里一定要重启Docker!
编辑docker-compose.yml
version: "3.7"
services:
jellyfin:
container_name: jellyfin
image: "nyanmisaka/jellyfin:230801-amd64"
environment:
- PUID=0
- GUID=0
- NVIDIA_DRIVER_CAPABILITIES=all
- NVIDIA_VISIBLE_DEVICES=all
ports:
- "8096:8096"
- "8920:8920"
extra_hosts:
- "api.themoviedb.org:54.192.18.90"
- "image.themoviedb.org:104.16.61.155"
volumes:
- "/jellyfin/config:/config"
- "/jellyfin/media:/media"
restart: always
user: root
devices:
- "/dev/dri:/dev/dri"
deploy:
resources:
reservations:
devices:
- capabilities: ["gpu"]
启动jellyfin
进入目录执行启动
docker-compose up
后台运行
docker-compose up -d
结束运行
docker-compose down
转码测试
完结散花
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/9367.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~