DRBD9のdocker連携機能の紹介

DRBD9のDocker Volumeプラグイン

 

docker docsを見ると確認できるのですが、DRBD9はdockerのボリュームプラグインを提供しています。

Dockerはソフトウェアコンテナ内のアプリケーションのデプロイメントを自動化するオープンソースソフトウェアです。(docker自体の詳細な説明は割愛いたします)

dockerはストレージ利用については課題がありました。コンテナを停止すると、基本的にはデータがすべて消えてしまう点です。
一応dockerではホスト上のディレクトリをコンテナのストレージに使用することで永続的なストレージとする事が可能です。しかしこれではコンテナをこのホストとは別のホストで起動する際にはデータにアクセスができないなどデータ共有においては問題となります。また実運用するのであれば可用性を上げるためデータ冗長化もしておきたいでしょう。

そこで、Doker1.8以降ではVolumeプラグイン機能が提供されています。このVolumeプラグインとしてDRBDをご利用いただけます。本記事ではこのDRBD Dockerプラグインについてご紹介いたします。

本プラグインを使うことで、DockerコマンドでDRBDのボリュームを自動的に作成することが可能になります。

※DRBD8は未対応で、DRBD9からの対応となります。

利用イメージは以下のようになります。

続きを読む “DRBD9のdocker連携機能の紹介”

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システムの構成”

Pacemaker 1.1 Configuration Explained – (5) クラスタリソース

(5)クラスタリソース

クラスタリソースとは

クラスタによって可用性を高められたサービスをリソースと呼びます。もっともシンプルな例はプリミティブリソースです。もう少し複雑なものにグループリソースやクローンリソースなどがあります。

すべてのプリミティブリソースにはリソースエージェントがあります。リソースエージェントは提供するサービスを取り出したり、クラスタに対して可視状態にするための外部プログラムです。

続きを読む “Pacemaker 1.1 Configuration Explained – (5) クラスタリソース”

Pacemaker 1.1 Configuration Explained – (3) クラスタ全体の設定

(3) クラスタ全体の設定 

 

CIBプロパティー

CIB自体が使用するための情報が自動的にCIBプロパティーに設定されます。通常これらの情報はユーザーが意識して設定することはありません。CIBプロパティーには以下のような情報があります。

続きを読む “Pacemaker 1.1 Configuration Explained – (3) クラスタ全体の設定”