Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
マスタn対スレーブ1   レプリケーションの      作り方     ~あれから~2013/04/17   MySQL Casual Talks vol.4 do_aki
do_aki (どぅーあき)|所属| > 株式会社もしも      (ドロップシッピング・アフィリエイトASP)|仕事| > インフラ(サーバ管理)兼     Webアプリケーション開発|出現| > 渋谷・山手線沿線|特性| > PHPer  ...
マスタn対スレーブ1 レプリケーション
カジュアルなマスタ分割        Master           JOIN           Master          A              不可               BSlave            Slave...
カジュアルなマスタ分割        Master           JOIN           Master          A              不可               BSlave            Slave...
カジュアルなマスタ併合         Master           Master           A                BSlave   Slave     Slave      Slave   Slave        ...
n:1 レプリケーション Master           Master   A                B          Slave          A+B
n:1 レプリケーション      Master           Master        A                B CHANGEMATER TO               Slaveでマスタを               ...
n:1 レプリケーション      Master           Master        A                B CHANGEMATER TO               Slaveでマスタを               ...
n:1 レプリケーション Master           Master   A                B                     詳しくは、Vol.2の                     スライドを参照     ...
発表者do_akiからのメッセージをお読みください
本トークの注意事項 真新しい話は一切無し このネタ正直もう飽きた (・ω・\)SAN値!           (/・ω・)/ピンチ!想定以上に安定稼働しすぎネタ無いのに主催に半強制的に発表 させられてるなんて言えない
稼働歴
2011年 7月 稼働開始2011年 8月 MySQL Casual Talks Vol.22011年11月 障害停止         (max_allowed_packet 不足)2012年 4月 MySQL Casual Talks Vol...
エラーログ膨らむ
130415 20:55:11 [ERROR] Error reading packet from server: Lost connectionto MySQL server during query ( server_errno=2013)...
pt-online-schema-change と相性悪い
pt-online-schema-change• オンラインでスキーマ変更• 全スレーブをチェック (本実行時のみ)• 遅延状況によってWait (負荷低減)• マスタ切り替え中にチェックが走るとタ イミングによっては待ち続ける
まとめ
ネタ切れ
•   ほんとに安定稼働中•   運用コストがほとんど無くてびっくり•   興味あるならコードはこちら•   https://github.com/do-aki/SwitchMaster• 信じられないだろ、こんな適当なコード  で動いてるんだ...
ありがとうございました
マスタN対スレーブ1レプリケーションの作り方 ~あれから~
Upcoming SlideShare
Loading in …5
×

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

5,611 views

Published on

Published in: Technology

マスタ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 不可 BSlave Slave Slave Slave A1 A2 B1 B2
  5. 5. カジュアルなマスタ分割 Master JOIN Master A 不可 BSlave Slave Slave Slave A1 A2 B1 B2
  6. 6. カジュアルなマスタ併合 Master Master A BSlave 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 CHANGEMATER TO Slaveでマスタを A+B定期切替
  9. 9. n:1 レプリケーション Master Master A B CHANGEMATER 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.22011年11月 障害停止 (max_allowed_packet 不足)2012年 4月 MySQL Casual Talks Vol.32012年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 connectionto MySQL server during query ( server_errno=2013)130415 20:55:11 [Note] Slave I/O thread killed while reading event130415 20:55:11 [Note] Slave I/O thread exiting, read up to log mysql-bin.003284, position 585650324130415 20:55:11 [Note] Error reading relay log event: slave SQL thread waskilled130415 20:55:11 [Note] CHANGE MASTER TO executed. Previous statemaster_host=master host1, master_port=3306, master_log_file=mysql-bin.003284, master_log_pos=585650324. New state master_host=masterhost2, 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 logmysql-bin.0001770 at position 996447621, relay log ./relay-bin.000001position: 4130415 20:55:11 [Note] Slave I/O thread: connected to master slaveuser@master host2:3306,replication started in log mysql-bin.001770 atposition 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. ありがとうございました

×