Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
~メリット・デメリット等~
 形あるものは必ず壊れるのでリカバリが必要
 止められないサービスなら切り替わる必要がある
 復旧にかかる時間を自動化により削減したい
 サービス断時間を少なく抑え機会損失を防ぐ
 復旧操作の自動化により人によるオペーレーション
の不確実性を緩和
 復旧時の人的リソースを削減できる
 データの保全性を向上
※HA構成はバックアップの代用にはなりません
(オペレーションミスもレプリケーションされるためです)
 従来の冗長構成(heartbeat+mon+mysql)
 MHA(mysql5.5まで)
 mysqlfailover(Mysql5.6以降)
(費用的に)需要が少ないが以下構成も可能
• AmazonRDS(現在MySQL5.5まで、排他制御)
• Heartbeat-v3+SharedDisk構成(排他制御)
※PostgreSQL,MySQL+VP+Spider,GaleraReplication等は取り扱い実績がございません
※負荷分散の扱い可能なのは、LVS,Haproxy,ELBになります。
構成概要 メリット デメリット・制約
Heartbeat1+mon+mysql 管理ノード不要
最も実績有、慣れた運用
NW周りの監視F/Oの作りこみ不要
F/O後の構成はシングル
構成復旧の計画停止必要
F/O時のデータロスト有
MHA F/O後にreplication自動復旧
F/O後構成がシングルにならない(3台
以上の場合)
構成復旧の計画停止不要
DeNA等大手での運用実績がある
管理ノードが必要
Mysql5.5まで(2013/4現在)
relay_log_purge=0必要
VIP管理は自作スクリプト
運用経験が浅い
mysqlfailover F/O後にreplication自動復旧
F/O後構成がシングルにならない
(3台以上の場合)
構成復旧の計画停止不要
管理ノードが必要
MySQL5.6以降でGTID有効必須
MyISAM他トランザクションセーフで
ないエンジンとSQLは使用不可
VIP管理は自作スクリプト
検証のみで導入実績なし
公開情報が少なく—forceで切替
Heartbeat3+SharedDisk
(DRBD)+mysql
管理ノード不要
F/O時のデータロストを防げる
NW周りの監視F/Oの作りこみ不要
共有ディスクは排他制御のため待機
系にアクセス不能
F/O後の構成はシングル
構成復旧の計画停止必要
AmazonRDS 管理ノード不要
F/O時のデータロストを防げる
MaltiAZ化でDR構成にできる
DBA不要と言われポイントインタイムリ
カバリがブラウザから可能
MaltiAZが有効でDiskI/O負荷が高い場
合にF/Oが生じやすい
I/O共有で他環境の影響有
F/O後の構成はシングル
構成復旧の計画停止必要
LVS1LVS
DB
Master
Hertbeat1
+mon
DB
Slave2
DB
Slave1
Hertbeat1
VIP
webwebwebwebwebweb
write
read
repl
read
repl
LVS1LVS
DB
Master
Hertbeat1
+mon
DB
Slave
DB
newMaster
Hertbeat1
VIP
webwebwebwebwebweb
write
read
repl
read
repl
×
×
×
×
F/O
LVS1
DB
Master
MHAnode
Admin
MHA
manager
DB
Slave
MHAnode
DB
Slave
MHAnode
VIP
webwebwebwebweb
write
read
repl
repl
read
LVS
chk
LVS1
DB
Master
MHAnode
Admin
MHA
manager
DB
newMaster
MHAnode
DB
Slave
MHAnode
VIP
webwebwebwebweb
write read
repl
read
LVS
※切り替えた後に、
managerも落ちます
F/O
LVS1
DB
Master
MHAnode
Admin
failover
console
DB
Slave
MHAnode
DB
Slave
MHAnode
VIP
webwebwebwebweb
write
read
repl
repl
read
LVS
chk
LVS1
DB
Master
DB
newMaster DB
Slave
VIP
webwebwebwebweb
write read
repl
read
LVS
F/O
chk
Admin
failover
console
DB
Master
Hertbeat3
DB
Slave
Hertbeat3
VIP
webweb
read/write
Shared
Disk
排他制御
F/O
DB
Master
Hertbeat3
DB
Slave
Hertbeat3
VIP
webweb
read/write
Shared
Disk
AWS Cloud
AZ(データセンタ)A
RDS DB
Instance
RDS DB Instance
Standby
(Multi-AZ)
RDS DB
Instance Read
Replica
AZ(データセンタ)B
Replication
Multi-AZ
DataShare
F/O
AWS Cloud
AZ(データセンタ)A
RDS DB
Instance
RDS DB
Instance Read
Replica
AZ(データセンタ)B
Replication
×
 1位:SharedDisk(DRBDプロトコルCの場合)
 2位:AmazonRDSとMHAとmysqlfailover同列
 3位: Heartbeat1+mon+mysql
