Jump to content

GSTN - ZIMBRA MAILBOX and MTA CLUSTER

From TetraWiki
Revision as of 10:33, 4 February 2019 by Praveen (talk | contribs) (Created page with "category:GSTN = Zimbra MailBox and MTA clustring = = Zimbra Mailbox Clustering = = Pacemaker: Install = <div style="color:#000000;">Install and Configure Linux High-Av...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Zimbra MailBox and MTA clustring[edit]

Zimbra Mailbox Clustering[edit]

Pacemaker: Install[edit]

Install and Configure Linux High-Availability Cluster tool "Pacemaker".
mailbox.gstn.org.in
172.18.101.20

|

+----------------------+ | +----------------------+

| [ Node01 ] |172.18.101.18 |172.18.101.19 | [ Node02 ] |

| gd9109.gstn.org.in +----------+----------+ gd9109.gstn.org.in |

| | | |

+----------------------+ +----------------------+

Install Pacemaker like follows on all Nodes.[edit]

[root@gd9109 ~]# yum -y install pacemaker pcs

[root@gd9109 ~]# systemctl start pcsd

[root@gd9109 ~]# systemctl enable pcsd

Set password for cluster admin user[edit]

[root@gd9109 ~]# passwd hacluster

Changing password for user hacluster.

New password:

Retype new password:

passwd: all authentication tokens updated successfully.


Configure like follows on a Node.[edit]

Establish authorization[edit]

[root@gd9109 ~]# pcs cluster auth gd9109.gstn.org.in gd9110.gstn.org.in

Username: hacluster

Password:

gd9109.gstn.org.in: Authorized

gd9110.gstn.org.in: Authorized

Configure cluster[edit]

[root@gd9109 ~]# pcs cluster setup --name Mailbox-Cluster gd9109.gstn.org.in gd9110.gstn.org.in

Shutting down pacemaker/corosync services...

Redirecting to /bin/systemctl stop pacemaker.service

Redirecting to /bin/systemctl stop corosync.service

Killing any remaining services...

Removing all cluster configuration files...

gd9109.gstn.org.in: Succeeded

gd9110.gstn.org.in: Succeeded

Start services for cluster[edit]

[root@gd9109 ~]# pcs cluster start --all

gd9109.gstn.org.in: Starting Cluster...

gd9110.gstn.org.in: Starting Cluster...

Enable cluster[edit]

[root@gd9109 ~]# pcs cluster enable --all

gd9109.gstn.org.in: Cluster Enabled

gd9110.gstn.org.in: Cluster Enabled

Show status[edit]

[root@gd9109 ~]# pcs status corosync

Membership information

----------------------

Nodeid Votes Name

1 1 gd9109 (local)

2 1 gd9110

Show settings[edit]

[root@gd9109 ~]# pcs property list

Cluster Properties:

cluster-infrastructure: corosync

cluster-name: Mailbox-Cluster

dc-version: 1.1.13-10.el7-44eb2dd

have-watchdog: false

last-lrm-refresh: 1471967184

stonith-action: reboot

symmetric-cluster: on


Pacemaker: Add Resource[edit]

Set virtual IP address[edit]

IPv4 Resource:[edit]

[root@gd9109 ~]# pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=172.18.101.20 cidr_netmask=24 op monitor interval=30s

IPv6 Resource:[edit]

[root@gd9109 ~]# pcs resource create ClusterIPv6 ocf:heartbeat:IPaddr2 ip=2404:a800:1000:d:7800::14 cidr_netmask=69 op monitor interval=30s


Zimbra Service resource:[edit]

Copy attached zimbra resource script on both the server at “/usr/lib/ocf/resource.d/heartbeat” location.

Click on add resource and Select type as zimbra, name for the resource will be “Zimbra_Service”

And optional Arguments should be like below,

binary = zmcontrol

zimbra_dir = /opt/zimbra

zimbra_user = zimbra

zimbra_group = zimbra

After filling above information click on apply:

Zimbra backup Lun Resource:[edit]

[root@gd9109 ~]# pcs resource create fs_bkp Filesystem device="/dev/vg_bkp/Lv_bkp" directory="/zimbra_backup" fstype="ext4"


Install required packages on all Nodes.[edit]

[root@gd9109 ~]# yum -y install fence-agents-all lvm2-cluster gfs2-utils

[root@gd9109 ~]# reboot

Add required resources. It's OK to set on a node.[edit]

[root@gd9109 ~]# pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=true ordered=true

[root@gd9109 ~]# pcs resource create clvmd ocf:heartbeat:clvm op monitor interval=30s on-fail=fence clone interleave=true ordered=true

[root@gd9109 ~]# pcs constraint order start dlm-clone then clvmd-clone

[root@gd9109 ~]# pcs constraint colocation add clvmd-clone with dlm-clone


Pacemaker: CLVM + GFS2[edit]

Create volumes on shared storage and format with GFS2. It's OK to set on a node. On this example, it is set on sdb and create partitions on it and set LVM type with fdisk.[edit]

[root@gd9109 ~]# pvcreate /dev/vdb1

[root@gd9109 ~]# vgcreate -cy vg_cluster /dev/vdb1

[root@gd9109 ~]# lvcreate -l100%FREE -n lv_cluster vg_cluster

[root@gd9109 ~]# mkfs.gfs2 -p lock_dlm -t ha_cluster:gfs2 -j 2 /dev/vg_cluster/lv_cluster


Add shared storage to cluster resource. It's OK to set on a node.[edit]

[root@gd9109 ~]# pcs resource create fs_gfs2 Filesystem device="/dev/vg_cluster/lv_cluster" directory="/opt/zimbra" fstype="gfs2" options="noatime,nodiratime" op monitor interval=10s on-fail=fence clone interleave=true

[root@gd9109 ~]# pcs constraint order start clvmd-clone then fs_gfs2-clone

[root@gd9109 ~]# pcs constraint colocation add fs_gfs2-clone with clvmd-clone

[root@gd9109 ~]# pcs constraint show

Location Constraints:

Ordering Constraints:

start dlm-clone then start clvmd-clone (kind:Mandatory)

start clvmd-clone then start fs_gfs2-clone (kind:Mandatory)

start fs_gfs2-clone then start fs_bkp (kind:Mandatory)

start fs_gfs2-clone then start Zimbra_Service (kind:Mandatory)

Colocation Constraints:

clvmd-clone with dlm-clone (score:INFINITY)

fs_gfs2-clone with clvmd-clone (score:INFINITY)


Create Fence through rhev manager:[edit]

[root@gd9109 ~]# pcs stonith create rhevfence fence_rhevm stonith-timeout=120 pcmk_host_map="GD9109.gstn.org.in:GD9109 GD9110.gstn.org.in:GD9110" ipaddr=172.18.102.22 ssl=1 login=cluster_admin passwd=XXXXXXX


Zimbra MTA clustering:[edit]

Install Pacemaker like follows on all Nodes.[edit]

[root@gd9107 ~]# yum -y install pacemaker pcs

[root@gd9107 ~]# systemctl start pcsd

[root@gd9107 ~]# systemctl enable pcsd

Set password for cluster admin user[edit]

[root@gd9107 ~]# passwd hacluster

Changing password for user hacluster.

New password:

Retype new password:

passwd: all authentication tokens updated successfully.


Configure like follows on a Node.[edit]

Establish authorization[edit]

[root@gd9107 ~]# pcs cluster auth gd9107.gstn.org.in gd9108.gstn.org.in

Username: hacluster

Password:

gd9107.gstn.org.in: Authorized

gd9108.gstn.org.in: Authorized

Configure cluster[edit]

[root@gd9107 ~]# pcs cluster setup --name mta_cluster gd9107.gstn.org.in gd9108.gstn.org.in

Shutting down pacemaker/corosync services...

Redirecting to /bin/systemctl stop pacemaker.service

Redirecting to /bin/systemctl stop corosync.service

Killing any remaining services...

Removing all cluster configuration files...

gd9107.gstn.org.in: Succeeded

gd9108.gstn.org.in: Succeeded


Start services for cluster[edit]

[root@gd9107 ~]# pcs cluster start --all

gd9107.gstn.org.in: Starting Cluster...

gd9108.gstn.org.in: Starting Cluster...

Enable cluster[edit]

[root@gd9107 ~]# pcs cluster enable --all

gd9107.gstn.org.in: Cluster Enabled

gd9108.gstn.org.in: Cluster Enabled

Show status[edit]

[root@gd9107 ~]# pcs status corosync

Membership information

----------------------

Nodeid Votes Name

1 1 gd9107 (local)

2 1 gd9108


Show settings[edit]

[root@gd9107 ~]# pcs property list

Cluster Properties:

cluster-infrastructure: corosync

cluster-name: mta_cluster

dc-version: 1.1.13-10.el7-44eb2dd

default-resource-stickiness: INFINITY

have-watchdog: false

last-lrm-refresh: 1469112787

no-quorum-policy: ignore

stonith-enabled: false


Pacemaker: Add Resource[edit]

Set virtual IP address[edit]

IPv4 Resource:[edit]

[root@gd9107 ~]# pcs resource create Virtual_IP ocf:heartbeat:IPaddr2 ip=172.18.201.13 cidr_netmask=24 op monitor interval=30s

IPv6 Resource:[edit]

[root@gd9107 ~]# pcs resource create Virtual_IPV6 ocf:heartbeat:IPaddr2 2404:a800:1000:d:a000::d cidr_netmask=69 op monitor interval=30s




Create Fence through rhev manager:[edit]

[root@gd9107 ~]# pcs stonith create rhevfence fence_rhevm stonith-timeout=120 pcmk_host_map=" gd9107.gstn.org.in:Zimbra-MTA_Proxy_1 gd9108.gstn.org.in:Zimbra-MTA_Proxy_2 " ipaddr=172.18.102.22 ssl=1 login=cluster_admin passwd=XXXXXXX