LUKS加密在哪一层?

LUKS加密在哪一层?

选项1:Linux 分区 -> LUKS -> LVM

选项2:Linux 分区 -> LVM -> LUKS

从系统负载方面来看哪个堆栈更好?

背景:在我的 Linux 服务器(CPU AMD Opteron 6338P、LSI 3ware SAS / SATA-RAID 控制器,带有两个 4TB HD(RAID 1)、64GB RAM)上运行着多个 LXC 容器,不幸的是,这些容器之间存在 I/O 延迟的依赖关系。我希望尽可能通过最佳系统布局来减少这种不必要的影响。因为我有一个来自托管提供商的“专用服务器”,所以我无法更改/优化硬件配置。

答案1

虽然你的服务器似乎没有提供硬件优化的空间,但为了灵活性,我会选择选项2(Linux分区=> LVM => LUKS)而不是选项1(Linux分区-> LUKS-> LVM)。例如:

  • 在选项 2 中,您可以将一个或多个 LV 绑定到一个容器,并设置密码、密钥文件和其他 LUKS 参数(如密码和设备类型),这些参数对于该容器来说是唯一的。在选项 1 中,您还可以将一个或多个 LV 绑定到一个容器,但是所有 LV 必然会共享相同的参数,例如,您无法在一个容器上设置更强的密码,而在另一个容器上设置更弱的密码。

  • 在选项 2 中,如果出于性能原因,除了加密 LV 之外,您还可以创建非加密 LV。在选项 1 中,您必须使用不同的 PV 创建新卷组才能执行此操作。

  • 在选项 2 中,LUKS 标头损坏将仅导致一个逻辑卷丢失。在选项 1 中,LUKS 标头损坏将导致整个卷组丢失。

  • 在选项 2 中,如果可以将固态磁盘连接到服务器,则设置会更容易lvm缓存 (7)在现有的卷组上,您可以选择单独的 LV 来进行缓存。

我猜测这两种选择都会有类似的表现。

相关内容