折腾NAS笔记

0x00 需求

  • 存储正经电影
  • 存储相机的RAW底图
  • 存储一些游戏和不太好找的软件
  • 可能会折腾一下docker之类的
  • 以上需要远程访问,其他环境也能访问

因为用的Office 365,PC上办公文件和相册的备份也还够用,所以NAS上暂时没有备份同步的需求。

所以综上,在没有all in one需求的情况下,这台NAS的存储稳定性会比其他更重要一些。

0x01设备

设备直接在淘宝上买的星际蜗牛A款整机,4个3.5HDD,机箱支撑架上可以绑1个2.5的SSD,CPU N5095,内存单通道8G DDR4,还有一个空余内存插槽,板载1个SATA控制器,1个SATA口,1个M2口,1个M2WIFI口,板载M2口使用2280尺寸的扩展卡扩展出5个SATA,1个Intel 千兆网卡,2个USB 3.0,2个USB 2.0,支持VGA和HDMI输出,主板是DC供电,12V10A,120W。

硬盘这里在淘宝上买的希捷 ST4000VX000-2AG166 4T监控盘,共4块,是清零盘,店家反应通电时间是几千小时,这个咱也没法验证,只能赌一波了。

买回来用diskgenius跑了一下几块硬盘,盘片质量还行,二手盘主要问题在磁头上,这个也没法验证,听着也没有什么异响,噪音比较小,放在机箱里基本听不到什么声音。

每块硬盘的功耗大概在3~5W,CPU TDP 15W,整机满负荷功耗下来应该不超过50W。

0x02系统

系统这里选的是黑裙,设备对应918+,最开始折腾的是6.2.3,后来升级不小心弄到7.2beta版,最后降级到7.1。

0x03系统安装

因为是买的整机,店家送了个6.2.3的引导优盘,安装及其傻瓜,因为群晖的系统是分布在每一块硬盘上的,所以群晖其实是没有系统盘这个说法的。

需要自编译引导的可以看大佬的文章【授人鱼不如授人以渔】史上最简单的黑群晖DSM7.X引导编译方法,小学生都能操作!(黑群晖DSM7.X引导用arpl编译教程) – GXNAS博客

确定要用的几个硬盘里没有数据,也没有分区,全部是RAW状态。

关机断电情况下,引导优盘插到主板的USB口,硬盘只插1块,前端面板USB插上键盘,HDMI接一个输出的显示器,通电,开机。

过了BIOS检查后直接进入引导,没有要点的的地方,全部是自动的😂,等到引导在屏幕上不动进入命令行一闪一闪的时候,在同一局域网环境下打开另一台电脑,安装Synology Assistance,搜索设备,这时候应该是能搜到设备,状态是DSM未安装。

双击DSM未安装,需要系统安装文件,后缀名pat。这里系统店家也有提供,也可以去群晖官网下对应设备型号的系统,这里选择是的DS918+,6.2.3版本的pat,然后就是等待安装。

安装完以后有个10分钟左右的倒计时,等到6分钟左右刷新一下网页,看能不能进到登录界面,也可以在倒计时的时候用Synology Assistance一直搜索设备,等到搜出来设备,状态变成已就绪的时候就可以双击进入群晖的网页登陆界面了。

进入系统桌面以后,插入剩下的3块硬盘,打开群晖的存储管理,在HDD/SDD里面发现4块硬盘都已经全部识别到了以后就可以新建存储池了。

在存储管理器-总览里面看到硬盘信息可能会顺序不对,或者少几个硬盘,这个没有关系,因为群晖系统默认的只有前面的几个盘位,这个和你选择安装的系统引导和设备型号有关。

存储池可以使用群晖官网的raid计算器来进行计算,我选的raid 5,组完存储池后,4块4T的硬盘实际存储空间是10.1T。

新建完存储池后会有一个持续几个小时的数据校验,等着就行了,校验期间也可以正常使用读写数据。

0x04系统洗白

洗白码其实就是算号器出来的SN和MAC,这个已经硬破了,但是会不会被封号取决于群晖的库里面有没有这个对应的SN和MAC,如果库里没有,那就有大概率被封。

洗白主要是为了在没有公网环境的情况下,可以使用群晖的quickconnect连接到NAS上,DSM7.0以后的部分套件也需要洗白才能使用,比如photo里面的人脸识别,videostation的HEVC插件等。如果没这几个需求,也可以不洗白。

洗白可以参考大佬文章黑群晖不关机快速修改SN/MAC的方法 – GXNAS博客

算号可以参考已完全破译SN,发布算号器 | OPENOS-服务器-路由器-黑群晖-NAS-网络存储-虚拟化

可以去淘宝上买洗白码,也可以自己算。

0x05系统升级

