特集: DRBD9紹介 第5回「データ再配置」

複数台のIAサーバとDRBD9を使って高性能のSANストレージを実現できることを第3回「多ノードレプリケーション」で説明しました。また、冗長化済みディスクボリュームを多数管理するためにdrbdmanageが役立つことも説明しました。これらに加えて、drbdmanageは、ストレージクラスタとしてのスケーラビリティを保証するためのデータ再配置機能も持っています。

DRBD9が対応を予定しているOpenStackのCinderは、大規模構成では数百個〜数千個のブロックストレージを提供します。一方、最小構成でスタートして無停止でストレージを増強できるスケーラビリティも不可欠です。そこで、使用中のレプリケーション領域を他のサーバに動的に移動する機能がDRBD9 (およびdrbdmanage)に追加されました。「DRBDはブロックデバイスをネットワーク越しに冗長化するリアルタイムレプリケーション・ツールである」という古典的な定義から見たら奇異な感じがするかと思いますが、DRBD9はレプリケーションをベースにしたストレージ管理ツールだと考えたら当然の機能と言えるでしょう。

データ再配置機能の動作イメージ

DRBDのデータ再配置機能の動作イメージは以下のようになります。

現在、4台のIAサーバで構成されたストレージクラスタが動作していて、4つのディスクボリューム(A、B、C、およびD)がサービス中です。

drbd9-5-01

ストレージ需要が高まったため、IAサーバを1台追加します。追加したサーバをストレージクラスタに参加させると、新サーバにもdrbdctrl管理ボリュームが作られます。

drbd9-5-02

サーバ3の上のボリュームBとDを無停止でサーバ4あるいはサーバ5に移動します。移動後サーバ3上の領域は削除され、別のストレージニーズに回せるようになります。

drbd9-5-03

新しいディスクボリュームEを多重度3で作成します。

drbd9-5-04

スケールアップとスケールアウトの両方に対応

データ再配置機能は、ストレージクラスタを構成するサーバを追加するときに役立つため、スケールアウト型のスケーラビリティを実現します。

一方、drbdmanageはLVM2ベースで動作するため、サーバあたりのストレージ容量を増やすスケールアップにも対応できます。複数サーバにレプリケートされているため、メンテナンスでどれかのサーバを一時停止しても全体としての可用性が損なわれることはありません。