オラクルなはなし

Oracle+Pacemaker+heartbeat
active/stanbyなクラスタ構成を実現したいと思って検証してる。
ライセンスの形態上、共通ディスクタイプである必要がある。
また、アプリケーションはフェールオーバーした際も同じホスト名(IP)
で動作し続けるため、仮想IPを付与する必要がある。
で手順↓

vmwareで共通ディスクの作成する。(ここが一番嵌った)
パーティションを作成する。
共有ディスクのアクセス権を管理してくれるパーティション作成コマンド
sfex_init -n 1 /dev/sdb1
両ノードからマウントできることを確認。(同時にはマウントしないこと!)
heartbeatの設定をしましょう。
vi /etc/ha.d/ha.cf

pacemaker on
logfacility local0
debug 0
udpport 694
keepalive 2
warntime 20
deadtime 24
initdead 48
bcast eth1
bcast eth2
node example
node example2
watchdog /dev/watchdog

できたら
rm -f /var/lib/heartbeat/crm/*
で設定をクリア。
heartbeatを両ノードとも起動。
/etc/init.d/heartbeat start

crm configure

property $id="cib-bootstrap-options" \
no-quorum-policy="ignore" \
stonith-enabled="false" \
startup-fencing="false"

primitive sfex ocf:heartbeat:sfex \
params \
index="1" \
device="/dev/sdb1" \
op start interval="0s" timeout="120s" on-fail="restart" \
op monitor interval="10s" timeout="60s" on-fail="restart" \
op stop interval="0s" timeout="60s" on-fail="block"

primitive filesystem ocf:heartbeat:Filesystem \
params \
fstype="ext3" \
device="/dev/sdb2" \
directory="/opt" \
op start interval="0s" timeout="60s" on-fail="restart" \
op monitor interval="10s" timeout="60s" on-fail="restart" \
op stop interval="0s" timeout="60s" on-fail="block"

primitive vip ocf:heartbeat:IPaddr2\
params ip="192.168.XXX.XXX" cidr_netmask="24" nic="eth0" \
op monitor interval="10s"

group group1 sfex filesystem vip
commit

ここまでくればあとは動作確認。
どちらかのノードでモニタリングしつつ、
heartbeatのサービスを停止してみましょう。
フェールオーバーが確認できるはず!

crm_mon