コアのために Linux DRBD 9分散レプリケートブロックデバイスを実装する一連のパッチが提案されました。これにより、異なるシステムに接続されたネットワークミラーリングされたドライブからRAID-1アレイを作成できるようになります。このドライバはまずlinux-nextブランチでテストされ、カーネル統合に向けて最終調整が行われます。 Linux 7.2.
旧バージョンのDRBD実装は、16年前にリリースされたバージョン2.6.33以降、カーネルに組み込まれています。カーネルコードはDRBD 8ブランチに基づいており、2015年にリリースされたDRBD 9ブランチとは大きく異なり、プロトコルレベルで互換性がありません。そのため、DRBD 9はコアカーネルモジュールとは同期しない独立した外部モジュールとして開発されました。カーネルのDRBD実装は個別に保守されており、現在のDRBDコードベースから10~15年遅れています。提案されているパッチは、このギャップを埋めることを目的としています。
DRBD を使用すると、クラスタ ノードのドライブを単一のフォールト トレラント ストレージに結合することができます。 アプリケーションとシステムにとって、このようなストレージはすべてのシステムで同じブロック デバイスのように見えます。 DRBD を使用すると、すべてのローカル ディスク操作が他のノードに送信され、他のマシンのディスクと同期されます。 XNUMX つのノードに障害が発生した場合、ストレージは残りのノードを使用して自動的に動作を継続します。 障害が発生したノードの可用性が回復すると、その状態は自動的に最新の状態になります。
ストレージを構成するクラスターは、ローカルネットワーク内および地理的に分散した場所に配置された最大32個のノードを含むことができる。 データセンターこのような分散ストレージシステムにおける同期はメッシュネットワークで行われ、データはノード間を流れます。ノード間のレプリケーションは、同期または非同期のいずれかで実行できます。例えば、ローカルにホストされているノードは同期レプリケーションを使用し、リモートサイトのノードは、追加のトラフィック圧縮と暗号化を備えた非同期レプリケーションを使用できます。
DRBD 9 ブランチはトランスポート層の抽象化によって特徴付けられ、これにより通信チャネルを単に上に実装するだけでなく、 TCP/IPDRBD 9 では、RDMA/Infiniband も使用されています。従来の IP ネットワーク上で動作する場合と比較して、RDMA (Remote Direct Memory Access) を使用して別のコンピュータの RAM に直接アクセスすることで、レプリケーション パフォーマンスが 2 倍になり、CPU 負荷が 50% 削減されました。同期ストレージの最大サイズは 32 ノードに増加しました。DRBD 9 には、ノードの再同期ロジックの変更、ロック メカニズムの再設計、ネットワーク 名前空間のサポートの追加、アクティビティに基づくノード ステータスの自動調整、および 2 フェーズ コミットと非ブロッキング更新伝播のサポートも含まれています。 
出所: オープンネット.ru
