RSS RSS
tacchiの中身(Ruby on Railsのシステム開発)
2008.02.07
カテゴリ:サーバー - 役立ちツール

HeartBeatの設定

こんにちわ!tacchiです。

Ruby on Railsを利用した、サイト構築で利用したので、HeartBeatの設定について書きます。

 

HeartBeatで何をしようとしているかというと、2台のサーバで共通のRailsプロジェクトを利用して、各々のサーバでmongrelプロセスを立てようとしてました。

nfsでやればいいじゃねーかと仰るかもしれませんが、設定している方が落ちちゃったら両方のプロセスがダメになっちゃうんですよね。


ちょっとややこしいですが、DRBDパーティション単位での同期を取って、HeartBeatでDRBDをクラスタリングしようと考えました。というか、自分が考えたわけではないですが・・・

前回説明した、DRBDはPrimaryとSecondaryがあり、それをHeartBeatで切り替えちゃおうとしています。
では説明に入ります。

以下クラスタリングしたいサーバに設定して下さい。例では、hogeweb01とhogeweb02の2台です。

 

検証環境

 

  CentOS5
  heartbeat-2.1.2

設定例


1.まず、HeartBeatのインストール(両サーバ)
 

 

$ yum install heartbeat 
本サイトからソースダウンロードして入れる手もあります。
   

2./etc/ha.d/ha.cfの変更(両サーバ) ※HeartBeatの設定ファイルです
変更したのは赤字にしているやつです。

 

 

ldebugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility     local0
keepalive 1
deadtime 10
warntime 5
initdead 120
udpport 694
bcast  eth0            # Linux
auto_failback on
node hogeweb01          # host名
node hogeweb02          # host名

###########################
#
#       Unusual options.
#
###########################
use_logd yes
 

3./etc/ha.d/authkeysの変更(両サーバ) ※これは、通信認証用のファイルです。
auth 1
1 sha1 HI!

4.authkeysファイルの属性を600にする必要があります(両サーバ)
$ chmod 600 authkeys

5.DRBDとの連携(両サーバ)
hogeweb01 10.0.0.160/24 drbddisk::r0 

# hogeweb01はプライマリになるマシン
# 10.0.0.160/24はDRBDのリソース
# drbddisk::r0はDRBDのディスク


6.HeartBeatの再起動(両サーバ)
$ /etc/init.d/heartbeat restart
 
7.テスト
 hogeweb01のHeartBeatを停止して、hogeweb02のDRBDがPrimaryになっていれば成功です。DRBDの確認方法はこちら
$ /etc/init.d/heartbeat stop
 

まとめ


DRBDがプライマリ側のみしかマウントできないため、このPrimaryとSecondaryの切り替えは、非常に役立ってます。さらに、nfsを自動的に設定してくれたり、切り替わったタイミングでメールを飛ばしてくれたりできますが、今日はここまで。。。

コメント (0)

ブックマークに追加する

この記事にコメントをする
ニックネーム:
メールアドレス:
URL:


.
web開発ならKBMJ
Rubyでのwebシステム開発は
実績豊富なKBMJにお任せ下さい
iPhone開発
iPhone開発は
KBMJにお任せ下さい
ブラウザゲーム エインヘリアル
ブラウザゲーム「エインへリアル」
αテスター募集中
オープンソースECパッケージ エレコマ
オープンソースECパッケージ
「エレコマ」

プロフィール

tacchi
tacchi
Ruby On Railsでバリバリ開発している会社に勤めてます。
新しい技術に興味もありますし、サーバにも興味ありますので
気になった事が合ったらジャンジャン書いて行きます!

最近チェックした記事

最新記事

アーカイブ

アクセスランキング

KBMJのWebソリューション
Ruby on railsの開発ならKBMJ
株式会社ケイビーエムジェイ