分散ファイルシステム(Distributed File System: DFS)とは、データの格納・管理を簡素化するためのシステムです。ネットワーク上の複数のサーバーの共有ストレージに格納されているデータファイル(PDF、Word ドキュメント、画像、動画、音声など)の一元管理を可能にし、ユーザーやアプリケーションからのアクセスを容易にします。複数のサーバーをクラスタ化することで、別々のマシンに分散するストレージリソースやデータファイルを多くのユーザーが共有できるようにしています。
DFS がエンタープライズ環境で利用される主な理由は次の点にあります。
- データをセカンダリストレージメディアに恒久的に格納する。
- ユーザー間、アプリケーション間で、情報を容易に、効率的に、セキュアに共有する。
コンピュータのオペレーティングシステムのサブシステムとして、DFS はデータファイルの管理、整理、格納、保護、取得、共有を可能にします。アプリケーションやユーザーは、ローカルファイルを扱う場合と同様に、データファイルの格納やアクセスができます。DFS では、複数のサーバーにそれぞれ格納されたファイルへのパスが 1 つのツリー構造を形成しており、ユーザーは、単一のパスで、コンピュータやスマートフォンから DFS の共有フォルダを全て参照できます。
DFS には 2 つの重要な要素があります。
- 格納場所の透過性:ユーザーは、1 つの名前空間から全てのデータファイルにアクセスできる。ファイルのアクセスや格納をどのコンピュータから行おうとするかは不問となる。ファイルが最初に格納された場所はユーザーには特定できない構造になっており、ユーザーは、パス名を変更せずに、必要に応じて共有フォルダ内でファイルを移動できる。
- 冗長性:ファイルレプリケーション機能によって、ファイルのコピーをノードクラスタ全体に分散する。これにより、サーバー障害の発生時でもデータの可用性を維持できる。
分散ファイルシステムの仕組み
DFS では、ネットワークで接続されたワークステーションやサーバーが、ストレージノードのクラスタを持つ 1 つの並列ファイルシステムを構成します。このシステムは、単一の名前空間とストレージプールのもとでグループ化されており、複数のホストまたはサーバーを介した高速・同時のデータアクセスを可能にします。
データ自体は、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、パブリッククラウドなど、多様なストレージデバイスやシステムに格納できます。データの格納場所を問わず、DFS は 1 台のホストサーバーで構成されるスタンドアロン(独立型)の名前空間としても、複数のホストサーバーを使用したドメインベースの名前空間としても設定できます。
ユーザーがファイル名をクリックしてデータにアクセスしようとすると、 DFS は、複数のサーバーをチェックし、ユーザーがどこからアクセスしているかによって、サーバーグループ内で最初に使用可能なファイルのコピーを特定します。これにより、多数のユーザーのファイルへのアクセスが集中してサーバーがダウンする事態を回避し、さらに、サーバーの異常や障害の発生時でもデータの可用性を維持します。
ファイルに加えられた変更は、DFS のファイルレプリケーション機能によって、サーバーノード内の当該ファイルの全てのインスタンスにコピーされます。
分散ファイルシステムの機能
エンタープライズにおけるデータファイルの管理や整理、アクセスをサポートする DFS ソリューションは多数存在します。その大半が以下のような機能を提供しています。
- 透過的なアクセス:ユーザーは、ワークステーションにローカルに格納されているファイルと同じようにデータにアクセスできる。
- 透過的な格納場所:ファイルデータの格納場所は DFS が管理するため、ホストマシン側で把握する必要がない。
- ファイルのロック:それぞれの場所からアクセスする複数のユーザーが同時に同一ファイルを編集することがないよう、システムが管理対象範囲内に存在する複数の同一ファイルのコピーをロックする。
- 転送データの暗号化:DFS は、システム内を移動するデータを暗号化により保護する。
- マルチプロトコルのサポート:ホストは、サーバーメッセージブロック(SMB)、ネットワークファイルシステム(NFS)、ポータブルオペレーティングシステムインターフェース(POSIX)など、さまざまなプロトコルを使用してファイルにアクセスできる。
分散ファイルシステムのメリット
DFS の最大のメリットは、ユーザーがさまざまな場所から同一のデータにアクセスできることです。離れた地域間でも、シンプルで効率的な情報共有が可能です。サイト間でのファイルのコピーやフォルダの移動を不要にするため、ユーザーの手間が省けます。
上記以外にも、DFS には次のようなメリットがあります。
- データの耐障害性:ファイルが複数の場所に格納されているため、サーバー障害による損失を抑制できる。
- ネットワーク効率:高負荷の状況でも処理速度が低下しない。DFS が利用可能な別のノードからデータを取得する。
- 最新データへのアクセス:共有フォルダ/ファイルに変更があると、全ての DFS ユーザーがその内容に即座にアクセスできる。
- 容易な拡張:ノードを追加するだけでシステムを容易に拡張できる。
- 高信頼性:ファイルの複製が複数のホストに格納されるため、データ損失のリスクが低減する。
分散ファイルシステムとオブジェクトストレージの違い
DFS と同様に、オブジェクトストレージも、クラスタ化された多数のノードに情報を格納し、迅速、高効率で、耐障害性に優れたデータアクセスを可能にします。DFS とオブジェクトストレージのいずれも、「単一障害点」のリスクを排除します。しかし、両者は同一ではありません。
DFS とオブジェクトストレージの違いには、次のようなものがあります。
- 構造:DFS ではデータファイルを階層構造で格納するが、オブジェクトストレージではオブジェクトをフラットなバケットに格納する。
- API:前述のように、DFS は従来のファイルシステムプロトコルをサポートしているため、ほぼ全てのアプリケーションと連携する。一方で、オブジェクトストレージは、HTTP リクエストを介してデータのアクセスや使用を行うため、Web 向けに設計された REST API を必要とする。アプリケーションによる Objects ストレージへのアクセスには、Amazon S3 と RedHat OpenShift Swift API を利用できる。
- データの変更:DFS では、任意のデータファイルの変更・書き込みができる。一方、オブジェクトストレージでは、変更するにはオブジェクト全体を置き換える必要がある。
分散ファイルシステムの例とユースケース
DFS ソリューションの選択肢は多数存在します。Ceph や Hadoop DFS などの無料のオープンソースソフトウェアから、AWS S3 や Microsoft Azure などのリモートアクセスソリューション、 Nutanix Files や Nutanix Objects などのプロプライエタリソリューションまで、多岐にわたります。
DFS は、幅広いユースケースに対応できる特性を持っています。主要な特性として、高頻度でランダムな読み取り/書き込みを必要とするワークロードや、データ集約型ジョブ全般に適していることが挙げられます。ジョブの例としては、複雑なコンピュータシミュレーション、高性能コンピューティング(HPC)、ログ処理、機械学習などがあります。
関連リソース
Nutanix Files Helps Enterprise Organizations Optimize File Storage Performance and IT Operations(Nutanix Files によるエンタープライズ環境のファイルストレージ性能と IT 運用の最適化)
ファイルストレージ(Files ストレージ)
Nutanix の Files ストレージが、あらゆるアプリケーションのニーズに応える単一プラットフォームを実現します。
ストレージの変革
複雑なファイルストレージシステムを HCI でシンプルに。クラウドライクなデプロイメントとプロビジョニングが可能になります。