本文主要记录构建 pacemaker 集群的共享存储的学习过程,如有疑问还请查看官方文档,主要内容就是把集群分配的 iscsi 存储使用 clvm + GFS2 进行管理,使得此存储设备成功集群的共享存储

共享存储
准备
-
配置集群,请参考 通过 PACEMAKER 创建高可用集群
-
ISCSI 共享存储
-
所有的集群节点接入 ISCSI 共享存储
安装
- 安装 lvm2-cluster 和 gfs2-utils 软件包 [所有节点]
- 将全局 Pacemaker 参数 no_quorum_policy 设置为 freeze
注意
默认情况下会将 no-quorum-policy
值设定为 stop
,说明丢失一个仲裁,同时将停止剩余分区中的所有资源。通常这个选项是最安全同时也是最佳选项,但与大多数资源不同,GFS2 需要仲裁功能。丢失仲裁后,使用 GFS2 挂载的应用程序及 GFS2 挂载本身都将正常停止。所有在无仲裁的情况下停止执行资源的尝试都将失败,并最终造成每次丢失仲裁时都 fence 整个集群。
为解决这个问题,您可以在使用 GFS2 时设置 no-quorum-policy=freeze
。这意味着丢失仲裁时,重新获得仲裁钱剩余分区不会做任何操作。
- 设置 dlm 资源。这是 clvmd 和 GFS2 的必需依赖项 [单节点]
- 执行以下命令以启用集群。此命令将 /etc/lvm/lvm.conf 文件中的 locking_type 参数设置为 3 [所有节点]
- 将 clvmd 设置为集群资源 [单节点]
- 设置 clvmd 和 dlm 依赖项并启动顺序,clvmd 必须在 dlm 之后启动,并且必须与 dlm 在同一节点上运行 [单节点]
- 创建集群逻辑卷 [单节点]
注:/dev/vdb iscsi 共享存储
- 使用 GFS2 文件系统格式化逻辑卷 [单节点]
- 配置 clusterfs 资源 [单节点]
- 设置 GFS2 和 clvmd 依赖关系和启动顺序 [单节点]
- 查看资源信息
- 验证是否按预期安装了 GFS2
1 2
| /dev/mapper/cluster_vg-cluster_lv on /mnt/gfs2-demo type gfs2 (rw,noatime,seclabel)
|
- 扩展 GFS2 文件系统空间
- 添加 GFS2 日志数量
注:如果节点需要使用此共享存储,必选保证日志数量大于或者等于集群节点,集群节点数小于或等于 GFS2 文件系统日志数
- 添加挂载点
完成以上操作后,就已经成功构建了集群的共享存储,具体参数含义还望请参考官方文档介绍
参考
CHAPTER 5. CONFIGURING A GFS2 FILE SYSTEM IN A CLUSTER
第 5 章 配置集群资源