8.2. 在集群中配置加密的 GFS2 文件系统
您可以按照以下流程创建一个包含 LUKS 加密的 GFS2 文件系统的 Pacemaker 集群。在这个示例中,您可以在逻辑卷上创建一个 GFS2 文件系统,并加密文件系统。使用 crypt
资源代理支持加密 GFS2 文件系统,该代理支持 LUKS 加密。
此流程有三个部分:
- 在 Pacemaker 集群中配置共享逻辑卷
-
加密逻辑卷并创建一个
crypt
资源 - 使用 GFS2 文件系统格式化加密的逻辑卷并为集群创建文件系统资源
8.2.2. 加密逻辑卷并创建 crypt 资源 复制链接链接已复制到粘贴板!
先决条件
- 您已在 Pacemaker 集群中配置了共享逻辑卷。
步骤
在集群的一个节点中,创建一个包含 crypt 密钥的新文件,并在文件中设置权限,使其只能被 root 读取。
touch /etc/crypt_keyfile chmod 600 /etc/crypt_keyfile
[root@z1 ~]# touch /etc/crypt_keyfile [root@z1 ~]# chmod 600 /etc/crypt_keyfile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 crypt 密钥。
dd if=/dev/urandom bs=4K count=1 of=/etc/crypt_keyfile scp /etc/crypt_keyfile root@z2.example.com:/etc/
[root@z1 ~]# dd if=/dev/urandom bs=4K count=1 of=/etc/crypt_keyfile 1+0 records in 1+0 records out 4096 bytes (4.1 kB, 4.0 KiB) copied, 0.000306202 s, 13.4 MB/s [root@z1 ~]# scp /etc/crypt_keyfile root@z2.example.com:/etc/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
-p
参数将 crypt keyfile 分发到集群中的其他节点,以保留您设置的权限。scp -p /etc/crypt_keyfile root@z2.example.com:/etc/
[root@z1 ~]# scp -p /etc/crypt_keyfile root@z2.example.com:/etc/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在要配置加密的 GFS2 文件系统的 LVM 卷中创建加密设备。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 crypt 资源,作为
shared_vg1
卷组的一部分。pcs resource create crypt --group shared_vg1 ocf:heartbeat:crypt crypt_dev="luks_lv1" crypt_type=luks2 key_file=/etc/crypt_keyfile encrypted_dev="/dev/shared_vg1/shared_lv1"
[root@z1 ~]# pcs resource create crypt --group shared_vg1 ocf:heartbeat:crypt crypt_dev="luks_lv1" crypt_type=luks2 key_file=/etc/crypt_keyfile encrypted_dev="/dev/shared_vg1/shared_lv1"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
确保 crypt 资源已创建了 crypt 设备,本例中为 /dev/mapper/luks_lv1
。
ls -l /dev/mapper/
[root@z1 ~]# ls -l /dev/mapper/
...
lrwxrwxrwx 1 root root 7 Mar 4 09:52 luks_lv1 -> ../dm-3
...
8.2.3. 使用 GFS2 文件系统格式化加密的逻辑卷,并为集群创建一个文件系统资源 复制链接链接已复制到粘贴板!
先决条件
- 您已加密逻辑卷并创建 crypt 资源。
步骤
在集群的一个节点中,使用 GFS2 文件系统格式化卷。每个挂载文件系统的节点都需要一个日志。确保为集群中的每个节点创建足够日志。锁表名称的格式为 ClusterName:FSName,其中 ClusterName 是创建 GFS2 文件系统的集群名称,FSName 是文件系统名称,它必须在集群中所有
lock_dlm
文件系统是唯一的。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建文件系统资源在所有节点中自动挂载 GFS2 文件系统。
不要将该文件系统添加到
/etc/fstab
文件中,因为它将作为 Pacemaker 集群资源进行管理。可以通过options=options
将挂载选项指定为资源配置的一部分。运行pcs resource describe Filesystem
命令以了解完整的配置选项。以下命令创建文件系统资源。这个命令在包含该文件系统逻辑卷资源的资源组中添加资源。
pcs resource create sharedfs1 --group shared_vg1 ocf:heartbeat:Filesystem device="/dev/mapper/luks_lv1" directory="/mnt/gfs1" fstype="gfs2" options=noatime op monitor interval=10s on-fail=fence
[root@z1 ~]# pcs resource create sharedfs1 --group shared_vg1 ocf:heartbeat:Filesystem device="/dev/mapper/luks_lv1" directory="/mnt/gfs1" fstype="gfs2" options=noatime op monitor interval=10s on-fail=fence
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证 GFS2 文件系统是否挂载到集群的两个节点上。
mount | grep gfs2 mount | grep gfs2
[root@z1 ~]# mount | grep gfs2 /dev/mapper/luks_lv1 on /mnt/gfs1 type gfs2 (rw,noatime,seclabel) [root@z2 ~]# mount | grep gfs2 /dev/mapper/luks_lv1 on /mnt/gfs1 type gfs2 (rw,noatime,seclabel)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查集群的状态。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow