SlideShare a Scribd company logo
MHA, MURAKUMO, & ME
   Automation Tech Casual Talks #1




             7/17/2012
自己紹介 (@IJIN)

• Michael   H. Oshita

• Japanese American

• In   Japan since 2002

• Software/Infra   Engineer

• http://ijin.github.com
DBの冗長化

• Master   - Slave

• DRBD

• MySQL    Cluster

• MMM

• RDS
DBの冗長化
         (MASTER/SLAVE)


• シンプル


• 手動フェールオーバー対応


• 検知・対応まで数十分単位
DBの冗長化
                       (DBRD)


• 複雑


• sync_binlogでwrite   IO低下
DBの冗長化
            (MYSQL CLUSTER)


• 複雑


• NDB   storage engine。。
DBの冗長化
                                (MMM)

• メンテされてない


• 過去ケースを見ても不安定(Percona)

 •   http://www.xaprb.com/blog/2011/05/04/whats-wrong-with-mmm/
DBの冗長化
             (RDS)

• 楽で好き


• IOがちょっと。


• 政治的な理由で使えなかったり。。
MHA
     (Master High Availability Manager for MySQL)

•   シンプル (Master-slaveそのまま)

•   自動フェールオーバー

    (各サーバで最新のbinlogを適用)

•   安定性(DeNAさんで数百台のDBで運用)
MHA
         Masterで障害発生



                Slave

                        Manager
Master

                Slave
MHA
各slaveに最新binlogを適用し、Master昇格
                                binlog
           binlog

                      Master

                                         Manager
  Master
                               binlog
                      Slave
MHA
             FAILOVERシーケンス
"Starting master failover."
"* Phase 1: Configuration Check Phase..n"
"* Phase 2: Dead Master Shutdown Phase..n"
   ==> ここで旧Master情報削除 (master_ip_failover)
"* Phase 3: Master Recovery Phase..n"
 "* Phase 3.1: Getting Latest Slaves Phase..n"
 "* Phase 3.2: Saving Dead Master's Binlog Phase..n"
 "* Phase 3.3: Determining New Master Phase..n"
   ==> ここで新Master情報登録 (master_ip_failover)
"* Phase 4: Slaves Recovery Phase..n"
MHA
                     切替方法は2種類

                 (master_ip_failoverで定義)

• Virtual   IP

• Catalog    DB Server (DNS)
MHA
                 切替方法は2種類
• Virtual   IP

  → 使えない場合も。。

• Catalog    DB Server (DNS)

 → 内部DNSサーバ運用面倒。。
そこで
By Genki Sugawara @ Cookpad
MURAKUMO
                    分散内部DNS

• Gossip   Protocolで拡散

• ruby製    (1.9.2まで)

• 操作が簡単


• 余分なサーバがいらない
MURAKUMO
   Gossip Protocol


node                 node




node                 node
MURAKUMO
                              Syntax
=== addition of a record

  shell> mrkmctl -A foo.bar,300,master,100
  shell> mrkmctl -L
  IP address        TTL     Priority Weight    Activity   Hostname
  --------------- ------ -------- ------       --------   ----------
  10.11.12.13            60 Origin         -   Active     my-host
  10.11.12.13           300 Master      100    Active     foo.bar


=== deletion of a record

 shell> mrkmctl -D foo.bar
  shell> mrkmctl -L
  IP address        TTL    Priority   Weight   Activity   Hostname
  --------------- ------ --------     ------   --------   ----------
  10.11.12.13           60 Origin          -   Active     my-host
MURAKUMO
              chefで一発登録も



knife bootstrap 10.119.45.233 -N db2 
  -j '{"set_fqdn":"db2"}' 
  -r 'recipe[hostname], role[base], role[db]'
DEMO

More Related Content

What's hot

NorikraのJVMチューンで苦労している話
NorikraのJVMチューンで苦労している話NorikraのJVMチューンで苦労している話
NorikraのJVMチューンで苦労している話SATOSHI TAGOMORI
 
Vagrant+Chef
Vagrant+ChefVagrant+Chef
Vagrant+Chef
Daisuke Ando
 
これからはじめるCoda2とSublime Text 2
これからはじめるCoda2とSublime Text 2これからはじめるCoda2とSublime Text 2
これからはじめるCoda2とSublime Text 2
masaaki komori
 
Reverse proxyによるWebサーバの負荷分散構成
Reverse proxyによるWebサーバの負荷分散構成Reverse proxyによるWebサーバの負荷分散構成
Reverse proxyによるWebサーバの負荷分散構成CLARA ONLINE, Inc.
 
JNuma Library
JNuma LibraryJNuma Library
JNuma Library
Taro L. Saito
 
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」
Takuya ASADA
 
Railsの運用について
Railsの運用についてRailsの運用について
Railsの運用についてYuuki Namikawa
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Yoshinori Matsunobu
 
Varnish
VarnishVarnish
Varnish
Ayako Hatori
 
Bmd
BmdBmd
PowerDNSのご紹介
PowerDNSのご紹介PowerDNSのご紹介
PowerDNSのご紹介
Akira Matsuda
 
Psql & proctitle
Psql & proctitlePsql & proctitle
Psql & proctitle
Yuichiro Naito
 
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
Takuya ASADA
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
Taisuke Yamada
 
seccamp21z4 yamaguchi
seccamp21z4 yamaguchiseccamp21z4 yamaguchi
seccamp21z4 yamaguchi
YushoYamabguchi
 
Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)
Daisuke Ikeda
 
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみたWebサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみたdo_aki
 
VlanManagerを使ってみた
VlanManagerを使ってみたVlanManagerを使ってみた
VlanManagerを使ってみた
Hiroki Ishikawa
 
RTOS入門 タスク概要
RTOS入門 タスク概要RTOS入門 タスク概要
RTOS入門 タスク概要
miwarin
 

What's hot (20)

Puppet on AWS
Puppet on AWSPuppet on AWS
Puppet on AWS
 
NorikraのJVMチューンで苦労している話
NorikraのJVMチューンで苦労している話NorikraのJVMチューンで苦労している話
NorikraのJVMチューンで苦労している話
 
Vagrant+Chef
Vagrant+ChefVagrant+Chef
Vagrant+Chef
 
これからはじめるCoda2とSublime Text 2
これからはじめるCoda2とSublime Text 2これからはじめるCoda2とSublime Text 2
これからはじめるCoda2とSublime Text 2
 
Reverse proxyによるWebサーバの負荷分散構成
Reverse proxyによるWebサーバの負荷分散構成Reverse proxyによるWebサーバの負荷分散構成
Reverse proxyによるWebサーバの負荷分散構成
 
JNuma Library
JNuma LibraryJNuma Library
JNuma Library
 
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」
 
Railsの運用について
Railsの運用についてRailsの運用について
Railsの運用について
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
 
Varnish
VarnishVarnish
Varnish
 
Bmd
BmdBmd
Bmd
 
PowerDNSのご紹介
PowerDNSのご紹介PowerDNSのご紹介
PowerDNSのご紹介
 
Psql & proctitle
Psql & proctitlePsql & proctitle
Psql & proctitle
 
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
 
seccamp21z4 yamaguchi
seccamp21z4 yamaguchiseccamp21z4 yamaguchi
seccamp21z4 yamaguchi
 
Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)
 
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみたWebサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
 
VlanManagerを使ってみた
VlanManagerを使ってみたVlanManagerを使ってみた
VlanManagerを使ってみた
 
RTOS入門 タスク概要
RTOS入門 タスク概要RTOS入門 タスク概要
RTOS入門 タスク概要
 

Similar to MHA, Murakumo & Me

1台から500台までのMySQL運用(YAPC::Asia編)
1台から500台までのMySQL運用(YAPC::Asia編)1台から500台までのMySQL運用(YAPC::Asia編)
1台から500台までのMySQL運用(YAPC::Asia編)Masahiro Nagano
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Masahiro Nagano
 
Mysql casial01
Mysql casial01Mysql casial01
Mysql casial01
matsuo kenji
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1Ryosuke IWANAGA
 
Art of MySQL Replication.
Art of MySQL Replication.Art of MySQL Replication.
Art of MySQL Replication.
Mikiya Okuno
 
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
Mikiya Okuno
 
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSSYahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo!デベロッパーネットワーク
 
SQL Azure のシームレスな管理
SQL Azure のシームレスな管理SQL Azure のシームレスな管理
SQL Azure のシームレスな管理
junichi anno
 
第6回 ZABBIX-JP勉強会
第6回 ZABBIX-JP勉強会第6回 ZABBIX-JP勉強会
第6回 ZABBIX-JP勉強会Kodai Terashima
 
ioMemoryとAtomic Writeによるデータベース高速化
ioMemoryとAtomic Writeによるデータベース高速化ioMemoryとAtomic Writeによるデータベース高速化
ioMemoryとAtomic Writeによるデータベース高速化
IIJ
 
シーサーでのInfiniBand導入事例
シーサーでのInfiniBand導入事例シーサーでのInfiniBand導入事例
シーサーでのInfiniBand導入事例
Naoto MATSUMOTO
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話Yoshinori Matsunobu
 
How to backup your mroonga database?
How to backup your mroonga database?How to backup your mroonga database?
How to backup your mroonga database?
yoku0825
 
Rubyにおけるトレース機構の刷新
Rubyにおけるトレース機構の刷新Rubyにおけるトレース機構の刷新
Rubyにおけるトレース機構の刷新
Koichi Sasada
 
