hnakamur’s blog

ものすごい勢いで忘れる私のために未整理でもいいからとりあえずメモ

2010-12-13

CentOSでheartbeatでVIP引き継ぎ(その2)

hnakamur’s blog: CentOSでheartbeatでVIP引き継ぎをまたやってみて少し知識が増えたので追記。

heartbeatのインストール時エラーの回避方法


heartbeatのインストール時にエラーになる件は、一旦heartbeat-pilsとheartbeat-stonithを入れてからheartbeatを入れれば回避できるとのこと。
sudo yum install heartbeat-pils heartbeat-stonith
sudo yum install heartbeat

参考:ベリラボ - wiki - CentOS52_heardbeatインストール、初期設定


/etc/ha.d/haresources

以下のようにネットワークアドレスのビット数やデバイスも指定可能。詳しくはサンプルファイル(/usr/share/doc/heartbeat-2.1.3/haresources)参照。
vm1 IPaddr::192.168.101.20/24/eth0

なお、このIPaddrは/etc/ha.d/resource.d/に置かれているスクリプト名で、手動でも実行可能です。

手動VIP追加
sudo /etc/ha.d/resource.d/IPaddr 192.168.101.20/24/eth0 start
手動VIP削除
sudo /etc/ha.d/resource.d/IPaddr 192.168.101.20/24/eth0 stop

ERROR: Setup problem: Couldn't find utility /bin/gawkの対処法

CentOSをインストール時にBaseのチェックもはずして最小構成にした場合の話です。

heartbeatの実行中に/var/log/ha-logに以下のエラーが発生しました。
ResourceManager[2873][2943]: 2010/12/13_16:08:00 info: Running /etc/ha.d/resource.d/IPaddr 192.168.101.20 start
IPaddr[2962][2976]: 2010/12/13_16:08:00 ERROR: Setup problem: Couldn't find utility /bin/gawk
IPaddr[2945][2977]: 2010/12/13_16:08:00 ERROR:  Program is not installed
R

gawkが無いとインストールしようとしましたが、すでに入っていました。

ググるとこちらに対処法が載ってました。
VIP not appearing when heartbeat starts | Linux-HA | Users

whichをインストールすれば解決します。
sudo yum install which

実験用監視スクリプト


#!/bin/sh

url=http://192.168.101.20/
timeout=2

while :
do
  response=`curl -s -S --connect-timeout $timeout $url`
  if [ $? -ne 0 ]
  then
    break
  fi

  echo "`date +%Y-%m-%dT%k:%M:%S` $response"

  sleep 1
done

ブログ アーカイブ