折腾m910x - All In One(PVE + OpenWRT + DSM7.01)
目录:
2.8 PVE下解决DSM7人脸识别问题(需先开启显卡虚拟化)
3.1 解决群晖Video Station “该视频不支持该格式” 的问题
准系统:联想m910x(魔改BIOS,开始打算上魔改U),
CPU:i5 7500 魔改U QNCT(懒得折腾是BIOS还是U的原因,不识别PCI,一个DP口无输出)
显卡:核显
内存:16G(暗影精灵4换下来的三星2666 8G + 光威3200 8g)
硬盘:128g SSD系统盘(暗影精灵2遗留)
6T HDD 希捷银河 + 绿联USB硬盘底座(挖Chia无果后的产物)
显示器:无显示器,PD转HDMI线(新购)+ HDMI转Type-C视频采集卡(树莓派遗留)+ Type-C转USB(新购) + OBS软件 在笔记本输出
网卡:i350-t4 v2(需配转接版,装上去盖后盖的话会高1毫米多导致后盖盖不上,要用工具把网卡接口上的凸起压平才勉强可以盖上,盖上又会导致网卡移位,还需要先用704胶固定一下网卡)
其他:35W铝单铜管散热(→_→),90W电源
虚拟机:PVE,满速下载(百兆网速跑满)时cpu31%,内存39%(只装OpenWrt和群晖),DSM7.0人脸识别完美
ESXI,满速下载(百兆网速跑满)时cpu20%,内存40%(硬件直通有锁定内存),因为核显直通也无法使用DSM7.0的人脸识别,随弃用
阿里云:一台2U 2G 峰值80M按量付费带宽的抢占式实例(当然最高出价要设定最大避免被释放)用作FRP穿透,稳定用了1个月,每小时3分钱
二. 资源及链接(下载链接及其他博客中的下载链接均为直接下载,不需要关注微信,不需要付费)
PVE:V7.0-2 PVE官网
ESXI:6.7各版本 吴昊博客 ,下载链接在该博客中,百度网盘直接下
OpenWRT:eSir编译版本 高大全V9.1
群晖:DSM7.01 DS918+ 骑猪看月亮的博客,下载链接在该博客中,百度网盘直接下
2.1 群晖同步阿里云盘,链接
2.1.1 套件中心下载cloud sync 和 docker
2.1.2 获取阿里云盘refresh-token
2.1.3 设置docker
2.1.3.1 打开群晖file station ,找到docker文件夹(文件夹随意,放docker里面好管理),创建一个文件夹,名称随意
2.1.3.2 打开docker,选择注册表,搜索webdav-aliyundriver
2.1.3.3 双击运行镜像,容器名称随意,选择高级设置
2.1.3.4 高级设置内,勾选启动自动重新启动
2.1.3.5 存储空间,添加文件夹,左边为宿主机路径,点击刚刚创建的文件夹即可;右边是容器内路径,填入/etc/aliyun-driver/
2.1.3.6 端口设置,本地端口随意输入,默认为8080,容器端口不要修改,使用默认值8080
2.1.3.7 环境设置,添加如下内容
# 修改时区为上海
可变:TZ 值:Asia/Shanghai
# 添加token
可变:ALIYUNDRIVE_REFRESH_TOKEN 值:refresh_token 填入第1步查询到的refresh_token的值
# 设置webdav密码
可变:ALIYUNDRIVE_AUTH_PASSWORD 值:输入你要设置的密码(默认为admin)
# 设置webdav用户名
可变:ALIYUNDRIVE_AUTH_USER-NAME 值:输入你要设置的用户名(默认为admin)
2.1.4 设置cloud sync
2.1.4.1 打开cloud sync,选择webdav
2.1.4.2 填入webdav地址、端口号、用户名、密码
2.1.4.3 设置任务,完成
2.2 ESXI 识别USB硬盘并直通群晖,链接1(识别) 链接2(直通)
2.2.1 拔U盘(?)并输入如下命令
1. /etc/init.d/usbarbitrator stop 2. chkconfig usbarbitrator off
2.2.2 插U盘(?)并输入如下命令,当看到(Is USB:true)说明的usb硬盘已经被识别出来,可以在ESXI中 存储 - 设备 里看到USB硬盘
1. esxcli storage core device list |grep -i usb
2.2.3 直通
2.2.3.1 查找硬盘标识符
存储 -> 设备 -> 找到自己磁盘的id(在括号中的)
2.2.3.2 找到系统盘路径
存储 -> 数据存储 -> 复制 位置 后面地址
2.2.3.3 直通命令
vmkfstools -z /vmfs/devices/disks/未格式化硬盘标识符 /vmfs/volumes/ESXI系统盘路径/自定义名称.vmdk
例如:
vmkfstools -z /vmfs/devices/disks/naa.5xxxxxxxxxx9 /vmfs/volumes/5xxxxxxxx2-4xxxxa-0xx6-4xxxxxxxxxxc/nas.vmdk
2.2.3.4 群晖虚拟机 添加硬盘 - 现有硬盘
2.3 群晖配置SSL证书,链接
2.3.1 阿里云证书申请
2.3.2 证书下载,选择其他
2.3.3 群晖内配置,控制面板 - 安全性 - 证书 - 新增 - 添加新证书 - 导入证书(勾选:设为默认证书)
私钥:.key文件
证书:.pem文件
2.3.4 控制面板 - 安全性 - 证书 - 设置,将配置内的所有证书选择为刚才导入的证书
2.4 群晖FRP穿透,链接
2.4.1 根据需要下载一个版本,官方github地址
2.4.2 服务端配置:解压后将 frps、frps.ini两个文件上传到服务器 /root 目录下(自行根据情况替换)并赋予frps执行权限,frps.ini内容如下,token自行定义
[common] bind_port = 7000
token = 3xxxxxxxxxxxxxxxx8
启动: ./frps -c ./frps.ini 后台启动: nohup ./frps -c ./frps.ini & 配置开机启动: sudo vi /lib/systemd/system/frps.service 添加: [Unit] Description=frps daemon After=syslog.target network.target Wants=network.target [Service] Type=simple ExecStart=/root/frps -c /root/frps.ini Restart= always RestartSec=1min [Install] WantedBy=multi-user.target
#启动 frps systemctl start frps
#停止 systemctl stop frps
#将frps设置为开机启动 systemctl enable frps
2.4.3 服务器安全组按需开启端口
2.4.4 客户端配置:
2.4.4.1 在群晖docker文件夹内创建frp文件夹,将frpc.ini放进去,frpc.ini内容如下,token同frps.ini中token
[common] server_addr = xxx.xxx.xxx.xxx server_port = 7000 token = 3xxxxxxxxxxxxxxxx8 [http] type = tcp local_ip = xxx.xxx.xxx.xxx local_port = 5000 remote_port = 80 [https] type = tcp local_ip = xxx.xxx.xxx.xxx local_port = 5001 remote_port = 443 [ssh] type = tcp local_ip = xxx.xxx.xxx.xxx local_port = 22 remote_port = 2222 [ds_file_http] type = tcp local_ip = xxx.xxx.xxx.xxx local_port = 5000 remote_port = 5000 [ds_file_https] type = tcp local_ip = xxx.xxx.xxx.xxx local_port = 5001 remote_port = 5001
xxx.xxx.xxx.xxx:服务器ip
xxx.xxx.xxx.xxx:群晖内网ip,也可用127.0.0.1
2.4.4.2 路由器内按需开启端口映射
2.4.4.3 在docker注册表内搜索 frpc 并下版,且选择与frps对应版本安装
2.4.4.4 双击运行镜像,容器名称随意,选择高级设置
2.4.4.5 高级设置内,勾选启动自动重新启动
2.4.4.6 存储空间,添加文件,左边为宿主机路径,点击刚刚创建的frpc.ini文件;右边是容器内路径,填入/etc/frp/frpc.ini
2.4.4.7 运行
2.5 PVE下USB硬盘直通群晖,链接
2.5.1 找到需要直通的硬盘id
ls /dev/disk/by-id/
2.5.2 直通命令
qm set 101 -sata2 /dev/disk/by-id/xxx-XXXX_XXXX_XXXX_XXXX
101:表示几号虚拟机,根据自己情况替换
sata2:表示通给该虚拟机的第2块(从0块开始)硬盘,根据自己情况替换
xxx-XXXX_XXXX_XXXX_XXXX:硬盘id
2.6 使用PVE直通需要了解的几件事(无关技术),链接
2.7 PVE开启显卡虚拟化 Intel GVT-G,链接
2.7.1 开启iommu和GVT-g支持
#开启iommu和gvt内核 #编辑grub vi /etc/default/grub 在里面找到:GRUB_CMDLINE_LINUX_DEFAULT="quiet" 然后修改为: GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1" #update grub update-grub
2.7.2 加载直通内核模块
echo vfio >> /etc/modules
echo vfio_iommu_type1 >> /etc/modules
echo vfio_pci >> /etc/modules
echo vfio_virqfd >> /etc/modules
echo kvmgt >> /etc/modules
update-initramfs -u
2.7.3 重启
2.7.4 验证是否开启GVT
ls /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/ #自觉将00:02换成自己的。
#出现下面4个选项或者类似的即成功。
i915-GVTg_V5_1 i915-GVTg_V5_2 i915-GVTg_V5_4 i915-GVTg_V5_8
2.8 PVE下解决DSM7人脸识别问题(需先开启显卡虚拟化),链接
2.8.1 创建虚拟机
2.8.2 手动创建mdev(uuid可自行替换)
echo 604e42e4-2e90-11ec-8861-037c58d42915 > /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_2/create
2.8.3 查看是否创建成功
ls /sys/bus/mdev/devices/
2.8.4 修改虚拟机配置文件
vi /etc/pve/qemu-server/104.conf (104自行替换为对应虚拟机编号) 添加字段(注意修改vbios路径): args: -device vfio-pci,sysfsdev=/sys/bus/mdev/devices/604e42e4-2e90-11ec-8861-037c58d42915,romfile=/root/i915ovmf.rom,addr=02.0,x-igd-opregion=on,driver=vfio-pci-nohotplug
vbios下载地址: 链接: https://pan.baidu.com/s/1d8TD3ENvJcEpLNceoyzdbw 提取码: aszm
如果使用seabios,可以去掉args中romfile字段(未经严格测试)
2.8.5 手动创建的mdev重启就没了,需要配置开机自启
1. vi /etc/systemd/system/rc-local.service 内容如下: [Unit] Description=/etc/rc.local ConditionPathExists=/etc/rc.local
[Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target
2. vi /etc/rc.local
加入之前的创建mdev命令
echo 604e42e4-2e90-11ec-8861-037c58d42915 > /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_2/create
注意修改uuid和i915-GVTg_V5_2字段为个人所使用的
3、赋予权限并开启服务
chmod +x /etc/rc.local
systemctl enable rc-local
systemctl start rc-local.service
2.9 PVE修改为国内源,链接
3.0 PVE显示硬件温度,链接
3.1 解决群晖Video Station “该视频不支持该格式” 的问题,链接