群晖SHR和RAID1有什么区别?我拿4T和8T两块盘算账,选错白白浪费4T

装群晖的第一晚我就卡住了:建存储池那一步,类型栏里一排选项,Basic、JBOD、RAID 1,底下还杵着一个SHR。我当时手头是两块不一样大的盘,一块4T酷狼一块8T酷狼,选错了怕浪费,选对了又不知道自己选对没。这篇就把SHR和RAID 1这笔账掰开算清楚,盘不一样大的朋友看完再点下一步。
SHR到底是个啥,先别被名字吓住
SHR全称Synology Hybrid Raid,群晖的混合RAID。群晖官方知识库给它的定位写得很直白:这是套建立在Linux上的RAID管理系统,比传统RAID更简单,适合刚接触RAID的人;你要是偏好手动管理RAID,再去用标准RAID。
它底层不是什么黑科技,就是Linux标准的mdadm,群晖在外面套了一层自动分家的逻辑:按你插进去的盘容量,自动切成好几层,小盘和小盘凑一对,大盘剩下的人生再组一层。你不用自己算哪块盘和哪块盘配对,它替你算。
顺带说一句,选类型的时候你可能还会撞见SHR-2,那是它的二代形态,四块盘起步,允许同时坏两块,容忍度对标标准RAID 6。家里四盘位、池子里放的是照片这类丢了就没了的东西,多花几块盘的容量上SHR-2,值。
所以别把SHR理解成「更高级的RAID」,它就是「帮你自动算账的RAID」。账算得省不省,取决于你手里的盘是不是一样大——这就引出了下面最关键的一节。
两块一样大的盘,SHR和RAID 1没区别
先把最常见的情况说死:两块4T的盘,选SHR,切出来就是4T镜像加4T镜像,可用空间4T,坏一块盘数据都在。跟RAID 1一个字都不差。
网上吵SHR好不好,大半是同容量盘的用户在替别人操心——对他们来说这俩真的就是同一个东西。所以两块同容量盘,闭眼选SHR就行,反正结果一样,以后逐块换大盘升级还灵活点。
盘不一样大,差别就来了:4T+8T这笔账
我那台机器是4T加8T。当时用群晖官网的RAID计算器把两种都点了一遍,账目差得吓人:
| 盘组合 | RAID 1可用 | SHR可用 | SHR里无冗余的部分 |
| 4T+4T | 4T | 4T | 没有 |
| 4T+8T | 4T | 8T | 4T(8T盘的后半段) |
| 4T+4T+8T | 8T(RAID 5口径) | 12T | 4T |
RAID 1的规矩是按最小盘算:8T那块只有前4T参与镜像,后半段4T直接闲置,你花了8T的钱,用出来4T的空间。
SHR的切法是:第一层拿4T盘和8T盘的前4T做镜像,第二层让8T盘剩下的4T单独干活。可用空间4+4=8T,一分不浪费。
表里第三行三盘的切法也顺嘴说透:4T+4T+8T的时候,SHR拿三块盘各出4T组一个带校验的条带层(对标RAID 5,坏一块盘没事,可用8T),8T盘剩下的4T继续单独裸奔。所以可用空间8+4=12T,账面比标准RAID 5多出整整4T,代价还是同一个:那4T没有保护。
但注意,SHR多出来的这4T,是拿冗余换的。第一层坏一块盘,那4T数据还在;第二层就8T盘孤零零一个人,这块盘一坏,落在后半段的数据直接没了,连抢救的机会都没有。很多人以为选了SHR就「坏一块盘没事」,混容量的时候这句话只对一半。
还有个扎心的实话:DSM不会让你挑哪个文件放安全层、哪个放裸奔层,存储池是统一调度的。所以别指望「重要的放镜像区、电影放无冗余区」这种精细操作,数据安全老老实实靠备份,我在NAS数据备份怎么做里念过很多次,RAID管坏盘,不管你手滑删错。
想扩容,SHR的规矩是逐块换盘
我后来就是奔着扩容去的:4T+8T用了一年多,想把那块4T拔了换8T,凑成8T+8T。群晖官方的流程是这样:存储空间管理员里看哪块盘容量最小,关机,拔最小的那块,插上大盘,开机,存储池进入修复状态,等它修完;一块修完才能换下一块,全换完之后存储池里会多出一块未分配的空间,收尾还得手动点一次扩充,容量才会真的涨。
这里头三个坑我全趟过:
- 不能心急同时拔两块。SHR和RAID 1一样只许同时坏一块,拔两块等于直接拆池子。
- 修复期间整个池子处于无冗余状态,这时候再坏一块盘就是全灭。换盘前先把重要数据备份出去,别裸奔着修。
- 修完容量不会自动涨。我第一次换完盘盯着容量条发呆,才发现得去存储池里手动把未分配空间扩充进来,这步官方文档里也是单独列的,漏了就白等。
修复期间机器不是不能用,相册、影音照常访问,就是明显变慢——机械盘的光阴全给重建了,读写排队。修复进度在存储空间管理员里看百分比,我那次盯着它从3%爬到100%花了一整夜。这时候千万别再手动跑备份任务,两头抢IO,谁都慢,还容易把重建时间拖得更长。
修复时间也要有心理预期,机械盘一百多MB/s的持续写速,8T盘重建一次十来个小时起步,我那晚是睡前开始修的,早上起来才跑完。换盘的具体流程和换下来的旧盘怎么处理,我在NAS换新硬盘数据怎么迁移里写得更细。新盘插上去之前,建议先按新硬盘全盘检测那篇过一遍,别把带病的盘换进池子。
SHR的两个代价,选之前想清楚
第一个代价:这格式认它的人不多。标准RAID 1在Linux下用mdadm就能直接认,机器哪天真歇了,盘拔下来插到别的设备上还有的救。SHR是群晖私有的调度方式,想在别的NAS或者普通电脑上直接读,基本没戏。黑群晖倒是能用,可一旦出状况,排查资料全是按DSM的环境写的,自学成本翻倍。
第二个代价:换环境就麻烦。群晖官方自己也建议企业环境用标准RAID,运维熟悉、跨平台通用。当然家庭用户正好反过来,SHR的定位本来就是新手和家庭,这个代价对家里那台机器影响不大。
性能上倒不用多虑,「混合」两个字容易让人以为它费机器,其实SHR的读写速度和同容量盘的标准RAID在同一档,CPU占用也差不多,分层是建池的时候切好的,平时跑起来没有额外开销。我在4T+8T的池子上跑过内网拷贝,SMB稳定在110MB/s上下,千兆网卡先到顶了,跟RAID 1的池子分不出快慢。
我的看法:家用、盘是陆续买的越买越大、以后打算逐块换盘升级的,SHR省心;强迫症要求每一块数据都有镜像、或者盘本来就配齐同容量的,直接RAID 1,睡得踏实。
对号入座,收尾
| 你的情况 | 建议 |
| 两块一样大的盘 | 选SHR,结果和RAID 1相同,以后换盘灵活 |
| 盘不一样大,不想浪费大盘 | 选SHR,多出来的无冗余空间装可再生的数据 |
| 盘不一样大,但数据全是要紧的 | 选RAID 1,或者补一块同容量盘再组 |
| 以后可能迁到别的系统、玩黑群晖 | 选标准RAID 1,通用性强 |
顺序上这么走:先数手里几块盘、容量是不是一样大;一样大就闭眼SHR;不一样大就按上面那张表算一遍账,想清楚无冗余那层装什么;建池的时候顺手把文件系统也定了,这块我在NAS硬盘选ext4还是Btrfs里单独写过。至于池子选几个盘位起步,可以回头看NAS买两盘位还是四盘位那篇。到头来就一句话:SHR和RAID 1没有谁高级,只有你的盘配不配得上。RAID模式的大账,之前在NAS的RAID怎么选里也铺过一篇,两篇对着看更全。

发表评论