CentOS
LVSを使ったブローカーの構築:「keepalived.conf」についての説明
今回構築から検証までの間で説明を省略していた
「keepalived.conf」について私が理解している範疇で説明します。
※誤り等あればご指摘いただけると助かります。。。
まず、説明の対象となる「keepalived.conf」を以下に掲載いたします。
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」の設定内容はスケジューリング方式や監視方式により変わる為、
LVSを使ったブローカーの構築:ブローカーの障害時の動作確認
今回はブローカーの動作について確認を行いますが、
動作確認に進む前に現状の構成のおさらいをしましょう。
現在までの正系ノード、副系ノードの二つのノードで構成されたブローカーが存在しています。
基本的に正系ノードが正常な場合、
クライアントからのアクセスを受け付ける仮想IP(10.1.100.100)は正系ノードに割り当てられており、
副系ノードはいわゆる待機ノードとなっています。
正系ノードが正常であれば上図の状態なわけですが、
正系ノードに何からの理由で障害が発生した場合、その時点で仮想IPは待機系ノードに割り当てられます。
このように仮想IPが副系ノードに割り当てられることでサービスが継続できる仕組みとなっています。
今回は上図のようなノードの切替も含めた動作の確認を実際に行い、
LVS+keepalivedを利用して構築したブローカーの動作を理解します。
今回の説明の順番は以下の通りです。
LVSを使ったブローカーの構築:LVSの副系ノードの構築
前回までの作業でシングル環境ではありますが、
基本的なブローカーの構築が完了しました。
もちろん、この状態で利用することは可能ですが、
バックエンドのMySQLサーバが冗長化されているにも係らず、
この状態でブローカーにトラブルが発生した場合、ブローカーの役割がはたされない為
データベースサービスを利用できなくなります。
これでは意味がありません。
そこで、今回はブローカーの副系ノードを構築しブローカー自体を冗長化したいと思います。
LVSを使ったブローカーの構築:LVS(シングル構成)の構築と確認
さて、簡単な説明と事前準備も完了しましたので具体的な作業に入ります。
まず、構築の手順を先に説明します。
- 正系ノードの構築
- 実サーバの設定
- シングル構成の動作確認
(1-2) keepalivedのインストール
(1-3) keepalived.confの編集
(1-4) keepalivedの起動と設定
(2-2) ARPへの対応
(3-2) クライアントからの接続と接続状況の確認
以上の手順で構築します。
なお、本説明はCentOS5.1上での構築を前提としており、
また、「LVSを使ったブローカーの構築:LVSの構築と確認」にて
あらかじめ準備を行っていることを前提としていますのでご注意ください。
では早速「1.正系ノードの構築」からはじめます。
LVSを使ったブローカーの構築:構築環境についての説明
さて、構築に入る前に今回構築する環境について簡単に説明します。
まずはLVS(Linux Virtual Server)です。
LVSとは「Linux Virtual Server」の略で、その名通り、仮想サーバを構築する技術(プロジェクト)の事で、
「The Linux Virtual Server Project」で進められています。
その中で現在主に認知されているものとしては「IPVS(IP Virtual Server)」が有名です。
今回は、このIPVSと「keepalived」を組み合わせて、
MySQL Clusterのブローカーとして動作させます。
まず最初にこれまでの説明で構築できたMySQL Cluster環境のおさらいと、
その問題点について再度確認をします。
前回も述べたとおり、現状の構成の問題点は、言うまでもなく折角MySQLが
Cluster環境となっているにも係らず、そのMySQLDノードの状態を自ら把握し、
正常なノードに接続するような対応をする必要があります。
今回は、IPVSとKeepalivedを使い、ブローカーを構築します。
ブローカーを介するとどのような利点があるかまずは次の図を見てください。
Home > CentOS
- ブログ内検索
- 各種フィード
- Meta