一次 nas 数据安全讨论发现的知识

2024-01-10 09:20:17 +08:00
 gdbeixi

前不久和同事讨论 nas 数据安全问题,他最近刚入 nas 坑,买了两个盘,由于曾经经历过多次多年数据损失,买了希捷企业盘( 8t )选择了保守的 raid1 ,我一听,觉得没必要太费空间了,况且这个盘也不便宜,而且他入的貌似四盘位 nas (没细问),于是就介绍我的处理方案:重要数据定时一个任务在两个盘内备份就好,不组阵列来容错,而且我也觉得软 raid 重建也是头大的问题。
于是就有了他灵魂的一问:万一你原始数据盘中文件部分损坏,那复制过去不是都坏了?(他看中 raid 有数据校验功能,认为 raid 可以规避这个风险)
听到愣了一下,想说这种事情概率极低吧?好像又不合适,确实有这个硬盘内比特翻转的风险,自己也经历过大量数据复制时发生数据部分损坏情况,于是没有立刻回答。
后续自己觉得这个事情不对劲,不可能存在这么大个风险而专业厂家不解决,不然 IDC 也开不下去啊,因为我自己用的是群晖,就在群晖官网找答案,果然有:https://www.synology.cn/zh-cn/dsm/Btrfs,原来在文件系统层面就已经解决了这个问题,普通用户该咋用咋用。

7463 次点击
所在节点    NAS
55 条回复
ZRS
2024-01-10 23:10:38 +08:00
远离 btrfs ,目前真正可靠可用的只有 zfs
cadmuxe
2024-01-11 01:24:33 +08:00
@bjfane 不用的。
而且像有些朋友提到的冗余不是备份,只是那些数据不重要,而且那么大的量搞备份很贵很麻烦。
所以就简单开个冗余。
ryd994
2024-01-11 06:00:13 +08:00
@v2tudnew “前提条件不是租 RAID1 以上吗?”
并不是。zfs 一直都有校验。但是没有冗余数据的话,就算知道数据错了又能怎么办呢?区别在于 zfs 能检测错误,而其他一些文件系统无法检测。

不组 raid1 ,还想应对冷错误的话,也有办法,zfs 有个 copies 参数。因为是单盘,所以无法应对硬件损坏或是文件系统结构错误。只可以应对文件数据上的冷错误。
KKbu
2024-01-11 08:06:47 +08:00
@chevalier 现实是好多人没有异地备份的条件。
手抖误删文件 btrfs 这类文件系统可以支持 snap ,空间占用很少,这个对 raid 来说不是问题
同一台机器上的数据备份也无法解决炸 nas 的问题
相比较而言 raid1 可以实时镜像数据而且数据读取写入冗余更高
当然我认为最好的方式还是 raid+异地备份
LeeReamond
2024-01-11 08:57:20 +08:00
两个问题,一个是 raid1 里面文件只有一个备份,如果你有一个好的文件和一个坏的备份,系统怎么判断哪个是好的哪个是坏的?用哈希机制的话,多个坏点如何处理?第二个问题,raid1 普通 PC 没有阵列卡能直接读取硬盘吗
cndenis
2024-01-11 09:57:02 +08:00
楼主需要的是时间线/TimeMachine/版本管理的机制, 坏掉的可以回到上一版
sayitagain
2024-01-11 10:18:47 +08:00
白裙,raid1+单盘,raid1 的数据全部同步到百度云,单盘上放不重要数据,丢了就丢了
jingwl
2024-01-11 11:00:36 +08:00
@LeeReamond
" raid1 里面文件只有一个备份,如果你有一个好的文件和一个坏的备份,系统怎么判断哪个是好的哪个是坏的?"
https://www.synology.cn/zh-cn/dsm/Btrfs 群晖官方介绍如下:
Btrfs 文件自我修复
传统储存系统可能遇到错误但完全被忽略掉,导致将损坏的数据提供给应用程序,而且不会有警告或错误消息。为了避免这类错误,Btrfs 会提供数据和元数据的校验和,生成两份元数据,然后在每个读取过程中验证校验和。一旦发现不匹配(静默数据损坏),Btrfs 文件系统就能通过镜像元数据自动检测到损毁的文件(静默数据损坏),并使用支持的 RAID 存储卷来还原受损的数据,包括 RAID 1 、RAID 5 、RAID 6 、RAID 10 、F1 和 SHR 。
v2tudnew
2024-01-11 11:01:57 +08:00
@kujou
我已经神经质到给每个文件加 CRC32 了😂,压缩包也是采用的这个哈希值( RAR5.0 可手动更改另说),缺点不适合经常编辑以及程序类文件,后者我采用生成 SFV 或者 SHA1 文件来解决。
说起下载 BT 协议还真是先进,除了文件碎片完全不用考虑坏了整个重下的问题,HTTP 的网盘就没见实现的,下载完了要么全对要么损坏重下。
v2tudnew
2024-01-11 11:12:02 +08:00
@ryd994
在回复前起码把题主和我的观点看完吧😅,有种鸡同鸭讲的感觉。
题主给的是 btrfs 链接,你说 ZFS......
Rorysky
2024-01-11 13:40:27 +08:00
数据安全 和 数据可用性 是两个问题

安全性用 321 原则
Byzliu
2024-01-11 13:50:28 +08:00
没做 raid ,重要的数据直接 onedrive 同步,没多少,不怎么重要的就打包百度云盘备份了一份。
libook
2024-01-12 11:27:30 +08:00
给备份盘加快照即可。

我是每天定时将重要数据增量备份到备份盘上,备份盘用 btrbk 脚本自动打快照,保留最近 7 天的快照,快照是只读的,正常的写入操作是无法覆盖的,只有手动删除快照或者格式化才有影响。
LeeReamond
2024-01-13 09:52:50 +08:00
@jingwl
1 看起来对多坏点束手无策。
2 也就是说选择这套方案以后除了必须依靠 RAID 板,还得额外依赖一个群辉特供版文件系统。我还是选择 NTFS 和软件校验吧
ccxuy
2024-08-09 10:59:41 +08:00
@lerry RAID0 怎么防止静默损坏,最好用 snapraid 那种校验吧

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

https://www.v2ex.com/t/1007363

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

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

© 2021 V2EX