はじめまして、橋口です
今回は、IDCFクラウド 上で MariaDB 10 以降に取り込まれた MariaDB Galera Cluster を使い、マルチマスタDBを作成します
Step0) 環境
VM(仮想マシン)を構築するまでの流れはご利用の流れやめちゃ楽ガイド(PDF)をご覧下さい
データベース用セグメントとして追加ネットワークを作成するのもオススメです
環境が異なる場合は適宜読み替えて下さい。
Step1) リポジトリ追加
- リポジトリの設定を生成してくれるのでコピペしましょう
https://downloads.mariadb.org/mariadb/repositories/ - 少し変えて下記のように設定しました(CentOS7,MariaDB10.1)。
# MariaDB 10.1 CentOS repository list
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgcheck=1
enable=1
- 必要に応じてリポジトリの鍵を登録しましょう
sudo rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
Step2) インストール
sudo yum install MariaDB-server MariaDB-client
Step3) 初期設定
各VMに設定をしてゆきます。
[galera]
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_name=GALERA
wsrep_cluster_address="gcomm://192.168.10.1,192.168.10.2,192.168.11.1"
wsrep_node_address=192.168.0.1
wsrep_slave_threads=2
binlog_format=row
-
wsrep_provider
が見つからない場合は/usr/{lib|lib64}/{mysql|galera}/libgalera_smm.so
を探してみてください。 -
wsrep_cluster_name
では名前を定義します。デフォルト値はmy_wsrep_cluster
です。 -
wsrep_cluster_address
では参加するノードのIPアドレスを定義します。 -
wsrep_node_address
では設定を行うノードのIPアドレスを定義します。デフォルト値はeth0
のIPアドレスです。 -
wsrep_slave_threads
ではスレッド数を定義します。CPUの倍または書き込むクライアント数の1/4を設定するとよいようです。 - 詳細は https://mariadb.com/kb/en/mariadb/galera-cluster-system-variables/ を参照してください。
Step4) 起動
1台目
service mysql bootstrap
galera_new_cluster
2台目以降
service mysql start
systemctl start mriadb
Step5) 接続する
各アプリケーションサーバの内部にHAProxyを置いて分散するのがよいのではないでしょうか
アプリケーションサーバーが多い場合は別途内部LBを作成する方が管理は楽かな?
yum install haproxy
listen galera *:3306
balance source
mode tcp
option tcpka
option mysql-check user haproxy
server node1 192.168.10.1:3306 check weight 1
server node2 192.168.10.2:3306 check weight 1
server node3 192.168.11.1:3306 check weight 100
さいごに
このほかには、MariaDB 10以降ではmroongaがバンドルされていたりしていて個人的にうれしいです。
あまり、IDCFクラウド関係なくない?といわれたら悲しいので宣伝しておきます。
IDCFクラウドには、月500円の仮想マシンからデータベースサーバに最適な超高速I/O処理が可能なioMemoryを搭載したハードウェア占有マシンなど、幅広いラインナップの仮想サーバーがあります。
また、追加ネットワーク間を相互に接続できるプライベートコネクトL3(type3)というWANサービスがあります。
IDCFクラウドのゾーン間はもとよりリージョン間接続も基本無料※なサービスなため、DBを簡単に東日本、西日本に配置することができBCP対策にも有効です。
※ 一部有料になることがあります。詳しくはサービス仕様書をご覧いただくかお問い合わせください。
※ 追加ネットワークは月額1万円(税別)です(2016/12/19日時点)