硬盘没坏,数据也可能悄悄烂:群晖数据清理按月跑,提前揪出坏数据
机房里的 NAS 硬盘指示灯一切正常,SMART 也没报警,数据就安全了吗?未必。硬盘长期静置存放或日常读写中,磁介质可能出现肉眼看不见的"位翻转"——盘没坏,个别数据块的内容已经悄悄变了。存的是合同扫描件、财务凭证、监控录像,等到某天打开才发现文件损坏,那时候连"什么时候坏的"都查不出来。群晖 DSM 内置的"数据清理"(Data Scrubbing)就是针对这个问题的例行巡检:主动扫描存储池里的数据总和检查码,发现并修复不一致的数据块,让"盘还活着但数据已烂"的静默错误无处遁形。
先确认你的存储池能不能跑
数据清理不是所有配置都支持,开工前先对两个条件:一是存储池上的文件系统——只有 Btrfs 存储空间,或是 SHR(由三个或更多硬盘组成)、RAID 5、RAID 6、RAID F1 这几类存储池才支持;二是共享文件夹要在"控制面板 > 共享文件夹 > 编辑 > 高级设置"里启用"数据总和检查码以实现高级数据完整性"选项——没有检查码,数据清理即使跑起来也校验不了文件夹里的数据,等于白扫。这个选项要在创建文件夹时或提前打开,别等巡检当晚才发现没开。
配置一条按月巡检线
-
打开存储管理器,前往"存储"页面,单击要巡检的存储池,在"数据清理"区域单击"立即运行"。为什么:先手动跑一遍,确认这条链路在你这套环境里真的能执行——如果该区域不可用,说明所选存储池不支持数据清理,趁早查原因,别等计划任务深夜失败才发现。
-
回到"存储"页面,单击"计划数据清理"按钮,勾选"启用数据清理计划"复选框。为什么:手动巡检只是验证,数据一致性是长跑,静默错误随时可能新产生,只有进了计划的池子才会被周期性覆盖——注意只有支持数据清理的存储池才能加进计划。
-
在计划窗口里选择要执行数据清理的存储池,并确定其优先级。为什么:多池机器上巡检有先后,把存核心业务数据的池排前面;官方明确数据清理一次只能在一个存储池上运行,排好优先级才能让每个池都轮得到。
-
设置运行计划:频率从下拉菜单选"每月重复"或"每半年重复",再用"设置时间网格"把执行时间钉在业务低谷。为什么:数据清理会占用磁盘 I/O,白天跑等于自己给业务添堵;窗口里还有"下次运行时间"字段,保存前看一眼,确认排期如你所想。
-
单击"保存",然后到"总览 > 任务计划"查看状态和运行时间。为什么:巡检线的验收不只在配置那一刻,任务计划页能看到它是否真的按点跑起来——首次配置后盯一两个周期,比默认"应该没问题"踏实得多。
-
在"计划数据清理"窗口底部,查看无法执行数据清理的存储池及原因。为什么:官方会在窗口底部直接列出"不兼容的文件系统、不兼容的 RAID 配置、异常存储池"等原因——排查不用猜,答案就摆在那里;已降级的存储池会被暂时移出计划、修复后自动加回,已损毁的存储池则永久移除,这两条状态变化巡检表会自己说话。
巡检当天会发生什么
运行期间,存储池状态会从"良好"变为"正在运行数据清理",完成后自动改回"良好"——把这个状态变化写进巡检 SOP,值班同事看到就不会慌。巡检耗时和池容量、数据量相关,跑不完可以暂停:在"存储"页面选中正在清理的池,点右上角图标展开信息,在"数据清理"区域单击"暂停数据清理";如果任务是计划触发的,则点"暂停计划"。注意暂停后必须手动点"恢复计划",否则计划会一直停着——这条最容易踩坑。另外若 NAS 在数据写入过程中非正常关机,计划中的数据清理会停止,但开机后自动恢复,不用人工重排。
数据清理之外,配合每块硬盘的 SMART 检测一起做,才算完整的存储健康线:SMART 管"盘要不要坏",数据清理管"数据有没有烂",两条线各管一头。贵州诚鑫致达科技在给企业客户做 NAS 运维时,会把数据清理计划写进交付清单——盘位越多的机器,越不该靠运气保数据。
你们单位的 NAS 上一次数据清理是什么时候跑的?如果答不上来,今晚就去"计划数据清理"里看一眼。