我想建立一个RAID1 1/BTRFS/Luks设置。到目前为止我发现的是:
可以在dm_crypt磁盘加密子系统和(LUKS)层之上创建加密的Btrfs文件系统,该层支持各种加密标准。但是,这种方法会禁用在原始块设备上使用Btrfs的一些功能和优点,例如自动固态磁盘支持和检测。
实现此解决方案的最佳方法是什么?
/dev/sda1 < 500 Gb
/dev/sdb1 < 500 Gb
/dev/md0 < RAID1 stripe < Luks < BTRFS < snapshots像这样的装置有用吗?
我看不出不失去BTRFS快照功能的其他方法。我可以在没有mdadm的情况下使用btrfs设置raid,例如:
mkfs.btrfs -m raid1 -d raid1 /dev/sda /dev/sdb但是我在上面找到了btrfs,在那里我只能丢弃luks加密的图像。即使图像中的1位更改会影响btrfs的快照(也可以再次复制整个图像文件)。
发布于 2014-09-23 12:23:14
需要注意的是,如果您使用md进行镜像,并在其上创建带有"-d单“的btrfs,您将失去从比特错误中恢复的能力(btrfs仍然会检测到它们)。
所以最好的解决方案是你的第二个例子:
原始设备-> LUKS -> btrfs RAID1来自LUKS设备
loan已经为您回答了剪裁/丢弃部分,我没有什么可添加的。
发布于 2014-07-29 18:06:16
但是,这种方法会禁用在原始块设备上使用Btrfs的一些功能和优点,例如自动固态磁盘支持和检测。
cryptsetup支持传递TRIM请求;您只需要在执行cryptsetup open时使用参数--allow-discards,或者在使用/etc/crypttab时使用discard作为选项。在执行mkfs.btrfs之前这样做,您将看到它检测到SSD并打开TRIM。您还可能希望确保在以后挂载文件系统时使用discard,ssd作为选项。
即使图像中的1位更改会影响btrfs的快照(也可以再次复制整个图像文件)。
BTRFS将检测数据/元数据块中的任何位损坏,并使用另一个副本纠正该块(它不会复制文件)。快照引用现有的数据/元数据块,通常不会占用额外的空间。如果块的一部分(文件的一部分)稍后发生更改,则将单独进行复制和引用(除非块包含整个文件,否则不会复制文件)。未修改的块将不会被复制,只是引用。
https://serverfault.com/questions/610885
复制相似问题