![](/fnetwork/tanpatsu/07dafs/dafs_gra2.gif)
特別企画:「DAFS」技術解説
高速ファイル・アクセス技術「DAFS」とは?
〜クラスタなどの大規模用途にマッチした新技術の概要を紹介〜
小田逸郎
富士通プライムソフトテクノロジ
2002/6/29
■なぜ高速ファイル・アクセス技術が必要なのか?
クラスタの導入例が増えてきている。高信頼のための高可用性(HA)クラスタ構成ばかりではない。最近は、多数の処理を複数のサーバに分散するタイプや、巨大な計算を複数のサーバに分割、並列計算するタイプのクラスタも増えてきている。今後も、処理量の増大とハード価格の下落から、こうしたクラスタの導入件数増加および構成台数増加が予想される。ブレード・サーバの出現も、その傾向の表れだといえるだろう。
●ノード間通信の高速化
処理を複数のサーバに分割するケースでは、サーバ間の通信速度がスケーラビリティを保持する大きなポイントとなる。高速通信のための手段は、すでにいくつか提案されている。その1つが「VIアーキテクチャ*1」である。VIアーキテクチャの特長は、下記の2点にある。
- アプリケーション間でOSを介さずに通信が行える
- RDMA(Remote DMA)転送と呼ばれる、ほかのノードのメモリを直接アクセスできる機能をサポート
通常のTCP/IPによる通信で行われている、OSへのコンテキスト・スイッチ、OSのソフト処理や中間バッファへのコピー操作が不要となり、高速、低遅延な通信が実現できる。
![]() |
図1 VIの通信模式図 |
|
●クラスタの課題〜ファイル共有
クラスタの台数が増えるにつれ、データへのアクセスが新たな課題となる。処理の分散や分割を想定すると、複数のサーバから共通のデータにアクセスしたり、任意のサーバから任意のデータがアクセスできたりする必要がある。ファイル・サーバを導入し、ファイルを共有するのが最も簡単ではあるが、NFSなど従来のプロトコルでは、性能に問題がある。効率のよいファイル共用方式が求められている。
■DAFSとは?〜その登場背景と仕組み
そこで登場するのがDAFS(Direct Access FileSystem)である。DAFSは、iDCやクラスタ環境に最適化したファイル共用プロトコルだ。その特長は下記の2点にある。
- 高速、低遅延なファイル・アクセス
- ローカル・ファイル・システムと同様のセマンティクス(使用感)
すなわち、多数のサーバから構成された環境において、1つのローカル・ファイル・システムとして見えることを狙っている。
DAFSプロトコルは、DAFS Collaborativeにより仕様が策定された。DAFS Collaborativeは、2000年5月にNetwork Appliance、Intelが中心となって設立され、2001年8月時点で85を超える企業がメンバとなっている。2000年8月より開発者会議を開催し、仕様の策定を進め、2001年9月に仕様書の第1版を完成させた。現在、IETFで標準化プロセスを進めるため、仕様書第1版がInternet Draftとして公開されている。
|
●DAFSの高速性の秘密
DAFSの基本アイデアは、通信層としてVIを使用することにある。正確には、VIでなくても、OSのソフト処理バイパスやRDMA転送などの要件を満たせばよい。このような要件を満たす通信層を、DAT(Direct
Access Transfer)と呼んでいる。DAFSでは、DATの採用により、低遅延、高スループットのファイル・アクセスを実現している。
DAFSの処理の流れを図2に示した。比較のため、NFSの処理の流れも図示した。細い線がファイル操作の流れである。DAFSでは、ファイル・システムのシステム・コール処理のためOS経由にこそなっているものの、通信層がDATである関係上、CPUのオーバー・ヘッドは非常に少ない。また、データの転送にはRDMAを使用するため、メモリ・コピーが入らない。対してNFSは、アプリケーションのバッファからファイル・システムのキャッシュとネットワーク層のバッファへの、2回のコピーが発生している。
![]() |
![]() |
図2 DAFS(fDAFS)の処理の流れとNFSの処理の流れの比較 |
参考のため、DAFSとNFSv3の性能比較結果を示す。DAFSはcLAN、NFSv3はギガビット・イーサネットを使用している。cLANの物理性能は1.25Gbit/sであり、ギガビット・イーサネットとほぼ同等である。NFSと比べて、DAFSが非常に軽いことが分かる。DAT採用の効果がよく表れているのが、理解いただけるだろう。
![]() |
||||||||||||||||||||||
|
||||||||||||||||||||||
図3 DAFSとNFSの性能比較 |
●複数存在するDAFSの実装方式
クライアント側の実装方式は1種類だけではない。上記では、NFSとの比較のために、カーネル内にファイル・システムとして実装した方式(fDAFS)を紹介した。ほかにも、2つの方式が存在する。
以下に示すのが、ファイルの操作をユーザー・ライブラリとして実装した方式(uDAFS)である。アプリケーションは、DAFS-APIと呼ばれるインターフェイスを使用してファイル・システムにアクセスする。DAFS-APIも、DAFS Collaborativeによって仕様が策定されている。ファイル操作もOSを介さないため、fDAFSよりもさらに高速である。アプリケーションにDAFS-APIを使用する修正が必要であるが、専用システムでの採用が考えられる。
![]() |
図4 uDAFSの処理の流れ |
以下に示すのが、ファイル・サーバ上のファイルをアプリケーションに対してロー・ディスクに見せかける実装方式(dDAFS)である。OSの中に仮想的なブロック特殊ドライバを実装し、このドライバがDAFSプロトコルを使用してサーバ側とのやりとりを行う。DBMSなど、ロー・ディスクを前提としたアプリケーションを想定している。クライアントにディスクを接続し、直接アクセスするのに比べ、下記のメリットがある。
- ディスクのI/O処理によるCPUコスト削減
- バックアップなどの管理コストをファイル・サーバ側にオフロード
![]() |
図5 dDAFSの処理の流れ |
参考までに、クライアントが直接ディスクにアクセスする場合の処理の流れを示す。dDAFSだけでなく、fDAFS、uDAFSにおいても、クライアントのCPU使用量はローカル・ディスク・アクセスする場合よりも少ない。DAFSの想定しているクライアントは、DBサーバやアプリケーション・サーバなどであり、本来の業務にCPUパワーを振り向けられるメリットは大きい。
![]() |
図6 ローカル・ディスク・アクセスの流れ |
●クラスタ向けファイル・システムとしての機能
DAFSは、ステートフルなプロトコルである*2。すなわち、サーバがクライアントのオープンやロックの情報を管理する。これにより、整合性の取れたファイル共有が可能となっている。また、クラスタ環境での運用を考慮した機能がサポートされている。そのいくつかを下記に示す。
- クライアントの要求のただ1回だけの実行を保証
- サーバ・ダウンをまたいだロック情報保持(パーマネント・ロック)
- サーバ・フェイル・オーバーのサポート
- クラスタ内のノード単位のアクセス・コントロール
|
●DAFSの適用分野
DAFSの効果は、クラスタをスケーラブルに拡張できることにある。例えば、適用分野として下記のものが考えられる。
- Webサーバ
- DBサーバ
- HPC(ハイ・パフォーマンス・コンピューティング)
並列計算でのデータ共用、遺伝子データなどの巨大データの共用
|
■DAFSの今後の動向
●ネットワーク
DAT要件を満たすネットワークとして、cLANやVI/IP、Myrinetなどが使用可能である。しかし、これらはプロプライエタリなネットワーク技術であり、高価でかつ専用ネットワークの構築しかできない。
そこで、今後最も期待できるのがInfiniBandである。InfiniBandはオープンな規格であり、各メーカーでの相互接続性がある。そして上記のものよりも安価である。InfiniBandはノード間高速通信だけでなく、I/O装置の接続や通常のTCP/IP通信にも使用でき、クラスタ環境内のネットワークを統一することができる。性能は、最大3Gbytes/sec.と高性能である。2003年前半に出荷が開始され、それ以降に普及が進むと考えられる。
また、イーサネットでRDMAをサポートするiWARPと呼ばれるアーキテクチャの標準化が進められており、候補の1つである。DATの有効性がここにも表れている。現在、標準化が始まったばかりなので、立ち上がりはInfiniBandの方が早い。
|
●DATの標準化
現在、DATのAPIの標準化も進められている。DAFS Collaborativeから派生したDAT Collaborativeと、OpengroupのWGで、高速インターコネクト向けのAPIの標準化を行っているICSCの2つの団体が、相互に協調しながら仕様を策定している。
|
|
●DAFSの普及活動
DAFSの普及活動は、現在、SNIAの中のDAFS Implementers' Forumで行われている。相互接続性の検証も重要な活動の1つである。
|
●DAFS製品
DAFSプロトコルをサポートした製品もすでに出始めている。1つは、Network Applianceの「Filer」。もう1つが、富士通プライムソフトテクノロジの「PSTorage
InfiniFS」である。それぞれ、現在はVI準拠のネットワークのサポートにとどまるが、InifniBandでの動作のデモも実施している。DAFSは、すでに使用可能なテクノロジなのである。
|
|
![]() |
「Master of IP Network総合インデックス」 |
- 完全HTTPS化のメリットと極意を大規模Webサービス――ピクシブ、クックパッド、ヤフーの事例から探る (2017/7/13)
2017年6月21日、ピクシブのオフィスで、同社主催の「大規模HTTPS導入Night」が開催された。大規模Webサービスで完全HTTPS化を行うに当たっての技術的、および非技術的な悩みや成果をテーマに、ヤフー、クックパッド、ピクシブの3社が、それぞれの事例について語り合った - ソラコムは、あなたの気が付かないうちに、少しずつ「次」へ進んでいる (2017/7/6)
ソラコムは、「トランスポート技術への非依存」度を高めている。当初はIoT用格安SIMというイメージもあったが、徐々に脱皮しようとしている。パブリッククラウドと同様、付加サービスでユーザーをつかんでいるからだ - Cisco SystemsのIntent-based Networkingは、どうネットワークエンジニアの仕事を変えるか (2017/7/4)
Cisco Systemsは2017年6月、同社イベントCisco Live 2017で、「THE NETWORK. INTUITIVE.」あるいは「Intent-based Networking」といった言葉を使い、ネットワークの構築・運用、そしてネットワークエンジニアの仕事を変えていくと説明した。これはどういうことなのだろうか - ifconfig 〜(IP)ネットワーク環境の確認/設定を行う (2017/7/3)
ifconfigは、LinuxやmacOSなど、主にUNIX系OSで用いるネットワーク環境の状態確認、設定のためのコマンドだ。IPアドレスやサブネットマスク、ブロードキャストアドレスなどの基本的な設定ができる他、イーサネットフレームの最大転送サイズ(MTU)の変更や、VLAN疑似デバイスの作成も可能だ。
![]() |
|
|
|
![]() |