ランプの中身(Ruby on Railsのシステム開発)
ランプの中身(Ruby on Railsのシステム開発)では、株式会社ケイビーエムジェイのRuby on Railsエンジニアが蓄積したノウハウを公開しています。Ruby on Railに関する技術解説や実践的なノウハウなど、開発現場の技術に則したコンテンツを随時追加していきます。 初心者の方でもわかりやすい技術解説を心がけています。リクエスト、ご質問も受け付けいますので、ご気軽にコメントを記述して下さい。

< DRBDのインストール | メイン | fastladderを試してみました ~... >

tacchiの中身(Ruby
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)  |トラックバック (0)

ブックマークに追加する Subscribe with livedoor Reader あとで読む

トラックバック URL

この記事にコメントする

ニックネーム:
メールアドレス:
URL:


KBMJのWebソリューション
Ruby on Rails Summer Festival 2008開催決定!!

TOPICS

2008/06/25
ZD Net Builder」の連載記事です。第四回は「Rubyでどう書く?:重複したRSSをまとめる」が掲載されました。

2008/05/30
ZD Net Builder」の連載記事です。第三回は「Rubyでどう書く?:Rubyで特定URLの画像パス一覧を表示する」が掲載されました。

2008/05/07
ZD Net Builder」に連載を始めました。第二回は「Rubyでどう書く?:RubyでPDF履歴書を作成する」が掲載されました。

2008/04/24
アットマーク・アイティ」に『 Rubyを使ってPaSoRi経由でSuicaの乗車履歴を取得し、GoogleMapsやGoogleEarthで表示する』が掲載されました。

全体のRoR最新ブログ一覧

プロフィール

  • tacchi

ブログの購読

RSS

timelog
株式会社ケイビーエムジェイロゴ