45558744 Posted November 19, 2021 Posted November 19, 2021 玩unraid三个月,大小坑都趟过来了,在这里做个记录,可以供以后自己查阅(记性不好),或者给其他新手盆友借鉴。 有的问题解决了,但也许有运气成分,或者说我并没有弄清楚原理,有的问题到现在也没解决,依然列出来,如果你恰巧明白,请指教。 不探讨出国留学,不探讨国内镜像服务器,默认你可以流畅访问下载unraid应用,再来玩unraid。 我也是小白,也许我的解决方法是退了裤子放屁,那么有请高手给出高效解决方法,我会更正本文。 1、u盘启动,GUI模式无法显示 1】症状: 制作unraid启动U盘时,勾选“allow UEFI boot”选项: unraid启动时,选第一项启动,一切正常,代码结尾是获得IP地址。选择倒数第二项GUI模式,外接显示器的代码跑完,unraid外接的显示器,屏幕变黑,不再有任何代码显示,gui模式无法显示无法使用。 制作unraid启动U盘时,不勾选“allow UEFI boot”,此时u盘系统是legacy模式启动,选gui模式,外接显示器可以显示,可以进入GUI图形界面。 解决办法:在go文件中加入“modprobe i915”命令,这样修改后,是可以进入GUI模式的。请专家分析原因。 2】解决办法: 操作方法一: 点击unraid界面右上角“>_”进入终端,即命令行 输入:modprobe i915 回车,注意中间空格,这一步是运行集成显卡驱动。 输入:ls /dev/dri 回车 打开,下面如果有renderD128文件,那么证明显卡驱动正常了,下一步要修改go文件,让机器每次启动时都启动这个驱动程序。 输入:cd /boot/config 回车 输入:vi go 按键盘i键,回车,就可以输入了,输入:modprobe i915 按esc键,输入:(冒号):wq 完成go文件修改。 操作方法二: 在应用中,搜索config file editor 安装,安装好后,他会出现在工具页面第一项 然后在第一横线处选择:/boot/cofing/go 就可以在下面对话框里编辑go文件,加上modprobe i915 这一行 按应用,完成。 2、多网口问题 1】症状 多网口主机启动时,不知道网线该插哪一个网线口 2】解决办法: 固定一个网口为unraid管理网口。 unraid默认eth0是系统管理口,但是系统会把哪个物理网口定义为eth0,不设置,他就乱来。 点击unraid界面右上角“>_”进入终端,即命令行 输入:nano /boot/config/network-rules.cfg 就会看到机器所有的网卡信息,这时候,你想把哪个物理网卡指定为管理口,就在他后面把他的编号改成eth0,相应的,哪个原来是eth0.那你就把他的换成其他的。网卡编号是从0开始的,eth0、eth1、……最好是按顺序指定,不要让数字断开。 按ctrl+x 退出 输入 y保存,输入reboot回车,系统重启,配置生效。 那你要怎么确定你机器网卡的mac,来识别他,给他冠名eth0呢?好问题。 你可以在unraid的设置-网络设置里看到,一般主板一个或者两个网卡,你可以知道他们的硬件名称,他们的硬件名称不一样,你可以分别记住他们的硬件名称对应的mac地址,然后在上面的修改里找出你要指定的那个。如果是pcie扩展多网口,那更好分辨,如果你扩展了四个,你会发现有四个的名字或者编号是有顺序规律的,一般都会用主板的网口指定管理口,那么这四个名字差不多的就确定不是你要用的,剩下的不一样的,那一定就是主板自带的网口,把他改成eth0就可以了。 3、jellyfin使用因特尔核心显卡实现硬解码、转码 jellyfin是可以硬解码的,百分百可以,前提是你要有英特尔的核心显卡,这里不探讨amd核显和独立显卡。 解决办法: 第一步,添加核心显卡驱动,如果你遇到过我列的第一个问题,u盘启动,GUI模式无法显示,恭喜你你可以跳过了,和那个解决办法一样。 操作方法一: 点击unraid界面右上角“>_”进入终端,即命令行 输入:modprobe i915 回车,注意中间空格,这一步是运行集成显卡驱动。 输入:ls /dev/dri 回车 打开,下面如果有renderD128文件,那么证明显卡驱动正常了,下一步要修改go文件,让机器每次启动时都启动这个驱动程序。 输入:cd /boot/config 回车 输入:vi go 按键盘i键,回车,就可以输入了,输入:modprobe i915 按esc键,输入:(冒号):wq 完成go文件修改。 操作方法二: 在应用中,搜索config file editor 安装,安装好后,他会出现在工具页面第一项 然后在第一横线处选择:/boot/cofing/go 就可以在下面对话框里编辑go文件,加上modprobe i915 这一行 按应用,完成。 第二步,依次: web UI-------三-------控制台------播放------硬件加速选video acceleration API VA API设备选 /dev/dri/renderD128 保存退出。 如果不成功,请检查每个步骤,确定可以硬解,可以转码,不用怀疑! 4、硬件直通 所谓硬件直通,标准叫法是直连,就是把这个设备不通过unraid,直接分配给虚拟机使用了。一般来说,在虚拟机里有host选项,就说明该设备可以直通的(直连的);还有更极致的做法,就是直接在unraid系统里把这个设备禁用,即启动时就屏蔽他,unraid无法调用,直接给虚拟机直通。 可以直通的设备是网口(多于一个,给unraid留下物理管理口)、硬盘、独立显卡、wifi。 硬件直通可以提高数据传输速度,提高硬件运行效率,但是除了网口,其他一定要慎重。 以我的机器为例,主板有2个网口,还用pcie扩展了4个网口,我就把主板的一个网口留给unraid,其他五个全部在选择启动屏蔽:主板另一个直通给win10虚拟机,pcie扩展的四个直通给软路由。主板有2个m2硬盘接口,一个给unraid做缓存池,另一个在启动里屏蔽,我在bios里设置从这个硬盘启动,就可以给机器装win10,做到不用unraid时候,可以当win10主机使用,这样也不会在unraid里看到未挂载的m2,不会误操作把他删除格式化。 操作方法: 工具----系统设备,把想屏蔽的设备打勾,然后点下面的:在引导时对VFIO选择了绑定 *⚠️注意 如果设置了VFIO绑定,更换硬件的时候,一定要先把绑定取消。比如你要更换主板,就一定要把屏蔽的主板设备解除绑定,否则,换了主板会出现,原来直通旧主板硬件的虚拟机无法正常启动,还需要进命令行模式更改硬件绑定,这个太麻烦了,所以更换硬件,用unraid启动盘启动别的设备,那么最好先解除硬件屏蔽,一个启动盘插好几个机器,不建议屏蔽硬件,容易导致错误。 如果更改了设备,启动变慢,或者卡在某处,基本就是硬件配置表的问题,可以去u盘里把config文件删了,让系统重新生成硬件表,我删了,但是他好像没有重建,但是系统也正常启动了,好怪,不懂为什么。 5、win10虚拟机外接显示器无显示(机器配置仅有核显,无独立显卡) 重点一: 安装win10虚拟机,设置参数其实都无所谓,关键一点,你要选择显卡:vnc,可以确保你安装并且进入win10设置。 重点二: 在vnc里安装好win10,进去后设置好win10系用的主机名字,开启远程桌面功能,用你连着unraid的win10电脑,连一下win10虚拟机远程桌面(输入虚拟机win10机器名字就好),确保能连上后,关闭win10虚拟机 重点三: 编辑win10虚拟机配置,显卡直接选hd630,没必要设置为第二显卡。(留不留vnc无所谓,如你只有核显,win10虚拟机启动时调用唯一核显后,vnc就没有显卡可用,vnc就一定不能用了,除非你用独立显卡给win10,vnc用核显,然而这不是我们探讨的,因为我们说的是核显),给hd630指定bios com驱动vbios_gvt_uefi.com(里面有三个文件,hd630用我说的这个,hd600、610试试其他两个 下载链接:https://pan.baidu.com/s/1GS77Qt2NuTmDTrS6dSoNnQ 提取码:3f6c )把这个驱动下了,上传到unraid的isos文件夹,驱动那一栏点开如果自己跳不出来/mnt/user/isos/vbios_gvt_uefi.com,就手动把/mnt/user/isos/vbios_gvt_uefi.com这个路径复制粘贴进去,更新配后,重启win10虚拟机 第四步: 这时候win10虚拟机外接显示器应该还是没有显示,但是你的win10已经启动了,只是你看不见他。用你连着unraid的win10电脑,链接win10虚拟机,只要输入正确的虚拟机win10电脑名字,就可以链接。 第五步: 在进入远程桌面后,点击我的电脑-管理-设备管理-更新显卡驱动-自动搜索驱动,等一会儿,你就发现,你的设备管理器里,显示器变成hd600或者hd610、630,然后你的unraid显示器也出现了win10的桌面,你退出远程桌面,ok! 第六步: 重启win10后如果发现usb鼠标无法显示指针,不要慌,可以再用远程桌面进去,懒的话就用驱动精灵扫一遍,装好所有建议安装或者升级的驱动,最主要是把intel官网的核显驱动装好。再重启,鼠标指针还有其他毛病就全没有了。 特别注意: 如果主板上集成多个hdmi、pd等视频输出口,win10虚拟机启动后不一定会输出到那个端口,你最好挨个试试有没有信号!这个我也没搞懂,有些时候全有信号,有些时候某一个有。 6、mini dlna的使用 minidlna是一个局域网流媒体广播,可以方便的把你的多媒体资源,比如音乐、电影,广播到局域网,你的sony电视、bose音响等,有多媒体服务器应用的设备,即支持dlna的播放器,就可以直接访问unraid指定文件夹,直接播放音视频。现在的电视处理器配置都很高,都可以直接硬解码,并不一定需要jellyfin等docker来解码。反而minidlna体量轻,不占用资源,是个不错的流媒体实现方式。 先说必须设置: minidlna的网络类型,说明里写必须使用host,即直连模式,但我试了,无法被电视机等设备发现,我的必须使用custom br0,也就是你要给minidlna分配一个局域网地址,比如192.168.1.11,这样才可以被电视机发现,至于原因,我还不清楚。你可以先试host,无法发现,就用custom br0。 接着说说minidlna运维大神的傲慢(也许我们中国人还是没啥存在感吧) unraid应用库里的minidlna有2个神一样bug,也不能说bug吧,linux专家或者外语好的同学可以无视,小白会踩的坑! 1】minidlna默认可以扫描的媒体文件夹名字必须是media(必须小写)路径必须是/mnt/user/media/ 如果你想把minidlna的媒体文件夹指定到:download、movie、music……等等这些,那么恭喜你,minidlna只在安装时扫描一次该文件夹,以后你更新电影、音乐,他是不会看到的,他就只显示第一次安装时的文件夹内容(删了还显示,删了就出错),这也是困扰我三个星期的问题,我就奇了怪,我给他指定了music、movie、image,他就是不刷新,后来看了维护网页才知道,原来默认只扫描media文件夹,这个bug有点傲慢了,明明是改一下就可以,可惜我们这些凡人不掌握核心技术,运维的大神傲慢之极! 2】还有一个bug也是运维大神的傲慢与无知吧,他是个外国人,所以就把汉字的编码库简化了,只支持UTF-8编码,所以你的mp3会是乱码,解决办法是用mp3tag把歌曲识别信息批量转码,转成utf-8就可以了,这也是个好习惯,网上下的mp3,乱七八载的编码,乱七八糟的个信息,每次下了,把编码信息改好他,这样存档就方便了很多。 接下来会更新的内容: 7、软路由的逻辑 8、cpu没有硬盘费电 9、机箱烧钱 10、缓存池无意义 11、 2 2 Quote
HikariYoshioka Posted November 23, 2021 Posted November 23, 2021 写的漂亮,感谢楼主的总结,三更半夜能搜到这样的帖子真是太幸运了 Quote
CentWind Posted November 24, 2021 Posted November 24, 2021 可以使用插件INTEL GPU TOP,这样就不需要编辑go文件了。 关于核显直通、核显虚拟化,我推荐这篇:IGPU的显卡虚拟化这次真的来了--基于unraid Quote
CentWind Posted November 24, 2021 Posted November 24, 2021 另,缓存池是有意义的,比如你BT下载直接往阵列里下,会触发校验,卡的要死。 当然,这个缓存池的逻辑也很蠢,缓存池写满了,竟然不会自动往阵列里写。。。。 Quote
funnyhaah Posted November 24, 2021 Posted November 24, 2021 On 11/20/2021 at 1:09 AM, 45558744 said: 10、缓存池无意义 我很好奇这个是什么意思 Quote
lyqalex Posted November 24, 2021 Posted November 24, 2021 5 hours ago, CentWind said: 另,缓存池是有意义的,比如你BT下载直接往阵列里下,会触发校验,卡的要死。 当然,这个缓存池的逻辑也很蠢,缓存池写满了,竟然不会自动往阵列里写。。。。 缓存池到阵列的搬运是需要mover工作,可以设置mover的计划周期短些,如每小时1次搬运或者更短(通过Mover Tuning)。另外可以采用机械硬盘作为cache盘,满足大数据临时存放需求。 Quote
CentWind Posted November 24, 2021 Posted November 24, 2021 24 minutes ago, lyqalex said: 缓存池到阵列的搬运是需要mover工作,可以设置mover的计划周期短些,如每小时1次搬运或者更短(通过Mover Tuning)。另外可以采用机械硬盘作为cache盘,满足大数据临时存放需求。 是的,我也是上次真的偶然遇到了写着写着发现没空间了才发现这个问题。 我也想用机械盘做cache,主要是现在环境以及设备的限制,盘位用满了,只能先将就用着。等明年换24盘机箱就好了。 Quote
JavyLiu Posted November 26, 2021 Posted November 26, 2021 On 11/24/2021 at 4:43 PM, CentWind said: 另,缓存池是有意义的,比如你BT下载直接往阵列里下,会触发校验,卡的要死。 当然,这个缓存池的逻辑也很蠢,缓存池写满了,竟然不会自动往阵列里写。。。。 缓存选项设置为“首选”,就会优先写入缓存了,缓存满了再写入阵列。当然这并不是默认值,是有其他方面的考量的。 Quote
CentWind Posted November 26, 2021 Posted November 26, 2021 2 hours ago, JavyLiu said: 缓存选项设置为“首选”,就会优先写入缓存了,缓存满了再写入阵列。当然这并不是默认值,是有其他方面的考量的。 首选缓存会造成持续将缓存占满。即便从缓存移出,后续还会继续把阵列里的往缓存搬。这个只适合类似appdata、domain这样的文件夹。 我说的是选择“是”的时候,比如你的缓存池500G,阵列2T,你没办法直接移动600G文件进去,因为它会先往缓存里写。系统判断的是600>500,而不是600<2000。 那比如说我如果移动499G进去,好了,这样是正常了。但是移动过程中缓存池的占用是慢慢上来的。如果我这个时候在BT下载呢,下载在缓存池里,比如下了5G。总量是499+5>500。但实际上下那个5G的时候,缓存池并没有被写满(尤其是类似qb不预分配空间),所以5G资源被判断允许写入。 这时候就会造成499G的文件复制到最后把缓存池占满了,占满了它就卡死了,不会往阵列里写。 其实我就是想要个功能,比如占用到95%的时候,立马出发mover,省的我手动点,或者到时触发。 它要是能做到群晖那种缓存我更乐意,但逻辑就完全不同了。 1 Quote
lyqalex Posted November 26, 2021 Posted November 26, 2021 你可以试试安装Mover Tuning插件,现在版本已经具备你所说的功能,自己调一下设置。 Quote
CentWind Posted November 27, 2021 Posted November 27, 2021 20 hours ago, lyqalex said: 你可以试试安装Mover Tuning插件,现在版本已经具备你所说的功能,自己调一下设置。 是说高于某个数值就自动触发mover么? 我没找到啊,貌似只有在计划时间的move的规则,比如高于多少才move,高于多少就move all。触发的时间点还是靠计划的时间来? 最近我发现的更新好像就是具体某个共享文件夹可以单独手动move了。 Quote
lyqalex Posted November 27, 2021 Posted November 27, 2021 Cron Schedule to force move all of files 这个可以自定义mover检查的频率。 Only move at this threshold of used cache space 设置阈值后,上面的频率设置频繁检查不满足阈值就不会运行搬运,不影响阵列磁盘的休眠。 其他参数新版自己测试一下。 Quote
nocry2000 Posted May 7, 2023 Posted May 7, 2023 给hd630指定bios com驱动vbios_gvt_uefi.com(里面有三个文件,hd630用我说的这个,hd600、610试试其他两个 下载链接:https://pan.baidu.com/s/1GS77Qt2NuTmDTrS6dSoNnQ 提取码:3f6c )把这个驱动下了,上传到unraid的isos文件夹,驱动那一栏点开如果自己跳不出来/mnt/user/isos/vbios_gvt_uefi.com,就手动把/mnt/user/isos/vbios_gvt_uefi.com这个路径复制粘贴进去,更新配后,重启win10虚拟机 这个特别好,我win11也用这个驱动成功了,12代的u,但是,hdmi的声音没有,我想应该是这个驱动的问题,770的核显,有没有最新的驱动 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.