MySQL clients
MySQL clientsMySQL clients
MySQL clients
yoku0825
 
Introducing MySQL MHA (JP/LT)
Introducing MySQL MHA (JP/LT)Introducing MySQL MHA (JP/LT)
Introducing MySQL MHA (JP/LT)
Yoshinori Matsunobu
 
Cloudera Manager4.0とNameNode-HAセミナー資料
Cloudera Manager4.0とNameNode-HAセミナー資料Cloudera Manager4.0とNameNode-HAセミナー資料
Cloudera Manager4.0とNameNode-HAセミナー資料
Cloudera Japan
 
OpenIndiana vWire Demo (Japanese)
OpenIndiana vWire Demo (Japanese)OpenIndiana vWire Demo (Japanese)
OpenIndiana vWire Demo (Japanese)
Shoji Haraguchi
 
LINEのMySQL運用について
LINEのMySQL運用についてLINEのMySQL運用について
LINEのMySQL運用について
LINE Corporation
 

Similar to MHA, Murakumo & Me (20)

1台から500台までのMySQL運用(YAPC::Asia編)
1台から500台までのMySQL運用(YAPC::Asia編)1台から500台までのMySQL運用(YAPC::Asia編)
1台から500台までのMySQL運用(YAPC::Asia編)
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 
Mysql casial01
Mysql casial01Mysql casial01
Mysql casial01
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
 
Art of MySQL Replication.
Art of MySQL Replication.Art of MySQL Replication.
Art of MySQL Replication.
 
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
 
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSSYahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
 
SQL Azure のシームレスな管理
SQL Azure のシームレスな管理SQL Azure のシームレスな管理
SQL Azure のシームレスな管理
 
第6回 ZABBIX-JP勉強会
第6回 ZABBIX-JP勉強会第6回 ZABBIX-JP勉強会
第6回 ZABBIX-JP勉強会
 
ioMemoryとAtomic Writeによるデータベース高速化
ioMemoryとAtomic Writeによるデータベース高速化ioMemoryとAtomic Writeによるデータベース高速化
ioMemoryとAtomic Writeによるデータベース高速化
 
シーサーでのInfiniBand導入事例
シーサーでのInfiniBand導入事例シーサーでのInfiniBand導入事例
シーサーでのInfiniBand導入事例
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
 
How to backup your mroonga database?
How to backup your mroonga database?How to backup your mroonga database?
How to backup your mroonga database?
 
Rubyにおけるトレース機構の刷新
Rubyにおけるトレース機構の刷新Rubyにおけるトレース機構の刷新
Rubyにおけるトレース機構の刷新
 
MySQL clients
MySQL clientsMySQL clients
MySQL clients
 
Introducing MySQL MHA (JP/LT)
Introducing MySQL MHA (JP/LT)Introducing MySQL MHA (JP/LT)
Introducing MySQL MHA (JP/LT)
 
Cloudera Manager4.0とNameNode-HAセミナー資料
Cloudera Manager4.0とNameNode-HAセミナー資料Cloudera Manager4.0とNameNode-HAセミナー資料
Cloudera Manager4.0とNameNode-HAセミナー資料
 
OpenIndiana vWire Demo (Japanese)
OpenIndiana vWire Demo (Japanese)OpenIndiana vWire Demo (Japanese)
OpenIndiana vWire Demo (Japanese)
 
Maatkitの紹介
Maatkitの紹介Maatkitの紹介
Maatkitの紹介
 
LINEのMySQL運用について
LINEのMySQL運用についてLINEのMySQL運用について
LINEのMySQL運用について
 

More from Michael H. Oshita

Aws lambda-beware-of-escapes
Aws lambda-beware-of-escapesAws lambda-beware-of-escapes
Aws lambda-beware-of-escapes
Michael H. Oshita
 
My Varnish Setup
My Varnish SetupMy Varnish Setup
My Varnish Setup
Michael H. Oshita
 
Server Festa 2013 Autumn
Server Festa 2013 AutumnServer Festa 2013 Autumn
Server Festa 2013 Autumn
Michael H. Oshita
 
Custom Non-RDS Multi-AZ Mysql Replication
Custom Non-RDS Multi-AZ Mysql ReplicationCustom Non-RDS Multi-AZ Mysql Replication
Custom Non-RDS Multi-AZ Mysql Replication
Michael H. Oshita
 
sinsai.infoの裏側(インフラ偏)
sinsai.infoの裏側(インフラ偏)sinsai.infoの裏側(インフラ偏)
sinsai.infoの裏側(インフラ偏)
Michael H. Oshita
 
HAProxyでMySQL HA on Amazon EC2
HAProxyでMySQL HA on Amazon EC2HAProxyでMySQL HA on Amazon EC2
HAProxyでMySQL HA on Amazon EC2
Michael H. Oshita
 

