Home > CentOS | MySQL | 環境構築 > LVSを使ったブローカーの構築:LVSの副系ノードの構築

LVSを使ったブローカーの構築:LVSの副系ノードの構築

前回までの作業でシングル環境ではありますが、
基本的なブローカーの構築が完了しました。

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

これでは意味がありません。
そこで、今回はブローカーの副系ノードを構築しブローカー自体を冗長化したいと思います。

今回の作業は以下の手順で行います。

  1. ipvsadmのインストール
  2. keepalivedのインストール
  3. keepalived.confの編集
  4. 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

CODE:
  1. vrrp_instance vip_mysqld {
  2.   state BACKUP
  3.   interface eth0
  4.   grap_master_delay 5
  5.   virtual_router_id 1
  6.   priority 100
  7.   nopreempt
  8.   advert_int 1
  9.   authentication {
  10.     auth_type PASS
  11.     auth_pass secret
  12.   }
  13.   virtual_ipaddress {
  14.     10.1.100.100/24 dev eth0
  15.   }
  16. }
  17. virtual_server 10.1.100.100 3306 {
  18.   delay_loop  3
  19.   lvs_sched   rr
  20.   lvs_method  DR
  21.   protocol    TCP
  22.   real_server  10.1.100.140 3306 {
  23.     TCP_CHECK {
  24.       connect_port 3306
  25.       connect_timeout 30
  26.     }
  27.   }
  28.   real_server  10.1.100.150 3306 {
  29.     TCP_CHECK {
  30.       connect_port 3306
  31.       connect_timeout 30
  32.     }
  33.   }
  34. }

以上の内容で「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: , , ,

Comments:0

Comment Form
Remember personal info

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開発日誌

Home > CentOS | MySQL | 環境構築 > LVSを使ったブローカーの構築:LVSの副系ノードの構築

ブログ内検索
各種フィード
Meta

Page Top

このページの先頭へ