使用 LUKS 重新加密未加密的 mdadm 数组是否安全?

使用 LUKS 重新加密未加密的 mdadm 数组是否安全?

我想将我的 raid6 mdadm 转换为加密的 LUKS。现在 raid6 由“/dev/sdX1”组成,它们是 raid 分区。 /dev/md0 没有分区 - 它是纯 ext4 FS。

重新加密(cryptsetup-reencrypt /dev/md0)是否安全? LUKS 是否会添加一些可能导致数据丢失/FS 损坏的特定标头?或者只有当您在 mdadm 之上有分区(即 /dev/md0p1)时才安全?

答案1

卷称为“LUKS 卷”,因为它具有 LUKS 标头。因此,如果您将非 LUKS 卷转换为 LUKS 卷,那么您确实会获得额外的标头并丢失数据空间。

LUKS 标头可以位于不同的设备 ( --header) 上,但我不知道是否cryptsetup-reencrypt支持。但无论如何,您很可能希望在 RAID 中保留 LUKS 标头。

因此你必须

  1. 将文件系统大小减少至少 4MiB

  2. cryptsetup-reencrypt与 和--new一起运行--reduce-device-size

我建议您将文件系统大小减小到比该值稍大一些--reduce-device-size(我猜一定是 4MiB 或更多)。

之后您可能想用随机数据覆盖加密的 LUKS 数据和设备末尾之间的间隙。但要非常小心。您应该首先对要覆盖的块进行备份(当然,备份到不同的卷)。

相关内容