网上一直没有看到清晰的群晖分区各盘关系说明、SHR原理逻辑以及在扩容时从分区角度、RAID关系上究竟发生了什么,借这次扩容记录的过程,整理一下做一次说明。
一、 先介绍下背景:
一年前,我台式机上的机械硬盘损坏导致了2000年-2020年这二十年PC各类数据的惨痛损失,虽然自己几经折腾,恢复找回了90%,但从此之后,对机械硬盘可靠性再无信心。当然,SSD一旦损坏连恢复机会都没,但好歹没那么容易受震动损坏,加上实时同步备份,我还是有信心的。因此,除了把台式机上硬盘全部换为NVME SSD,把重要数据也转移到了在线NAS上,本地仅挂载使用:
于是,家里形成了如上的存储备份格局:
本地PC: 1TB NVME SSD运行日常软件,本地基本不放数据,只挂载在线NAS的数据盘。以及本地“我的文档”里必要的数据,实时自动通过群晖DRIVE同步到在线NAS上,就算本地炸了,所有数据也都在在线NAS。
手机:
通过moment自动备份照片到在线NAS
同时通过百度网盘额外备份照片一份到百度相册
通过手机-系统和更新-备份恢复中的备份到外部存储功能,自动将整个手机备份在夜间自动备份到在线NAS上
在线NAS:6TB RAID后的存储空间,存放各类家庭数据、照片、软件等,重要数据(大约2TB)通过CloudSync,自动同步到百度网盘(云端6TB空间),就算在线NAS炸了,云端还有数据,同样,外面看到什么东西好用,1秒转存到百度网盘后会自动同步到在线NAS,很方便。至于百度的速度,开个VIP,同步速度20多MB/s杠杠的。
离线NAS:部署了40TB无RAID基本空间:
用来存放着20年整理收集的电影,从2000年的480P+AC3到2005年切为 720P + DTS到2008年至今主要收1080P DTS+ 原盘,一步步洗版替换,20年的积累,不过说起来早期2000年时大学时收藏的众多RM、FLV早就被洗版完了,现在收藏的估计20年后也早被洗完了……说起来仓鼠收集癖是病,真的得治!!这30TB电影通过EMBY SERVER管理,客厅播放器盒子通过KODI或Coreelec从EMBY SERVER播放,播放输出到投影、功放。
同时在线NAS上一些无需云端备份的OS软件、工具类软件,林林总总也3、4个TB,通过群晖同步功能同步到离线NAS,作为本地二次备份。
之所以叫离线NAS,是因为这台设备的未做RAID,全是基本磁盘,主要在需要客厅看电影时才会自动被小爱开启该设备(EMBY针对手机的实时转码功能用不上,家里人没这个习惯,我没时间看),那么,基本硬盘的损坏几率除了震动、启动次数就是通电时间,因此日常设备都处于关机离线,仅在需要时可以通过智能场景自动被启动或通过语音、APP被启动。
目前的问题是,在线NAS上,之前除了一块2TB盘用来挂PT,其余3块盘组RAID成为6TB存储空间,当时考虑到在线NAS需要的存储量不会太大,就使用了历史上剩下的三块3T、3T、4T硬盘组了个磁盘群组,RAID方式是群晖的SHR,可以看做是群晖自己搞的RAID5 加强版,现在计划升级三个8TB时,我对这个升级机制有些担心。
二、 解密群晖的分区机制。
群晖一直没有说明自己的分区机制,在网上,也有人说群晖是先把盘取系统、SWAP分区,剩下再是用户区。一直没看到有人清晰地把群晖的分区机制、各盘之间的关系讲清楚,我借这个机会说下吧。
以我的在线NAS扩容前为例:除了一块2TB盘用来挂PT,其余3块盘(3T、3T、4T)组SHR成为6TB存储空间。
系统盘:群晖会对机器里的每块硬盘都取2.4G作为系统盘,,注意是每块,即使你是4个盘位——1个独立盘,3个盘做磁盘群组,群晖不会理会你的磁盘群组情况,先把每块硬盘取2.4G,一起做个RAID1来存放群晖系统。(我们一般理解RAID1是双盘,而群晖这里是软raid,这里raid1是不限数量)
SWAP分区:同上系统分区,每个盘再取2G一起RAID1作为Linux SWAP分区。
用户数据空间:剩下的空间才是用户可用、在群晖界面可见的,用户不管是作为组RAID、SHR,实际都是对每盘去掉2.4G系统区、去掉2G SWAP分区后,剩下的这个空间做操作。
三、基础科普,群晖的RAID机制。
按群晖官方的宣传:
什么是Synology Hybrid RAID (SHR)?
SHR 是Synology 独有的自动化磁盘阵列管理系统,让用户能够更简易方便地配置管理系统存储空间。特别是为了不真正了解各类型 RAID 之间细节差异的使用者,就可以利用 SHR 来管理 RAID、扩充存储空间并将存储空间最大化。SHR 具有 1 - 2 颗硬盘的容错机制,也就是说,SHR 存储空间可以允许最多两颗硬盘损毁,并且提供保护数据完整性的功能。请注意,RAID 存储空间 (不论是传统的RAID 或是 SHR) 并不等同于备份系统。
我的理解,简单来说:
SHR可以按放入的硬盘数量,自动做到RAID1或RAID5,1块冗余,这是基本的RAID机制。
额外的,群晖支持不同大小硬盘通过SHR做RAID——传统软RAID一般顶多能做到不同容量硬盘取最小容量做raid,例如1、2、2T硬盘视为1、1、1T硬盘做RAID5得到2T空间,而群晖可以进一步把两块盘剩下每盘1T再做RAID1得到1T空间,然后通过LVM再做一次聚合得到3T空间。
这个说得很清楚了,那么,对我的现在3、3、4T的SHR,一路换为3块8TB后,会发生什么?群晖最终会形成3个8TRAID5 16T?还是由于过程中生成了一堆小raid再LVM聚合成16T?我们实测为证:
四、实战开动:
第一步:
我一般不选择红盘或企业级盘,无他,贵啊,我这么多重备份了,单盘的损坏已经不在我考虑范围了,一般选择从美亚、德亚、英亚通过直邮购买西数8TB的Mybook或Elements3.5寸外置移动硬盘,拆盘一般是5400转降速空气盘或氦气盘,起码都是PMR,不是SMR。
昨天又到了一块Mybook,最近涨价了,要1000多,去年双11时800多的好价不在了,当时我一口气8T、10T都下了一些。
这次到的是8T的Mybook:
照例先不拆接USB,看看是不是好的再说。
SATA盘这写入速度还是不错。
没问题,开盒子,杀鸡取卵,又是空气盘,感觉最近氦气盘开出来几率不高了。大部分是EZAZ。
最近拆的盒子已经有3个了……
好吧,前面都在show开肠破肚,这里才是真正开干!第一步:
按照SHR群组从小开始换的原理,关机,拔出一块3TB盘,换为8TB盘。开机,系统进入堪用状态,点修复,选择性的8T盘修复,系统进入一致性检查。
由于我事先把大文件拷走,剩余了1TB多文件在RAID空间中,一致性检查很快,7小时完成。
我们可以看到,群晖识别到8T盘可以划分出1T来和4T的剩下1T组成RAID1,得到1个额外的1T空间,再和6T的RAID5 通过LVM组成7TB逻辑卷。
但8T的额外4TB就被系统暂时废弃不用了。
第二步:
替换第二个3T,关机,拔出第二块3TB盘,换为8TB盘。照原来方式修复。很快,7小时就收到了修复完成的通知,注意,一定要等到“System successfully repaired [Volume 2]with disk [6].”之类的通知才算是真正完成了raid重组并扩展,此时只是把2个1T做RAID1变成了3个1T做RAID5,甚至这3个1T做 RAID5只有1T空间,活还没完,重映射中:
估计是没映射完,继续等待,空间还是7T……
继续等待
等到花儿都谢了,大概又7个小时过去,终于:
3、3、3做RAID5=6T
1、1、1做RAID5=2T
4、4做RAID1=4T
6+2+4=12T
接下来,再替换4T为8T,那么就会再进一步变为:
五、 总结:
1、群晖的SHR就是,尽可能用各盘都具备的容量做RAID 5,剩下的再2盘做RAID1,再剩余的废弃。
2、扩容换盘从最小的换起,SHR会按上述原则把原来的RAID1 容量扩展到各个盘形成Raid5,再把剩下的做RAID1,最后剩下的废弃。
3、最终,群晖会形成多个RAID组,再通过LVM整合形成一个对用户统一的逻辑卷。
发表评论