折腾 NAS 丢失大量珍贵数据后有感

2020-08-20 11:45:36 +08:00
 hotsun168

背景

  1. 第一版 NAS 已用 5 年,为占美无风扇工控机、一块 WD60EFRX 、优越者 Y-3359R 进行 DIY,稳定时千兆可跑满。

  2. 为了顺便当做远程桌面,没有使用黑群晖或 Linux,使用了 Win7 系统。Samba 服务经常无故卡死,遇到网络无法连接、0x00000000XX 等类似错误或“服务器存储空间不足无法处理此命令”等错误无数次,每次基本都需要重启。花了无数时间来解决这些问题,无果。一直在忍受,后续甚至写了脚本做定时重启。

  3. 第二版(在用)为群晖 DS920+、一块 WD140EMFZ,以及上面的 6T,买之前提前了解了很久 RAID5 是否安全,后选择 SHR 。

灾难

  1. 因计划把 6T 和 14T 硬盘都放入群晖,但硬盘插入群晖会被格式化,所以 14T 硬盘到货当天,用外接硬盘座接入 14T 硬盘,在 Win7 下进行 6T 到 14T 文件全量复制,期间报错无数,推测可能是 6T 磁盘长时间运行导致文件分配表错误。搜索相关资料提示 chkdsk 修复 NTFS 分区。

  2. [重点] chkdsk 完毕后,6T 硬盘中大量资料丢失(超过 80%),其中包括各种重要文件,尝试 DiskGenius 修复未果(不光是无法找回文件分配表,而且连 RAW 数据都无法找回)。

  3. 不幸中的万幸,其中少部分文件在各个网盘有备份,另一部分几年前有刻盘备份,但其中一些珍贵的资料再也无法找回(包括结婚视频、小孩照片、老光盘 ISO 等个人产生文件,与老游戏、各种收藏的视频等网络下载资源)。

  4. 花费几天时间在各种平台搜索网络下载资源,因年份久远,几乎全部失效,近似于无法找回。

现状与未来

  1. 计划在过一段时间之后再买一块 14T,尽可能避开同批次,2 块盘开 SHR 。

  2. 每隔一段时间继续买 14T,加到 4 块,开 SHR2 。

教训与体会

  1. 任何情况下大量数据复制尽可能先备份,或者使用专门的工具进行,谨慎进行 chkdsk 等硬盘修复措施。不要因为是程序员身份就各种放心大胆地操作,稍有不慎就会产生非常严重的后果。

  2. 脑子要清楚,选择方案要合理可行。其实可以选择先把 6T 使用 Ghost 备份一份到 14T 硬盘,再进行数据复制,反正空间足够。

  3. 重要资料放在 NAS 一定要开 RAID,硬盘少就用 RAID1,硬盘多可考虑 RAID5 、RAID6 或者群晖的 SHR 或 SHR2,其中尽可能选择允许 2 块盘故障时可恢复的方案。同时使用多份备份,网盘、冷备、刻盘等。

  4. 网络下载资料可考虑使用脚本生成 ed2k 链接,文件丢失后可以重新下载,或使用网盘快速离线。

  5. 从 2015 年第一版 NAS 到今年买群晖中间的 5 年里,硬盘柜里一直只有一块硬盘,最开始选择的 5 盘位硬盘柜产生了严重的浪费。感慨自己想得太多,有美好的愿望但却一直没有落实,又感叹运气太好,这 5 年中唯一的一块硬盘居然没坏。

  6. 第一版 NAS 使用的这 5 年中,是人生大事接连不断的几年,根本存不下钱,更别提这种大额投入了。所以钱真的可以解决绝大部分问题。如果有钱,最开始我就买群晖并放满硬盘,开各种灾备,就可以避免这种大量数据搬运,数据丢失的概率会大大降低。

  7. 只有栽跟头才能让人积累经验,只有疼痛才能让记忆更深。不舍得投入成本保护数据,还是因为数据对你不够重要。

39055 次点击
所在节点    程序员
154 条回复
supereater
2020-08-20 16:35:10 +08:00
我是双 nas 异地定时同步备份,隔一段时间有空了就冷备份一次,同时 nas 实时进行百度网盘(貌似有数量限制,此处求高手解答)和谷歌云同步。我觉得除了 raid 没做,其他已经做到足够了。raid0 我觉得作用不大,个人用户场景下,硬件故障直接两盘报废的情况好像还挺容易发生的。
supereater
2020-08-20 16:36:37 +08:00
上面写错了,raid1
Visitor233
2020-08-20 16:43:46 +08:00
光驱笔记本万岁,除了内存小了,完美保存各种小文件,还不怕摔坏、进水、占地方
winglight2016
2020-08-20 16:44:55 +08:00
lz 最主要的数据是视频照片之类吧?我是把所有这种文件都同步到 google drive,反正压缩版是不限容量的。

