前回までの作業でシングル環境ではありますが、
基本的なブローカーの構築が完了しました。
もちろん、この状態で利用することは可能ですが、
バックエンドのMySQLサーバが冗長化されているにも係らず、
この状態でブローカーにトラブルが発生した場合、ブローカーの役割がはたされない為
データベースサービスを利用できなくなります。

これでは意味がありません。
そこで、今回はブローカーの副系ノードを構築しブローカー自体を冗長化したいと思います。
今回の作業は以下の手順で行います。
- ipvsadmのインストール
- keepalivedのインストール
- keepalived.confの編集
- keepalivedの起動と確認
以上の手順で実施します。
では早速「1.ipvsadmのインストール」から説明を行いますが、
実は作業自体は前回の説明で行った「LVS(シングル構成)の構築と確認」の内容と同様です。
理由は「keepalived.conf」にて正系ノードをあえて固定していない設定となっている為です。
1.ipvsadmのインストール
「ipvsadm」はIPVSのフロントエンドです。
実際の操作はこのipvsadmを利用することになります。
「ipvsadm」のインストールはyumで可能です。
>yum install ipvsadm
2.keepalivedのインストール
「keepalived」はIPVSを冗長化してくれます。
なお、keepalivedを利用する場合、IPVSの設定はkeepalived側の
設定ファイルから行う事となります。
今回のkeepalivedのインストールには前回同様にあらかじめ準備したRPMを利用します。
>rpm -ivh keepalived-1.1.13-6.i386.rpm
3.keepalived.confの編集
RPMを利用して「keepalived」を導入した場合、
設定ファイルは「/etc/keepalived/keepalived.conf」に配置されます。
初期のkeepalived.confは念のため保存しておき、
今回は必要な内容記載した新たな設定ファイルを作成します。
>cd /etc/keepalived/
>mv keepalived.conf keepalived.conf.backup
>vi keepalived.conf
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 | vrrp_instance vip_mysqld { state BACKUP interface eth0 grap_master_delay 5 virtual_router_id 1 priority 100 nopreempt advert_int 1 authentication { auth_type PASS auth_pass secret } virtual_ipaddress { 10.1.100.100/24 dev eth0 } } virtual_server 10.1.100.100 3306 { delay_loop 3 lvs_sched rr lvs_method DR protocol TCP real_server 10.1.100.140 3306 { TCP_CHECK { connect_port 3306 connect_timeout 30 } } real_server 10.1.100.150 3306 { TCP_CHECK { connect_port 3306 connect_timeout 30 } } } |
以上の内容で「keepalived.conf」を作成すれば副系ノードの準備も完了です。
4.keepalivedの起動と設定
1-3までの作業で最低限の設定は完了していますので、
keepalivedの自動起動の設定を行った上で、起動を行います。
>chkconfig keepalived on
>service keepalived start
さて、これで副系ノードも起動したわけですが、
現在の状況では正系ノードが正常に稼動している為、
仮想IPは正系ノードに割り振られており、副系ノードには割り振られていないはずです。
実際に確認してみましょう。
>ip addr show
こちらが正系ノード(vm06:10.1.100.160)の確認結果。

こちらが副系ノード(vm07:10.1.100.170)の確認結果。

どうでしょうか。
正系ノードでは仮想IPである「10.1.100.100」が割り当てられていることが確認でき、
また逆に副系ノードでは「10.1.100.100」が割り当てられていないことが確認できました。
以上で「副系ノードの構築」は完了です。
次回は運用のイメージをつかむ為にいくつかのケースを想定した
障害時の動作について確認を行いたいと思います。
お疲れ様でした。
Comments:0
Trackback+Pingback:0
- TrackBack URL for this entry
- http://blog.technology-knowledge.jp/2008/05/12/158/trackback/
- Listed below are links to weblogs that reference
- LVSを使ったブローカーの構築:LVSの副系ノードの構築 from SeeIn開発日誌
