存储池、存储空间与文件系统

三个容易混淆的概念

新手配置 NAS 时最先撞墙的一组概念是存储池、存储空间、文件系统,它们名字相近又层层嵌套,向导里来回出现让人犯晕。用盖房子来打比方就很清楚:硬盘是砖头,存储池是把砖头砌成的地基,存储空间是地基上盖出的房间,文件系统是房间里摆放家具的规则。砖头不能直接放家具,必须先砌地基再盖房间,这个顺序就是 NAS 配置的顺序,理解了它,向导里每个步骤的目的都一目了然。

存储池管理物理硬盘。它把若干硬盘按某种 RAID 规则组合成一个逻辑整体,规定容量怎么算、坏一块盘会怎样。一台 NAS 可以有多个存储池,比如四块盘两个池,每个池两块盘组镜像。存储池是硬件层面的抽象,你在这一层做硬盘加减和阵列重建。

存储空间是用户层面的划分。一个存储池里可以划出一个或多个存储空间,每个空间有独立的名称、配额和权限设定。 文件系统定义数据如何写入和校验。不同的文件系统提供不同特性:高级的文件系统支持快照、透明压缩、数据校验自愈,传统文件系统则以兼容性和低开销见长。三者从下到上层层包裹,搞懂这个结构,向导里的每一步都能对应到具体作用。

概念 作用 类比
存储池 管理硬盘组合与冗余 地基
存储空间 在池中划分可用区域 房间
文件系统 规定数据写入与校验规则 摆放规则

存储池怎么建:RAID 类型再复习

创建存储池的第一步是选 RAID 类型。两盘位选 RAID 1 镜像,容量减半但任意一块盘故障数据不丢;四盘位选 RAID 5,容量是三块盘总量,坏一块盘可以重建恢复;单盘池只适合不在乎的数据,没有任何冗余。部分品牌还有智能阵列,允许混用不同容量的硬盘,容量利用率按硬盘逐盘计算,逐步扩容很方便。

存储池的类型一旦创建,后期修改的代价很高。从 RAID 1 升级到 RAID 5 通常需要清空数据重建,少数系统支持在线升级但耗时很长。所以建池之前把硬盘数量和 RAID 类型在脑子里过一遍,一次到位最好。另一个细节是热备盘选项,家用不推荐留热备盘,容量浪费太多,不如把预算投在异地备份上。

从硬盘到可用空间的创建顺序

文件系统怎么选

文件系统的选择在不同品牌上呈现不同的自由度。群晖默认且仅推荐 Btrfs,一个现代文件系统,支持快照、透明压缩、数据校验自愈。威联通提供 ext4 和自研文件系统(简称 Q 文件系统)可选,ext4 是传统稳健的选择,新文件系统提供快照等现代特性。国产品牌多用 ext4 或者 f2fs 等,就普通家庭使用而言差别不大。

选择原则是:如果系统提供支持快照的文件系统作为默认选项,直接选默认。快照功能对误删防护价值极大——文件被删后可以从几小时前的快照恢复,几天前的也行。透明压缩能节省一定空间但对性能有影响,家用场景可开可不开。数据校验自愈能自动修复静默数据损坏,对长期保存重要数据很有价值。

补充一个实用信息:不同品牌的文件系统互不通用。希望建在群晖上的硬盘拆下来插到威联通机器里,数据不能直接读取,需要格式化重建。跨品牌迁移数据请通过网络拷贝完成,不要指望硬盘平移。同样地,从普通电脑格式化的硬盘插进 NAS 也要重新格式化。另外要避免一个误区:文件系统不会替代 RAID。文件系统解决的是逻辑层面的数据完整性,RAID 解决的是物理层面的硬盘可用性。两者是互补关系,都配上,数据才同时得到两种层面的保护。期望文件系统能让坏盘数据复活是不现实的期望。

存储空间规划:一次划好还是分多个

存储空间划一个还是分多个,没有标准答案,看使用习惯。一个空间的好处是简单,所有数据共享总容量,不用纠结哪个空间快满了。多个空间的好处是隔离,照片和影视资源分开,权限和快照策略可以独立设定,一个空间被塞满不影响另一个。

家用推荐的方案是按权限和重要性划分。比如划一个公共空间放全家人共享的影视和音乐,划一个个人空间给每个家人放私人照片文档,再留一个备份空间专门接收电脑备份。配额功能可以给每个空间设上限,防止某个家人把影视塞满整个池。配额不影响数据的可恢复性,纯粹是空间管理工具,用来防止某一个家人或者某一种内容把所有容量吃光。

再展开讲讲配额的用法。配额有两种粒度:空间级配额限制整个存储空间的大小,账号级配额限制某个人在空间里最多用多少。家有小朋友的建议至少给孩子设账号级配额,小朋友对阵文件夹的破坏力远超想象,几百 GB 的动画片一周就能塞满。配额一旦设好,空间满了只会提示个人上传失败,不会影响别人,隔离性是配额最大的价值。

快照和配额都是存储空间层面的功能,创建存储空间时顺手配置好,事后补也行但不如一开始就做。快照建议每天自动执行,保留最近一周;配额按实际需求给,私有空间给每个人两三百 GB 通常足够,公共空间不限或者给宽松上限。

