前言
近期我用了 5 年左右的群晖 NAS 损毁了,黑群晖,喜大普奔,虽然遇到的 问题在白群晖上一样存在;在拯救数据的过程中发现了不少新的问题和以前没注意到的坑,所以就有了这期系列内容,方便后来的你和我检索
因为已经到了解决问题的阶段,点进来的大概率也不是小白,所以这期系列不会过多赘述基础知识,只会尽量用简短的话告诉你该怎么办
SHR 阵列无法跑满万兆
第一台 NAS 是蜗牛星际的矿渣,自己改了电源,盘也都是 3T、4T 的日立矿盘,最开始没有想过会有很大的存储需求,结果第一块 3T 很快就满了,接着就是第二块第三块第......
最后升级六盘位,又额外组了一台现在的八盘位,系统一直是群晖没有换,后来加的硬盘也越来越大
出问题的是 18Tx3 + 3Tx3 组成的 SHR 阵列,也是群晖默认和推荐的阵列,因为有 4K 剪辑需求,所以给电脑和 NAS 都升级了万兆卡,理论上这么多块硬盘组成的阵列速度早就应该达到万兆或者逼近万兆了,但实际情况是没有,读取速度经常是 600-800MB/S,超过 3-5G 后快速掉到 100MB/S 甚至更低(已经排查过非其他硬件的原因)
SHR 阵列没有写出来的坑
经过各种排查后发现,是 SHR 阵列的锅......
SHR 是由群晖(Synology)公司开发的一种特殊的 RAID(冗余磁盘阵列)级别。SHR 旨在为用户提供更简单和灵活的存储解决方案,尤其适用于不熟悉复杂 RAID 配置的家庭和小型办公环境。
SHR 具有以下特点:
- 动态磁盘扩展: SHR 允许您在不中断系统运行的情况下添加更多的硬盘空间。系统会自动将新的磁盘空间纳入现有的存储池中。
- 不同尺寸的硬盘支持: 您可以在 SHR 阵列中混合不同容量和尺寸的硬盘,系统会根据最小的硬盘进行数据分发。
- 冗余保护: SHR 支持磁盘冗余,以防止数据丢失。如果一个硬盘出现问题,您的数据仍然可以被保护。
- 简化的管理: SHR 提供了一个易于使用的界面,使用户能够轻松地配置和管理存储池,而不需要深入了解 RAID 级别和设置。
- 自适应性: SHR 可以根据磁盘数量和容量自动选择最适合的 RAID 级别,以提供最佳的性能和冗余。
在询问官方的技术支持后得知,SHR 阵列有一个群晖没有写出来的缺点:SHR 和 SHR2 如果搭建的时候选择是不同容量的硬盘是会影响速度的
群晖的官方回复如下
- SHR2 类型的存储池阵列的读写速度理论值计算方式是:单个硬盘的读或写速度 x (硬盘总数-2)
- 由于您是使用的不同容量的硬盘组建的,所以效能会有所影响,这一点可能与您提到的此描述相符 “写入大文件都是开始能到 700-800,2-3G 以后就下降至 200 有时候甚至到 100”
- 当硬盘大小不同时,SHR-1 和 SHR-2 组合了具有不同 RAID 类型的多个 RAID 阵列,由于此设计原因,文件可能位于 RAID 阵列的一部分上,而不是在每个 RAID 阵列上进行条带化
- 您会发现在运行性能检查时并非所有硬盘都有 I/O,并会观察到数据传输时可能只有某个或某几个硬盘存在写入或读取速度,这也是 “不同容量的硬盘所创建的 SHR 类型的存储池” 无法达到 RAID 阵列理论上的读写速度的原因;
- 您可以从以下资源监控内进行下观察:查看在进行大文件的读写时以及速度降低时所有硬盘的读写情况,是否是只有某些并非全部硬盘都存在读或写的速度?
- 如果确认是此情况的话,则建议后续是更改使用容量相同的硬盘组建存储池,或者是使用当前的硬盘重新建立 RAID5、RAID6 等传统类型的 RAID 阵列来避免速度降低的问题情况。
我的解决方案
..... 得知这个巨大的坑后就开始了漫长的数据转移之路
因为不可丢弃的数据只有 30T 不到,所以我的思路如下:
- 拿出一块闲置的 14T 空盘
- 因为一块 14T 放不下我的全部数据,所以还要从 SHR 阵列中拔出一块 18T,使阵列降级但数据还在(好孩子不要学)
- 格式化两块硬盘后插入群晖,分别建立两块单盘存储池
- 拷贝数据到两块单盘中(注意是复制/拷贝数据,而不是在共享文件中中用转移文件位置的操作,这也是一个坑,后续会提到)
- 重建硬盘容量统一的 Raid5 阵列
- 将数据从单盘重新拷贝进 Raid5 阵列
然后就是漫漫拷贝路了......
值得一提的是,让阵列降级这个行为本身非常危险,有条件的话请一定拿几块阵列以外的硬盘单独做数据转移地,好孩子别学我,数据无价
如果本文侵犯到你的利益,请注明身份后联系我删除。
尊重他人劳动成果,转载请务必附上原文链接,我将感激不尽。
请登录后查看评论内容