“MHA for MySQL”の話               モニカジ#3               kazeburo2013年3月8日金曜日
me               • Masahiro Nagano               • @kazeburo               • NHN Japan               • Operations Engineer...
MHA for MySQLとは               • 元DeNA・現facebookの松信さんによる                MySQLのmaster冗長化ツール               • Master High Avai...
MHAの構成                                             mha-node                                     dbs1               mha-nod...
MHAの構成                                             mha-node                                     dbs1               mha-nod...
MHAの構成                                             mha-node                                     dbs1               mha-nod...
MHAの構成                                             mha-node                                     dbs1               mha-nod...
MHAの構成                                                           mha-node                                                 ...
MHAの構成                                                            mha-node                                                ...
local DNS/PowerDNS        • RDBMSをバックエンドとして使える        • DNS-RRをサポート        • 使いやすい               static build rpm2013年3月8日...
local DNS 構成                            Compute                            Amazon Elastic Compute Cloud (Amazon EC2)      ...
PDNSManager2013年3月8日金曜日
PDNSManager2013年3月8日金曜日
PDNSManager API                MHAからAPIを通してDNSを更新2013年3月8日金曜日
MHA configuration    [server default]    user=...    master_ip_failover_script=/home/user/mhaweb/masterha_failover.pl --   ...
masterha_manger    $ masterha_manager --conf /var/mha/app21.conf    ...    ..    .    Tue Dec 11 14:09:22 2012 - [info] St...
Many services                                            dbs                                dbm                        dbs...
わたし、Ops も Dev もできる                 スーパーエンジニア!                                  ¦                              \  __  /    ...
MHA WebUI&Manager2013年3月8日金曜日
制御ボタン                オンラインでの               マスター切り替え                  sshでの疎通確認2013年3月8日金曜日
レプリケーション構成の確認               masterha_managerのログ2013年3月8日金曜日
MHA WebUI&Manager    -+= 70422 perl mhaweb.pl --conf config_mydev.pl                             masterha_managerのプロセス     ...
MHA WebUI&Manager               ikachan連携アリ2013年3月8日金曜日
MHA WebUI&Manager                       Pros               • 20+ のサービスで使用中               • オンラインでのマスター変更にも使用              ...
まとめ               • MHA for MySQL 便利 & 怖くない               • Perl 萎んでない2013年3月8日金曜日
Upcoming SlideShare
Loading in...5
×

MHA for MySQL の話

6,346

Published on

0 Comments
15 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,346
On Slideshare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
25
Comments
0
Likes
15
Embeds 0
No embeds

No notes for slide

