====== Cluster LVM ====== sources: [[https://www.suse.com/documentation/sle_ha/book_sleha/data/sec_ha_clvm_config.html]] [[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Cluster_Administration/s1-admin-manage-nodes-delete-add-cli-CA.html]] [[https://www.ibm.com/developerworks/community/blogs/mhhaque/resource/RHCS_IBM_POWER.pdf?lang=zh]] ===== Installation (Debian Jessie) ===== - install necessary packages: apt-get install clvm cman - edit /etc/lvm/lmv.conf, set: mirror_logs_require_separate_pvs = 1 locking_type = 3 - set no wait time for quorum:echo "CMAN_QUORUM_TIMEOUT=0" >> /etc/default/cman - create config file /etc/cluster/cluster.conf and put it to all nodes: - start cman service and clvm service on all nodes: service cman start service clvm start - check that nodes are online in cluster: cman_tool nodesoutput should be: root@debian:~# cman_tool nodes Node Sts Inc Joined Name 1 M 4 2015-10-30 09:34:43 10.0.0.23 2 M 8 2015-10-30 09:36:04 10.0.0.112 - assuming that /dev/sdb and /dev/sdc are volumes exported from SANs - create physical volumes: pvcreate /dev/sdb pvcreate /dev/sdc - create clustered volume group: vgcreate --clustered y guma_cerna /dev/sdb /dev/sdc - create mirrored lvm: lvcreate -n testovaci_lv -m1 -L 1.0g guma_cerna --nosync(--nosync means that data will not be synced upon creating - since the lv should not contain any data upon its creating its OK) - (optional) check that the volume were created succesfully on both SANs: lvs -a -o +devices ===== Adding/deleting node from cluster ===== - If deleting stop all cluster services on node e.g.: service stop clvm service stop cman - install cman clvm on new node(s) - don't forget to setup the /etc/lvm/lvm.conf file - attach SANs on new node(s) - edit the /etc/cluster/cluster.conf and increase serial: - distribute the file to ALL nodes in cluster and issue following command from any node:cman_tool version -r -S - to use previously created volumes those must be activated on new node: lvchange -a y /dev/guma_cerna/testovaci_lv ===== Removing node from the cluster ===== - stop all cluster services and then stop cman service with parameter leave service clvm stop service cman stop leave