lvm – 集群MySQL的加密存储

前端之家收集整理的这篇文章主要介绍了lvm – 集群MySQL的加密存储前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我要求在2.6.32 linux内核上提供高度可用的 MySQL数据库和静态加密. “高可用性”部分并不那么难,但与HA结合使用时,“加密静态”证明是一项挑战.

关键问题在于安装加密存储.在我们所有其他加密静止系统上,都有一个需要由人工运行的命令,然后提示他输入加密密钥.当涉及到服务必须自动启动的集群安排时,这种模型有一个相当明显的缺陷.

我目前不知道如何在HA环境中提供静态加密,而不是在同一系统上存储密钥密码.

我可以看到两种可能的情况,其中任何一种都适用于我的环境,但我不确定使它们工作的细节.或者即使有可能.

场景1:CLVM&簇

>我的群集成员之间共享卷.
>此卷大致设置为:

>物理设备上的cryptsetup内容
>新密码设备上的LVM内容

>群集服务设置为不依赖于手动干预自动加入群集.
>群集服务是通过人工运行的命令启动的,人工提供解密密钥,从而激活CLVM内容.

这样,运行节点可以访问CLVM卷,以便在集群管理器告知时可以启动服务.重新启动节点仍然需要一个人,而密码密码永远不会保存在磁盘上.

场景2:DRBD&簇

>在每个集群成员上创建卷
> cryptsetup stuff在物理设备上运行
> drbd配置在加密设备的顶部,以在每个节点之间复制它
> LVM或文件系统放在drbd卷的顶部
>群集服务设置为不依赖于手动干预自动加入群集.
>群集服务由提供解密密钥的人员启动,从而使LVM(或文件系统)可见但未挂载.

与CLVM设置一样,节点在可以看到可能共享的存储之前不会加入群集.

问题是,我不确定上述任何一种方式是否正常.两者都假设可以在加密卷(例如pvcreate / dev / mapper / cryptMysqL)之上层叠LVM PV.这可能是不可能的.

解决方法

主要挑战似乎是关键进入的人为干预.这有一些帮助:dm-crypt支持您的平台可能提供的TPM.有关配置详细信息,请参见 this IBM blueprint此外,LUKS/cryptsetup支持文件/从标准输入读取插槽密钥.如果您可以安全地存储密钥( like on a smartcard),这可能是一个可行的选择.

关于你是否可以在dm-crypt卷上拥有LVM PV的问题:你可以,你需要在插槽解锁后运行pvscan / vgchange -a -y.几年前,我们使用更旧的内核运行这种设置.最后,由于性能原因,我们已经放弃了将SED用于具有静态数据加密要求的应用程序(当时dm-crypt用于为每个加密设备使用单个线程,这导致我们设置中的cpu瓶颈).

猜你在找的Linux相关文章