Jul 232014
 

CentOS 6.4で、repo.zabbix.comからzabbix-server-mysqlとzabbix-web-mysqlをインストールして稼働している状態から、PacemakerとDRBDを使ったHA化をおこなってみます。

まずはPacamakerの管理対象となるサービスを停止し、自動起動も無効化します。

for s in httpd zabbix-server mysqld; do
 service $s stop
 chkconfig $s off
done

クラスターパッケージ群を導入します。

yum install pacemaker cman pcs ccs resource-agents

DRBDはELrepoから導入します。

pcs property set stonith-enabled=false
pcs property set no-quorum-policy=ignore
pcs property set migration-threshold=1
pcs property set cluster-recheck-interval=5m

DRBDのリロース設定をおこないます。

pcs -f cfg-drbd resource create drbd0 ocf:linbit:drbd drbd_resource=r0
pcs -f cfg-drbd resource add_operation drbd0 start interval=0 timeout=240s
pcs -f cfg-drbd resource add_operation drbd0 promote interval=0 timeout=90s
pcs -f cfg-drbd resource add_operation drbd0 demote interval=0 timeout=90s
pcs -f cfg-drbd resource add_operation drbd0 noftify interval=0 timeout=90s
pcs -f cfg-drbd resource add_operation drbd0 stop interval=0 timeout=100s
pcs -f cfg-drbd resource add_operation drbd0 monitor interval=20s timeout=20s role=Slave
pcs -f cfg-drbd resource add_operation drbd0 monitor interval=10s timeout=20s role=Master
pcs -f cfg-drbd master drbd0-clone drbd0 master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
pcs push cfg-drbd

DRBD領域をマウントするファイルシステムリソース設定をおこないます(fs-data)。

pcs -f cfg-fs1 resource create fs-data Filesystem device=/dev/drbd/by-res/r0 directory=/data fstype=ext4 options=noatime
pcs -f cfg-fs1 resource add_operation fs-data start interval=0 timeout=60s
pcs -f cfg-fs1 resource add_operation fs-data stop interval=0 timeout=60s
pcs -f cfg-fs1 resource add_operation fs-data monitor interval=20s timeout=40s
pcs -f cfg-fs1 constraint colocation add fs-data drbd0-clone INFINITY with-rsc-role=Master
pcs -f cfg-fs1 constraint order promote drbd0-clone then start fs-data
pcs push cfg-fs1

MySQLデータベースをDRBD領域配下に移動します。

mv /var/lib/mysql /data/
mkdir /var/lib/mysql
chown mysql: /var/lib/mysql
chmod 755 /var/lib/mysql

MYSQLデータベース領域をマウントするファイルシステムリソース設定をおこないます(fs-mysql)。

pcs -f cfg-fs2 resource create fs-mysql Filesystem device=/data/mysql directory=/var/lib/mysql fstype=ext4 options=bind
pcs -f cfg-fs2 resource add_operation fs-mysql start interval=0 timeout=60s
pcs -f cfg-fs2 resource add_operation fs-mysql stop interval=0 timeout=60s
pcs -f cfg-fs2 resource add_operation fs-mysql monitor interval=20s timeout=40s

fs-dataとfs-mysqlリソースが同一ノードで動作するようにgroup設定を施したうえで反映させます。

pcs -f cfg-fs2 resource group add group0 fs-data fs-mysql
pcs push cfg-fs2

—–

pcs property set stonith-enabled=false
pcs property set no-quorum-policy=ignore
pcs property set migration-threshold=1
pcs property set cluster-recheck-interval=5m

Pacamakerの管理対象となるサービスを停止します。

for s in httpd zabbix-server mysqld; do
 service $s stop
 chkconfig $s off
done

DRBDのリロース設定をおこないます。

pcs -f cfg-drbd resource create drbd0 ocf:linbit:drbd drbd_resource=r0
pcs -f cfg-drbd resource add_operation drbd0 start interval=0 timeout=240s
pcs -f cfg-drbd resource add_operation drbd0 promote interval=0 timeout=90s
pcs -f cfg-drbd resource add_operation drbd0 demote interval=0 timeout=90s
pcs -f cfg-drbd resource add_operation drbd0 noftify interval=0 timeout=90s
pcs -f cfg-drbd resource add_operation drbd0 stop interval=0 timeout=100s
pcs -f cfg-drbd resource add_operation drbd0 monitor interval=20s timeout=20s role=Slave
pcs -f cfg-drbd resource add_operation drbd0 monitor interval=10s timeout=20s role=Master
pcs -f cfg-drbd master drbd0-clone drbd0 master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
pcs push cfg-drbd

DRBD領域をマウントするファイルシステムリソース設定をおこないます(fs-data)。

pcs -f cfg-fs1 resource create fs-data Filesystem device=/dev/drbd/by-res/r0 directory=/data fstype=ext4 options=noatime
pcs -f cfg-fs1 resource add_operation fs-data start interval=0 timeout=60s
pcs -f cfg-fs1 resource add_operation fs-data stop interval=0 timeout=60s
pcs -f cfg-fs1 resource add_operation fs-data monitor interval=20s timeout=40s
pcs -f cfg-fs1 constraint colocation add fs-data drbd0-clone INFINITY with-rsc-role=Master
pcs -f cfg-fs1 constraint order promote drbd0-clone then start fs-data
pcs push cfg-fs1

MySQLデータベースをDRBD領域配下に移動します。

mv /var/lib/mysql /data/
mkdir /var/lib/mysql
chown mysql: /var/lib/mysql
chmod 755 /var/lib/mysql

MYSQLデータベース領域をマウントするファイルシステムリソース設定をおこないます(fs-mysql)。

pcs -f cfg-fs2 resource create fs-mysql Filesystem device=/data/mysql directory=/var/lib/mysql fstype=ext4 options=bind
pcs -f cfg-fs2 resource add_operation fs-mysql start interval=0 timeout=60s
pcs -f cfg-fs2 resource add_operation fs-mysql stop interval=0 timeout=60s
pcs -f cfg-fs2 resource add_operation fs-mysql monitor interval=20s timeout=40s

fs-dataとfs-mysqlリソースが同一ノードで動作するようにgroup設定をおこないます。

pcs -f cfg-fs2 resource group add group0 fs-data fs-mysql
pcs push cfg-fs2

Sorry, the comment form is closed at this time.