前不久和同事讨论 nas 数据安全问题,他最近刚入 nas 坑,买了两个盘,由于曾经经历过多次多年数据损失,买了希捷企业盘( 8t )选择了保守的 raid1 ,我一听,觉得没必要太费空间了,况且这个盘也不便宜,而且他入的貌似四盘位 nas (没细问),于是就介绍我的处理方案:重要数据定时一个任务在两个盘内备份就好,不组阵列来容错,而且我也觉得软 raid 重建也是头大的问题。
于是就有了他灵魂的一问:万一你原始数据盘中文件部分损坏,那复制过去不是都坏了?(他看中 raid 有数据校验功能,认为 raid 可以规避这个风险)
听到愣了一下,想说这种事情概率极低吧?好像又不合适,确实有这个硬盘内比特翻转的风险,自己也经历过大量数据复制时发生数据部分损坏情况,于是没有立刻回答。
后续自己觉得这个事情不对劲,不可能存在这么大个风险而专业厂家不解决,不然 IDC 也开不下去啊,因为我自己用的是群晖,就在群晖官网找答案,果然有:https://www.synology.cn/zh-cn/dsm/Btrfs,原来在文件系统层面就已经解决了这个问题,普通用户该咋用咋用。
1
busier 348 天前 via Android
Zfs. Btrfs 都有这个功能。
我用 btrfs ,手动命令操作简单。为防止意外,有同步备份,既然有备份了,还要个鬼的 RAID1 ,我又没有不停机换硬盘需求,用 RAID1 就是自找麻烦。 |
2
Soar360 348 天前
BTRFS 这个系统优点很多,但不适合用来装数据库。应该也很少有人会用 NAS 来装数据库……
|
3
1018ji 348 天前
单盘 H 啊哈哈
|
4
wheat0r 348 天前 2
小知识,备份不是冗余,对数据安全有要求的场景备份和冗余都要做
|
5
totoro625 348 天前
RAID1 保障硬盘故障还能正常运行,换一块硬盘就行
备份保障硬盘故障/误删除还有一份数据,不止于一无所有,但是恢复原有配置麻烦点 在优先级上二选一,肯定是选择备份,但是云备份也是一种备份,可能他已经云备份了 在同一台机器内的两个盘拷贝一份资料,勉强算是备份吧,不算安全的备份,比单纯的 RAID1 强一点 群晖的硬盘检测功能,基本上硬盘坏一点点就让你换硬盘了,个人觉得,这个时候丢失的数据在承受范围内 |
6
i4t 348 天前
数据丢了就是下一份帖子了,我感觉人家用 raid1 没毛病,IDC 都用 raid10 ,或者有单独的备份服务器
|
7
cadmuxe 348 天前 1
我真正重要的数据都在 google drive 和 google photos 里,nas 也备了一份。
nas 5*20T, 开了 SHR-2 (两个盘的冗余),基本就是一些电影啥的,两盘冗余也坏了丢数据那也就认了。。 在搞冷备份,热备份啥的不值当。 |
8
xdzhang 348 天前
鸡蛋不放一个篮子,每天数据都分发到不同的存储中。
|
9
ltkun 348 天前 via Android
zfs 省心省力
|
10
xiaoz 348 天前
NAS 我都没做 RAID ,浪费磁盘。重要数据我都是定时同步到其它盘额外保存一份,不重要的都不用存多份。
|
11
ShinichiYao 348 天前
你要考虑的是万一原文件由于误操作或者编辑坏了或者被勒索病毒加密了,备份会不会也同步
|
13
chevalier 348 天前 16
靠 RAID 来做数据安全,总有一天会被教做人
RAID 的设计目的是高可用,是盘有故障时换盘不停机,不是用来做安全备份的 手抖误删了文件,RAID 有用吗? 中了勒索病毒,RAID 有用吗? 电涌把 NAS 炸了,RAID 有用吗? 熊孩子把 NAS 浇水了,RAID 有用吗? |
14
StoneHuLu 348 天前
我直接 snapraid+mergefs 没那么多花里胡哨的
|
16
ButcherHu 348 天前
感觉就是分布式考虑的那些问题嘛
|
17
v2tudnew 348 天前
"重要数据定时一个任务在两个盘内备份就好,不组阵列来容错"
你的观点是单盘靠复制来容错对吧?然后你发的链接,官方明确表示: ”Btrfs 文件系统就能通过镜像元数据自动检测到损毁的文件(静默数据损坏),并使用支持的 RAID 存储卷来还原受损的数据,包括 RAID 1 、RAID 5 、RAID 6 、RAID 10 、F1 和 SHR 。“ 前提条件不是租 RAID1 以上吗?所以我觉得,你可能、大概率还是坑了对方。🤣 重要数据可以只多备份,但一定要有冗余文件,比如 PAR2 、RAR 恢复卷。 |
18
MoonLin 348 天前 1
snapraid 配置数据巡检,关于空间浪费,snapraid 做到了很好的均衡,[这是我的选型参考]( https://blog.io01.xyz/posts/6op1/#raid-%E9%80%89%E5%9E%8B)。元旦把我一块服役了 13 年的老硬盘换掉了,重建非常丝滑。
|
19
mantouboji 348 天前
RAID 解决的是高可用性,就是一个盘故障了数据还能访问。
备份是一套策略,解决发生灾难后能恢复数据。 两者不要混为一谈。 |
21
MoonLin 348 天前
这超链识别有点奇怪啊,重新更正一次: https://blog.io01.xyz/posts/6op1/#raid-%E9%80%89%E5%9E%8B
|
22
zololiu 348 天前
感谢这个帖子,涨知识了。
|
23
mantouboji 348 天前
@yhm2046 比如,你要分析自己的备份需求,看是需要在线近线还是离线,是手动操作还是全自动,有没有异地容灾的需求等等。
备份可以使用各种存储设备和媒体,特点是都要跟你日常使用的存储设备分开。 比如苹果的 TimeMachine 就可以算是自动化的在线备份。 自己定时拷贝到网盘,也算是手动的在线备份。 自己准备个大容量移动硬盘,隔段时间把数据拷贝进去,算是手动的离线备份。 企业场合弄个磁带库,由软件控制定时存到磁带上,那就是自动化的离线备份。 再把这些磁带或者磁盘有好事者车载以入拉到隔壁省,那就是异地容灾了。 等等等等,不一而足,专家们可以补充。 |
24
nlfiasel 348 天前
文件级别解决位反转可以考虑用 Parchive
|
25
gdbeixi OP @v2tudnew 确实该补充,后续了解到,btrfs 在某些阵列时候才有修复,单盘只使用其读取时校验特性,报告文件损坏而不污染损坏文件到备份盘中,这样也就防止了错误扩大
|
26
gdbeixi OP @ShinichiYao 这点倒是还好,做了快照以及备份不是那么频繁,文件还是能保住的🤣
@i4t 定时备份是权衡利弊下的选择,毕竟个人真正不可或缺的数据量不是那么多,绝对重要数据也遵循 3-2-1 备份原则,即保存三份文件,存储在两个不同介质中,一个异地备份,个人唯一一次文件丢失损坏还是几年前拷多年收藏的电影到 nas 中时候,回想起来应该就是拷贝时出现错误导致 |
27
lerry 348 天前 1
|
28
lerry 348 天前
|
30
lerry 348 天前 1
@gdbeixi #29
损坏的表现要看具体的文件类型,损失的部分重不重要,程序如何解析数据。 不知道你有没有试过播放没下载完的文件,迅雷时代经常遇到文件下载到 99%不动了,或者不到 99%,这时候用把文件拖到播放器大概率是能播的,但是无法拖动进度或者到播放到某个位置就卡住了。 副本确实坏了,但是时间太久了,中间 Nas 坏过,文件拷来拷去,已经说不好是哪一次出的问题了。 |
31
gdbeixi OP @lerry 视频损坏倒是了解其能继续播放,之前拷贝时损坏过,中间有几帧卡丢那种,图片( jpeg )我一直认为其用了压缩要是有损坏就拿不到完整 bitmap ,看来还是知识浅薄了🤣
|
32
weidaizi 348 天前
哈哈哈哈,正好昨天实现了一个冷备方案的小工具,OP 可以看这个帖子: https://v2ex.com/t/1007499
|
33
dongtingyue 348 天前
RAID 是规避硬件故障, 始数据盘中文件部分损坏 硬盘坏道会引起。idc 服务器用的就是 raid 卡组,5 就够有坏换一个盘自动重建。
|
34
zxz1007 348 天前
实践才是检验问题的好办法,我自己 2007 开始用 RAID5 后转 RAIDZ ,前后 17 年,期间遇到过 2 次磁盘损毁,没有丢失一次数据。
实际上大部分丢数据都是因为认为操作不当,只要你在灾害恢复时有清晰的思路 RAID 是完全没有问题的。况且现在主流的 NAS 系统都带 snap 功能,合适的配置后完全能抵御误删,病毒等问题。 |
35
catamaran 348 天前
前单位遇到过一次事故,raid 硬盘同时全毁,你能信吗?
|
36
wanguorui123 348 天前
等硬盘坏掉时候就知道 RAID 到底有没有必要了,还有就是 IDC 都是 RAID10 起步有条件会做异地容灾,其次就是硬件 RAID 卡一般都有静默纠错功能
|
37
YsHaNg 348 天前
@gdbeixi 这个之前有讨论过 https://note.lishouzhong.com/article/wiki/%E7%BE%A4%E6%99%96%E7%9B%B8%E5%85%B3.html
mdadm 有冗余的情况下 btrfs 才会 self healing 单盘只检查不修复 raid1 有可能因为 lvm load balance 不修复从盘 bit rot 主盘一定修复 raid5 以上一定都修复 但是群晖内核太老 btrfs raid5 还不在 stable 状态 有写入黑洞问题 |
38
xzaf 348 天前
真的重要数据,应该是多套方案来保整尽量安全。
我没什么重要数据,但我的小姐姐们都是 raid1 。 |
39
dd102 348 天前
原来我也是冷备,后天安装套件那个盘告警,迁移好累,我就搞了 2 个 18T 做 RAID1
|
40
kujou 348 天前
@lerry 你这个奇妙的问题我也遇到过,我甚至神经质的思考以后要不要每个文件名末尾都用 MD5 命名呢,同一个文件我甚至出现几分钟前后通过 wifi 传输完 sha1sum 就合不上的事情。虽然很多时候,视频和图片,即使几个字节被更改,一样可以正常使用,但想想就是很膈应人啊。所以我现在很多东西都放在压缩包里,拿出来用也是压缩包然后再解压,因为压缩包自带校验,损坏了至少自己会立刻知道。网盘也不保险,我以前也出现过从网盘下载的数据合不上。。。
|
41
ZRS 348 天前 1
远离 btrfs ,目前真正可靠可用的只有 zfs
|
43
ryd994 348 天前 via Android
@v2tudnew “前提条件不是租 RAID1 以上吗?”
并不是。zfs 一直都有校验。但是没有冗余数据的话,就算知道数据错了又能怎么办呢?区别在于 zfs 能检测错误,而其他一些文件系统无法检测。 不组 raid1 ,还想应对冷错误的话,也有办法,zfs 有个 copies 参数。因为是单盘,所以无法应对硬件损坏或是文件系统结构错误。只可以应对文件数据上的冷错误。 |
44
KKbu 347 天前 via Android
@chevalier 现实是好多人没有异地备份的条件。
手抖误删文件 btrfs 这类文件系统可以支持 snap ,空间占用很少,这个对 raid 来说不是问题 同一台机器上的数据备份也无法解决炸 nas 的问题 相比较而言 raid1 可以实时镜像数据而且数据读取写入冗余更高 当然我认为最好的方式还是 raid+异地备份 |
45
LeeReamond 347 天前
两个问题,一个是 raid1 里面文件只有一个备份,如果你有一个好的文件和一个坏的备份,系统怎么判断哪个是好的哪个是坏的?用哈希机制的话,多个坏点如何处理?第二个问题,raid1 普通 PC 没有阵列卡能直接读取硬盘吗
|
46
cndenis 347 天前
楼主需要的是时间线/TimeMachine/版本管理的机制, 坏掉的可以回到上一版
|
47
sayitagain 347 天前
白裙,raid1+单盘,raid1 的数据全部同步到百度云,单盘上放不重要数据,丢了就丢了
|
48
jingwl 347 天前
@LeeReamond
" raid1 里面文件只有一个备份,如果你有一个好的文件和一个坏的备份,系统怎么判断哪个是好的哪个是坏的?" https://www.synology.cn/zh-cn/dsm/Btrfs 群晖官方介绍如下: Btrfs 文件自我修复 传统储存系统可能遇到错误但完全被忽略掉,导致将损坏的数据提供给应用程序,而且不会有警告或错误消息。为了避免这类错误,Btrfs 会提供数据和元数据的校验和,生成两份元数据,然后在每个读取过程中验证校验和。一旦发现不匹配(静默数据损坏),Btrfs 文件系统就能通过镜像元数据自动检测到损毁的文件(静默数据损坏),并使用支持的 RAID 存储卷来还原受损的数据,包括 RAID 1 、RAID 5 、RAID 6 、RAID 10 、F1 和 SHR 。 |
49
v2tudnew 347 天前
@kujou
我已经神经质到给每个文件加 CRC32 了😂,压缩包也是采用的这个哈希值( RAR5.0 可手动更改另说),缺点不适合经常编辑以及程序类文件,后者我采用生成 SFV 或者 SHA1 文件来解决。 说起下载 BT 协议还真是先进,除了文件碎片完全不用考虑坏了整个重下的问题,HTTP 的网盘就没见实现的,下载完了要么全对要么损坏重下。 |
51
Rorysky 347 天前
数据安全 和 数据可用性 是两个问题
安全性用 321 原则 |
52
Byzliu 347 天前 via Android
没做 raid ,重要的数据直接 onedrive 同步,没多少,不怎么重要的就打包百度云盘备份了一份。
|
53
libook 346 天前
给备份盘加快照即可。
我是每天定时将重要数据增量备份到备份盘上,备份盘用 btrbk 脚本自动打快照,保留最近 7 天的快照,快照是只读的,正常的写入操作是无法覆盖的,只有手动删除快照或者格式化才有影响。 |
54
LeeReamond 345 天前
|