share facebook facebook twitter menu hatena pocket slack

2014.12.10 WED

MariaDB Galera Clusterのバックアップ・リストア – EBS Snapshotパターン

岸上 健太郎

WRITTEN BY 岸上 健太郎

こんにちは、cloudpackがみさん です。

はじめに

Amazon EC2で稼働しているMariaDB Galera Clusterのバックアップ/リストアプランについて考えています。

  1. mysqldump
  2. Percona Xtrabackup
  3. Clusterグループのメンバーノードを切り離してbackup
  4. データベースのテーブルをFLUSH TABLES WITH READ LOCKしてストレージのスナップショットバックアップ

今回は

今回はAmazon EBSを利用していることも有り[4.]を試してみました。

やり方は昔からあるLVM Snapshotを用いたパターンと同じです
※ご参考「SQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup

ちなみに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用途)の構成でいけそうかな?

清書しよう..

元記事はこちらです。
MariaDB Galera Clusterのバックアップ・リストア – EBS Snapshotパターン

岸上 健太郎

岸上 健太郎

頑張るぞ!

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。