レンタルサーバー
BIG-server.com
簡単・はやい・大容量・どんな目的にもマッチするレンタルサーバー
HOME プライス お見積もり・プラン選択 お申し込み ユーザーサポート お問い合わせ

■ 【ぷろじぇくと ぞうさん】 〜E-Bananaサーバ 構築日記〜

1日目 2日目 3日目 4日目 5日目 6日目 7日目
8日目 9日目 10日目 11日目 12日目 13日目 14日目
15日目 16日目 17日目 18日目 19日目 20日目 21日目
22日目 23日目 24日目 25日目 26日目 27日目 28日目
29日目 30日目 31日目 32日目 33日目 34日目 35日目
36日目 37日目 38日目 39日目 40日目 41日目 42日目
43日目 44日目 45日目 46日目 47日目 48日目 49日目
50日目 51日目 52日目 53日目 54日目 55日目 56日目
57日目 58日目 59日目 60日目 61日目 62日目 63日目
64日目 65日目 66日目 67日目 68日目 69日目 70日目
71日目 72日目 73日目 74日目 75日目 76日目 77日目
78日目 79日目 80日目 81日目 82日目 83日目 84日目
85日目 86日目 87日目 88日目 89日目 90日目 91日目
92日目 93日目 94日目 95日目 96日目 97日目 98日目
99日目 100日目 101日目 102日目 103日目 104日目 105日目
106日目 107日目 108日目 109日目 110日目 111日目 112日目
113日目 114日目 115日目 116日目 117日目 118日目 119日目
120日目 121日目 122日目 123日目 124日目 125日目 126日目
127日目 128日目 129日目 130日目 131日目 132日目 133日目
134日目 135日目 136日目 137日目 138日目 139日目 140日目
141日目 142日目 143日目 144日目 145日目 146日目 147日目
148日目 149日目 150日目 151日目 152日目 153日目 154日目
155日目 156日目 157日目 158日目 159日目 160日目 161日目
162日目 163日目 164日目 165日目 166日目 167日目 168日目
169日目 170日目 171日目 172日目 173日目 174日目 175日目
176日目 177日目 178日目 179日目 180日目 181日目 182日目
183日目 184日目 185日目 186日目 187日目 188日目 189日目
190日目 191日目 192日目 193日目 194日目 195日目 196日目
197日目 198日目 199日目 200日目 201日目 202日目 203日目
目次に戻る
第10日目:〜外伝V〜 ロードバランサーを作れ! (その2)〜

