前言

之前我的NAS用的系统是Unraid,但在外省读书时,Unraid启动盘U盘损坏导致无法开机,好在U盘其中的的配置文件还是可以读取的,在视频电话、父母帮助、远程控制下我终于救回了我的NAS,并且没有数据的损失。
趁着暑假我将NAS的系统从Unraid换成群晖,一开始我使用Unraid的理由很简单,就是群晖的Linux内核版本太低,无法支持N5095等11代CPU的硬解。但随着半年的使用,我发现硬解并不是我的刚需,所以打算换回群晖(在大佬JIM的开发可以使用SA6400的机型实现硬解,相关博客;但我使用的是arpl-i18n的自动引导编译,编译SA6400的机型会导致Kernel崩溃,与作者讨论后无果,于是改用DS920+的机型,因为我之前也说过硬解对我来说不是刚需)
换回群晖的理由还有两点,一点是我的NAS主要是做一个备份服务器,可以同步我设备上的文件就可以了,虽然Unraid可以通过Nextcloud实现,但是Nextcloud一并不是Unraid原生组件,所以没办法把备份的文件在Unraid文件里展示出来(这方面Unraid做的确实不太好),并且我使用Nginx-Proxy-Manager进行反向代理Nextcloud后会有端口丢失的问题,这个我在之前的文章中提到过(已解决)。另一点就是群晖虽然需要一个U盘作为引导,但U盘内的数据只用于引导群晖系统,而群晖的系统是装在硬盘(存储池、缓存池之中的),即使U盘完全损毁也不用担心数据丢失的问题

之后我听取了网友的意见,入手了一块16G的傲腾(其实傲腾更适合做Unraid的启动盘)

部分群晖机型支持M.2固态作为缓存,比如DS920+,DS918+等机械,但是只支持用来用作缓存的作用,不能当做独立的存储空间使用,而DS923+却支持用来当存储空间,看似是一种升级,其实老款机型也可以通过ssh的方式强制将M.2固态用做存储。无论是白群还是黑群都可以使用这种方式。
先简单介绍一下我的硬件,黑群晖刷了DS920的机型、7.2的系统、一块16G的傲腾用作Docker的应用的数据存储、一块3T的希捷机械硬盘用作资料存储。

SSH连接群辉

首先在群辉的控制面板->终端机和SNMP->启用SSH功能,可以自定义端口号,这里我不做修改,就使用默认的22号端口
然后Windows可以通过xshell或者其他终端工具,Mac和Linux直接使用系统自带终端工具ssh连接群晖

教程

先切换到root用户:

1
sudo -i

再次输入群晖账号密码即可切换到root用户

接着查看M.2固态的设备信息:

1
ls /dev/nvme*

然后系统会给出硬盘情况:

1
/dev/nvme0  /dev/nvme0n1  /dev/nvme0n1p1

其中nvme0n1代表是一个硬盘,如果有第二块M.2硬盘会多一个nvme0n2。然后nvme0n1p1这块硬盘有一个分区(如果你的硬盘有多个分区建议先格式化一下)
然后用以下命令查看nvme0n1这块硬盘的详细分区情况:

1
fdisk -l /dev/nvme0n1

然后就能看到各个分区的起始位置、结束位置、大小什么的
如果你的硬盘不是三个分区就可以使用以下命令创建三个分区:

1
synopartition --part /dev/nvme0n1 12

如果有两块M.2固态可以把nvme0n1替换nvme0n2
回车后提示是否执行,输入y并回车即可。
创建完分区后,可以以下命令查看再次分区情况

1
fdisk -l /dev/nvme0n1

接着需要创建磁盘阵列,这里我们使用Basis的阵列,我们线查询下已有的磁盘阵列,找到已用序号,通过以下命令:

1
cat /proc/mdstat

这个会根据你使用硬盘数量,每个人都不同,比如我的磁盘阵列序号已经最大到了md2,所以接下来我们创建新的磁盘阵列的时候,序号我就从md3开始增加,接下来创建新的磁盘阵列给m.2

1
mdadm --create /dev/md3 --level=1 --raid-devices=1 --force /dev/nvme0n1p3

这里把nvme0n1p3这个分区强制格式化为raid1,并分给了磁盘序号3
然后键入yes确认创建序列(array)

然后就是将刚刚创建的序列格式化,群晖支持两种格式,一个是群晖推荐使用的btrfs,另一个是更常见的ext4,这里我格式化为btrfs

1
2
mkfs.btrfs -f /dev/md3  # 将序列3格式化为btrfs
mkfs.ext4 -f /dev/md3 # 将序列3格式化为ext4

做好以上步骤,我们就可以输入以下命令重启我们的群晖了:

1
reboot

群晖重启好后,进入群晖的Web管理页面,找到一个叫存储管理器的套件,进入后就可以看到新增加的可用池,我们只需要点击“在线重组”,这样就会生成一个可用的储存池了。这样。我们M.2固态就可以作为存储空间使用了

尾声

这块傲腾我一开始是想用于装群晖的Docker等系统套件的,这样另一块机械硬盘就可以进入休眠,降低了功耗和减少机械硬盘出错的概率。但正如我之前所说的,群晖的系统是装在每一块硬盘中的,每块硬盘都至少需要分出三块分区,前两个分区用于DSM系统,剩下的分区才能用于缓存或作为存储池,16G的傲腾在分配给系统空间后,真实可用的空间不到9G,但用于存储Docker等镜像的配置文件还是够的,但是如果说想用于PT、BT的做种还是差点意思