では、実際にプライマリ機に障害が発生したらどうなるか。その動きを図2で確認しましょう。
ユーザーはVIP(仮想IPアドレス)を使ってプライマリ機のMySQLサーバーにアクセスします。この時、プライマリ機の障害をCorosyncが検知します。
障害の検知をトリガーに、Pacemakerはリソースエージェントを使ってプライマリとセカンダリを切り替えます。プライマリ側のMySQLサーバーを停止し、VIPの切り替えを行います。これによって、これまでのプライマリ機はセカンダリ機に変わります。
一方のセカンダリ側はその逆です。Pacemakerはリソースエージェントを使ってセカンダリ機のMySQLサーバーを起動し、VIPの切り替えとともに「プライマリ機」に変わります。
切り替えには、数秒から数分かかります。しかし、切り替えが正しく完了したならば、わずかなダウンのみでサービスは継続されます。それぞれのサーバーのデータはDRBDで同期されているので、障害発生の直前と同じ状態から自動復旧できるということになります。
次回は、もう一つの活用例である「災害対策システムで使うDRBD」の解説と、RPO(目標復旧時点)とRTO(目的普及時間)の概念も紹介する予定です。
さまざまなIT関連業務経験ののちに2013年よりインフラエンジニアとしての業務に携わる。また、DRBDを始めとするオープンソースソフトウエアのサポート業務にも携わっている。ツイッターでDRBDの情報発信も行っている。TwitterID:@ksawada1979。
Copyright © ITmedia, Inc. All Rights Reserved.