SlideShare a Scribd company logo
ゆるふわMySQLフェイルオーバー
クラスターコンピューティング株式会社
高橋 公俊
2015/11/20 MySQL Casual Talks vol.8
自己紹介
サーバ販売
インフラ構築/コンサルティング
冗長化、負荷分散クラスタ
IT勉強会初登壇 ( ;゚Д゚)ガクブル
仲間募集中
twitter: @ktaka
http://ccmp.jp
本日の内容
● 今回のフェイルオーバー構成
○ VRRPって何?
○ レプリケーション
○ デモ
● バックアップ、リカバリー
○ デモ
● まとめ
フェイルオーバー構成
フェイルオーバー構成
keepalived
mysqld(5.6)
keepalived
mysqld(5.6)
VRRP
Rep.
クライアント
db1 db2VIP
readonly=1
ヘルスチェック
readonly=0
フェイルオーバー構成
keepalived
mysqld(5.6)
keepalived
mysqld(5.6)
VRRP
Rep.
クライアント
db1 db2VIP
ヘルスチェック
X readonly=0readonly=1
VRRP
VRRP2 (RFC3768)
Master Backup
Advertise
Master Backup -> Master
Advertise
X
keepalived 1.2.17以降はVRRPv3(RFC5798)対応
ヘルスチェック
vrrp.conf
vrrp_script mysqlchk {
script "/etc/keepalived/vrrp/mysqlchk.sh"
interval 1 ← 1秒ごとにチェック
fall 2 ← 2回失敗したらFAULT
rise 2 ← 2回成功でBACKUP or MASTER
}
mysqlchk.sh
mysql -S $SOCK --connect-timeout=$TIMEOUT
-e "show variables like 'server_id';"
VRRP切り替え時間
mysqldのみ死んだら
● ヘルスチェック失敗しMasterステップダウン。2秒。
● 即座にVIPが移動する。
Masterがサーバごと突然死
● (3 * Advertisement_Interval) + ( (256 - Priority) / 256 )
●      が1なら最長で4秒でVIP移動
レプリケーション
レプリケーション(おさらい)
Master
Client
binlog
Slave
Network relaylog binlog
レプリケーション(やばい)
Master
Client
binlog
Slave
Network relaylog binlog
X
DBの状態チェック
‘show slave status’の一部と、UUID表示
UUID= 8c3905b3-8de2-11e5-b06d-525400110001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 0
Slave_SQL_Running_State: Slave has read all relay log; waiting for more
updates
Retrieved_Gtid_Set: 8bfdfa5e-8de2-11e5-b068-525400110002:1
Executed_Gtid_Set: 8bfdfa5e-8de2-11e5-b068-525400110002:1,8c3905b3-
8de2-11e5-b06d-525400110001:1-58442
フェイルオーバーデモ
フェイルオーバー構成
keepalived
mysqld(5.6)
keepalived
mysqld(5.6)
VRRP
Rep.
クライアント
v001 v002VIP readonly=1
ヘルスチェック
readonly=1readonly=0
フェイルオーバー構成
keepalived
mysqld(5.6)
keepalived
mysqld(5.6)
VRRP
Rep.
クライアント
v001 v002VIP
ヘルスチェック
X readonly=0readonly=1
デモ環境が小規模
https://github.com/ktaka-ccmp/mysql-casual-20151220/tree/mysql56
Intel Pentium N3700
(2M Cache, up to 2.40 GHz, Quad Core)
8GB mem, 120GB SSD
Debian Jessie , kvm
フェイルオーバーデモ
バックアップ・リカバリー
Percona Xtrabackup
ほぼオンラインバックアップ可能らしい*
● InnoDBだけを先にバックアップ
● ‘FLUSH TABLES WITH READ LOCK’ ->
MyISAMをバックアップ
mysqldumpより全然速い
*http://d.hatena.ne.jp/interdb/20140922/1411378571
Percona Xtrabackup
デイリーバックアップ
● innobackupexでxtrabackup.{日時}.tgzに保存
リカバリー
● data_dirを退避
● innobackupexでバックアップから新しいdata_dir
● skip-slave-start でmysqld起動
● レプリケーション設定
● "start slave;"
バックアップデモ
おさらい
いいところ
● ほぼ瞬時にフェイルオーバー
● バックアップ、リカバリー速い
課題
● マルチマスターなので不整合に気をつける
● repが遅いとなかなか昇格できない
● バックアップファイルの正しさチェックどうする?
ご清聴ありがとうございましたm(__)m
DBのMaster確認
mysql --host $VIP -e
'select @@report_host, @@report_port, @@read_only¥G;'
*************************** 1. row *******************
@@report_host: v001
@@report_port: 3306
@@read_only: 0
GTIDって何?
Global Transaction ID
トランザクションに一意のID
binlog内のどこまでが適用されたかがわかる。
5721623-be74-11e4-a21c-40a8f0333378:2681128
UUID シーケンス番号