More from Michael H. Oshita (6)

Aws lambda-beware-of-escapes
Aws lambda-beware-of-escapesAws lambda-beware-of-escapes
Aws lambda-beware-of-escapes
 
My Varnish Setup
My Varnish SetupMy Varnish Setup
My Varnish Setup
 
Server Festa 2013 Autumn
Server Festa 2013 AutumnServer Festa 2013 Autumn
Server Festa 2013 Autumn
 
Custom Non-RDS Multi-AZ Mysql Replication
Custom Non-RDS Multi-AZ Mysql ReplicationCustom Non-RDS Multi-AZ Mysql Replication
Custom Non-RDS Multi-AZ Mysql Replication
 
sinsai.infoの裏側(インフラ偏)
sinsai.infoの裏側(インフラ偏)sinsai.infoの裏側(インフラ偏)
sinsai.infoの裏側(インフラ偏)
 
HAProxyでMySQL HA on Amazon EC2
HAProxyでMySQL HA on Amazon EC2HAProxyでMySQL HA on Amazon EC2
HAProxyでMySQL HA on Amazon EC2
 

Recently uploaded

JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 

Recently uploaded (10)

JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 

MHA, Murakumo & Me

  • 1. MHA, MURAKUMO, & ME Automation Tech Casual Talks #1 7/17/2012
  • 2. 自己紹介 (@IJIN) • Michael H. Oshita • Japanese American • In Japan since 2002 • Software/Infra Engineer • http://ijin.github.com
  • 3. DBの冗長化 • Master - Slave • DRBD • MySQL Cluster • MMM • RDS
  • 4. DBの冗長化 (MASTER/SLAVE) • シンプル • 手動フェールオーバー対応 • 検知・対応まで数十分単位
  • 5. DBの冗長化 (DBRD) • 複雑 • sync_binlogでwrite IO低下
  • 6. DBの冗長化 (MYSQL CLUSTER) • 複雑 • NDB storage engine。。
  • 7. DBの冗長化 (MMM) • メンテされてない • 過去ケースを見ても不安定(Percona) • http://www.xaprb.com/blog/2011/05/04/whats-wrong-with-mmm/
  • 8. DBの冗長化 (RDS) • 楽で好き • IOがちょっと。 • 政治的な理由で使えなかったり。。
  • 9. MHA (Master High Availability Manager for MySQL) • シンプル (Master-slaveそのまま) • 自動フェールオーバー (各サーバで最新のbinlogを適用) • 安定性(DeNAさんで数百台のDBで運用)
  • 10. MHA Masterで障害発生 Slave Manager Master Slave
  • 11. MHA 各slaveに最新binlogを適用し、Master昇格 binlog binlog Master Manager Master binlog Slave
  • 12. MHA FAILOVERシーケンス "Starting master failover." "* Phase 1: Configuration Check Phase..n" "* Phase 2: Dead Master Shutdown Phase..n" ==> ここで旧Master情報削除 (master_ip_failover) "* Phase 3: Master Recovery Phase..n" "* Phase 3.1: Getting Latest Slaves Phase..n" "* Phase 3.2: Saving Dead Master's Binlog Phase..n" "* Phase 3.3: Determining New Master Phase..n" ==> ここで新Master情報登録 (master_ip_failover) "* Phase 4: Slaves Recovery Phase..n"
  • 13. MHA 切替方法は2種類 (master_ip_failoverで定義) • Virtual IP • Catalog DB Server (DNS)
  • 14. MHA 切替方法は2種類 • Virtual IP → 使えない場合も。。 • Catalog DB Server (DNS) → 内部DNSサーバ運用面倒。。
  • 16. By Genki Sugawara @ Cookpad
  • 17. MURAKUMO 分散内部DNS • Gossip Protocolで拡散 • ruby製 (1.9.2まで) • 操作が簡単 • 余分なサーバがいらない
  • 18. MURAKUMO Gossip Protocol node node node node
  • 19. MURAKUMO Syntax === addition of a record shell> mrkmctl -A foo.bar,300,master,100 shell> mrkmctl -L IP address TTL Priority Weight Activity Hostname --------------- ------ -------- ------ -------- ---------- 10.11.12.13 60 Origin - Active my-host 10.11.12.13 300 Master 100 Active foo.bar === deletion of a record shell> mrkmctl -D foo.bar shell> mrkmctl -L IP address TTL Priority Weight Activity Hostname --------------- ------ -------- ------ -------- ---------- 10.11.12.13 60 Origin - Active my-host
  • 20. MURAKUMO chefで一発登録も knife bootstrap 10.119.45.233 -N db2 -j '{"set_fqdn":"db2"}' -r 'recipe[hostname], role[base], role[db]'
  • 21. DEMO

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n