高可用性ロードバランサーを nginx + heartbeat で作る
ロードバランサーの可用性を高めるために、アクティブスタンバイ構成で、アクティブ系が落ちたらスタンバイ系に引き継げるようにする。 構築環境 サーバー機 NIC × 2 枚 (推奨 4 枚) RAID: 1, (推奨 0 + 1) 電源ボード × 2 (予算があれば) 仮想化ソフトウェア: VMWare ESXi 4.0 仮想化ソフトウェア (VMWare ESXi 4.0) の設定 NIC は 2 枚 1 組でフェイルオーバーするように設定 ネットワーク × 2 (NIC 2 枚構成の場合は VLANを作成) VM Network: 既存 (デフォルト) HA Network: 新規追加 ロードバランサー用ゲストOS (Ubuntu Server 9.10: 各サーバに1 台ずつ追加) ディスク: 4G程度 (Ubuntu Server の最小ハードウェア要件は 1G) コア数: 2 メモリ: 4G ネットワーク × 2 VM Network に接続された NIC HA Network に接続された NIC ネットワーク アクティブ (lb01) スタンバイ (lb02) eth0 (heartbeat 監視用) 192.168.0.2 192.168.0.3 eth1 (管理用) 172.16.0.2 172.16.0.3 サービス用 172.16.0.1 (実際にサービスを提供する IP) インストールと設定 パッケージ類のインストール (nginx と heartbeat) ロードバランサーとして利用する nginx と、クラスタリングするための heartbeat をインストールする sudo aptitude install nginx heartbeat nginx の自動起動をやめる sysv-rc-conf などを利用し、各ランレベルでの自動起動を停止しておく ※ sysv-rc-conf をインストールしていない場合は以下でインストールできる sudo sptitude install sysv-rc-conf hosts ファイルに各サーバを登録する sudo vi /etc/hosts