ネットワークブロックデバイスとは
ネットワークブロックデバイス(NBD)は、Linux®およびUnix®コンピューターシステムで使用されるリモートデータストレージ技術で、クライアントコンピューターがリモートシステム上のデータストアにアクセスできるようにします。 クライアントコンピューターがNBDをセットアップすると、ネットワーク上の他の場所とは対照的に、クライアント上の実際のディスクドライブであるかのように使用されます。 サーバー上のネットワークブロックデバイスは、実際のハードディスクでも、ディスクであるかのようにアクセスできる特別な種類のファイルでもかまいません。 ローカルハードディスクよりも低速ですが、この方法は、バックアップやディスクドライブのないコンパクトコンピューターなど、多くの場合に役立ちます。
ほとんどの場合、ネットワークブロックデバイスを使用するには、サーバーモデルとクライアントモデルが必要です。 サーバーでは、デバイスノードと呼ばれるものが維持されます。 これは通常、ハードディスク、ディスクの配列、またはディスクイメージと呼ばれることが多いファイルの種類です。 サーバーはデーモンと呼ばれる小さなソフトウェアを実行します。これにより、クライアントはサーバーからデバイスノードにアクセスし、ローカルにマウントできます。 クライアントコンピューターから見ると、デバイスノードは他のディスクドライブと同様にアクセスされます。
ネットワークブロックデバイスは、多くの点で、ネットワークファイルシステム(NFS)として知られるUnix®システムで使用される別の手法に似ています。 ただし、主な違いの1つは、通信が発生するプロトコルです。 NFSはユーザーデータグラムプロトコル(UDP)を使用しますが、NBDは伝送制御プロトコル(TCP)を使用します。 UDPはネットワーク上でのパケット転送の難解な方法であるため、クライアントがデータの再送信を要求しなければならない場合があります。 一方、TCP通信は、クライアントとサーバーの間に専用の接続を確立し、NBDデータが正確に読み書きされるようにします。
ネットワークブロックデバイスの実装におけるこの機能により、クライアントとサーバー間で特別な種類のディスクミラーリングを確立できます。 この手法は、独立ディスクの冗長アレイ(RAID)として知られています。 タイプ1のRAIDセットアップでは、1つのディスク上のデータが任意の数の追加ディスクにミラーリングされ、いずれかのディスクに障害が発生した場合に即座にアクセス可能なバックアップを提供します。 本質的に、アレイはコンピューターのオペレーティングシステムからは単一のディスクと見なされます。
ネットワークブロックデバイス技術を広範に使用するこのような製品の1つは、分散複製ブロックデバイス(DRBD®)として知られています。 DRBD®セットアップは、高可用性を必要とする非常に大きなディスクアレイによく使用されます。 ただし、この場合、1つのディスクアレイがRAID形式でセットアップされ、NDBを使用して他のディスクアレイにミラーリングされます。 これで、DRBD®に任意の数のクライアントコンピューターからアクセスできるようになります。