MySQL
MySQL Clusterの環境構築について(変更点の概要)
当Blogで2008年4月頃に公開したMySQL Clusterの環境構築手順ですが、
1年たった現在では一部そのままでは利用旨ご指摘を頂いておりました。
そこで、週末に環境を準備し検証を行いましたのでご報告します。
なお、更新版の構築手順は後日整理して投稿する予定ですので、
ここでは変更点についてのみご報告をいたします。
まず、基本的な流れに違いはありません。
また、同様に設定ファイルについても変更はございません。
但し、SQLノードの構築については、導入すべきパッケージが変わっており、
前回は「MySQL Community Server」にて掲示されているパッケージを進めておりましたが、
現在は、上記のパッケージでは正常に動作しないようです。
確認したところMGMノード上でも接続の確認が行えませんし、
同様にSQLノード上で接続を確認できるメッセージも表示が行われないため、
設定云々では回避できないものと思われます。
では、現在はどのようにすべきかという点ですが、導入するパッケージを専用のものに変更するだけです。
公式サイトで「MySQL Cluster 7.0」のメニューの中から
該当するOSを選択すると、各種パッケージが有ると思います。
この中の、ServerとClientを利用することが必須となっているようです。
上記の通りですので、当Blogを参考にしている方は読み替えて進めてください。
※なお、改訂版の手順を掲載し次第、旧説明から誘導のメッセージを表示する予定です。
LVSを使ったブローカーの構築:「keepalived.conf」についての説明
今回構築から検証までの間で説明を省略していた
「keepalived.conf」について私が理解している範疇で説明します。
※誤り等あればご指摘いただけると助かります。。。
まず、説明の対象となる「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」の設定内容はスケジューリング方式や監視方式により変わる為、
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.正系ノードの構築」からはじめます。
Home > MySQL
- ブログ内検索
- 各種フィード
- Meta
