分散ファイルシステムという単語を聞いたことがあるでしょうか。現在はさまざまな企業で、この分散ファイルシステムが利用されています。
特にシステム開発会社や、ビッグデータを取り扱う企業は盛んに取り入れているのです。システム開発会社だけでなく、音楽や動画を扱っている企業も、分散ファイルシステムを導入しています。
この分散ファイルシステムは、現代のインターネット社会において、なくてはならない存在になっているのです。今回はその分散ファイルシステムについて、どのようなものなのか、詳しく解説していきます。

某電子専門学校卒業後、サーバー/ネットワーク運用業務を通し、ネットワーク設計/構築事業をメインにインフラ業務全般を担当。その後、某情報セキュリティ会社にて、情報セキュリティ教育事業の教育係も担当。
分散ファイルシステムとは
分散ファイルシステムとは、企業内のネットワーク上に存在するファイルを、様々なデータセンターやクラウド上に分散することで、あたかもローカルにファイルが存在しているかのようにするシステムの事です。
ユーザーはそのファイルにアクセスする権限があれば、分散ファイルシステム内部にあるファイルをどこからでも取り扱えます。これにより、データの取り扱いが非常に楽で、顧客の訪問先でもセキュリティレベルの高い状況でデータを扱えます。
分散ファイルシステムの種類
ここでは分散ファイルシステムについて、6種類紹介します。分散ファイルシステムといっても、さまざまな特徴があります。また、取り扱っているシステム開発会社も多数ありますので、自社のニーズに沿った分散ファイルシステムを利用することが望ましいでしょう。
では、一つずつ解説していきます。
Hadoop Distributed File System (HDFS)
Hadoop Distributed File Systemは、主にHadoopと呼ばれるアプリに利用されるストレージの事を指します。主にビッグデータを取り扱う際に利用する分散ファイルシステムとなっていて、各ノードの同期や転送において、とても高速なのが特徴です。特にHDFSは障害に対してとても強い点と、低コストで分散ファイルシステムを構築できる点が魅力と言えるでしょう。
さらに、扱うデータが膨大であっても、HDFSであれば比較的管理がしやすいです。故障検知といった機能も搭載していて、分散ファイルシステムに搭載してある各ストレージの状況を逐一監視して、あとどれくらいで機器が危険な状態になるかを予測してくれます。
ストレージに保存されているファイルが大きい場合、ハードウェア効率向上の機能により、ネットワークのトラフィックを調整し、ユーザーが大きいファイルを取り扱う場合も高速で転送します。HDFSのクラスタの処理速度がとても速く、なんと2GB/秒でのファイル同期を可能としています。
GlusterFS
GlusterFSは、クラウドやメディアストリーミング、バックアップに特化した分散ファイルシステムです。
元々はGluster社という企業が開発し販売していましたが、Redhat社というLinuxOSに強い企業に買収されました。現在はRedhat社が開発・販売を行っています。
Glusterはそれぞれのノードに、Brickと呼ばれる、GlusterFS独自のディレクトリを配置し、それぞれのノード上にあるBrickを束ねることで、巨大なストレージシステムとして運用できます。
また、ハードウェア動作環境については、特に指定が無く、導入する前にVMと呼ばれる仮想のLinuxOSを2台用意するだけでテストする事もできます。拡張性と利便性を兼ね備えた分散ファイルシステムと言えるでしょう。ただし、稼働に必要な構成があります。詳細は下記の通りです。
- サーバーについてはPOSIXに互換対応しているストレージが必要。
クライアントについてはGlusterクライアントアプリ、NFSクライアント、SMBクライアントが必要。
Ceph
Cephは、オープンソースのストレージソフトウェアを利用していて、それぞれ分散したサーバーのストレージを、一つのクラスタとして使用可能とする分散ファイルシステム機能です。主にLinuxOSを導入している環境に特化した分散ファイルシステムと言えます。
CephのOSDaemonとManagerにより管理を行い、CephMetaDataServerをCephMonitorでモニタリングをします。これらCeph独自のDaemon、Manager、Monitor、DataServerを活用することで、効率的かつ高速に分散ファイルシステムを運用できます。
Cephには外部に対応するインターフェースを搭載していて、ブロック単位でのアクセスや、ファイル単位でのアクセスも可能です。このように、CephはそれぞれCeph独自のアプリケーションを分散ファイルシステムに組み込むことで、さまざまな互換性やアクセス方法、管理運用を可能にしています。
これらの点がCephを導入するにあたってメリットと言えるでしょう。
Amazon Elastic File System (EFS)
Amazon Elastic File Systemは、Amazon独自のAWSを活用することで、サーバーを用意することなくストレージの提供を可能とします。これにより、サーバーの管理をする必要無く分散ファイルシステムを運用できます。
また拡張性も高く、分散ファイルシステム上にて、ファイルを使用したい分だけ、EFSは自動的にストレージを追加・伸縮を行います。ファイルを削除する際も、AmazonEFSは自動的にストレージの削減を行います。
さらにAmazonEFSは、AWSを活用したウェブインターフェースを導入することにより、サーバーへのパッチの適用、デプロイ、システム管理をすることなく、簡単に運用ができます。
AmazonEFSはセキュリティ面でも高い機能を持っています。AmazonEFSはファイルの転送時と保存時に暗号化を行いますので、社内ではもちろん社外で分散ファイルシステムとしてAmazonEFSを利用する際は、安心してファイル操作を行えます。
AmazonEFSはサーバー単位ではなくストレージの利用状況のみでの支払いとなりますので、低コストで分散ファイルシステムを導入したい企業に最適です。
Google File System (GFS)
Google File Systemは、Googleが使用するサービスに合わせた大規模分散ファイルシステムです。
一般的には分散ファイルシステムを導入する際は、高額なストレージが必要でした。GFSは価格の安いストレージでも、故障の発生がとても低く、高い耐障害性を持っています。
主にマスターサーバーとチャンクサーバーに分かれた構成となっていて、マスターサーバーにファイルの追加や変更があった場合に、瞬時にチャンクサーバーと同期を行います。これにより、マスターサーバーにエラーが発生しても、チャンクサーバーから同期を行い、エラーを修復します。
GFSは、一度に扱うファイルのデータサイズが大きいので、何度も細かい通信を行う事を必要とせず、分散ファイルシステムにおける通信の帯域において、他の分散ファイルシステムと比べて帯域を占有することがありません。
纏めると以下の点がGFSの特徴です。
- 安価で分散ファイルシステムを導入できる。
高い耐障害性。
通信を占有しない。
これらが、GFSにおける分散ファイルシステム特徴と言えるでしょう。
Microsoft Azure Blob Storage
Microsoft Azure Blog Storageは、ユーザーが利用したい状況に合わせて、分散ファイルシステムを構築します。それにより、さまざまな目的やシーンで、分散ファイルシステムを導入できます。
また、分散ファイルシステムを導入する際、クラウドをベースとしていますので、多種多様な開発環境と、デバイスに対応しています。
さらに、データの扱いが効率的になっていて、使用頻度の少ないデータと、使用頻度の高いデータを振り分ける事で、分散ファイルシステムとして安定して動作します。これにより、高い柔軟性と効率の両立を図った分散ファイルシステムとして、現在さまざまな企業が導入しています。
MicrosoftはWindowsOSで有名ですが、セキュリティとコンプライアンスに積極的に投資を行っています。これにより、今後このMicrosoft Azure Blog Storageは、セキュリティ面にも力を入れていくと思われます。3500人を超える専門家が、セキュリティに関してサポートしますので、分散ファイルシステムにおいて、セキュリティ面にも対応したい企業は導入を検討してみてもいいでしょう。
分散ファイルシステムのメリット
ここまで分散ファイルシステムの概念、その特徴について、実際に分散ファイルシステムとして開発された製品について解説してきました。
ここでは分散ファイルシステムを使用するにあたってのメリットについて、解説していきます。分散ファイルシステムは現在さまざまな企業が導入しています。そこでどういった面でメリットを感じて、導入に至ったのか、気になるかと思います。
そこで主に拡張性、可用性、柔軟性の三つの観点から説明します。
スケーラビリティの向上
分散ファイルシステムは、社内に所属する人間が、さまざまなシーンで利用します。例えば顧客に向けたプロダクトに関する資料であったり、社内の情報を管理する為の情報です。これらの情報は、日々増えていきます。そのような場合、スケーラビリティの向上はなくてはならないものです。
以前のオンプレミス環境下であれば、社内のサーバーがひっ迫した場合、社員一人一人がサーバーからデータを削除しなければなりませんでした。分散ファイルシステムによるスケーラビリティの向上により、データを圧縮する技術で、効率性が格段に上がりました。
これによって、社員がデータを扱う際に、いちいちファイルサイズなどを気にする必要が無くなり、社員の仕事による生産性の向上に繋がっているのです。分散ファイルシステムの登場により、オンプレミスのデメリットであったサーバー上の管理が、大幅に改善されました。
データの冗長性と可用性の向上
分散ファイルシステムは、データを一か所に留めず、様々な場所にデータを飛ばすことで、データの冗長性を可能にしています。これにより、一つの箇所に配置しているサーバーが故障したり、サーバーが配置してあるデータセンターなどが自然災害にあってしまい、物理的に破壊されたとしても、別のデータセンター上にあるサーバーとデータが同期しているので、そちらからデータを取り出せます。
また、データが分散しているので、大量にインターネット通信を行っても、別のルートから帯域を確保でき、可用性の面で向上しています。オンプレミス環境では、一つのデータセンター上のサーバーからデータを取り出していたので、そもそもこのような事が物理的に不可能でした。
分散ファイルシステムでは文字通り分散した箇所からデータを取り出せるので、あらゆるリスクの低減を可能としています。これにより、オンプレミス環境では不可能だった、故障や災害のリスクも解消しているのです。
ファイルシステムの柔軟性と拡張性
分散ファイルシステムの柔軟性と拡張性により、企業の資料やファイルの取り扱いだけでなく、ストリーミングサービスにも変化を与えました。
従来ではストレージを用意し、決まった容量で、データの削減が自由に行えませんでした。分散ファイルシステムの登場により、好きな時に好きなだけサイズの増減が行えます。また扱えるファイルも、多種多様となっており、音楽ファイルや動画ファイルなども含まれます。
これにより、メディアストリーミングのデメリットであった、大きいサイズのファイルを日々増減しなければならない点を解消し、現代ではさまざまな配信スタイルを可能としています。例えばYouTubeでのライブ配信において、膨大なトラフィック量を必要とする場面でも、分散ファイルシステムの柔軟性により、帯域を効率よく振り分け、高画質な動画視聴を可能としているのです。
分散ファイルシステムは、こういった次世代の技術にも一役買っています。
分散ファイルシステムのレプリケーション
ここまで分散ファイルシステムの概念、分散ファイルシステムのアプリ、導入する上でのメリットについて解説していきました。分散ファイルシステムは災害や帯域の停滞を防いだり、ファイルサイズの増減が自由に行えるなどのメリットがあるという事を説明しました。
最後に分散ファイルシステムのレプリケーションと呼ばれる技術について、説明します。分散ファイルシステムにおいて、一番重要な点ですので、大まかに三つに分けて解説していきます。
レプリケーションの仕組み
分散ファイルシステムの、分散とは、一つのデータセットを複数のノードに分散させることを指します。レプリケーションとは、データセットを分散させたあと、そのデータをそれぞれのノードへコピーをさせる事で、冗長性と可用性を格段に高めます。
これにより、一つのデータセンター及びワークステーションにおいて障害が発生した場合でも、ファイルを失うことなく別のデータセンターなどからデータを取得できます。これが、レプリケーションの仕組みです。
また、ビッグデータ等を扱う場合、1台のノードではリソースが全く足りず、ストレージ容量が不足してしまいます。そのような場合、分散ファイルシステムを活用する事によりノードを増やし、大容量のデータの不足分を補って、データを分散する事で、ビッグデータを安定して取り扱えます。
さらに、サーバーを利用する上でネットワークの帯域幅が限られている場合や、ネットワークの通信が高速でない場合でも、このレプリケーションの技術により効率化できます。例えば、サーバーと企業のネットワーク間において通信の帯域幅が狭いが、サーバー上にあるフォルダーを自社とできるだけ高速で同期したい場合、レプリケーションを行うことでその問題を解消できます。
レプリケーションのメリット
分散ファイルシステムを利用することで得られるメリットは、先ほどご説明した災害や故障における耐障害性です。さらに、ファイルを分散してレプリケーションを行うので、大きいデータのファイルも高速で転送できます。これにより、企業が扱う情報を安全かつ高速に利用できます。
セキュリティ面についても、データセンターなどでしっかり対策していますので、安全性についても高い評価を得ています。さらに、ファイルはどこからでもアクセスできますので、ファイルの配置場所を気にする必要が無い点も、メリットと言えるでしょう。
また、レプリケーションにより、比較的低コストでファイルシステムの運用が可能です。
レプリケーションの方法
レプリケーションの方法は、一つのファイルを複数のノードに分散させ、その分散させたデータを論理的にコピーします。コピーされたデータはそれぞれのノードへ論理的に通信を行い、同期するのです。
これにより、ファイルを扱っている社員がデータを更新した際も、瞬時にそれぞれのノードヘ分散され、データのコピーを行います。そしてそのデータはどのノードでも、最新となります。
これで、片方のノードが上手くコピーされていなくても、もう片方のノードにコピーされている為、データを更新した際、どのような状況でも最新のファイルとして保存できます。
また、分散ファイルシステムへアクセスする際のファイルパスは、それぞれのノードすべてが共通となっている為、複雑なファイルパスになりません。
分散ファイルシステムのまとめ
分散ファイルシステムの概念、種類、メリット、仕組みなどについて解説していきました。分散ファイルシステムは最早、次世代の技術の代表と言っていい存在と言えます。
以前のようなオンプレミスにおけるファイルシステムとは、各段に扱いやすさが違います。例えば、社員が顧客先で作業する必要がある場合、USBなどにファイルを保存し、そのデータを持ってくる必要がありました。これは、USBを紛失した際のリスクや、顧客先での情報漏洩のリスクがあり、大手のIT企業などでは顧客先での作業を禁じる会社が多数でした。
この分散ファイルシステムの登場により、社員はもちろん、会社としてもそれほどリスク無く情報の持ち出しを可能とし、業務において効率化を図れました。今後もこの分散ファイルシステムの技術は、進歩していくと考えられます。さらに、YouTubeやSpotifyなどの動画や音楽といった、膨大な情報とデータを扱う配信サイトでも、分散ファイルシステムの技術がどんどん利用されています。
もしオンプレミスでのサーバーにデータの保存を行っているのであれば、企業の安全性を考えても、すぐにでも分散ファイルシステムの導入をすべきだと言えます。分散ファイルシステムを導入したいが、どのように開発したらよいかわからない場合は、株式会社Jiteraへ相談するとよいでしょう。
こちらのフォームから、聞きたい内容や相談したい点を出来るだけ詳細を記載し、送信すれば、分散ファイルシステムについてさらに詳しく相談に乗ってもらえます。