レンタルサーバー
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日目
目次に戻る
第17日目:〜外伝V〜 ロードバランサーを作れ! (その5)〜

どうも、('A`)です。
前回まで3回にわたりMySQLについてお話をさせて頂きましたが、ようやっと本来の外伝Vに
戻る事ができました。
(本当は昨日日記をアップする予定でしたが、急きょ本業の対応が入ったので遅くなりました。)
追加で確保したサーバの再インストールも鯖子J( 'ー`)しが頑張って仕上げてくれたので、
いよいよ具体的なテスト環境の構築を始めます。

具体的なテスト環境を構築するにあたって、シナリオを考えてみようと思います

('A`)が dokuo.zansu.com というサイトをDNSラウンドロビンを使って2台のサーバで運営していると
仮定します。
この状態からどちらか1台のサーバがダウンしても、もう1台でサイトが円滑に表示にする為に
ロードバランサーを2台追加で用意し、以下のサーバ構成を構築します。

[ロードバランサー]
1号機(メイン)
banana260.maido3.com (IP: 206.223.147.160、 MACアドレス: 00:30:18:b0:02:60)
ドメインはsabako1.zansu.com
2号機(サブ → 1号機ダウン時はメインとなる)
banana261.maido3.com (IP: 206.223.147.165、 MACアドレス: 00:30:18:b0:02:61)
ドメインはsabako2.zansu.com

[サイトコンテンツ部]
サービス1号機
banana205.maido3.com (IP: 206.223.151.30、 MACアドレス: 00:30:18:b0:02:05)
ドメインはdokuo1.zansu.com
サービス2号機
banana274.maido3.com (IP: 206.223.147.230、MACアドレス: 00:30:18:b0:02:74)
ドメインはdokuo2.zansu.com

ロードバランサーに割り当てる代表ドメイン(いわゆる大代表)
dokuo.zansu.com (割り当てるIPはこれから決めます・・・)
なお割り当てたIPはロードバランサー1&2号機にインストールした「balance」の
設定ファイルに記述する。



動きとしては以下の様に想定しています。

1) クライアント(ユーザのPCとか)から「dokuo.zansu.com」にアクセス要求を出す
2) 要求されたアクセスをロードバランサー(1&2号機)のどちらかが受け取る
3) 要求を受け取ったロードバランサーは「balance」で設定されている振り分けの
  配分に基づいて受け流し先のサーバ(ここではサービス1&2号機)を決めて、
  「matd」で指定されたMACアドレスでサービス1(又は2)号機に転送します。
4) 要求が転送されてきたサービス1(又は2)号機は送られてきた要求の内容に
  基づいて処理を実施し、結果をクライアント(ユーザのPCとか)に返します。
5) ロードバランサー1号機がメインで受付しますが、万一ダウンした場合は
  「heartbeat」の監視機能によって2号機がダウンを検知し、2号機が
  メインに切り替わって以後の受付作業を続行します。

これがうまくいけば、サーバの負荷が高くて困っている人に

  ノ
 ('A`) お任せ下さい!
 ( (7
 < ヽ

と言ってバランサー用のサーバを用意し、heartbeatとかbalance、matdをインストールして、
元から稼働しているお客様のサーバにちょこっと手を加えて(サーバ構成に対応する為の
ドメイン再割り当てとか)、「はいっ、もう大丈夫ですよ!」と言えるかなぁ、と。。。
特にプライベートネットワークとか大がかりな構成変更が発生しない形で運用できると
うれしいかも、かも。

なんて事を考えていると、あぶらみくん( `э´)が慌てて「('A`)、特化スレ見ろよっ!」と
知らせてくれました。
あ、むむむさんがロードバランサーについて何かお話しをされているなあ。
ええと・・・


なんか色々想定した事を修正しなければいけないようです('A`)
むむむさんがお話しされている事は以下の4点です。
(判り易く図まで書いて頂きました。ありがとうございます。)
  ・FreeBSD版のheartbeatはうまく動いてくれない、らしい
   (2chの雪だるま等ではheartbeatの代わりにucarpを使っている)
  ・対象となるサーバはサブネットマスク(IP大台)が同じである必要がある
   (例えば4台のサーバのIPが 206.223.147.xxx である事)
   それと、できれば全サーバは同一のスイッチに接続されている方が良い
  ・振り分け機能だけのロードバランサーを作るなら、matdだけで実現可能
   (「matd」と「ucarp」で全部できちゃう)
  ・ロードバランサーを二重化する場合には、プライベートネットワークの
   環境が必要になる
   (NICを追加してサーバ間をクロスケーブルで直結するか、スイッチ設定で
   独自のVLANを用意する)

えーと計画変更に当たって最初に手掛ける事は、今まで用意していたサーバのうち1台の
IPアドレスを変更する事です。(banana205:これだけ206.223.151.xxxなんです。)
あぶらみくん( `э´)から空いているIPを割り当ててもらう相談をしなきゃ。

あと当初は「監視機能(バランサーの二重化)」と「振り分け機能」の両方を実現しようと
考えていましたが、二重化に際してはプライベート接続が必要になるとの事なので、
最初「振り分け機能」のみを実現し、その後で二重化の準備を進めます。

ただ('A`)がこの企画を考えた時に狙っていた事は「プライベートネットワークとかの
「特別な環境」を構築せずに、DNSラウンドロビンに代わるものを何とか作りたい」
という事でした。
しかし「全部のサーバが同一サブネットマスクに属していないといけない」という事が
判明したので、「特別な環境・設定をできるだけ最小限に止める」事を目標に切り替えます。
(でもちょっと痛かったなあ。妄想ですがmatdは異なるゲートウェイ間の通信までは
サポートしてくれないのかなあ、と思います。)
そして新たにucarpについても調べなきゃ。

じっくり腰を据えて考えて、作業にかからないと迷走してしまいそうだ・・・
ちょっとこれから計画を練り直してきます。
それでは、また。

16日目に戻る。   18日目に続く。

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日目
目次に戻る

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