|
本帖最后由 中亿数码 于 2022-2-23 20:26 编辑
给孔昊天同学的lxc下安装docker做个延伸:
pve7.0虚拟机lxc下安装docker,实现cpu效能最大化 - 软路由,x86系统,openwrt(x86),Router OS 等 - 恩山无线论坛 - Powered by Discuz! (right.com.cn)
H110i+G3900(6代U)据搜一搜了解到只有6代以上的intel-CPU才支持GVT-g支持,可以给多个多个虚拟机共享显卡因为我觉得7*24运行,PVE要的是稳定和低功耗,所以不装WIN10
高性能CPU玩家不在意那点电费的可以这么玩。
如果想给win10启用核显方法自己找或留言问我,我有空会回复的,
这里只谈给LXC导入显卡给jellyfin解码使用:和装DOCKER不冲突
先在PVE的shell查看一下核显(别在PVE下装驱动)
ls -l /dev/dri我的反馈是:
drwxr-xr-x 2 root root 80 Dec 17 00:04 by-path
crw-rw---- 1 root video 226, 0 Dec 17 00:04 card0
crw-rw---- 1 root render 226, 128 Dec 17 00:04 renderD128
例如:lxc-ubuntu 20.10的编号是102
nano /etc/pve/lxc/102.conf
加入
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.autodev: 1
lxc.hook.autodev: /var/lib/lxc/102/mount_hook.sh
Clrt+X再按Y退出保存
nano /var/lib/lxc/102/mount_hook.sh #这个文件原来是没有的,相当是新建的
加入
mkdir -p ${LXC_ROOTFS_MOUNT}/dev/dri
mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/dri/card0 c 226 0
mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/dri/renderD128 c 226 128
Clrt+X再按Y退出保存
最后设置文件权限:
chmod 755 /var/lib/lxc/102/mount_hook.sh
#以上数ID和显卡ID信息和文件名要注意换成自己的,别无脑粘贴。
启动LXC-Ubuntu
ls -l /dev/dri/,可以看到共享的显卡
card0 renderD128
装驱动,#我试过很多方法:lxc.cgroup2.devices.allow 这个cgroup是老版本,现在据说是用cgroup2
#apt install i965-va-driver vainfo(对应cgroup)这条针对老版本的,6代以上的建议用新的
sudo apt-get update #更新一下
sudo apt install intel-media-va-driver-non-free(对应cgroup2)
sudo apt-get install vainfo
vainfo,验证VA-API( Video Acceleration API即视频加速API)
#以面这条很重要很重要很重要
安装完成后,更改以下配置文件,一般为 .bashrc 如果安装了 zsh,则是 .zshrc
一般在root或home文件夹内:
# 在文件末尾添加
export LIBVA_DRIVER_NAME=iHD
改一下这个文件重启一下,不然装上了也驱动不了。
vainfo
看到那堆能解码的信息了。
如果以上方法不行就得用官网的方法再安装一次:
sudo apt-get update
问题解决:
apt-add-repository: command not found
解决办法
sudo apt-get install software-properties-common
添加包存储库
要安装 repositories.intel.com/graphics 包存储库,请将以下内容添加到 Ubuntu 安装中。
在复制/粘贴到主机之前,您可能需要运行并输入密码,以防止命令被 sudo 密码提示符吞噬:sudo ls
sudo apt-get install -y gpg-agent wget
wget -qO - https://repositories.intel.com/graphics/intel-graphics.key |
sudo apt-key add -
sudo apt-add-repository \
'deb [arch=amd64] https://repositories.intel.com/graphics/ubuntu bionic main'
安装运行时包
sudo apt-get update
sudo apt-get install \
intel-opencl \
intel-level-zero-gpu level-zero
sudo apt-get install libmfx1 libmfx-tools
sudo apt-get install libva-dev libmfx-dev intel-media-va-driver-non-free
sudo apt-get install vainfo
安装完成后,更改以下配置文件,一般为 .bashrc 如果安装了 zsh,则是 .zshrc
一般在root或home文件夹内:
# 在文件末尾添加
export LIBVA_DRIVER_NAME=iHD
ubuntu查看intel GPU使用情况
安装
sudo apt-get install intel-gpu-tools
运行
sudo intel_gpu_top
#可以查看GPU的运行情况
另附上开启ubuntu开启远程ssh服务的方法:
一般系統不容許以root连接,解决方法为改配置文件,找到PermitRootLogin改成成yes
命令行sudo nano /etc/ssh/sshd_config
在文尾加入以下內容并保存退出
# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
(按Ctrl+X退出,按Y保存)
重新启动SSH server
命令行sudo /etc/init.d/ssh restart
先装好显卡驱动后再装一下Jellyfin
apt update
apt upgrade
按官方的安装方法:
sudo apt install apt-transport-https software-properties-common
sudo add-apt-repository universe
wget -O - https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo apt-key add -
echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/ubuntu $( lsb_release -c -s ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
sudo apt update
sudo apt install jellyfin
安装完后执行 service jellyfin status,显示状态为 running 说明安装成功
再从网页中ip:8096访问后台:
为了让jellyfin有权限使用显卡解码
chmod 777 /dev/dri/card0
chmod 777 /dev/dri/renderD128
都改成777权限
将Nas目录挂载到pve宿主机上
安装 cifs-utils 包
sudo apt-get install cifs-utils
创建备份目录
sudo mkdir /mydata
运行挂载命令
mount.cifs //192.168.x.x/samba的挂载目录 /mydata / -o user=用户名,pass=密码,vers=2.0
例如:
mount.cifs //192.168.10.10/testdata /mydata / -o user=test,pass=123456,vers=2.0 192.168.10.10/testdadt(是我内网的网盘地址是samba协议的)
/mydate(是PVE下的文件夹)
user=test(test是我samba的登录名)
pass=123456(123456是我的samba登录密码)
挂载完后
df
查看一下PVE挂载的磁盘
将pve宿主机目录挂载到LXC容器内
pct set 102 -mp0 /mydata,mp=/data
重启LXC容器生效。
也可用挂载PVE下的本地硬盘
相关命令
pct set 102 -mp0 /mnt/bindmounts/mydata,mp=/mydata
将宿主机/mnt/bindmounts/sky文件夹挂载到编号102虚拟机/sky目录下
上面命令效果等同于,在宿主机nano /etc/pve/lxc/102.conf内添加一行
mp0: /mydata,mp=/mydata
往后就mp1、mp2、mp3 。。。。
pct set 102 -mp0 thin1:10,mp=/path/in/container
将thin1硬盘中10G空间挂载到编号100虚拟机里container文件夹下
以上内容全来自网络,也忘了到底在那抄来的,如有侵权请联系本人删帖!!
|
评分
-
查看全部评分
|