4.2. 使用 GFS2 文件系统配置集群 LVM 卷
这个用例要求您在集群节点间共享的存储中创建集群的 LVM 逻辑卷。
这部分论述了如何使用那个卷中的 GFS2 文件系统创建集群 LVM 逻辑卷。在这个示例中,使用共享分区
/dev/vdb
来存储创建 LVM 逻辑卷的 LVM 物理卷。
注意
LVM 卷以及集群节点使用的对应分区和设备必须只能连接到集群节点。
在开始此步骤前,在集群的两个节点上安装
lvm2-cluster
和 gfs2-utils
软件包,它们是 Resilient Storage 频道的一部分。
# yum install lvm2-cluster gfs2-utils
因为
/dev/vdb
分区是共享的存储,因此您只在一个节点中执行这个步骤,
- 将全局 Pacemaker 参数
no_quorum_policy
设置为freeze
。这可防止在每次 quorum 丢失时整个集群被隔离。有关设置该策略的更多信息,请参阅 全局文件系统 2。[root@z1 ~]#
pcs property set no-quorum-policy=freeze
- 设置
dlm
资源。这是clvmd
服务和 GFS2 文件系统所需的依赖项。[root@z1 ~]#
pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=true ordered=true
- 将
clvmd
设置为集群资源。[root@z1 ~]#
pcs resource create clvmd ocf:heartbeat:clvm op monitor interval=30s on-fail=fence clone interleave=true ordered=true
请注意,作为启动过程的一部分,ocf:heartbeat:clvm
资源代理将/etc/lvm/lvm.conf
文件中的locking_type
参数设置为3
,并禁用lvmetad
守护进程。 - 设置
clvmd
和dlm
依赖项并启动顺序。clvmd
资源必须在dlm
资源后启动,且必须与dlm
资源在同一节点上运行。[root@z1 ~]#
pcs constraint order start dlm-clone then clvmd-clone
Adding dlm-clone clvmd-clone (kind: Mandatory) (Options: first-action=start then-action=start) [root@z1 ~]#pcs constraint colocation add clvmd-clone with dlm-clone
- 验证
dlm
和clvmd
资源是否在所有节点上运行。[root@z1 ~]#
pcs status
... Full list of resources: ... Clone Set: dlm-clone [dlm] Started: [ z1 z2 ] Clone Set: clvmd-clone [clvmd] Started: [ z1 z2 ] - 创建集群逻辑卷
[root@z1 ~]#
pvcreate /dev/vdb
[root@z1 ~]#vgcreate -Ay -cy cluster_vg /dev/vdb
[root@z1 ~]#lvcreate -L4G -n cluster_lv cluster_vg
- 另外,要验证卷是否已成功创建,您可以使用 lvs 命令显示逻辑卷。
[root@z1 ~]#
lvs
LV VG Attr LSize ... cluster_lv cluster_vg -wi-ao---- 4.00g ... - 使用 GFS2 文件系统格式化卷。在本例中,
my_cluster
是集群名称。本例指定-j 2
指定两个日志,因为您配置的日志数量必须等于集群中的节点数量。[root@z1 ~]#
mkfs.gfs2 -p lock_dlm -j 2 -t my_cluster:samba /dev/cluster_vg/cluster_lv
- 创建
Filesystem
资源,它将 Pacemaker 配置为挂载和管理文件系统。这个示例创建了名为fs
的Filesystem
资源,并在集群的两个节点上创建/mnt/gfs2share
。[root@z1 ~]#
pcs resource create fs ocf:heartbeat:Filesystem device="/dev/cluster_vg/cluster_lv" directory="/mnt/gfs2share" fstype="gfs2" --clone
- 为 GFS2 文件系统和
clvmd
服务配置依赖关系和启动顺序。GFS2 必须在clvmd
后启动,且必须与clvmd
在同一个节点上运行。[root@z1 ~]#
pcs constraint order start clvmd-clone then fs-clone
Adding clvmd-clone fs-clone (kind: Mandatory) (Options: first-action=start then-action=start) [root@z1 ~]#pcs constraint colocation add fs-clone with clvmd-clone
- 验证 GFS2 文件系统是否如预期挂载。
[root@z1 ~]#
mount |grep /mnt/gfs2share
/dev/mapper/cluster_vg-cluster_lv on /mnt/gfs2share type gfs2 (rw,noatime,seclabel)