DBサーバを負荷分散してみます。
2007年4月23日 月曜日 | その他
技術統括部の佐藤です。
初めてblogを投稿します。
今回の記事はDBサーバの負荷分散についてです。
無償のOS、ソフトを用いて、高可用性のDBシステムを構築するのが今回の目的です。
実際にテストをしながらの投稿となりますので、構成等についてはつど変更が
生じるかもしれませんが、ご了承願います。
今回の構成についてですが、以下のような構成を考えてます。
IPアドレスの説明は以下の通りとなります。
10.1.8.38:WEBサーバ
10.1.8.39:WEBサーバ
10.100.9.40:DBサーバ(10.100.9.41,10.100.9.42)のVIP
10.100.9.41:DBサーバ
10.100.9.42:DBサーバ
10.100.9.43:DBサーバ(管理サーバ)
図の補足説明になりますが、ロードバランサも実際には冗長化を考えてますが、省略してます。
また本来L2スイッチも実際は存在してますが、こちらについても図の中では省略してます。
登場している機器については、全てLinuxを考えてまして、WEBサーバ、DBサーバに関しましては、
CentOS4.1、ロードバランサに関しましてはLVSを使用しようと考えてます。またアプリケーションに
ついてですが、WEBサーバについてはApache+PHPを、DBサーバについてはMySQLを使用します。
DBサーバのセットアップ
それではまずはDBサーバのセットアップに入りたいと思います。
今回利用するMySQLのバージョンはmysql-5.0.37で、MySQLのホームページよりソースを
ダウンロードしてきました。インストールまでの流れは以下の通りとなります。
configureする際の –with-ndbcluster が一番重要で、MySQLの負荷分散の機能を使用するという
宣言となります。こちらの定義がないと、今回のMySQLの冗長化が実現できません。
–without-readline は、標準入力からの日本語入力を許可する設定です。
次回はMySQLの詳細の設定などについて書きたいと思います。