坊主が上手にHatenaに坊主のコードを書いた

ITBOZEによるIT技術の備忘録ブログ

MariaDBについて Part.4

前回は、1台目のDBを作ったから、今回は、2台目のDB(db2)を作る。


1.前回Commitしたノードを元に、コンテナを起動

$ docker run -d -h db2 --name db2 itbose/galera:1.3

※ まさに、ここがDockerの真骨頂!! 前回作成したコンテナ(MariaDBがインストール済)からサーバーを複製できる。 そのため、最初からサーバーを作成する手間が省けるんだよねー。


2.db2固定IPアドレスを設定

$ pipework br1 db2 10.1.1.104/24


3.db2sshログイン

$ ssh 10.1.1.104


4.クラスタ構成の設定

/etc/my.cnf.d/server.cnfの[mysqld]セクションにクラスタ設定を記載

$ vi /etc/my.cnf.d/server.cnf


[mysqld]
wsrep_cluster_name=DBCLUSTER
wsrep_cluster_address=gcomm://10.1.1.103     # db1のIP(前回との違い)
wsrep_node_address=10.1.1.104                 # db2のIP(前回との違い)
wsrep_provider='/usr/lib64/galera/libgalera_smm.so' # ライブラリへのPATH
wsrep_sst_method=rsync                # データ同期方法
wsrep_slave_threads=4                #️ クラスタのスレッド数
defalult_strage_engine=InnoDB        # ストレージエンジンの指定
binlog_format=ROW                    # レプリケーションモードの指定
innodb_autoinc_lock_mode=2            # InnoDBでのAUTO_INCREMENTカラムを含むテーブルのロック方式を指定
innodb_locks_unsafe_for_binlog=1    # InnoDBが検索およびインデックスをスキャンするときのnext-keyロックの指定
charcter-set-server=utf8


5.db2起動

$ service mysql start 

※ 今回は、既に1台目のDBがあるから、前回指定したオプション(「--wsrep_cluster_address=gcomm://」もしくは「--wsrep-new-cluster」)は不要。


6.クラスタ状態の確認

$ mysql -u root -p  
$ show status like 'wsrep_%';  

※ Synced(同期してる)って表示されて、それぞれのDBのIPアドレスが表示されればOK!

ということで、クラスタ構成は、完成!!

次回は、WordPressの設定や、ロードバランサの起動などを書く予定。