其他重要文件占不了多少空间,一块移动硬盘就能备份了。
giesler
2020-08-20 16:48:14 +08:00
我的群晖是 4 盘位,做了两个单独的 raid1 分区,只要其中一个盘出问题,马上该分区的双盘都不要了,买市面上能买得起的品质最好的 nas 盘。两个分区 一个分区存放最重要的工作和生活资料,另一个分区放当年积累的视频或其他临时数据。nas 盘,除了备份外,偶尔读取使用,不做任何其他用途,此外还有十几个各类单独硬盘,接在路由器上使用 或 临时下载使用。我家保存的数据从上世纪末到现在有二十年了,从未丢失过。 依我看,楼主自己吸取的教训并不是你舍不舍得投钱,而是对数据的重视程度,以及保存数据的思路,我看你自己维护的过程,缺少整体思路,缺少对意外情况的预案,总感觉还是不够完善。
qwepoidjdj
2020-08-20 16:50:49 +08:00
作为 200T 用户说说心得吧
10T X 20 5 个主机每个带 4 个盘
没有 raid 成本过高了 直接 basic 裸跑 2 年了还没出问题
几个关键点
1 盘要好 我这些都是 wb 的 mybook 或者 element 都是氮气盘质量刚刚的
2 电源要好 用电环境要稳定 断电是丢失数据的最大因素之一 一定要避免
3 系统里少装乱七八糟的东西 只装必要的软件就行了
4 同盘避免并发操作 大数据又删又写真的容易卡主 卡主就感觉很危险
5 当盘的使用时间过长后 可以考虑数据迁移 /封存 完毕后就下线放到保存盒里封印
6 重点数据多份保存 一般重点数据其实不会很多 很难超过 1T 直接 3 份定时冷备就好 我个人的冷备数据也就 60G 左右 图片视频多

不知道 5 年后这些盘还能不能撑住 :D
wanguorui123
2020-08-20 16:53:42 +08:00
1 、硬盘长时间运行后莫名其妙的会出现数据丢失问题,由于一般的 NAS 没有自动巡检功能,很难发现存储单元级别的错误,当硬盘损坏时这些细小的错误都会被暴露出来
2 、NAS 接入网络存在被黑掉的风险
3 、鸡蛋不能放到一个篮子里,重要数据冷备份是很有必要的
4 、专业的数据容灾都是:1+2+3
zvl0reqglvd
2020-08-20 16:56:31 +08:00
买个磁带机,录成磁带,效果很好的。
hotsun168
2020-08-20 16:58:38 +08:00
@Tyuans 电影等可以随时下载的东西我倒是不往 NAS 里放。都是直接在线看了。
@superszy 所以和自己期望值不太一样的事情容易记得清楚。
@otakustay RAID6 或 SHR2 呢加非同批次硬盘呢。
@matolv 群晖也有 S.M.A.R.T 定时任务,一个月短测,半年长测。我买群晖主要是觉得省心。
@icyalala 我也怕家里小孩直接把群晖砸地上,所以考虑上蓝光冷备。
@calpes 主贴已经写了,包括结婚视频、小孩满月照,已经足够珍贵了。脑子被驴踢了没有把这两个东西做备份。
@chevalier @testver 先 RAID1,有钱了再弄第二台设备。目前也只能在数据保全与财政负担做平衡。
@wenwen226400 所以您认为只有单盘无 RAID 加各种同步冷备才是最优方案?
@luzhh 看来群晖默认的 S.M.A.R.T 频率太低,我给他改小了。每月长测,每周短测。
@Bear13023 Unraid 前面有人推荐。我了解一下。感谢分享。
sonxzjw
2020-08-20 17:00:53 +08:00
@nullboy 群晖就这德行,要加密你的硬盘所以都会按它要求重新格式化。你以后要取数据也必须通过群晖。

所以我下一个是打算威联通了,直通。拔出来后就是随便用。
hotsun168
2020-08-20 17:09:58 +08:00
@giesler 从未拥有过 14T 这么大的空间,之前 6T 的空间已经抠抠搜搜用了 5 年,所以不免有些激动,现在回想起来后悔至极。
@qwepoidjdj 数据丢了之后我就在搜各种可能导致 NAS 出问题的原因。上 UPS 就是为了防止突然断电,测试过效果还不错。
wenwen226400
2020-08-20 17:13:53 +08:00
@hotsun168 如果非要用 raid,就用 zfs 的,不过看你连硬盘都舍不得买,我推荐你用 snapraid,介绍自己搜,这个方案也有缺点,比如硬盘挂了,要修复好之后才能用,不能用于生产,但家用比别的方案都好,还是最便宜的,冷备不需要的
NetCobra
2020-08-20 17:15:32 +08:00
“用外接硬盘座接入 14T 硬盘”,这个可能是个问题。
记忆里见过不少外界硬盘底座导致硬盘出问题得帖子了。

