5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

IDCF CloudAdvent Calendar 2016

Day 19

IDCFクラウド で MariaDB Galera Cluster を組んでみる

Posted at

はじめまして、橋口です :bow:

今回は、IDCFクラウド 上で MariaDB 10 以降に取り込まれた MariaDB Galera Cluster を使い、マルチマスタDBを作成します :tada:

Step0) 環境

VM(仮想マシン)を構築するまでの流れはご利用の流れめちゃ楽ガイド(PDF)をご覧下さい :bow:
データベース用セグメントとして追加ネットワークを作成するのもオススメです :thumbsup:
:information_desk_person: 環境が異なる場合は適宜読み替えて下さい。

Step1) リポジトリ追加

/etc/yum.repos.d/MariaDB.repo
# 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
  • 必要に応じてリポジトリの鍵を登録しましょう :key2:
sudo rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

Step2) インストール

sudo yum install MariaDB-server MariaDB-client

Step3) 初期設定 :wrench:

各VMに設定をしてゆきます。

/etc/my.cnf.d/server.cnf
[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) 起動 :tada:

1台目

CentOS5,CentOS6
service mysql bootstrap
CentOS7
galera_new_cluster

2台目以降

CentOS5,CentOS6
service mysql start
CentOS7
systemctl start mriadb

Step5) 接続する

各アプリケーションサーバの内部にHAProxyを置いて分散するのがよいのではないでしょうか :thinking:
アプリケーションサーバーが多い場合は別途内部LBを作成する方が管理は楽かな? :sob:

install
yum install haproxy
/etc/haproxy/haproxy.cfg
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日時点)

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?