※SharedDiskは書きこむ場所が同じのまま引き継がれるのでデータロストが他より起こりにくいです。
MHAとmysqlfailoverは最新のバイナリログを判別し反映する機能を持っている為
SemiSyncReplicationと組み合わせるとデータロストをより防ぐことが可能です。非同期の
replicationとVIPの付替えのみの場合は最もデータロストが発生しやすくなります。replicationは
そもそも非同期な仕組みです。RDSはバックエンドの仕組みが不明なため推測で2位としました。
 1位: MHAとmysqlfailover同列
 2位:AmazonRDSとSharedDisk(DRBDプロトコル
Cの場合)とHeartbeat1+mon+mysql同列
※F/O後にシングルになるかどうか、slaveへの参照スケーラビリティが保てるかどうか
のみを判別基準としています。
 1位: MHAとmysqlfailover同列
 2位:AmazonRDSとSharedDisk(DRBDプロトコル
Cの場合)とHeartbeat1+mon+mysql同列
※slaveが存在する場合、F/O後シングルになる構成では整合性を担保したslaveの復旧の
ためにMasterからのデータdumpを必要とするため、データ容量に応じたサービス停
止時間が必要となります。(※ストレージエンジンにもよります)
HAの仕組みでのパフォーマンス差は判別不能です。
※パフォーマンスはハードおよびソフトウェアの性能と物理的な構成に依存します。
一般的にはバージョンが高いほうが書きこみ性能やロックやCPUスケール性能等がよ
く、slaveが多いほうが参照性能が高く、メモリが多くてストレージのI/O性能がよい
ハードだと全体的なパフォーマンスがよく、非同期な仕組みのほうがより高速です。
 1位: Heartbeat1+mon+mysql
 2位:AmazonRDS
 3位: SharedDisk
 4位: MHA
 5位: mysqlfailover
※弊社での運用期間が長く障害対応回数が多く慣れている順です。
 1位: Heartbeat1+mon+mysql
 2位: MHAとmysqlfailover
 3位: AmazonRDSとSharedDisk
※用意するノード数が少なくコストがかからない順になります。管理サーバはノードよりマシンス
ペックが低くすみますが、DBサーバの待機系は稼働系と同様のスペックが必要となります。
要注意ポイント メリット デメリット
Replication(GTID) マスタスレーブ間で一意のGTIDを用いる為
よりトランザクションセーフでクラッシュ
セーフに、マルチスレッドスレーブ、バイ
ナリログのグループコミット、チェックサ
ムの追加
GTIDが有効な場合、MyISAM等トランザク
ションセーフでない仕組みは使用不可能(バ
イナリログに記録できない)
データの扱い バッファプールのダンプとリストアが可能
に、テーブルスペースの可搬性向上、オン
ラインでDDL(CreateIndex他)可能に、
NoSQL API、オプティマイザ改善
Mysqldumpで旧バージョンのデータを扱う
際に--set-gtid-purged=OFF必須、
SQLモードのデフォルト値変更による挙動
の変化
パスワード管理 平文での表示を抑制する仕組み 難読化レベルであり復号化可能
パフォーマンス スレッドの同時実行性能向上
単純なクエリが高速に、SSD最適化
参照専用トランザクションで参照が高速化
サーバパラメータに変更がない場合やアプ
リや環境次第で遅くなるという情報もある
PerformanceSchema OptimizaTraceが可能に
ブロックされたホスト等特定可能に他パ
フォーマンス統計情報の取得
約1割ほどのオーバーヘッドが生じる
その他の主なメリット デフォルト設定の最適化、パーティショニングの改善
 メリット:コミットごとにトランザクションを一意
に識別するIDを生成するのでトランザクションセー
フである
 デメリット:バイナリログのフォーマットが異なる
ほか運用もこれまでと全く異なる(skipできない
他)、トランザクションセーフでないストレージエ
ンジン(MyISAMやMemory)やクエリ(Create..Select、
CreateTemporaryTable、DropTemporaryTable)は使用
不可能(バイナリログに記録できない)

More Related Content

My sqlのha構成について