Pacemaker boothを使った自動フェイルオーバーDRシステムの構成

チケット手動管理型の4ノードDRクラスタの課題

サードウェアではDRBD 8系を使った2ノードのHAクラスタを2拠点に設置したDR(ディザスタリカバリ)システム構成の手順書を公開しています。

チケット手動管理型4ノードディザスタリカバリクラスタ構築手順書

上記の構成では拠点間でのアクティブ/スタンバイ切り替えは「チケット」の付与によって行っています。

チケット:リソースと依存関係を持たせ、チケットの有無でリソースの起動・停止を制御することができます。このチケットを使用すると、通常の死活監視が行えないWAN環境でも、サービスの切り替えやフェイルオーバが可能になります。

しかし管理上、以下の2つの問題点がありました。

  1. チケットの管理は人間系の判断によって行うか、または独自にスクリプトを作成して管理する必要がある
  2. サイトの切り替えが起きるとIPアドレスが変更されるため、外部からサービスへアクセスするにはDNSサービスの切り替え等を行う必要がある

これらの問題点は、それぞれ次のように解決可能です!

  1. Pacemakerのアドオン機能であるBoothを使用しチケットの自動割り振りを行う
  2. マネージドDNSサービスを使用する(DynDNSの使用)

続きを読む “Pacemaker boothを使った自動フェイルオーバーDRシステムの構成”

DRBD 9.0.8, DRBD Utils 9.0.0がリリースされました

6月1日にdrbd-utilsのバージョン9.0.0がリリースされました。また、6月20日にDRBDバージョン9の最新版であるdrbd-9.0.8がリリースされました。その他、DRBD 8.4.10、drbdmanage 0.99.5も今月リリースされています。本記事では、これらの最新バージョンの特徴や意義を紹介します。

続きを読む “DRBD 9.0.8, DRBD Utils 9.0.0がリリースされました”

DRBDのon-io-errorオプションにpass-onを指定すべきではない理由

on-io-errorの3つのオプション

DRBDのon-io-errorオプションは、下位デバイスにIOエラーがあった際の挙動を制御します。
on-io-errorオプションが使用されるのは、DRBDでレプリケーションするディスクに故障があり、書き込み/読み込みエラーが発生した場合です。この時に行う処理を指定します。

指定できる値は、以下の3つです。

  • pass_on
    ノードはディスクのステータスをInconsistentにし、I/Oエラーを起こしたブロックに対応するビットマップにマークをつける。そして、リモートのノード上で入出力を再度行う。
  • call-local-io-error
    ハンドラスクリプトの”local-io-error”を呼び出して実行する。
  • detach
    低レベルデバイスを切り離して、ディスクレスモードで処理を続行する。

ユーザーズガイドにはこのように書かれていますので、どれを使っても問題ないと感じると思います。
しかし、実際にはpass_onを使用することは強く非推奨です。

pass_onはなぜ非推奨なのか

続きを読む “DRBDのon-io-errorオプションにpass-onを指定すべきではない理由”