どうも、('A`)です。
久しぶりに日記を書いたので、文章が当初想定していた量をオーバーしちゃいました。
今回からソフトウェアのインストール等の説明に移れると思います。
まあ、いつもながら色々と壁にぶち当たっているのですが・・・・・

前回の日記でもお話したのですが、「広義の」ロードバランサーに必要な機能としては
 1.サーバや稼働中のサービスの監視機能
  (振り分けに際して、各サーバが稼働しているかダウンしているかを把握する)
 2.各サーバ間の振り分け機能
  (外部から来たアクセス要求を他のサーバに振る際にどのサーバにどの程度
  割り当てるかを決め、振り分ける。)
 3.各サーバとの通信制御機能
  (振り分けしたサーバに対して、最終的な応答先の情報を与える。)
が挙げられます。
今回はロードバランサーの「監視機能」を受け持つheartbeatの構築をお話します。

heartbeatはLinuxの「HAプロジェクト」というグループが開発・提供している
ソフトウェアです。Linuxの他にSolarisとかFreeBSDでも動かせる、と紹介されて
いるのですが、heartbeat本体以外にも色々とパッケージが必要で、かつLinuxで
動かすのが主流なので、rpmでのインストール説明しか見つからない、なんて
状況です。

FreeBSDのPortsに入っていないかなあ、と思って調べてみたら・・・ありました。
ちょっとホッ('A`)としました。
会社にお願いして確保したサーバ(FreeBSD 6.2-RELEASE i386、bananaサーバ)に
これから入れてみます。

heartbeatをインストールするに当たっては、事前に以下のパッケージをインストール
する必要があります。
・autoconf-2.59_2
(configure コマンドを作るためのツール)
・automake-1.9.6
(Makefile を作るためのツール)
・gmake-3.81_1
(GNU が作成した make)
・libtool-1.5.22_2
(ライブラリのコンパイルやビルド、インストール等を行なう為のツール)
・libnet-devel-1.1.3.r1
(各種通信パケットの生成・送信で使用されるライブラリ)

※makeとはC等のプログラムソースから実行形式のモジュールを生成するのに使用されます。

んで、最後にheartbeat本体(heartbeat-1.2.4)をインストールする事になります。

ではいつものごとくpkg_addコマンドで一発インストール!
autoconf、automake、gmake、libtool、libnet-devel・・・恐ろしいほど順調。
最後にheartbeatを入れれば、あとは設定かな。

・・・と思っていたら、以下のメッセージが表示されて止まった。
install: /usr/local/var/run/heartbeat.pid: No such file or directory
pkg_add: install script returned error status

えーと・・・ bananaサーバには /usr/local/var/run なんていうディレクトリは無いです。
ってか、何なんだろう、こんな不思議なディレクトリは。
ちょっとgoogleでエラーメッセージで検索したら、同じ問題に直面している人を発見!

Re: misc/109984: Package "heartbeat" fails to install
Patch +INSTALL with this should solve the problem:

145c145
< test -f ${base}/var/run/heartbeat.pid || \
---
> test -f /var/run/heartbeat.pid || \
147c147
< ${base}/var/run/heartbeat.pid
---
> /var/run/heartbeat.pid
170,171c170,171
< if [ -f ${base}/var/run/heartbeat.pid ]; then
< rm ${base}/var/run/heartbeat.pid
---
> if [ -f /var/run/heartbeat.pid ]; then
> rm /var/run/heartbeat.pid

('A`)ガーン!
実際パッケージを解凍して、+INSTALLファイルの中身を見ると、まさしくその中で
$[base]=/usr/local と指定されている。
「+INSTALLファイルを直せっ」て、それじゃあpkg_addで一発インストールが
できないじゃないか・・・
ちょっと途方に暮れていると、root弟((´・ω・`))がやってきた。

(´・ω・`):「('A`)、どうしたの?」
('A`):「え、いやあ、実はかくかく、しかじかで・・・」
(´・ω・`):「うーん、それは困りましたね。」
('A`):「そうなんだ。このままじゃ、特別なパッケージ作らんとインストールできん。」
(´・ω・`):「でもそれでうまくいくのかなあ。それにしても、なんでこんなディレクトリを
      指定しているんだろう・・・・」
その時、急に閃いた。

   \  __  /
   _ (m) _ピコーン
      |ミ|
    /  `´  \
     ('A`)    
     ノヽノヽ
       くく

(´・ω・`):「う、うわあぁ。どうしちゃったの?」
('A`):「パッケージを改造する必要は無い。」
(´・ω・`):「え、でも今のままじゃあエラーが出てインストールされないんじゃ・・・」
('A`):「ディレクトリが無いなら、予め作ってしまえばエラーは解消される。」
(´・ω・`):「え、ええええっ!」
('A`):「本家(FreeBSD)のパッケージがこの構成で組まれているんなら、その形に
    合わせてしまえばいい。それにこのインストールをMakefileか何かで
    まとめて実行する様に組んでその中でディレクトリ作成を実行する様に
    してしまえば問題無いだろう。」

それって小手(ry」という(´・ω・`)を後にして、さっそく実行。
やはりエラーは無く、インストールされたようだ。

でも which heartbeat と叩くと、heartbeat: Command not found. と表示される。
うーん、findしてみると /usr/local/lib/heartbeat/heartbeat にあるっぽい。
でも、heartbeatに必要な設定ファイル(ha.cfとか)が見つからない。
ん、(´・ω・`)がまたやってきた。
(´・ω・`):「本当にインストールしちゃったんだ・・・」
('A`):「ああ。だけど、設定ファイルが見当たらないんだ。」
(´・ω・`):「本当に動くんでしょうか・・・」
('A`):「大丈夫だよ。何とかなるって。特化型スレの523で書き方の見本は
    見つけたから。」
(´・ω・`):「私の方でもheartbeatのサイトで色々調べてみます。」

と言ったものの、設定ファイルが置かれる場所(/usr/local/etc/ha.d)には無いしなあ。。。
こういう場合はshare/docに雛型があると思うんだけど。
/usr/local/share/doc/heartbeat ってディレクトリがあったので、見てみよう。

# ls -l /usr/local/share/doc/heartbeat/
total 356
-rw-r--r-- 1 root wheel 3308 Oct 15 2006 AUTHORS
-rw-r--r-- 1 root wheel 17989 Oct 15 2006 COPYING
-rw-r--r-- 1 root wheel 39728 Oct 15 2006 ChangeLog
-rw-r--r-- 1 root wheel 12951 Oct 15 2006 DirectoryMap.txt
-rw-r--r-- 1 root wheel 32462 Oct 15 2006 GettingStarted.html
-rw-r--r-- 1 root wheel 27737 Oct 15 2006 GettingStarted.txt
-rw-r--r-- 1 root wheel 15877 Oct 15 2006 HardwareGuide.html
-rw-r--r-- 1 root wheel 16032 Oct 15 2006 HardwareGuide.txt
-rw-r--r-- 1 root wheel 1270 Oct 15 2006 README
-rw-r--r-- 1 root wheel 4654 Oct 15 2006 Requirements.html
-rw-r--r-- 1 root wheel 4182 Oct 15 2006 Requirements.txt
-rw-r--r-- 1 root wheel 1873 Oct 15 2006 apphbd.cf
-rw-r--r-- 1 root wheel 645 Oct 15 2006 authkeys
-rw-r--r-- 1 root wheel 24835 Oct 15 2006 faqntips.html
-rw-r--r-- 1 root wheel 24725 Oct 15 2006 faqntips.txt
-rw-r--r-- 1 root wheel 8502 Oct 15 2006 ha.cf
-rw-r--r-- 1 root wheel 5905 Oct 15 2006 haresources
-rw-r--r-- 1 root wheel 34067 Oct 15 2006 heartbeat_api.html
-rw-r--r-- 1 root wheel 22919 Oct 15 2006 heartbeat_api.txt
-rw-r--r-- 1 root wheel 24104 Oct 15 2006 rsync.html
-rw-r--r-- 1 root wheel 16720 Oct 15 2006 rsync.txt
-rw-r--r-- 1 root wheel 807 Oct 15 2006 startstop
#

欲しかった3つの設定ファイル(ha.cf、haresources、authkeys)があるー!
ただし、これらの中身はあくまでも雛型なので、今のサーバに合わせる形で
修正しよう。

今回使用しているサーバは以下の2台なので、特化型での書き方を参考に
合わせてみます。

サーバ1: banana260.maido3.com (IP:206.223147.160、206.223.147.161)
サーバ1: banana261.maido3.com (IP:206.223147.165、206.223.147.166)

[/usr/local/etc/ha.d/ha.cf の内容]
bcast vr0
keepalive 2
warntime 10
deadtime 30
initdead 60
auto_failback off
respawn hacluster /usr/local/lib/heartbeat/ipfail
node banana260.maido3.com
node banana261.maido3.com

[/usr/local/etc/ha.d/haresources の内容]
banana260.maido3.com 206.223.147.161/32 zzz-ipvs

[/usr/local/etc/ha.d/authkeys の内容]
auth 1 1 sha1 ほにゃらら
※/usr/local/etc/ha.d/authkeys のパーミッションは600に変更する。

これで準備完了かな。では試運転。
成功するか、はたまた失敗するか、それは次回のお楽しみという事で。
(今日も最後まで書ききれなかった・・・・)
それでは、また。

9日目に戻る。   11日目に続く。

1日目 2日目 3日目 4日目 5日目 6日目 7日目
8日目 9日目 10日目 11日目 12日目 13日目 14日目
15日目 16日目 17日目 18日目 19日目 20日目 21日目
22日目 23日目 24日目 25日目 26日目 27日目 28日目
29日目 30日目 31日目 32日目 33日目 34日目 35日目
36日目 37日目 38日目 39日目 40日目 41日目 42日目
43日目 44日目 45日目 46日目 47日目 48日目 49日目
50日目 51日目 52日目 53日目 54日目 55日目 56日目
57日目 58日目 59日目 60日目 61日目 62日目 63日目
64日目 65日目 66日目 67日目 68日目 69日目 70日目
71日目 72日目 73日目 74日目 75日目 76日目 77日目
78日目 79日目 80日目 81日目 82日目 83日目 84日目
85日目 86日目 87日目 88日目 89日目 90日目 91日目
92日目 93日目 94日目 95日目 96日目 97日目 98日目
99日目 100日目 101日目 102日目 103日目 104日目 105日目
106日目 107日目 108日目 109日目 110日目 111日目 112日目
113日目 114日目 115日目 116日目 117日目 118日目 119日目
120日目 121日目 122日目 123日目 124日目 125日目 126日目
127日目 128日目 129日目 130日目 131日目 132日目 133日目
134日目 135日目 136日目 137日目 138日目 139日目 140日目
141日目 142日目 143日目 144日目 145日目 146日目 147日目
148日目 149日目 150日目 151日目 152日目 153日目 154日目
155日目 156日目 157日目 158日目 159日目 160日目 161日目
162日目 163日目 164日目 165日目 166日目 167日目 168日目
169日目 170日目 171日目 172日目 173日目 174日目 175日目
176日目 177日目 178日目 179日目 180日目 181日目 182日目
183日目 184日目 185日目 186日目 187日目 188日目 189日目
190日目 191日目 192日目 193日目 194日目 195日目 196日目
197日目 198日目 199日目 200日目 201日目 202日目 203日目
目次に戻る

いま一番お得なページ! 解析
Copyright (C) 1997-2010, BIG-server.com. All Rights Reserved. server@maido3.com
レンタルサーバー BIG-server.com
Powered By Maido3.com