前回までの作業でシングル環境ではありますが、
基本的なブローカーの構築が完了しました。
もちろん、この状態で利用することは可能ですが、
バックエンドの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
-
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」が割り当てられていないことが確認できました。
以上で「副系ノードの構築」は完了です。
次回は運用のイメージをつかむ為にいくつかのケースを想定した
障害時の動作について確認を行いたいと思います。
お疲れ様でした。
Technorati Tags: keepalived, MySQL, Cluster, ブローカー
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開発日誌