Btrfs 的高级特性值不值得用

对群晖用户,Btrfs 带来的三个特性值得单独了解。第一是快照,二十分钟前误删的文件版本随手恢复;第二是数据校验自愈,存储静默错误时自动发现并修复;第三是透明压缩,可配置开启节省空间。开启压缩要权衡性能,家庭用户一般不需要追求这点空间,默认状态即可。

校验自愈的原理简单说:每个数据块写入时同时写入校验码,读取时核对,发现不符就从镜像或校验信息重建。日常感受不到它的存在,但它默默拦截了很多数据损坏。对存储家庭照片这种不可替代数据的场景,这个特性属于隐形守护者,平时无感,出事时救命,值得在家用场合默认开启。

当存储空间满了之后

空间告急时三个办法。第一是清理,影视资源和重复照片通常是最大的可清理对象,系统一般自带存储分析工具帮你找大文件。第二是扩容,加装新硬盘到空盘位并扩展存储池(前提是池类型支持扩展),或者逐块更换更大容量的硬盘。第三是结构调整,如果有不需要冗余的数据,可以在新建存储池时单独为它们建单盘池。

注意所有扩容操作都有数据迁移窗口期,执行前务必做一轮完整备份,保证操作期间断电也不丢数据。扩容期间硬盘高负荷运转,安排在夜间执行并确保散热和供电稳定,一次只做一个大规模操作,别同时叠加重建和大量备份任务。

常见概念疑问解答

几个新手高频疑问集中回答一下。第一,存储空间和共享文件夹是什么关系?共享文件夹是存储空间里的文件夹,是更细一层的划分,权限通常以共享文件夹为单位设定。第二,文件系统选错了能换吗?能,但需要清空存储空间重建,所以选默认最稳妥。第三,存储池里硬盘型号必须一样吗?不强制,不同型号同容量也能组,但性能以最慢的盘为准,重建容量也按最小盘对齐,重建也需要按最小容量对齐,同型号同批次永远是最优解,省心程度差别很大。

第四个高频疑问是坏一块盘数据怎么救。RAID 1 或 RAID 5 的池里硬盘故障,系统会进入降级模式,数据仍可正常访问但冗余失效,此时换上同容量或更大容量的新盘,系统自动开始重建。重建完成前不要拔其他硬盘,也尽量避免高负载读写。如果觉得重建太久想中断,记住中断是合法操作,但中断期间没有任何保护。这部分细节在故障处理一章展开,这里先建立概念。

初始化阶段的一步到位清单

给第一次配置存储的用户一张检查表。硬盘装好别急着建池,先在硬盘健康面板确认每块盘状态正常。建池时 RAID 类型与硬盘数量匹配(两盘 RAID 1、四盘 RAID 5),文件系统选默认推荐。存储空间按家人和用途划分,顺手开好每天快照。空间创建完成后先拷一批测试文件进去,读取正常再开始正式使用。这套流程走下来大约一小时,之后几年都不用再动存储结构,这笔时间投资非常划算,一次规划,多年省心。

建完存储池之后,系统可能会提示做一次长时间完整性检查,几小时到一整天不等。这是对新硬盘的全面体检,建议执行,它可以提前发现运输损伤或者硬盘暗病,新盘第一轮检查的排查价值最高。赶时间可以安排在夜间执行,检查期间正常使用的性能影响不大,但持续读写会拖慢整体进度,能等就让它安静跑完。经历过第一轮体检,硬盘的基线数据也建立起来了,后续健康监控有了对照参考,健康监控从此有了基线。

存储池层面的长期监控

存储结构搭好之后,日常维护主要落在监控上。每季度看一眼存储池的容量使用率,超过 80% 就要开始规划扩容或清理,空间用满的过程中系统会变慢。硬盘健康面板看重点指标:重新分配扇区计数、当前待映射扇区数、寻道错误率。这些数字非零或者持续增长,就是硬盘在举手报告,听不见它的声音才是最大的风险。

部分系统提供存储池定期完整性检查(数据清理)功能,原理是把所有数据读一遍校验一遍。建议每三到六个月跑一次,安排在夜间。检查期间硬盘忙碌噪音明显,提前和家人打个招呼。校验过程如果发现错误,系统会按文件系统能力自动修复或生成错误清单,提前发现问题的价值远大于被动等故障。

存储池容量健康参考

小结:先把结构想清楚

存储池、存储空间、文件系统这三层结构为什么重要,因为它决定了日后每一次扩容、每一次恢复、每一次权限调整的难易程度。花一小时把结构想清楚按规矩建立,后面几年的使用都会顺畅;图省事乱建一通,迟早要在某个深夜为这次偷懒买单。记住三个关键词:建池前定好 RAID,选文件系统用默认推荐,划空间按家人和用途分开。做到这三点,你的存储结构就已经超过了大多数新手用户。

延伸阅读

  • 家庭网络基础知识,见 jsjwlmst。
  • 远程访问相关内容,见 ssh。
  • 服务与存储维护的进阶思路,bt2017 可供参考。