More Related Content

PPTX
dimSTATから見るベンチマーク
PDF
MySQL5.7とMariaDB10.1の性能比較(簡易)
PDF
MySQL負荷分散の方法
PDF
MySQLの冗長化 2013-01-24
PPTX
MySQL Clusterを運用して10ヶ月間
PDF
MySQL 5.7とレプリケーションにおける改良
PPTX
MySQL5.6と5.7性能比較
PDF
MHA for MySQLとDeNAのオープンソースの話
dimSTATから見るベンチマーク
MySQL5.7とMariaDB10.1の性能比較(簡易)
MySQL負荷分散の方法
MySQLの冗長化 2013-01-24
MySQL Clusterを運用して10ヶ月間
MySQL 5.7とレプリケーションにおける改良
MySQL5.6と5.7性能比較
MHA for MySQLとDeNAのオープンソースの話

What's hot (17)

PPTX
MySQL 冗長化モデル
PPTX
innodb_thread_concurrencyとtransparent hugepageの影響
PDF
MHAの次を目指す mikasafabric for MySQL
PDF
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
PDF
Art of MySQL Replication.
PPTX
POWER8サーバでMariaDBベンチマーク
PPT
MHAを検証して導入した話
PDF
MySQL 5.6新機能解説@dbtechshowcase2012
PDF
tcpdump & xtrabackup @ MySQL Casual Talks #1
PDF
dbts2013:MariaDB Galera Cluster 活用例
PDF
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
PPTX
MySQLの運用でありがちなこと
PPTX
MySQL clients
PDF
What's New in MySQL 5.7 InnoDB
PDF
MySQL 5.7の次のMySQLは
PDF
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
PPT
Handlersocket 20140218
MySQL 冗長化モデル
innodb_thread_concurrencyとtransparent hugepageの影響
MHAの次を目指す mikasafabric for MySQL
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
Art of MySQL Replication.
POWER8サーバでMariaDBベンチマーク
MHAを検証して導入した話
MySQL 5.6新機能解説@dbtechshowcase2012
tcpdump & xtrabackup @ MySQL Casual Talks #1
dbts2013:MariaDB Galera Cluster 活用例
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
MySQLの運用でありがちなこと
MySQL clients
What's New in MySQL 5.7 InnoDB
MySQL 5.7の次のMySQLは
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
Handlersocket 20140218
Ad

Similar to ゆるふわMySQLフェイルオーバー (20)

PDF
MySQL Cluster でもフラッシュドライブを活用してみる
PDF
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
PDF
LINEのMySQL運用について
ODP
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
PDF
ロードバランサのリソース問題を解決する ~NetScaler Clustering~
PPTX
LINEのMySQL運用について 修正版
KEY
Web Operations and Perl kansai.pm#14
PDF
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
PDF
MySQL 5.7 Technical Update (日本語)
PPTX
20140518 JJUG MySQL Clsuter as NoSQL
PDF
20150920 中国地方db勉強会
PDF
Sql server 構築 運用 tips
PDF
20180706_VxRailCC_ワークショップ編_NW
PDF
pixivのインフラを支える技術
PDF
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
PPT
Handlersocket 20110517
PDF
MySQL Technology Cafe #12 MDS HA検証 ~パラメータからパフォーマンスまで~
PDF
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
PDF
MySQL at Yahoo! JAPAN #dbts2018
PDF
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
MySQL Cluster でもフラッシュドライブを活用してみる
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
LINEのMySQL運用について
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
ロードバランサのリソース問題を解決する ~NetScaler Clustering~
LINEのMySQL運用について 修正版
Web Operations and Perl kansai.pm#14
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL 5.7 Technical Update (日本語)
20140518 JJUG MySQL Clsuter as NoSQL
20150920 中国地方db勉強会
Sql server 構築 運用 tips
20180706_VxRailCC_ワークショップ編_NW
pixivのインフラを支える技術
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
Handlersocket 20110517
MySQL Technology Cafe #12 MDS HA検証 ~パラメータからパフォーマンスまで~
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
MySQL at Yahoo! JAPAN #dbts2018
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
Ad

ゆるふわMySQLフェイルオーバー