Successfully reported this slideshow.

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

マスタN対スレーブ1レプリケーションの作り方 ~あれから~

  1. 1. マスタn対スレーブ1 レプリケーションの 作り方 ~あれから~ 2013/04/17 MySQL Casual Talks vol.4 do_aki
  2. 2. do_aki (どぅーあき) |所属| > 株式会社もしも (ドロップシッピング・アフィリエイトASP) |仕事| > インフラ(サーバ管理)兼 Webアプリケーション開発 |出現| > 渋谷・山手線沿線 |特性| > PHPer http://do-aki.net/
  3. 3. マスタn対スレーブ1 レプリケーション
  4. 4. カジュアルなマスタ分割 Master JOIN Master A 不可 B Slave Slave Slave Slave A1 A2 B1 B2
  5. 5. カジュアルなマスタ分割 Master JOIN Master A 不可 B Slave Slave Slave Slave A1 A2 B1 B2
  6. 6. カジュアルなマスタ併合 Master Master A B Slave Slave Slave Slave Slave A2 B1 B2 A1 A+B
  7. 7. n:1 レプリケーション Master Master A B Slave A+B
  8. 8. n:1 レプリケーション Master Master A B CHANGE MATER TO Slave でマスタを A+B 定期切替
  9. 9. n:1 レプリケーション Master Master A B CHANGE MATER TO Slave でマスタを A+B 定期切替
  10. 10. n:1 レプリケーション Master Master A B 詳しくは、Vol.2の スライドを参照 Slave http://www.slideshare.n A+B et/do_aki/20110809-my- sql-casual-talks-vol2
  11. 11. 発表者do_akiからの メッセージをお読みください
  12. 12. 本トークの注意事項  真新しい話は一切無し  このネタ正直もう飽きた  (・ω・\)SAN値! (/・ω・)/ピンチ! 想定以上に安定稼働しすぎ ネタ無いのに主催に半強制的に発表 させられてるなんて言えない
  13. 13. 稼働歴
  14. 14. 2011年 7月 稼働開始 2011年 8月 MySQL Casual Talks Vol.2 2011年11月 障害停止 (max_allowed_packet 不足) 2012年 4月 MySQL Casual Talks Vol.3 2012年10月 計画停止(マスタ切替) 2012年12月 計画停止(Disk 拡張) 2013年 4月 MySQL Casual Talks Vol.4
  15. 15. エラーログ膨らむ
  16. 16. 130415 20:55:11 [ERROR] Error reading packet from server: Lost connection to MySQL server during query ( server_errno=2013) 130415 20:55:11 [Note] Slave I/O thread killed while reading event 130415 20:55:11 [Note] Slave I/O thread exiting, read up to log 'mysql- bin.003284', position 585650324 130415 20:55:11 [Note] Error reading relay log event: slave SQL thread was killed 130415 20:55:11 [Note] 'CHANGE MASTER TO executed'. Previous state master_host='master host1', master_port='3306', master_log_file='mysql- bin.003284', master_log_pos='585650324'. New state master_host='master host2', master_port='3306', master_log_file='mysql-bin.001770', master_log_pos='996447621'. 130415 20:55:11 [Note] Slave SQL thread initialized, starting replication in log 'mysql-bin.0001770' at position 996447621, relay log './relay-bin.000001' position: 4 130415 20:55:11 [Note] Slave I/O thread: connected to master 'slave user@master host2:3306',replication started in log 'mysql-bin.001770' at position 996447621
  17. 17. pt-online-schema- change と相性悪い
  18. 18. pt-online-schema-change • オンラインでスキーマ変更 • 全スレーブをチェック (本実行時のみ) • 遅延状況によってWait (負荷低減) • マスタ切り替え中にチェックが走るとタ イミングによっては待ち続ける
  19. 19. まとめ
  20. 20. ネタ切れ
  21. 21. • ほんとに安定稼働中 • 運用コストがほとんど無くてびっくり • 興味あるならコードはこちら • https://github.com/do-aki/SwitchMaster • 信じられないだろ、こんな適当なコード で動いてるんだぜ、これ
  22. 22. ありがとうご ざいました

×