本文主要记录构建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 章 配置集群资源