MHA for MySQL の話

  1. 1. “MHA for MySQL”の話 モニカジ#3 kazeburo2013年3月8日金曜日
  2. 2. me • Masahiro Nagano • @kazeburo • NHN Japan • Operations Engineer Site Reliability 運用系小姑 Perl Monger2013年3月8日金曜日
  3. 3. MHA for MySQLとは • 元DeNA・現facebookの松信さんによる MySQLのmaster冗長化ツール • Master High Availability の略 • MySQLサーバを監視してのフェイルオーバー とオンラインでのマスター切り替えをサポート • Proxy型ではないのでSPOFにならない • サーバの切り替えは別スクリプトを起動2013年3月8日金曜日
  4. 4. MHAの構成 mha-node dbs1 mha-node dbm mha-node dbs2 ssh/mysql manager masterha- manager2013年3月8日金曜日
  5. 5. MHAの構成 mha-node dbs1 mha-node dbm mha-node dbs2 ssh/mysql manager masterha- manager2013年3月8日金曜日
  6. 6. MHAの構成 mha-node dbs1 mha-node dbm mha-node dbs2 ssh/mysql manager masterha- manager2013年3月8日金曜日
  7. 7. MHAの構成 mha-node dbs1 mha-node dbm mha-node dbs2 ssh/mysql manager masterha- manager2013年3月8日金曜日
  8. 8. MHAの構成 mha-node dbs1 mha-node dbm mha-node dbs2 ssh/mysql manager masterha- master_ip_failover_script!! manager2013年3月8日金曜日
  9. 9. MHAの構成 mha-node dbs1 mha-node dbm mha-node dbs2 DNS ssh/mysql manager masterha- master_ip_failover_script!! manager2013年3月8日金曜日
  10. 10. local DNS/PowerDNS • RDBMSをバックエンドとして使える • DNS-RRをサポート • 使いやすい static build rpm2013年3月8日金曜日
  11. 11. local DNS 構成 Compute Amazon Elastic Compute Cloud (Amazon EC2) PDNS Amazon Elastic Instance Instances AMI DB on Instance Instance Compute Cloud with CloudWatch (EC2) tcp/udp 53 replication Compute Amazon Elastic MapReduce Auto Scaling Amazon Elastic Compute Cloud (Amazon EC2) WebUI/API server LVS PDNS Amazon Elastic Cluster HDFS Cluster Auto Scaling Amazon Elastic MapReduce Instance Instances AMI DB on Instance Instance Compute Cloud with CloudWatch (EC2) Storage Amazon Elastic MapReduce Auto Scaling Amazon Simple Storage Service (Amazon S3) AWS Import/Export2013年3月8日金曜日
  12. 12. PDNSManager2013年3月8日金曜日
  13. 13. PDNSManager2013年3月8日金曜日
  14. 14. PDNSManager API MHAからAPIを通してDNSを更新2013年3月8日金曜日
  15. 15. MHA configuration [server default] user=... master_ip_failover_script=/home/user/mhaweb/masterha_failover.pl -- app_name=dbm.service --mode=failover --config=/home/user/mhaweb/ config_production.pl [server1] hostname=10.xx.xx.77 この中でDNSの書き換え candidate_master=0 no_master=0 [server2] hostname=10.xx.xx.49 candidate_master=0 no_master=02013年3月8日金曜日
  16. 16. masterha_manger $ masterha_manager --conf /var/mha/app21.conf ... .. . Tue Dec 11 14:09:22 2012 - [info] Starting ping health check on 10.xx.xx.xxx(10.xx.xx.xxx:3306).. Tue Dec 11 14:09:22 2012 - [info] Ping(SELECT) succeeded, waiting until MySQL doesnt respond.. この状態で動き続ける わーい起動したー2013年3月8日金曜日
  17. 17. Many services dbs dbm dbs dbs dbm dbm dbs dbs manager dbm dbs dbs dbm dbs dbm 設定とプロセスの管理面倒 dbs2013年3月8日金曜日
  18. 18. わたし、Ops も Dev もできる スーパーエンジニア!        ¦    \  __  /    _ (m) _ピコーン       ¦ミ¦     /  `́  \      (A`)      ノヽノヽ        くく2013年3月8日金曜日
  19. 19. MHA WebUI&Manager2013年3月8日金曜日
  20. 20. 制御ボタン オンラインでの マスター切り替え sshでの疎通確認2013年3月8日金曜日
  21. 21. レプリケーション構成の確認 masterha_managerのログ2013年3月8日金曜日
  22. 22. MHA WebUI&Manager -+= 70422 perl mhaweb.pl --conf config_mydev.pl masterha_managerのプロセス |--- 70424 perl mhaweb.pl --conf config_mydev.pl |-+- 70425 perl mhaweb.pl --conf config_mydev.pl | |--- 70440 perl masterha_manager --conf /tmp/app/dbm.sample/app1 | |--- 70440 perl masterha_manager --conf /tmp/app/dbm.sample/app2 | --- 70440 perl masterha_manager --conf /tmp/app/dbm.sample/app3 -+- 70426 perl mhaweb.pl --conf config_mydev.pl |--- 70427 perl mhaweb.pl --conf config_mydev.pl |--- 70428 perl mhaweb.pl --conf config_mydev.pl |--- 70429 perl mhaweb.pl --conf config_mydev.pl |--- 70430 perl mhaweb.pl --conf config_mydev.pl --- 70431 perl mhaweb.pl --conf config_mydev.pl Perl + Proclet + Custom Process Manager2013年3月8日金曜日
  23. 23. MHA WebUI&Manager ikachan連携アリ2013年3月8日金曜日
  24. 24. MHA WebUI&Manager Pros • 20+ のサービスで使用中 • オンラインでのマスター変更にも使用 Cons • Master障害童貞 • sshの設定がいまいち2013年3月8日金曜日 • オープンソース化は予定nashi..
  25. 25. まとめ • MHA for MySQL 便利 & 怖くない • Perl 萎んでない2013年3月8日金曜日
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×