如何在外部SSD上创建数据冗余的加密文件系统?

如何在外部SSD上创建数据冗余的加密文件系统?

通过加密和 RAID1 式数据复制格式化外部 SSD 的最简单方法是什么?

正如我最近变得可疑在我的 SSD+luks+btrfs 设置中,我开始想知道如何降低某些不常用的外部磁盘中数据丢失的风险。

虽然BTFSdm 密码文档非常有帮助,我更喜​​欢使用一种具有合理默认值的方法,我可以相信它会随着时间的推移而发展,而不必每次都从头开始研究整个问题。

理想情况下,解决方案将涉及blivet-gui,因为我想更好地理解它,因为它是由 Fedora 安装程序使用的。

答案1

从内核 4.5 开始,这可以在创建文件系统后完成。只是使用 blivet-gui 创建单个 btrfs 卷以通常的方式(加密),然后使用Btrfs 平衡/convert 在创建并安装分区后将数据切换到 DUP 配置文件,例如:


sudo btrfs balance start -mconvert=dup /run/media/<path>
sudo btrfs balance start -dconvert=dup /run/media/<path>

写入一些文件后,您将看到类似以下内容的内容:

$ lsblk | tail -n3
sdf                      8:80   0 232,9G  0 disk  
└─sdf1                   8:81   0 232,9G  0 part  
  └─luks-<UUID>        253:7    0 232,9G  0 crypt /run/media/<path>
$ sudo btrfs filesystem df /run/media/<path>
Data, DUP: total=108.00GiB, used=106.64GiB
System, DUP: total=32.00MiB, used=16.00KiB
Metadata, DUP: total=2.00GiB, used=169.94MiB
GlobalReserve, single: total=131.78MiB, used=0.00B

当然,dup 不能替代备份,甚至不能替代两个不同物理设备上的 RAID1。请参阅以下位置的警告:在单个设备上复制配置文件:

是否真的有 2 个物理副本很大程度上取决于底层设备类型。例如,SSD 驱动器可以在内部将块重新映射到单个副本,从而对它们进行重复数据删除。这否定了增加冗余的目的,并且只是浪费了文件系统空间,而没有提供预期的冗余级别。

因此,重复数据删除对 HDD 的帮助可能比对 SSD 的帮助更大。目前还不清楚加密如何影响重复数据删除和磨损均衡技术。

相关内容