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