此处升级参考的大佬文章黑群晖升级DSM7的教程(黑群晖DS918-6.23升级到DS918-7.01保姆级教程) – GXNAS博客

结果安装的时候arpl编译的是7.1.1的版本,我安装的系统版本是7.2beta版,正常来说7.x后的arpl是可以在编译引导的过程中识别出来对应的硬盘的,结果不知道哪里的的问题,不管我怎么改引导里的grub.cfg还是user-config.yml里面的DiskIdxMap、SataPortMap、SasIdxMap,总是会有1个硬盘位置识别不出来,最后没办法一块硬盘一块硬盘的试,因为组的是raid 5,所以只要前3块盘能读出来就能先把数据备份了。

备份完成后把4块硬盘删除所有数据和分区,删除引导文件中的DiskIdxMap、SataPortMap、SasIdxMap参数,4块硬盘插进机器重新进入arpl编译引导安装7.1.1 update4的系统即可。

0x06互联网访问

没有公网环境的情况下,最简单的方法是用群晖自带的quickconnect,这个需要洗白,优点是相对稳定,不调环境上手简单,缺点速度慢,上传下载只有一两百k,很多套件不能在quickconnect下打开。

自己采用的是IPV6 DDNS+端口映射的方式实现互联网访问,但是缺点是如果访问的时候网络不支持IPV6就没办法访问,比如家里NAS是IPV6,但是公司网络是IPV4,这种时候就只能要么VPN要么代理,不然也访问不了。

IPV6 DDNS+端口映射方法:

第一步:光猫拨号的时候模式选成NATIVE,保证局域网里每个设备都能拿到独立的公网IPV6地址。

第二部:买个DDNS解析服务,因为域名一直在腾讯买,所以买了个DNSPOD的解析,在DNSPOD的管理界面申请一个API ,申请结束会给你一个ID和KEY,这个API相当于任意人只要拿到ID和KEY,就可以对你的DNSPOD解析记录进行更改,所以千万不要泄露。

第三步:群晖安装DDNSGO套件,添加解析,选择DNSPOD,输入你的ID和KEY,然后右侧日志开始刷新,等到提示正常添加了你现在的IPV6地址到DDNS解析记录后即可(也可以到DNSPOD控制台去查看有没有正常添加解析)。

第四步:进入光猫设置,打开端口转发,选择IPV6端口转发,添加NAS的IPV6,将web访问DSM的端口5000(http)和5001(https)进行转发,协议选择TCP/UDP。

第五步:等待5到10分钟左右,打开浏览器,输入域名+端口,比如xxx.sds.xyz:5000测试访问,局域网范围内如果能正常访问,使用手机流量再测试一下是否能正常访问。

0x07Jellyfin硬解码

经测试,在N5095的情况下,RR 23.10.X系列的引导都无法硬解,需要使用24.1.X之后的RR引导,配合使用SA6400的固件,再使用套件版的Jellyfin(10.8.12版本)或者nyanmisaka版本的docker版jellyfin(10.8.13版本)都可以,在Jellyfin控制台内打开硬件加速QSV,启用硬件解码即可。

0x08挂载云盘到Jellyfin的媒体库

此部分需要使用套件版Alist和套件版的CloudDrive2,逻辑是先将网盘挂载到Alist,再使用CloudDrive2将Alist用webdav的方式挂载到群晖的文件管理中心,最后在Jellyfin中添加本地挂载点作为媒体库文件。

首先安装套件版的Alist,默认端口5244,在Alist的存储菜单里添加需要添加的网盘,不同网盘添加方式不一样,可以查看Alist的官方文档,其中的挂载路径直接输入/XX即可,比如迅雷网盘在路径那里就写成/xunlei,注意parentID参数,这里表示根目录的ID,不同网盘的获取方式不一样,建议在网盘内总分的结构单独建立需要挂载的文件夹。例如:

*迅雷网盘

**sharedFiles

***Movie

***TVshow

此时parentID直接填写sharedFiles文件夹的parentID即可,这样后续方便归纳。

然后安装套件版的CloudDrive2,打开后添加需要挂载的类型,选择webdav,地址输入http://127.0.0.1:5244/dav,127.0.0.1:5244表示Alist的地址是主机的5244端口,/dav表示Alist中所有挂载了的网盘,如果在Alist中挂在了多个网盘且都需要挂载到本地直接用/dav即可,如果只需要挂载个别网盘则需要使用/dav/XX,比如http://127.0.0.1:5244/dav/xunlei就表示把Alist中挂载的迅雷网盘挂载到本地,用户名密码输入Alist的账户密码,完成添加,此时在群晖的文件管理器中就会出现对应的本地文件夹。

最后进入Jellyfin的媒体库中添加对应需要的文件夹即可。

设置工具

