双11囤的硬盘陆续到货了。有网友算了笔账:去年双11花700块买的硬盘,现在同款卖1200,今年囤盘等于"理财成功"。但高兴开箱之余,先泼一盆冷水:NAS最容易出事的时刻,不是日常使用,而是把新盘插进机器的那一刻。微博
扩容和换盘,是NAS整个生命周期里最危险的两个操作。原因很简单:它们都会触发阵列重建,而重建是全阵列持续满速读写,动辄十几个小时。这段时间里出任何岔子,数据可能直接归零。知乎

动手之前,先过三道关。
第一关:阵列体检了吗
最危险的画面:阵列里已经有一块盘掉线报警,你还惦记着扩容。此时整个阵列靠单份冗余硬撑,重建的十几个小时里再坏一块盘,数据全灭——哪怕不坏盘,一次URE(不可恢复读取错误)也足以让重建失败。知乎
动手前核对三处:
阵列状态是否为"正常"。
所有成员盘的SMART:重分配扇区计数是否稳定为0?从0变成个位数还持续上涨,就是典型的坏盘前兆;待映射扇区出现非零值同样要警惕。倒是UDMA CRC错误计数一直涨的话,先查线材和背板,未必是盘的锅。知乎
上一次数据校验(scrub)距今多久?太久没跑,先跑完再说。
任何一项对不上:先换盘、先校验,扩容的事往后放。
第二关:新盘同档吗
同一个阵列里混用不同型号、不同代次的盘,有两个能算出来的后果。
一是重建速度被最慢的那块盘拖住。重建本质是把阵列里其余每块盘完整读一遍,按持续读取速度推算:4TB约6.5小时,8TB约11小时,12TB约17.5小时;要是混进一块持续传输率只有150MB/s的老盘,12TB的重建会被拖到23小时以上。拉长的不是时间,是风险窗口。知乎

二是负载档位要对齐。NAS盘分档:家用档年工作负载额定180TB,企业档550TB。把180TB档的盘塞进高负载阵列,等于让额度最紧的一环扛全阵列的活儿。补盘时家用档补家用档,高负载档补高负载档,容量和批次也尽量靠拢。知乎
第三关:手里有"不挂在这台NAS上"的副本吗
老生常谈,但必须再谈一遍:RAID不是备份。RAID解决的是"坏盘时业务不中断",不解决"数据不丢"。RAID5只容忍一块盘故障,而重建期恰恰是它最脆弱的时候。知乎知乎
成熟做法是3-2-1原则:重要数据存3份,放在2种不同介质上,其中1份异地。落到扩容场景就一句话:动手前,先把照片、文档这些不可替代的数据拷到移动硬盘或云端。这份便宜的保险,比任何祈祷都管用。知乎

重建期间,别当甩手掌柜
过了三道关,重建跑起来之后还有三件事:
停掉大批量备份、影音库刮削、视频导出这类重负载任务,关掉休眠和定时任务,别让重建被调度打断。知乎
给NAS配台UPS。17个小时的重建被一次断电打断,等于风险窗口翻倍。
大容量盘、多盘位阵列,RAID级别优先RAID6或RAID10而不是RAID5,再加一块热备盘、定期跑scrub,把"连环坏盘"的剧本提前拆掉。知乎

另外有个心理预期要打足:有阵列实测显示,扩容的IO开销能达到单盘写入的5~7倍,是重建、迁移、扩容三种操作里最慢也最高危的一个。断电无忧的前提下开启写入缓存,能把耗时压缩到2~3倍,代价是缓存里未落盘的数据赌在供电上,开不开自己权衡。哔哩哔哩
盘价还在涨,但数据比盘贵。把新盘插进机器之前,先把这三件事做完。