HeartBeat2 リソース設定
・heartBeatが起動している場合は、停止する。
・新規構築のため不要ファイルは削除する。
(/var/lib/heartbeat/crm/cib.xml, cib.xml.si, cib.xml.last, cib.xml.sig.last)
・PostgreSQLが自動起動している場合は、OFFにする。
(# chkconfig postgresql off)
・DRBD
・VIP
・PostgreSQL
# vi /etc/ha.d/haresources.tmp
dev-db01 drbddisk::db01 \ Filesystem::/dev/drbd0::/db::ext3 \ IPaddr::10.96.146.102/20/eth0 \ pgsql※/etc/ha.d/haresources.tmpは、cib.xmlファイルを作成するための一時ファイルです。
/etc/ha.d/resource.d
/etc/init.d
サービスが停止中の場合には「stopped」
サービスが稼動中の場合には「running」
・IPaddrは仮想IPの発生にifconfigを使い、ネットワークエイリアスとして生成する。
・IPaddr2はiproute2を使い、副IPアドレスをifaceに直接付加する。
# ip addr show 1: lo:mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:50:56:b6:75:2a brd ff:ff:ff:ff:ff:ff inet 10.96.146.101/20 brd 10.96.159.255 scope global eth0 inet6 fe80::250:56ff:feb6:752a/64 scope link valid_lft forever preferred_lft forever 3: eth1: mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:50:56:b6:49:bd brd ff:ff:ff:ff:ff:ff inet 192.168.100.104/24 brd 192.168.100.255 scope global eth1 inet6 fe80::250:56ff:feb6:49bd/64 scope link valid_lft forever preferred_lft forever 4: sit0: mtu 1480 qdisc noop link/sit 0.0.0.0 brd 0.0.0.0
# /usr/lib64/heartbeat/haresources2cib.py /etc/ha.d/haresources.tmp・生成されたcib.xmlを修正する。
修正前:name="nic" value="20"/ 修正後:name="nic" value="eth0"/
・name="cidr_netmask"の値修正前:name="cidr_netmask" value="eth0"/ 修正後: name="cidr_netmask" value="20"/
# vi /var/lib/heartbeat/crm/cib.xml
<primitive class="ocf" id="IPaddr_10_96_146_102" provider="heartbeat" type="IPaddr"> <operations> <op id="IPaddr_10_96_146_102_mon" interval="5s" name="monitor" timeout="5s"/> </operations> <instance_attributes id="IPaddr_10_96_146_102_inst_attr"> <attributes> <nvpair id="IPaddr_10_96_146_102_attr_0" name="ip" value="10.96.146.102"/> <nvpair id="IPaddr_10_96_146_102_attr_1" name="nic" value="eth0"/> <nvpair id="IPaddr_10_96_146_102_attr_2" name="cidr_netmask" value="20"/> </attributes> </instance_attributes> </primitive>
フェイルバック無効:value="INFINITY"
フェイルバック有効:value="0"
# vi /var/lib/heartbeat/crm/cib.xml
<nvpair id="cib-bootstrap-options-default-resource-stickiness" name="default-resource-stickiness" value="INFINITY"/>※既にHeartBeatを起動している状態であれば、以下のコマンドでcib.xmlファイルを更新する。
# cibadmin -o crm_config -U -X '<nvpair id="cib-bootstrap-options-default-resource-stickiness" name="default-resource-stickiness" value="INFINITY"/>'
# vi /var/lib/heartbeat/crm/cib.xml
<nvpair id="cib-bootstrap-options-default-resource-failure-stickiness" name="default-resource-failure-stickiness" value="-INFINITY"/>Localでの再起動無効:value="-INFINITY"
# chown hacluster:haclient /var/lib/heartbeat/crm/cib.xml
# crm_verify -x /var/lib/heartbeat/crm/cib.xml※記述の誤りがある場合は、メッセージが表示される。表示されない場合は、記述誤りがないことを示す。
PostgreSQL+DRBDのリソース設定
■PostgreSQLの起動制御# chkconfig --del postgresql
# vi /usr/lib/ocf/resource.d/heartbeat/pgsql
: ${OCF_RESKEY_pgctl=/usr/bin/pg_ctl} : ${OCF_RESKEY_psql=/usr/bin/psql} : ${OCF_RESKEY_pgdata=/db/pgsql/data} : ${OCF_RESKEY_pgdba=postgres} : ${OCF_RESKEY_pgport=5432} : ${OCF_RESKEY_pgdb=template1} : ${OCF_RESKEY_logfile=/dev/null} : ${OCF_RESKEY_stop_escalate=30}
# vi /etc/init.d/postgresql
PGDATA=/db/pgsql/data : : start(){ #20100416 本番のみ H_LOCAL_STAT=`/usr/sbin/drbd-overview |awk '{print $3}'|awk -F/ '{print $1}'` if [ $H_LOCAL_STAT != Primary ]; then echo "Primaryではないため起動できません" exit 1 fi #20100416 end※DRBDのレプリケーション対象は、[/db]である。
HeartBeatの起動
プライマリ、セカンダリサーバでHearBeatの自動起動設定し、起動をする。# chkconfig heartbeat on # /etc/init.d/heartbeat start
HeartBeat2+DRBD構築【目次】
01. HeartBeat2+DRBD構築 【DRBD構築手順】