こちらの記事を読んでいたら、「別にAzureでできるじゃん」と思ったのでやってみることに。
http://qiita.com/nownabe/items/462f46f2702ce1ad4b6d#percona-xtradb-cluster-1
ClearDBもPercona使ってるのかな?
https://www.cleardb.com/blog/entry?id=press-release/april-18-2013/cleardb-ceo-to-speak-at-percona-live-santa-clara
Azureでのポイントは以下の3つ。
・仮想ネットワークを作成し、同一の仮想ネットワーク内に仮想マシンを置く。
・仮想マシンに可用性セットを設定し、メンテナンスなどの停止に備える。
・エンドポイントに負荷分散セットを設定し、ロードバランシングする。
今回はCentOS7でやってみましたが、もちろんハマるところはこの2つ。
・firewalldを止める(ほんとはきちんとポートの設定をしてOnにしましょう!今回だけですよ!!)
・SELinuxをオフにする
ざっくり手順を。
まずは管理ポータルでの設定。
1.仮想ネットワークの作成
名前を「percona」、場所を「日本(東)」にした。
2.仮想マシンの作成(1台目)
ギャラリーから「CentOSベース」→「OpenLogic 7.0」を選択。
仮想マシン名を「percona1」、サイズは「標準、A1」に。
新しいクラウドサービスを作成、DNS名は「percona0」、作成した仮想ネットワークを指定、可用性セットを「percona」という名前で作成。
3.仮想マシンの作成(2台目、3台目)
ギャラリーから「CentOSベース」→「OpenLogic 7.0」を選択。
仮想マシン名を「percona2(percona3)」、サイズは「標準、A1」に。
作成したクラウドサービス「percona0」を選択、作成した仮想ネットワークを指定、作成した可用性セット「percona」を選択。
4.MySQLのエンドポイントの追加(percona1)
まず、percona1でエンドポイントを作成します。
「スタンドアロン エンドポイントの作成」を選択し、次へ。
エンドポイントの詳細で、名前を「MySQL」に、「負荷分散セットの作成」にチェック。
5.MySQLのエンドポイントの追加(percona2、percona3)
「既存の負荷分散セットにエンドポイントを追加する」を選択し、次へ。
エンドポイントの詳細で、名前を「MySQL」に、「負荷分散セットの再構成」にチェック。
ここまでで、管理ポータルの設定は完了。
なお、各IPアドレスは、percona1(10.0.0.4)、percona2(10.0.0.5)、percona3(10.0.0.6)です。
各サーバーの設定は参照記事の通りですが、ざっくりと。
1.アップデートとSELinuxとfirewalldの無効化
sshでログインして、以下のコマンドをどうぞ。
$ sudo yum -y upgrade
$ sudo vi /etc/sysconfig/selinux
SELINUX=disabled
$ sudo systemctl disable firewalld
$ sudo shutdown -r now
2.Percona XtraDB Cluster のインストール
$ sudo yum -y install epel-release
$ sudo yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
$ sudo yum -y install Percona-XtraDB-Cluster-56
3.my.cnfの編集(percona1)
$ sudo vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
user=mysql
binlog_format = ROW
innodb_buffer_pool_size = 100M
innodb_flush_log_at_trx_commit = 0
innodb_flush_method = O_DIRECT
innodb_log_files_in_group = 2
innodb_log_file_size = 20M
innodb_file_per_table = 1
wsrep_cluster_address = gcomm://10.0.0.4,10.0.0.5,10.0.0.6
wsrep_provider = /usr/lib64/galera3/libgalera_smm.so
#wsrep_slave_threads = 8
wsrep_cluster_name = Cluster
wsrep_node_address=10.0.0.4
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth="sstuser:s3cret"
default_storage_engine=InnoDB
innodb_locks_unsafe_for_binlog = 1
innodb_autoinc_lock_mode = 2
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file = /run/mysqld/mysql.pid
!includedir /etc/my.cnf.d
※percona2、percona3の場合は、「wsrep_node_address」を自分のIPアドレスに変更
4.percona1の起動(起動後はMySQLの管理者パスワードを設定すること)
$ sudo systemctl start mysql@bootstrap
5.SST用ユーザーの作成
$ sudo mysql -u root -p
Enter password:
mysql> create user 'sstuser'@'localhost' identified by 's3cret';
mysql> grant RELOAD, LOCK TABLES, REPLICATION CLIENT on *.* to 'sstuser'@'localhost';
mysql> flush privileges;
6.percona2、percona3の起動
$ sudo systemctl start mysql
あとは、参照記事の通りSQLを実行して確認できるかと思います。
性能検証は誰かやってるのかなー。
0 件のコメント:
コメントを投稿