PaceMaker+DRBD構築6 【リソース登録】
DRBDの設定まで終わったら、次はPaceMakerのリソース登録です。PaceMakerのリソース登録情報
■Mysqlリソース情報項目 | 値 |
---|---|
インストールディレクトリ | /opt/db/mysql/ |
DBデータディレクトリ | /db01/mysql/data/ |
Check用DB | chk_db |
Check用DBユーザ | chk_user |
Check用DBパスワード | passwd |
Check用Table | chk_tbl |
項目 | リソースエージェント | 備考/今回の設定値 |
---|---|---|
ディスクのチェック | ocf:pacemaker:diskd | DRBDのデバイス領域:/dev/sdb DRBDのメタディスク領域:/dev/sda (Internal) |
DRBDリソースの設定 | ocf:linbit:drbd | DRBDリソース名:rdb01 |
ファイルシステムのリソース設定 | ocf:heartbeat:Filesystem | デバイス:/dev/drbd0 ディレクトリ:/db |
メール通知リソースの設定 | ocf:heartbeat:MailTo | 通知先:hoge_system@ml01.hoge.hoge.jp |
Mysql監視リソースの設定 | ocf:heartbeat:mysql | ・DBデータディレクトリ "/db01/mysql/data" ・Mysql設定ファイル "/etc/my.cnf" ・socket "/tmp/mysql.sock" ・pid "/opt/db/mysql/mysqld.pid" ・ログ "/var/log/mysql/mysqld.log" ・パラメータ "--ledir=/opt/db/mysql/bin --basedir=/opt/db/mysql" ・ヘルスチェック情報 ユーザ/パスワード "chk_user"/"passwd" ヘルスチェックTable "chk_db.chk_tbl" |
Ping監視リソースの設定 | ocf:pacemaker:pingd | Ping先:172.18.56.254 172.18.56.73 172.18.56.74 |
VIPリソースの設定 | ocf:heartbeat:IPaddr2 | VIP:172.18.56.80 |
VIP重複設定の検知 | ocf:heartbeat:VIPcheck | 監視VIP:172.18.56.80 |
# tune2fs -l /dev/sdb 省略 Filesystem volume name:Last mounted on: /db Filesystem UUID: dccf88f5-b49d-495b-b017-33b7ccdceac8 Filesystem magic number: 0xEF53 省略
Pachemakerのリソース登録手順
■Pachemakerのリソース登録用ファイルの作成# vi mysql_setup.crm primitive prm_diskd ocf:pacemaker:diskd \ params name="diskcheck_status" device="/dev/sdb" interval="10" \ op start interval="0" timeout="60s" \ op monitor interval="10s" timeout="60s" \ op stop interval="0" timeout="60s" primitive prm_diskd_internal ocf:pacemaker:diskd \ params name="diskcheck_status_internal" device="/dev/sda" interval="10" \ op start interval="0" timeout="60s" \ op monitor interval="10s" timeout="60s" \ op stop interval="0" timeout="60s" primitive prm_drbd_r0 ocf:linbit:drbd \ params drbd_resource="rdb01" \ op monitor interval="30" role="Master" timeout="30" \ op monitor interval="40" role="Slave" timeout="30" \ op start interval="0" timeout="240" \ op stop interval="0" timeout="100" primitive prm_fs ocf:heartbeat:Filesystem \ params device="/dev/drbd0" directory="/db" fstype="ext4" options="noatime" \ operations $id="prm_fs-operations" \ op start interval="0" timeout="60" \ op stop interval="0" timeout="60" \ op monitor interval="10s" timeout="60s" OCF_CHECK_LEVEL="20" \ meta target-role="started" primitive prm_mailto ocf:heartbeat:MailTo \ params email="hoge_system@ml01.hoge.hoge.jp" subject="HeartBeat FailOver" \ op start interval="0" timeout="10s" \ op monitor interval="10s" timeout="10s" \ op stop interval="0" timeout="10s" \ meta target-role="started" primitive prm_mysqld ocf:heartbeat:mysql \ params binary="/opt/db/mysql/bin/mysqld_safe" client_binary="/opt/db/mysql/bin/mysql" datadir="/db01/mysql/data" config="/etc/my.cnf" socket="/tmp/mysql.sock" user="mysql" group="dba" pid="/opt/db/mysql/mysqld.pid" log="/var/log/mysql/mysqld.log" additional_parameters="--ledir=/opt/db/mysql/bin --basedir=/opt/db/mysql" test_user="chk_user" test_passwd="passwd" test_table="chk_db.chk_tbl" \ operations $id="prm_mysqld-operations" \ op start interval="0" timeout="120s" \ op stop interval="0" timeout="120s" \ op monitor interval="20s" timeout="30" OCF_CHECK_LEVEL="10" \ meta target-role="started" primitive prm_pingd ocf:pacemaker:pingd \ params name="default_ping_set" host_list="172.18.56.254 172.18.56.73 172.18.56.74" multiplier="100" dampen="50" \ operations $id="prm_pingd-operations" \ op monitor interval="10s" timeout="20s" attempts="50" \ op start interval="0" timeout="90s" on-fail="restart" \ op stop interval="0" timeout="100s" on-fail="ignore" primitive prm_vip ocf:heartbeat:IPaddr2 \ params ip="172.18.56.80" cidr_netmask="24" \ op monitor interval="10" \ meta target-role="started" primitive prm_vipcheck ocf:heartbeat:VIPcheck \ params target_ip="172.18.56.80" count="1" wait="10" \ op start interval="0" timeout="90s" start_delay="4" \ op stop interval="0" timeout="60s" \ meta target-role="started" group grp_mysqld prm_vipcheck prm_fs prm_vip prm_mysqld prm_mailto ms ms_drbd_r0 prm_drbd_r0 \ meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true" clone clone_diskd prm_diskd clone clone_diskd_internal prm_diskd_internal clone clone_pingd prm_pingd location loc_grp_mysqld grp_mysqld \ rule $id="loc_grp_mysqld-rule" -inf: not_defined default_ping_set or default_ping_set lt 100 colocation col_mysqld_diskd inf: grp_mysqld clone_diskd colocation col_mysqld_diskd_internal inf: grp_mysqld clone_diskd_internal colocation col_mysqld_drbd inf: grp_mysqld ms_drbd_r0:Master colocation col_mysqld_pingd inf: grp_mysqld clone_pingd order ord_mysqld_diskd 0: clone_diskd grp_mysqld order ord_mysqld_diskd_int 0: clone_diskd_internal grp_mysqld order ord_mysqld_drbd inf: ms_drbd_r0:promote grp_mysqld:start order ord_mysqld_pingd inf: clone_pingd grp_mysqld property $id="cib-bootstrap-options" \ dc-version="1.0.12-066152e" \ cluster-infrastructure="Heartbeat" \ stonith-enabled="false" \ no-quorum-policy="ignore" \ default-resource-stickiness="200" \ last-lrm-refresh="1352465746" rsc_defaults $id="rsc-options" \ migration-threshold="1" \ resource-stickiness="INFINITY"
# crm configure load update mysql_setup.crm※/dev/drbd0をext4のファイルシステムで事前に作成していないとエラーとなる。
PaceMakerリソース登録時の補足情報
リソースは大きくPrimitive、Clone、Master/Slaveの3種類に定義することができる。これによって必ず1つのノードで動かさなければならない排他制御が必要なサービス、両方のノードで行う必要がある監視、マスタースレーブ関係のあるサービスなど様々な場面に対応することができる。それらのサービスをリソースエージェントを介することで統一的な方法で管理している。種類 | 説明 |
---|---|
Primitive | アクティブ/スタンバイ構成で用いる基本的なリソースで、どこか1つのノードで動くことができるリソース。障害を検知したら他のノードにフェールオーバーさせることができる。 |
Clone | Primitiveリソースを複数のノードで動作させるために使用する。Primitiveを停止してそれを複製するためCloneと呼ばれる。 pingの疎通監視などサービスを提供していないノードでも確認する基本的な監視で利用されることが多い。 |
Master/Slave | Cloneのリソースで親子関係があるリソースに使用する。代表的なリソースとしてPrimaryとSecondaryの状態を管理する必要があるDRBDがあげられる。 |
PaceMaker+DRBD構築 の目次
01. PaceMaker+DRBD構築 【PaceMakerのインストール】