1 / 20

Gfarm の実装の概要

Gfarm の実装の概要. http://datafarm.apgrid.org/. Gfarm ファイルシステム(1). オープンソースで開発 Gfarm 1.2 を 2005 年 9 月 8 日にリリース ( http://datafarm.apgrid.org/ ) 読書きモード のサポート、 既存アプリケーション のサポート Knoppix HTC edition に同梱、 Rocks にも 10 月には同梱、* BSD の ports 組織内だけでなく組織外からもファイルシステムを共有 既存アプリケーションからも利用可能

michi
Download Presentation

Gfarm の実装の概要

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Gfarmの実装の概要 http://datafarm.apgrid.org/

  2. Gfarmファイルシステム(1) • オープンソースで開発 • Gfarm 1.2を2005年9月8日にリリース(http://datafarm.apgrid.org/) • 読書きモードのサポート、既存アプリケーションのサポート • Knoppix HTC editionに同梱、Rocksにも10月には同梱、*BSDのports • 組織内だけでなく組織外からもファイルシステムを共有 • 既存アプリケーションからも利用可能 • sshd、GridFTPサーバ、sambaサーバ、httpd. . .により既存プロトコルもサポート メタデータサーバ アプリケーション *システムコールフックライブラリ、 あるいはGfarmFS-FUSEにより既存の アプリケーションを修正することなく Gfarmファイルシステムのアクセスが可能 gfmd slapd Gfarmライブラリ CPU CPU CPU CPU gfsd gfsd gfsd gfsd . . . 計算&ファイルシステムノード

  3. Gfarmファイルシステム(2) • libgfarm – Gfarmライブラリ • Gfarm API • gfmd, slapd –メタデータサーバ • 仮想ファイルシステム情報、ホスト情報、プロセス情報管理 • gfsd – I/Oサーバ • 遠隔ファイルアクセス アプリケーション メタデータサーバ ファイル、ホスト情報の取得など gfmd slapd Gfarmライブラリ 遠隔ファイルアクセスなど CPU CPU CPU CPU gfsd gfsd gfsd gfsd . . . ファイルシステムノード

  4. Gfarm v1におけるファイルIOの例 open メタデータサーバ アプリケーション FSN1, FSN2, . . . close Gfarmライブラリ メタデータの更新 ノードの選択 read, write, seek, . . . ファイルシステムノード FSN1

  5. ファイルの読書きオープン(1) • ファイル複製間の一貫性の保証 • 書込みプロセスがファイルをオープンした後に、オープンしたプロセスにのみ、ファイルの内容が反映される • ファイルロックはなし(Gfarm v2で導入予定) • 排他的ファイル生成(O_EXCL)はあり

  6. ファイルの読書きオープン(2) プロセス1 プロセス2 メタデータサーバ fopen(“/gfarm/jp/file2”, “rw”) fopen(“/gfarm/jp/file2”, “r”) file2 file2 /gfarm FSN1, 2 FSN1, 2 ファイル アクセス ファイル アクセス ggf jp fclose() file1 file2 Invalidな 複製を消去 アクセスは続行 FSN1 FSN2

  7. 既存アプリケーションからのアクセス • libgfs_hook.so –システムコールフックライブラリ • open(2), read(2), write(2)などをフックし、/gfarmにマウントしているようにエミュレート • /gfarm以下のアクセスに対し、適切なGfarm APIを呼ぶ • そうでなければ通常のシステムコールを呼ぶ • LD_PRELOADでの指定により再リンクが不要 • Linux, FreeBSD, NetBSD, … • ユーザレベルの実装のため、ポータビリティが高い • Gfarmファイルシステムをマウント • GfarmFS-FUSEにより、Linuxクライアントからユーザ権限でGfarmファイルシステムをマウント • 2005年7月12日に公開 • その他のOSに関してはKernel modeleの開発が必要 • Need volunteers

  8. GfarmTM v1の問題点 • ファイルシステム機能の不足 • ファイルの読書きオープン*、ファイルロックがない(* Gfarm 1.0.4でサポート) • 頑強性 • アプリケーションクラッシュによりメタデータと実ファイルの一貫性が失われる→gfsplckで対応 • 実ファイルの保護が不十分 • セキュリティ • メタデータのセキュリティが不足 • グループによるアクセス制御ができない • OpenLDAPサーバによる性能とエントリ数の制限

  9. GfarmTM v2の設計方針 • 数万ノード以上にスケーラブル • ノード台数にスケーラブルなファイルI/O性能 • POSIX compliantな広域仮想ファイルシステムへ • より広範囲のアプリケーションに適用 • NFS、AFSの代替 • 頑強で信頼性のあるファイルシステムへ • ファイル、メタデータの保護 • メタデータとファイルの一貫性

  10. 関連研究(1) • Lustre • >1,000 clients • Object (file) based management, placed in any OST • No replica management, Writeback cache, Collaborative read cache (planned) • GSSAPI, ACL,StorageTek SFS • Kernel module http://www.lustre.org/docs/ols2003.pdf

  11. 関連研究(2) • Google File System • >1,000 storage nodes • Fixed-size chunk, placed in any chunkserver • by default, three replicas • User client library, no client and server cache • not POSIX API, support for Google’s data processing needs [SOSP’03]

  12. GfarmTM v1の問題点の解決策 • ファイルシステム機能の不足 • →ファイルロック機能の導入(POSIX準拠) • 頑強性 • →ファイルサーバがメタデータを更新することにより、アプリケーションクラッシュ時の一貫性を保持 • →実ファイルのオーナの変更により、実ファイルの保護 • セキュリティ • →メタデータサーバの新規実装し、ディレクトリ単位のメタデータのセキュリティを実現 • →メタデータでグループを管理し、アクセス制御を導入 • OpenLDAPサーバによる性能とエントリ数の制限 • →メタデータサーバの新規実装し、メモリベースのデータ保持により実現

  13. ファイルの読み書きオープン、ファイルロックファイルの読み書きオープン、ファイルロック • 一貫性の保証(AFSと同様) • [ファイルロックなし] 書込みプロセスがファイルをクローズした後に、オープンしたプロセスにのみ、ファイルの内容の反映される • [ファイルロックあり] ファイルロックしているプロセス間では、その範囲について最新の内容がアクセスされる。ただし、ファイルロックしていないプロセスが書き込みを行うなどの場合は、その保証はない

  14. 読み書きオープン プロセス1 プロセス2 メタデータサーバ fopen(“/grid/jp/file2”, “rw”) fopen(“/grid/jp/file2”, “r”) file2 file2 /grid FSN1 FSN2 ファイル アクセス ファイル アクセス fclose() ggf jp fclose() file1 file2 Invalidな 複製を消去 アクセスは続行 FSN1 FSN2 クローズまえであれば 任意の複製をアクセス

  15. ファイルロック プロセス1 プロセス2 メタデータサーバ fopen(“/grid/jp/file2”, “rw”) fopen(“/grid/jp/file2”, “r”) file2 file2 読み込みロック要求 /grid FSN1 FSN2 キャッシュフラッシュ キャッシュ不使用 ファイル アクセス ファイル アクセス ggf jp FSN1 ファイル アクセス file1 file2 FSN1 FSN2

  16. メタデータの一貫した更新(1) Gfarm v1 – Gfarmライブラリによりメタデータの更新 open メタデータサーバ アプリケーション FSN1 close Gfarmライブラリ メタデータの更新 アプリケーションが異常終了時に メタデータの更新が行えない ファイルシステムノード FSN1

  17. メタデータの一貫した更新(2) Gfarm v2 – ファイルシステムノードによりメタデータの更新 open メタデータサーバ アプリケーション FSN1 Gfarmライブラリ close メタデータの更新 ファイルシステムノード アプリケーション異常終了時にも ファイルシステムノードが メタデータを更新 FSN1

  18. Gfarm開発ロードマップ

  19. Gfarm開発ロードマップ 2005年度 2006年度 2007年度 2005.9 2006.9 2006.3 2007.3 2007.9 Gfarm 1.4 Gfarm 2.0β Gfarm 1.3 Gfarm 2.0α Gfarm 1.2 Gfarm 2.0 Gfarm 2.1 メタサーバ 二重化 ファイル 自動分割 コマンド 高速化 ノード自動 障害対応 Samba対応 UTF-8対応 *BSD対応 複製間の一貫性保障 メタサーバの障害対応 HTTP, FTP, NFS 自動ファイル複製 クラスタ間の ミラーリング 空き容量制御 メタデータ保全 スレッド対応 局所ディスク フル対応 数千万ファイル 数千ユーザ Gfarm 2.0 安定版 数百万ファイル 数百ユーザ Gfarm 2.0の基本機能 性能向上 信頼性向上 頑強性向上 性能向上 頑強性向上 性能向上 信頼性向上

  20. まとめにかえて • Gfarmファイルシステム • 大容量、高信頼、高性能の要求に応える次世代スケーラブルファイルシステム • 運用中に容量を増大できます • ファイル複製により、障害時にもデータにアクセスできます • データアクセスのホットスポットを防ぎ、高速にアクセスできます • 既存の設備が利用可能です • Gfarm • 日本発のオープンソフトウェア • バージョン1.2がリリース (http://datafarm.apgrid.org/) • 既存のアプリケーション、Windows、Webクライアントなどでアクセス化 https://datafarm.apgrid.org/

More Related