铁威马F4-423 unraid折腾记录——从白群转unraid虚拟黑群
0 前言
在正片开始前,先惊叹一下群晖的保值程度,2年半前1780亚马逊海淘的ds220+,前两天小黄鱼1450秒出(不愧是买软件送硬件)
我每个月会有几天有住在单位宿舍的需求,原本的ds220+也正是我放在宿舍的那一台,但现在2盘位+j4025实在是不够用了,再加上群晖捉急的硬盘休眠(这也是换unraid系统的主要原因),促使我有了这次换机的经历。
也正是因为需要放在卧室,所以这次的换机需求定在了至少4个sata盘位+低功耗小体积+稳定+低噪音,主要考虑成品nas
蹲了几天,1450收了一台4盘位n5095+8g的f4-423,再把原来装的ds220+上的8g内存薅下来,组了个16g双通道,然后就开始折腾系统了(一开始其实是想换f4-424的,但是贵1000块的n95实在是没啥性价比)
别的不说,铁威马这个外观还是不错的,作为一名理工男我觉得这太酷了,很符合我对NAS的想象(何武器)
f4-423 官方外观图1 黑群晖折腾之旅
(这部分没有截图,凑活看吧,重点在后面的unraid)
之前有看过别人分享TOS 5.1使用体验,最近也有TOS 6的测试,但看论坛感觉问题还是挺多的,再加上也确实习惯了群晖的系统,因此铁威马自身的TOS系统我甚至都没有开机体验过,到手开机直接就换了自己的引导u盘
最开始我其实是不打算使用unraid/pve/exsi这些虚拟机系统的,因此直接用rr的镜像做了一个引导u盘,型号选SA6400(唯一的linux 5.1x底层的群晖,可以驱动10代以上的核显),系统7.2,设置好半白码(这里感谢tank陈分享的公开半白码,TANK电玩 公开群晖半洗白码 - Tank电玩&米多贝克 (mi-d.cn)),插件中打开codecpatch(无需有效序列号开启转码,不确定在设置了半白码之后是否还有必要),cpuinfo(使控制面板显示正确的 CPU 信息),然后编译引导即可
高级设置里打开直接启动,就不用每次开机都重新编译系统,可以加快开机速度(但依旧很慢)
开机后,我原来ds220+的2块硬盘可以直接识别,因为是白群转黑群,所以没选择保留系统设置,重新设置一下装一下软件就能用了,还是很方便的,实测jellyfin也能调用n5095的核显进行转码。
就这么用了几天,我发现黑群晖最大的一个问题——硬盘休眠(hc550 16t每几秒一声的磁头归位的声音真的是太吵了)
原本的ds220+休眠其实就经常唤醒,但我没想到换成黑群晖之后是完全不进入休眠状态了
我尝试过的解决方法有:
(1)使用mdadm将hc550脱离系统分区和swap分区的raid 0
(2)使用hdparm设置自动休眠
但很显然,我没能解决这个问题,也因此才有了本文最重要的部分——unraid
2 转向unraid+虚拟群晖
对于unraid系统,另一台放在家里的自组nas其实有考虑过,但那台最终选择使用windows系统来做nas(其实挺好用的)
这次选择unraid主要有2个原因
(1)不使用raid阵列,很方便增减盘以及硬盘休眠(划重点)
(2)自带docker和vms
对于unraid系统的安装网上相关的教程已经很多了,因此本文就不再赘述,主要围绕unraid中的磁盘阵列(Array),虚拟机(尤其是硬件直通),docker分享一下我的做法
注意到铁威马f4-423的4盘位来源其实是不一样的,2个(sata1-2)是芯片组原生sata,2个(sata3-4)是由asm1061提供的。(图中写的m.2是pcie 3.0x2,问客服是x1,网上也查不到相关资料)
因此可以选择向黑群晖直通sata控制器而不是直通硬盘(关于直通控制器/直通硬盘/虚拟硬盘的区别,请自行了解),之前在网上冲浪的时候看到过别的机子,出现过直通芯片组控制器正常运行,直通asm1061出问题的情况(我没有验证f4-423中是否存在),多一事不如少一事,后面我将芯片组的sata控制器直通给了黑群晖,而asm1061的2个sata用于创建unraid中的阵列
铁威马f4-423通道分配(来源:BV1fw411L7ac)2.1 磁盘阵列
UNRAID 做法是将所有硬盘合成一个大硬盘。而 UNRAID 保存的数据,默认状态下,是按照文件级别的粒度自动分配到阵列的不同硬盘里(一个文件的全部内容,只会存储在其中某一块盘中)。好处是单盘独立,数据盘拔出来可以直接插到其他电脑上进行存取。多盘使用时,对盘的大小无限制,可以混用各种容量的数据盘。数据盘无容量损失,Array 总大小就是所有数据盘大小总和。