我的 NAS 是一台 HP MicroServer Gen8,宿主机是 Win Server 2019 + Hyper-V,里面跑 Debian Linux 运行下载、Samba 、Git 、nginx 等等服务,重要数据在 Win 宿主机和 Linux 之间用 Syncthing 同步。

当然了,物理上这两个系统还是在同一台电脑上的,所以隔段时间自己手工做冷备。
ladypxy
2020-08-20 17:15:42 +08:00
家庭使用没必要 R1,使用 SHR 即可,这玩意就是 linux 的 LVM 。好处是硬盘容量不需要一致,适合家庭用户这种不定期加一块盘或者换一块盘的情况
JasperYanky
2020-08-20 17:18:34 +08:00
iCloud 2T 可以保平安么
Archeb
2020-08-20 17:18:47 +08:00
我是 NAS 数据全量同步两个云盘,本地单盘(因为没有钱 _(:з)∠)_
tankren
2020-08-20 17:18:59 +08:00
所以什么 raid 什么 shr 都不如 UPS 加多盘多点备份
我的照片都是多盘备份加网盘
系统是 omv 文件系统 ext4 不要太稳啊 兼容性还高
ryd994
2020-08-20 17:28:59 +08:00
你不应该买 14T 的盘
单盘容量大对数据安全性是负面的

同等总可用容量,单盘大就意味着你的故障范围更大了,或者想要保证相同冗余度的前提下需要更高的成本
单盘*(数据盘数量+冗余盘数量)
2*(6+2) vs 4*(3+2) vs 4*(3+1)

而且无论单盘多大,现代的硬盘单盘传输速率都是差不多的,至少不成比例。
以上面的例子:如果挂了一块盘,恢复 4t 单盘的时间几乎是 2t 单盘的两倍
重建时间长,就意味着你有更长的时间处于冗余度降级的危险状态下。反过来说你就需要预备更多的冗余度以应对连续故障。

当然,太多盘也不好,这会使今后的升级成本很高。管理起来也复杂。同时 raid 计算会需要很多资源。随机写入会更差。


楼上说 raid1 的,恐怕是没有真的计算过损坏几率。没人真的组 4 盘 raid1 吧?说的恐怕是 raid10 。
4 盘 raid10,按照墨菲定律,最坏的情况下你可以坏几块而不损失数据?你只能坏一块。因为这时它的镜像就是单点。而 raid6 呢?任意两块。所以从安全性来说,raid6 是必定超过 raid10 的。
如果考虑 6 盘,结论还是不变,因为那个单点永远在哪里。更多的冗余盘并不一定能提供更好的冗余度。只要你还是两两组 raid1,你就永远只有 1 度冗余。而 raid6 有 2 度。
而且 raid6 这时还提供了更多的可用空间。

为什么生产环境中还是经常用 raid10 ?因为 raid10 的性能,特别是随机写性能显著高于 raid6 。如果写 1 字节,raid10 只需要在两个盘上各写一字节就够了。raid6 需要在六个盘上读一整块,通常是数 MB,重新计算校验,再写回。连续写的话 raid6 不吃亏,因为可以整块在内存里计算好再连续写入。

生产数据肯定还有更多备份。真挂了就再恢复就可以了。三盘组 raid1 也行,反正不差这点成本。超过这个级别的 sla,那就不是靠加 raid 能解决的。还不如上分布式文件系统,或者异地冗余,毕竟除了硬盘你还要考虑其他部件故障的几率。还有区域性故障的几率。

一般认为,超过单盘 2T 就不可以再用 raid5 了,因为重建时间太长。不能用 raid5 就意味着也不能用 raid1,因为他们的冗余度是一样的。
nbweb
2020-08-20 17:44:27 +08:00
最近 diy 了一台 nas,也在做环境搭建和数据迁移的工作。

新 nas 放了两个 14T 做 raid 1,把家里两个 4T 的分开存的,全部了迁移到 14T 上面来。

装的 esxi,虚拟了 debian 和黑群。
hanqi7012
2020-08-20 18:00:26 +08:00
其实一开始卡死的时候硬盘就有问题了

这个时候就该换了

群辉等 nas 系统有一个好就是 s.m.a.r.t 的监控和报警

定时重启有可能加速了死亡

另外复制不行 ghost 也弄不出来啊想啥呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/699891

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX