马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
大家好,今天我来在这个贴子讲一下有关加密数据损坏的这些事情作为家庭用户,这个帖子的内容会很受用,它会帮你知道你的数据损坏是怎么“无声”损坏的,你如何保护你的数据以及如何推动国产NAS的数据保护。这篇主要面向btrfs文件系统的用户,对高级文件系统特性比如“快照”等有需求的人。 我们NAS上的存储池是怎么搭建的? 在你能买到的所有国产NAS里面,所有的RAID都是由Linux内核的mdadm工具实现的,它可以把你的这些硬盘打包成一个块设备(可以理解成是把你的硬盘合并成了一个虚拟硬盘,存储管理器里面的“存储池”或者“RAID组”),然后再在这个块设备上做了几个逻辑卷(存储管理器里面的“存储空间”),然后再在逻辑卷上格式化为我们熟知的ext4和btrfs文件系统。你的共享文件夹都是在文件系统里面建立的。 好处:mdadm带来的RAID可以提供冗余+加速(抽换硬盘不丢所有数据),LVM可以灵活调整存储空间的容量(调整大小resize),btrfs可以提供高级特性(快照) 缺陷:btrfs只知道自己在单盘,其实下面还套了PV、VG和LV,在这下面还有mdadm做的存储池。btrfs无法穿透LVM层和mdadm层从硬盘拿数据,也无法和LVM以及mdadm交互。因此btrfs只剩快照、子卷管理(你能为每个共享文件夹配置快照计划和保留策略的原因)、数据校验、数据减少(透明压缩和去重)、简单碎片整理、文件系统基础功能(文件属性、权限、facl)可以用,但是这些功能完全用不了:原生存储池(RAID和多设备管理),出现了数据损坏(明显损坏和静默数据损坏)无法修复,坏了就是坏了。 数据整理功能能不能拯救数据损坏? 数据整理反而会固化错误,且mdraid会默认你的存储池里面的数据没有问题,而是校验数据出现了错误(RAID1、10是随机选择,RAID5、6、50、60是根据Data覆盖Parity,数据块覆盖奇偶校验块),数据整理(md scrub)会固化不能修的错误。mdraid只保证一致性不保证完整性。 可以修:来自硬盘的错误(坏道、弱磁道等) 不能修:静默数据损坏(内存错误、盘片位翻转、硬盘控制器谎报等) 其实从来没有厂商保证自己的内存和硬盘不会出问题(尤其是消费级产品)! 这才是为什么会出现ECC内存和ZFS文件系统。ECC可以发现和修复内存错误,保证内存里面的数据都是正确的,而ZFS可以保证数据是完整的(不放坏数据)。ZFS是家庭数据保护的终极方案,它保证了你的数据不会因为人因而损坏。 家庭用户现状要怎么备份数据? 可以使用网盘工具建立单向同步作业,将自己的数据发送到网盘上。或者使用专业的数据备份软件来备份数据,比如Duplicati。 为什么要坚持厂商尽快做出Self-Healing特性(数据自修复)? 硬盘越来越贵了换不起盘等成本敏感、获得和网盘一样的体验(从不担心数据损坏风险)。降低数据丢失的概率、保护相册等珍贵数据。抽换硬盘更从容、担心的更少。
|