注意到,这里我没有设置校验盘和缓存盘,因为我计划在m.2硬盘中存放系统文件,而hc550这块机械硬盘里存放的大多是影视资源,属实也没有备份和加速的必要。
启动阵列后,将appdata、domain、isos、system文件夹均设置为包含disk1,排除disk2(即系统、虚拟机、docker等文件存放在m.2固态硬盘中)

这里还有到了一个坑,最开始创建完阵列后,因为硬盘容量的不同,这几个文件夹会被默认创建于disk2(机械硬盘)上,此时我又去设置docker了,导致docker.img文件创建到了机械硬盘上,而后面再改这个设置是不会影响到之前的文件的,因此需要使用unbalanced插件来移动相关文件(注意使用unbalanced的时候要把dry-run(试运行)给去了,一开始没发现还有这个选项,半天都没移动成功hhh
和我一样需要硬盘的休眠的话,需要在设置-磁盘设置中,选择默认休眠延迟,也可以在主界面对每块硬盘单独设置。另外,在设置-磁盘设置中,第一项去启用自动启动如果选是的话,就不用每次重启之后再手动启动阵列了。
2.2 虚拟群晖+硬件直通
对于要直通的硬件,不能在unraid系统中分配(网卡、硬盘等),然后在“工具-系统设备”中找到相应的设备,打勾,绑定vfio并重启(下图是绑定完成后的状态,我将一个网口和一个芯片组sata控制器直通给了黑群晖)

然后创建群晖虚拟机(特别要注意红框内的设置)

最底下选择直通pci设备(如果没有绑定vfio的话,这里是看不到的)

完成创建后,不要立即启动,再次进入编辑页面,切换xml视图,删除默认的虚拟网卡片段(bridge设备)
在之后就和正常安装黑群晖没什么区别了
(我没有将核显给黑群晖,photos中人像和场景识别会用到核显,可以选择ds3617、3622等本身就没有核显的设备用cpu识别,或者是安装时插件额外选择photofacepatch,也可以装好后使用矿神脚本修改photos调用cpu识别)
2.3 docker(jellyfin硬解)
因为unraid自带了docker,因此我将原本在群晖docker中的任务迁移到了unraid上,特别要说明的是jellyfin如何调用核显硬解。
首先在应用中安装Intel-GPU-TOP(显卡驱动)、GPU Statistics(仪表盘中显示gpu信息,非必须)
对于n5095来说,还需要在/boot/config/modprobe.d/i915.conf中添加options i915 enable_guc=2,然后保存并重启
之后在docker中安装n大的jellyfin(nyanmisaka/jellyfin),配置好端口和路径映射,并添加设备/dev/dri/(如下图),然后启动

之后在控制台-播放中,设置硬件加速为qsv,下面不勾选av1和启用 VPP 色调映射(n5095不支持)

然后就能顺利转码了
3结语
折腾了一天总算是把unraid相关配置摸索了一个大概,虚拟群晖和jellyfin硬解也都设置好了,机械硬盘在不用的时候也能顺利休眠,再也没有噪音困扰了

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

七尺大汉
我的423就单独装了一个黑群晖,因为本来就需求docker和下载服务,所以也不强求休眠了。
目前主要当个影音服务器,然后重要资源多端备份,而且,我是个raid0战士!
校验提示文案
RoyceX
校验提示文案
墨锋
校验提示文案
RoyceX
校验提示文案
七尺大汉
我的423就单独装了一个黑群晖,因为本来就需求docker和下载服务,所以也不强求休眠了。
目前主要当个影音服务器,然后重要资源多端备份,而且,我是个raid0战士!
校验提示文案
墨锋
校验提示文案