MariaDB Galera Clusterのバックアップ・リストア - EBS Snapshotパターン
EC2で稼働しているMariaDB Galera Clusterのバックアップ/リストアプランについて考えています。
mysqldump
Percona Xtrabackup
Clusterグループのメンバーノードを切り離してbackup
4.データベースのテーブルをFLUSH TABLES WITH READ LOCKしてストレージのスナップショットバックアップ
今回はEBSを利用していることも有り[4.]を試してみました。
やり方は昔からあるLVM Snapshotを用いたパターンと同じです ※ご参考
ちなみにGalera Clusterには未サポートの機能があります。
MariaDB Galera Cluster - Known Limitations - MariaDB Knowledge Base
いくつかのLockコマンドはサポート対象外となっていますが FLUSH TABLES WITH READ LOCKはサポートされているので、問題なく利用できると考えています。
backup やってみる
2台または3台で構成するGalera Clusterのうち、どれか1台で下記コマンドを実行します. (wsrep_cluster_address=gcomm://ではないメンバーノードが良いと思います)
- バックアップの実行
mysql -u root -p mysql> FLUSH TABLES WITH READ LOCK mysql> system sync mysql> system sync mysql> system sync <このポイントでEBS Snapshotを取得> mysql> UNLOCK TABLES mysql> exit
リストア試してみる
- リストア
1.mysqlを停止
2.EBS スナップショットからcreate volume
3.volumeをattach
4.attachしたvolumeをmount
5.service mysql start(wsrepがマスタよりデータ同期してくれる)
これでOKでしたよう。
問題
- マスタ死んだら直近までリストアできない。galera.cacheコピーしていいのかねと思ったら循環型...
と思ったらふつーにlog-binが効いた。
Galera Cluster + mysql slave(backup用途)の構成でいけそうかな?
清書しよう..