类型端口号码协议
Synology Assistant9999、9998、9997UDP
备份
类型端口号码协议
Data Replicator、Data Replicator II、
Data Replicator III
9999、9998、9997、137、138、
139、445
TCP
网络备份873(数据)、3260(iSCSI LUN)TCP
加密的网络备份(远程 Time Backup)22TCP
下载
类型端口号码协议
eMule4662(TCP)、4672(UDP)TCP/UDP
BT6890 ~ 6999(用于 DSM 版本早于 v2.0.1-3.0401 的机型);  
16881(用于 DSM 版本 v2.0.1 以上的机型)
TCP/UDP
网页应用程序
类型端口号码协议
DSM5000(HTTP)、5001(HTTPS)TCP
Download Station5000TCP
Photo Station、Web Station80(可添加另外的端口)、443(HTTPS)TCP
Mail Station80(HTTP)、443(HTTPS)TCP
Audio Station5000(HTTP,可添加另外的端口)、5001(HTTPS,可添加另外的端口)、5353(Bonjour 服务)、6001-6010(AirPlay 控制/定时)TCP/UDP
File Station5000(HTTP,可添加另外的端口)、5001(HTTPS,可添加另外的端口)TCP
Surveillance Station9900(HTTP)、9901(HTTPS)TCP
媒体服务器1900(UPnP)、50001(内容浏览)、50002(内容串流)TCP/UDP
Video Station5000(HTTP)、5001(HTTPS)、9025-9040、
5002、5004、65001(使用 HDHomeRun 网络调谐器的情况下)
TCP
邮件服务器
类型端口号码协议
SMTP25TCP
POP3110TCP
IMAP143TCP
IMAP 含 SSL/TLS993TCP
POP3 含 SSL/TLS995TCP
文件传输
类型端口号码协议
FTP、FTP 含 SSL、FTP 含 TLS21(命令)、20(主动模式的数据连接)、55536-55663(被动模式的数据连接)TCP
AFP548TCP
CIFSsmbd:139(netbios-ssn)、445(microsoft-ds)
Nmbd:137、138
TCP/UDP
UDP
NFS111、892、2049TCP/UDP
WebDAV、CalDAV5005、5006(HTTPS)TCP
iSCSI3260TCP
TFTP69UDP
套件
类型端口号码协议
Cloud Station6690TCP
VPN Server(OpenVPN)1194UDP
VPN Server(PPTP)1723TCP
Syslog Server514(可添加另外的端口)TCP/UDP
iTunes Server3689TCP
Directory Server389(LDAP)、636(LDAP 含 SSL)TCP
DHCP Server67、68UDP
行动应用程序
类型端口号码协议
DS photo+80、443(HTTPS)TCP
DS audio5000、5001(HTTPS)TCP
DS cam5000TCP
DS fileAndroid/iOS 设备:5005、5006(HTTPS)
Windows Phone:5000
TCP
DS finder5000(HTTP)、5001(HTTPS)TCP
DS video5000(HTTP)、5001(HTTPS)TCP
DS download5000(HTTP)、5001(HTTPS)TCP
DS cloud6690TCP
打印机、UPS和外围设备
类型端口号码协议
LPR515UDP
网络打印机(IPP)/CUPS631TCP
Bonjour5353UDP
网络 MFP3240-3259TCP
UPS3493TCP
系统
类型端口号码协议
SSH/SFTP22TCP
Telnet23TCP
资源监视器/SNMP161TCP/UDP
MySQL3306TCP
LDAP389、636(SLAPD)TCP

0x09一些可能遇到的问题

黑群晖安装和使用的常见问题及解决办法(累计116个) (yinxiang.com)

0x010学习网站

  ①.https://wp.gxnas.com/  

  ②.https://imnks.com/

  ③.黑群晖学习教程网站(什么值得买)

0x11一些后续遇到的问题

Q:最近突然很多官方套件在更新后无法正常启动,日志中心没有具体的错误信息,套件可以正常下载和安装,但是无法启动。

A:查看日志中心,发现是在使用了ame72-3005.py半洗白脚本之后,所有官方套件均无法在关闭后正常启动,查看py文件后认为可能是关闭了apparmor的保护导致的官方package无法正常写入profile导致的。

sudo /usr/syno/etc/rc.sysv/apparmor.sh status
##查看apparmor的状态,发现没有载入任何profile
sudo /usr/syno/etc/rc.sysv/apparmor.sh restart
#重启apparmor,发现已经重新载入部分官方套件的profile

重启apparmor后回到套件中心,重新安装或者修复异常的套件,问题解决。


Q:使用RR的引导编译启动后synology assistant无法搜索到设备,路由器中显示握手只有10M。

A:编译启动后在NAS上重新拔插网线。