4.2. Configuring a Clustered LVM Volume with a GFS2 File System
4.2. Configuring a Clustered LVM Volume with a GFS2 File System This use case requires that you create a clustered LVM logical volume on storage that is shared between the nodes of the cluster. This section describes how to create a clustered LVM logical volume with a GFS2 file system on that volume. In this example, the shared partition /dev/vdb is used to store the LVM physical volume from which the LVM logical volume will be created. Note LVM volumes and the corresponding partitions and devices used by cluster nodes must be connected to the cluster nodes only. Before starting this procedure, install the lvm2-cluster and gfs2-utils packages, which are part of the Resilient Storage channel, on both nodes of the cluster. Since the /dev/vdb partition is storage that is shared, you perform this procedure on one node only, Set the global Pacemaker parameter no_quorum_policy to freeze . This prevents the entire cluster from being fenced every time quorum is lost. For further information on setting this policy, see Global File System 2 . Set up a dlm resource. This is a required dependency for the clvmd service and the GFS2 file system. Set up clvmd as a cluster resource. Note that the ocf:heartbeat:clvm resource agent, as part of the start procedure, sets the locking_type parameter in the /etc/lvm/lvm.conf file to 3 and disables the lvmetad daemon. Set up clvmd and dlm dependency and start up order. The clvmd resource must start after the dlm resource and must run on the same node as the dlm resource. Verify that the dlm and clvmd resources are running on all nodes. Create the clustered logical volume Optionally, to verify that the volume was created successfully you can use the lvs command to display the logical volume. Format the volume with a GFS2 file system. In this example, my_cluster is the cluster name. This example specifies -j 2 to indicate two journals because the number of journals you configure must equal the number of nodes in the cluster. Create a Filesystem resource, which configures Pacemaker to mount and manage the file system. This example creates a Filesystem resource named fs , and creates the /mnt/gfs2share on both nodes of the cluster. Configure a dependency and a startup order for the GFS2 file system and the clvmd service. GFS2 must start after clvmd and must run on the same node as clvmd . Verify that the GFS2 file system is mounted as expected.
yum install lvm2-cluster gfs2-utils pcs property set no-quorum-policy=freeze pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=true ordered=true pcs resource create clvmd ocf:heartbeat:clvm op monitor interval=30s on-fail=fence clone interleave=true ordered=true pcs constraint order start dlm-clone then clvmd-clone Adding dlm-clone clvmd-clone (kind: Mandatory) (Options: first-action=start then-action=start) pcs constraint colocation add clvmd-clone with dlm-clone pcs status Full list of resources: Clone Set: dlm-clone [dlm] Started: [ z1 z2 ] Clone Set: clvmd-clone [clvmd] Started: [ z1 z2 ] pvcreate /dev/vdb vgcreate -Ay -cy cluster_vg /dev/vdb lvcreate -L4G -n cluster_lv cluster_vg lvs LV VG Attr LSize cluster_lv cluster_vg -wi-ao---- 4.00g mkfs.gfs2 -p lock_dlm -j 2 -t my_cluster:samba /dev/cluster_vg/cluster_lv pcs resource create fs ocf:heartbeat:Filesystem device="/dev/cluster_vg/cluster_lv" directory="/mnt/gfs2share" fstype="gfs2" --clone pcs constraint order start clvmd-clone then fs-clone Adding clvmd-clone fs-clone (kind: Mandatory) (Options: first-action=start then-action=start) pcs constraint colocation add fs-clone with clvmd-clone mount |grep /mnt/gfs2share /dev/mapper/cluster_vg-cluster_lv on /mnt/gfs2share type gfs2 (rw,noatime,seclabel)