关键问题在于安装加密存储.在我们所有其他加密静止系统上,都有一个需要由人工运行的命令,然后提示他输入加密密钥.当涉及到服务必须自动启动的集群安排时,这种模型有一个相当明显的缺陷.
我目前不知道如何在HA环境中提供静态加密,而不是在同一系统上存储密钥密码.
我可以看到两种可能的情况,其中任何一种都适用于我的环境,但我不确定使它们工作的细节.或者即使有可能.
场景1:CLVM&簇
>我的群集成员之间共享卷.
>此卷大致设置为:
>物理设备上的cryptsetup内容
>新密码设备上的LVM内容
>群集服务设置为不依赖于手动干预自动加入群集.
>群集服务是通过人工运行的命令启动的,人工提供解密密钥,从而激活CLVM内容.
这样,运行节点可以访问CLVM卷,以便在集群管理器告知时可以启动服务.重新启动节点仍然需要一个人,而密码密码永远不会保存在磁盘上.
场景2:DRBD&簇
>在每个集群成员上创建卷
> cryptsetup stuff在物理设备上运行
> drbd配置在加密设备的顶部,以在每个节点之间复制它
> LVM或文件系统放在drbd卷的顶部
>群集服务设置为不依赖于手动干预自动加入群集.
>群集服务由提供解密密钥的人员启动,从而使LVM(或文件系统)可见但未挂载.
与CLVM设置一样,节点在可以看到可能共享的存储之前不会加入群集.
问题是,我不确定上述任何一种方式是否正常.两者都假设可以在加密卷(例如pvcreate / dev / mapper / cryptMysqL)之上层叠LVM PV.这可能是不可能的.
解决方法
关于你是否可以在dm-crypt卷上拥有LVM PV的问题:你可以,你需要在插槽解锁后运行pvscan / vgchange -a -y.几年前,我们使用更旧的内核运行这种设置.最后,由于性能原因,我们已经放弃了将SED用于具有静态数据加密要求的应用程序(当时dm-crypt用于为每个加密设备使用单个线程,这导致我们设置中的cpu瓶颈).