折腾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 Assistant 9999、9998、9997 UDP

备份

类型 端口号码 协议
Data Replicator、Data Replicator II、
Data Replicator III
9999、9998、9997、137、138、
139、445
TCP
网络备份 873(数据)、3260(iSCSI LUN) TCP
加密的网络备份(远程 Time Backup) 22 TCP

下载

类型 端口号码 协议
eMule 4662(TCP)、4672(UDP) TCP/UDP
BT 6890 ~ 6999(用于 DSM 版本早于 v2.0.1-3.0401 的机型);  
16881(用于 DSM 版本 v2.0.1 以上的机型)
TCP/UDP

网页应用程序

类型 端口号码 协议
DSM 5000(HTTP)、5001(HTTPS) TCP
Download Station 5000 TCP
Photo Station、Web Station 80(可添加另外的端口)、443(HTTPS) TCP
Mail Station 80(HTTP)、443(HTTPS) TCP
Audio Station 5000(HTTP,可添加另外的端口)、5001(HTTPS,可添加另外的端口)、5353(Bonjour 服务)、6001-6010(AirPlay 控制/定时) TCP/UDP
File Station 5000(HTTP,可添加另外的端口)、5001(HTTPS,可添加另外的端口) TCP
Surveillance Station 9900(HTTP)、9901(HTTPS) TCP
媒体服务器 1900(UPnP)、50001(内容浏览)、50002(内容串流) TCP/UDP
Video Station 5000(HTTP)、5001(HTTPS)、9025-9040、
5002、5004、65001(使用 HDHomeRun 网络调谐器的情况下)
TCP

邮件服务器

类型 端口号码 协议
SMTP 25 TCP
POP3 110 TCP
IMAP 143 TCP
IMAP 含 SSL/TLS 993 TCP
POP3 含 SSL/TLS 995 TCP

文件传输

类型 端口号码 协议
FTP、FTP 含 SSL、FTP 含 TLS 21(命令)、20(主动模式的数据连接)、55536-55663(被动模式的数据连接) TCP
AFP 548 TCP
CIFS smbd:139(netbios-ssn)、445(microsoft-ds)
Nmbd:137、138
TCP/UDP
UDP
NFS 111、892、2049 TCP/UDP
WebDAV、CalDAV 5005、5006(HTTPS) TCP
iSCSI 3260 TCP
TFTP 69 UDP

套件

类型 端口号码 协议
Cloud Station 6690 TCP
VPN Server(OpenVPN) 1194 UDP
VPN Server(PPTP) 1723 TCP
Syslog Server 514(可添加另外的端口) TCP/UDP
iTunes Server 3689 TCP
Directory Server 389(LDAP)、636(LDAP 含 SSL) TCP
DHCP Server 67、68 UDP

行动应用程序

类型 端口号码 协议
DS photo+ 80、443(HTTPS) TCP
DS audio 5000、5001(HTTPS) TCP
DS cam 5000 TCP
DS file Android/iOS 设备:5005、5006(HTTPS)
Windows Phone:5000
TCP
DS finder 5000(HTTP)、5001(HTTPS) TCP
DS video 5000(HTTP)、5001(HTTPS) TCP
DS download 5000(HTTP)、5001(HTTPS) TCP
DS cloud 6690 TCP

打印机、UPS和外围设备

类型 端口号码 协议
LPR 515 UDP
网络打印机(IPP)/CUPS 631 TCP
Bonjour 5353 UDP
网络 MFP 3240-3259 TCP
UPS 3493 TCP

系统

类型 端口号码 协议
SSH/SFTP 22 TCP
Telnet 23 TCP
资源监视器/SNMP 161 TCP/UDP
MySQL 3306 TCP
LDAP 389、636(SLAPD) TCP

0x09一些可能遇到的问题

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

0x10学习网站

  ①.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上重新拔插网线。

折腾NAS笔记
https://blog.async.website/index.php/archives/3168/
本文作者 snowysong@live.com
发布时间 2023-03-31
许可协议 CC BY-NC-SA 4.0
发表新评论