DRBDを軸に、データを遠隔地にも即時複製して万が一の事態に備える「冗長化/高可用性システム」の構築テクニックを紹介する本連載。今回は、DRBDの最新版である「DRBD 9」の新機能を解説します。
本連載は、サービスを止めてはならない環境で活躍する冗長化支援ツール「DRBD(Distributed Replicated Block Device)」を使い、災害対策システムや高可用性WordPressシステムなどを構築するノウハウをお届けしています。今回は、DRBDの最新バージョンである「DRBD 9」の新機能を解説します。
DRBD 9は、2015年6月にリリースされたDRBDの現行バージョンです。2017年2月現在は安定版とうたわれるバージョン9.0.6がリリースされています。
DRBD 9は、これまで解説してきたDRBD 8系からのメジャーバージョンアップに当たります。DRBD 9の大きな変更点は、「多ノード(最大31ノード)でのデータレプリケーション(複製)に対応」したことです。具体的にはOpenStackのブロックストレージ「Cinder」で有効活用できるようになります。
まずDRBD 9で提供される主な機能をおさらいしましょう。
DRBDは基本的に、高可用性システムを構築するために使われるツールです。これまでDRBD 8.4をベースに解説してきた機能と同様に、DRBD+Pacemaker+Corosyncを組み合わせることで、ダウンタイムの少ないLinuxベースの高可用性システムを比較的簡単に構築できます。
高可用性WordPressサーバのシステムを例にすると、以下のような構成となります。基本は1対1で冗長化環境を構成します(図1)。
図1は、2台で構成したサーバのうち、もしプライマリー機に障害が発生したら、データがリアルタイムに複製されているセカンダリー機へ自動的に切り替わり、サービスを継続させるというシステムです。
DRBDは、DR(Disaster Recovery:災害復旧)システムの構築にも使われます。DRシステムとは、災害が発生して一方のシステムが被災しても、別の場所に設置されたサブシステムでサービスを継続できるようにする構成のことです。本連載のバックナンバーでは、第3回、第7回、第10回でその構築ノウハウを紹介してきました。
DRシステムは、DRBD+DRBD Proxyを使用して以下のように構築します(図2)。
図2のシステムでは、プライマリー機として稼働している東京支社のサーバに障害が発生したら、セカンダリー機として構成してあるクラウド環境のサーバに切り替えてサービスを継続できるようになっています。
なお2017年2月時点では、DRBD 9でPacemakerを用いた自動切り替えを行うと、ネットワークの状態によって正常に切り替えられない可能性が示唆されています。現時点においては、遠隔地システムへの切り替えを手動で行う体制を取っておくことを推奨します。
DRBD 9では新たに、「SDS(Software-Defined Storage)」としての機能を実装しました。任意のストレージ装置を用意し、DRBD 9でストレージをソフトウェア的に管理できるようになっています。
このSDS機能により、「OpenStackのブロックストレージ」として活用できるようになります。
似た性能を持つ分散ストレージソフトウェアには、「Ceph」もあります。Cephは分散ストレージソフトウェアであり、さらにオブジェクト単位、ブロック単位、ファイル単位で扱えます。DRBD 9は、機能差こそありますが、ブロック単位についての機能と考え方は似通います。DRBD 9はシンプルにブロックストレージのみに対応する、ブロック単位専門のソフトウェアという位置付けとなるでしょう。
Copyright © ITmedia, Inc. All Rights Reserved.