DRBDのすべてのリソースは、 プライマリ または セカンダリ のどちらかのロール(役割)を持っています。
![]() | 注意 |
|---|---|
「プライマリ」と「セカンダリ」という用語は 適当に選んだものではないことを理解してください。 DRBD開発者は意図的に「アクティブ」と「パッシブ」という用語を避けました。 プライマリとセカンダリは、ストレージの可用性に関する概念です。 一方アクティブとパッシブはアプリケーションの可用性に関わる概念です。 ハイアベイラビリティクラスタ環境では、 一般的にアクティブノードのDRBDはプライマリになりますが、 これが例外のないルールだということではありません。 |
プライマリロールのDRBDデバイスでは、 データの読み込みと書き込みが制約なく行えます。 この状態のストレージに対して、ファイルシステムを作成したりマウントでき、 ブロックデバイスに対するローデバイスI/OやダイレクトI/Oすら可能です。
セカンダリロールのDRBDデバイスは、 対向するノードでのすべてのデータの更新を受け取りますが、 自ノードのアプリケーションからのアクセスは、 読み込みと書き込みの両方とも、一切受け付けません。 読み込みすら受け付けない理由は、キャッシュの透過性を保証するためです。 もしもセカンダリリソースが自ノードからのアクセスを受け付けると、 この保証ができなくなります。
リソースのロールは、もちろん 手動で切り替えられる他に、 クラスタ管理アプリケーションの何らかのアルゴリズムによって 自動で切り替えられます。 セカンダリからプライマリへの切り替えを プロモーション と呼びます。 一方プライマリからセダンダリの切り替えは デモーション と呼びます。