MySQL clusterは「waku2とらふぃっくすHAクラスタ化プロジェクト」のひとつです。 PCエンジンデータベースをはじめ現在のデータベースはpostgreSQLで稼動していますが、これを機会に移行も行う予定です。 本日は、「MySQL Cluster(primary/primary)のインストール[第一次インストール後調査メモ]」についてです。
こんにちは。猫ITソリューションズ広報の齊藤メイ(♀)です。 本日は、「MySQL Cluster(primary/primary)のインストール[第一次インストール後調査メモ]」についてです。関連記事:
- MySQL Cluster(primary/primary)のインストールその1[管理ノードのインストール]
- MySQL Cluster(primary/primary)のインストールその2[データノード/SQLノードのインストール]
- MySQL Cluster(primary/primary)のインストールその3[データ同期の確認]
- MySQL Cluster(primary/primary)のインストールその4[起動・停止・管理]
- MySQL Cluster(primary/primary)のインストール[第一次インストール後調査メモ]
【中古】 Xen徹底入門 第2版
5,410 円 (税込) 送料込
【メーカー名】翔泳社【メーカー型番】【ブランド名】掲載画像は全てイメージです。実際の商品とは色味等異なる場合がございますのでご了承ください。【 ご注文からお届けまで 】・ご注文 :ご注文は24時間受け付けております。・注文確認:当店より注文確認メールを送信い..
貴重な情報ありがとうございます。深く感謝の意を表します。
参考:
管理ノード/SQLノード/データノードと必要になる。 ここでの構成は以下の通り。(xenが前提です。洒落のつもりはないです)
- (Domain-0)
mikeneko.waku2traffics.com
eth1
10.0.0.20
管理ノード - (Domain-U)
buchineko.waku2traffics.com
eth1
10.0.0.21
データノード/SQLノード - (Domain-0)
toraneko.waku2traffics.com
未使用
※いつか管理ノードを冗長化させたい - (Domain-U)
shironeko.waku2traffics.com
eth1
10.0.0.31
データノード/SQLノード
OS:CentOS5.2 x86_64版
第一次インストール後調査メモ
How To Set Up A Load Balanced MySQL 5 Cluster With Two Server Machines.要調査。どうも理屈としてはクラスターが動きさえすれば管理ノードは必要ないので、とりあえずどっちかつないで管理コマンドさえ打てればいいみたいな?
http://kjalleda.googlepages.com/buildingahighlyavailablemysqlcluster
http://www.syslog.gr/content/view/28/
MySQL Clusterはセキュアーではありません。
デフォルトでは誰でも管理サーバーに接続でき全部をシャットダウンできます。次のことに気をつける必要があります。 * APFをインストールして、使用しないポートは全部ブロック (MySQL Clusterのポートは除く) * /etc/apf/allow_hostsファイルにクラスター内のマシンのIPアドレスを格納。 * MySQL Clusterを隔離されたネットワークに搭載するべきです。
管理サーバー
一旦管理サーバーをスタートしたら、停止しないことをお勧めします。これは幾つかの理由によります。 * 管理サーバーは殆どコンピュータのリソースを消費しません。 * クラスタに問題が発生したとき、単にsshでアクセスしてndbd と打って状態を調べることができます。 違うサーバーを取り扱はなければならないのは面倒なことです。 * バックアップを取るときは管理サーバーが実行中である必要があります。 * クラスターのログは管理サーバーに送られてクラスタの状況を知らせます。 * ndb_mgmクライアントからのコマンドは管理サーバーに送られますので管理サーバーがなければ管理コマンドも作動しません。 * 管理サーバーはクラスターのコンフィギュレーションが変更される時(サーバー・クラッシュやネットワークを分割するとき)に必要です。 管理サーバが実行されていないと、いわゆる「split-brain」のシナリオが起こります。 より優れたフォールトトレランスを提供するために管理サーバーの調停機能が必要とされます。 もちらん、サーバーを止めても構いません。
ブート時に自動的にndbdをスタートしたり停止する
これをするにはmysql1とmysql2のどちらの上でも次のことをしてください。 echo "ndbd" > /etc/rc.d/init.d/ndbd chmod +x /etc/rc.d/init.d/ndbd chkconfig --add ndbd これは本当に簡単なスクリプトです。少なくともndbd が既に稼動しているか確かめる程度のスクリプトを用意すべきです。
ホスト名を使用
セットアップ時にIPアドレスを使用してきました。これはホスト名を使用すると色々と問題がおきる可能性が増えるからです。 MySQL AB の Mikael Ronstro"m はこう説明します。 「ホスト名はMySQL Cluster でも使用できます。しかし、ホスト名を使用するとエラーを発生する可能性が増えます。 それは正しくDNSへの参照がセットされていなければならないからです。/etc/hostsを編集する必要があります。 時にはあるポート以外であるマシンとの交信が出来ないようにするための指定をしなければならないかも知れません。」 テストをするときはIPアドレスを使用して、一旦正しく動作したらホスト名に代えることをお勧めします。
RAM
http://mysqlpracticewiki.com/index.php/MySQL_Cluster%E3%81%AE%E3%83%A1%E3%83%A2%E3%83%AA%E3%82%B5%E3%82%A4%E3%82%BA%E8%A6%8B%E7%A9%8D%E3%82%82%E3%82%8A次の計算式を使ってそれぞれのストレッジ・ノードで必要なRAMの大きさを計算してください。 (データベースの大きさ * NumberofReplicas * 1.1) / ストレッジ・ノードの数 NumberofReplicasはデフォルトでは2にセットされています。これはconfig.iniの中で変更可能です。 4GBのデータベースを実装するためにはそれぞれのストレッジ・エンジン上に9GBの RAMを必要とします。 SQLと管理ノードには大してRAMは必要ではありません。
ストレッジ・ノードの追加
ストレッジ・ノードの数を増加するのであれば、3は最適な値ではありません。2から増加するのなら、4が最適です。