Gfarmfs fuse
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

GfarmFS-FUSE の使い方 PowerPoint PPT Presentation


  • 134 Views
  • Uploaded on
  • Presentation posted in: General

GfarmFS-FUSE の使い方. 石橋拓也 , 穴見和朗 ( 創夢 ) 建部修見 ( 産総研 ) http://datafarm.apgrid.org /software/gfarmfs-fuse.ja.html. 概要. GfarmFS-FUSE の特徴 利点・機能・性能 必要なソフトウエア 構築方法 マウント方法 Windows から Gfarm にアクセスする例. GfarmFS-FUSE の特徴. Gfarm ファイルシステムを各ユーザがマウント可能 Gfarm システムコールフックライブラリとは別の方法として既存アプリケーションを利用可能

Download Presentation

GfarmFS-FUSE の使い方

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Gfarmfs fuse

GfarmFS-FUSEの使い方

石橋拓也, 穴見和朗 (創夢)

建部修見 (産総研)

http://datafarm.apgrid.org

/software/gfarmfs-fuse.ja.html


Gfarmfs fuse

概要

  • GfarmFS-FUSEの特徴

    • 利点・機能・性能

  • 必要なソフトウエア

  • 構築方法

  • マウント方法

  • WindowsからGfarmにアクセスする例


Gfarmfs fuse1

GfarmFS-FUSEの特徴

  • Gfarmファイルシステムを各ユーザがマウント可能

    • Gfarmシステムコールフックライブラリとは別の方法として既存アプリケーションを利用可能

    • 複数のGfarm環境を同時にマウント可能

  • FUSE (Filesystem in Userspace)を使用

    • Gfarmシステムコールフックライブラリを使った場合に不具合があるアプリケーションを使えるようになる可能性がある


Gfarmfs fuse

FUSEについて(補足)

  • Filesystem in Userspace

    • Linux Kernel 2.4 or 2.6 で利用可能

    • 一般ユーザが一般ユーザの空間でファイルシステム実装を動作させて、マウントすることが可能

    • 既存のさまざまなライブラリを使用してファイルシステムを実装可能

    • さまざまな言語でファイルシステムを実装可能

    • デフォルトではマウントしたユーザ自身しかそのファイルシステムにアクセスできない


Gfarmfs fuse2

GfarmFS-FUSEの特徴(続き)

  • link, symlink を独自に可能にした

    • マウント時オプション

    • 現在Gfarm自体ではサポートしていないので

  • システムコールフックライブラリと比べて、

    • 動作するアプリケーションが多い

    • findが速い(実装の違い)

  • I/O性能はFUSE自体がネックになる


Gfarmfs fuse

I/O性能比較(テスト環境)

  • Xeon 2.8GHz Dual, RAM 1GB

  • RAID0 (HDDx4) (110MB/s前後)

  • 1GbE LAN

  • 複数ノードで構成

  • thput-fsysによるベンチマーク

    • bench/ に収録

    • -s 10240 (10GBをI/Oしたときの平均値)

  • (予備実験程度)


Gfarmfs fuse

I/O性能比較(ローカル)

  • システムコールフック

    • WRITE: 82MB/s, READ: 82MB/s (-b 4096)

    • WRITE: 84MB/s, READ: 82MB/s (-b 65536)

  • GfarmFS-FUSE

    • WRITE: 50MB/s, READ: 55MB/s (-b 4096)

    • WRITE: 53MB/s, READ: 58MB/s (-b 65536)

  • GfarmFS-FUSE (direct_io)

    • WRITE: 56MB/s, READ: 51MB/s (-b 4096)

    • WRITE: 61MB/s, READ: 68MB/s (-b 65536)


Gfarmfs fuse

I/O性能比較(リモート)

  • システムコールフック

    • WRITE: 18MB/s, READ: 38MB/s (-b 4096)

    • WRITE: 46MB/s, READ: 37MB/s (-b 65536)

  • GfarmFS-FUSE

    • WRITE: 32MB/s, READ: 31MB/s (-b 4096)

    • WRITE: 32MB/s, READ: 31MB/s (-b 65536)

  • GfarmFS-FUSE (direct_io)

    • WRITE: 34MB/s, READ: 30MB/s (-b 4096)

    • WRITE: 35MB/s, READ: 34MB/s (-b 65536)


I o fusexmp fh

I/O性能比較(fusexmp_fh)

  • ルートディレクトリをマウントするexample

    • これを経由してRAID領域を使用

  • デフォルト

    • WRITE: 53MB/s, READ: 69MB/s (-b 4096)

    • WRITE: 55MB/s, READ: 72MB/s (-b 65536)

  • direct_io (FUSEのオプション)

    • WRITE: 60MB/s, READ: 57MB/s (-b 4096)

    • WRITE: 64MB/s, READ: 94MB/s (-b 65536)


Gfarmfs fuse

フックでできないこと

  • フックしていないシステムコール

    • mmap, sendfile: ローカルにファイルがあれば可

    • statfs: df /gfarm 不可

  • link, symlinkはGfarmがサポートしていない

  • 動かないアプリケーション(例)

    • dd

    • リダイレクト入力や tar zxf

      • GFARM_FLAGS=r後シェル起動、fsノードで可能


Gfarmfs fuse3

GfarmFS-FUSEでできないこと

  • statfs

    • 未実装 (FUSEの枠組としては可能)

    • df . で各値が 0

  • 他には?


Gfarmfs fuse

システムコールフックとの比較


Gfarmfs fuse4

GfarmFS-FUSEに必要なソフトウエア

  • Gfarmのライブラリ・ヘッダ・クライアント

    • サーバ関係パッケージは不要

      • gfsdが動いていてもよい(新規作成はローカル)

    • clientパッケージも通常は必要

      • gfhost, gfwhere, gfrep, gfrm などは gfarmfs経由だけではできない操作

  • FUSE 2.2 以降(最新2.3.0)

    • Linux Kernel 2.4 or 2.6

    • カーネルヘッダ


Gfarmfs fuse

FUSEのインストール

  • Linux kernel 2.4 or 2.6 環境

  • カーネルヘッダをインストール

  • $ ./configure

  • $ make

  • # make install

    • /usr/local 以下

  • 必要であれば /etc/ld.so.conf に追加, ldconfig 実行


Gfarmfs

gfarmfsの構築

  • $ ./configure

    • オプションは --prefix= のみ

  • $ make

    • カレントディレクトリにgfarmfsコマンド生成

  • $ make install

    • 必要であればインストール


Gfarmfs fuse

マウント方法

$ gfarmfs [オプション] mountpoint [FUSEオプション]

  • 書き込み権限のある自分用のディレクトリ作成

    • $ mkdir –p /tmp/takuya/mnt

  • Gfarmを利用できるか確認

    • $ gfhost –l など

  • マウント

    • $ gfarmfs –l -s /tmp/takuya/mnt

  • アンマウント

    • $ fusermount –u /tmp/takuya/mnt


Gfarmfs1

gfarmfsオプション

  • -s

    • シンボリックリンクを作成可能

    • “名前.gfarmfs-symlink” というファイルにリンク先を格納

  • -l

    • ハードリンクをコピーで代用

  • -a <アーキテクチャ名>

    • ファイルシステムノードではない場合に指定

    • Gfarm 1.2 では環境変数か.gfarmrcで指定可能


Gfarmfs fuse

FUSEオプション(一部紹介)

  • -f, -d

    • フォアグランド動作、デバッグ表示

  • -o allow_root

    • rootもマウントポイントにアクセス可能にする

    • rootで動くサーバ類がアクセスする場合など

  • -o allow_other

    • 他の一般ユーザもアクセス可能にする

    • マウントしたユーザの権限でアクセスすることになるので危険


Windows gfarm

metadata server

gfsd

gfsd

libgfarm

libgfarm

gfsd

GfarmFS-FUSE

libgfs_hook

gfsd

smbd

smbd

gfsd

gfsd

gfsd

WindowsからGfarmにアクセス

Gfarm

Samba

Windows PC

PC

PC

Samba

PC


Windows gfarm1

WindowsからGfarmにアクセス

  • SambaとGfarmFS-FUSEを使う方法

    • gfarmfsコマンドでマウントしたディレクトリをSambaで公開

    • ユーザごとに予めマウントしておく必要あり

    • FUSEのオプション -o allow_root が必要

  • Sambaとシステムコールフックを使う方法

    • フックライブラリをプリロードするようにしてからsmbdを起動すればよいので簡単

    • /gfarm を公開する設定


Windows gfarm2

WindowsからGfarmにアクセス

  • SambaマシンからはNFSでホームディレクトリ共有してsharedsecret認証にしておく

    • できないならば、手動で鍵を配布かgsi_auth

  • Sambaマシンでgfsdを動かすと、そのマシンにだけファイルが新規作成されてしまう

  • Samba以外のサーバなどでも応用可能

    • 詳細は doc/html/ja/user/index.html

    • フックで動かなかったらGfarmFS-FUSEで


Gfarmfs fuse

まとめ

  • 一般ユーザがGfarmをマウントして使用可能

  • システムコールフックライブラリと比べて不具合なしで動く可能性が高い

  • Gfarm自体ではできないシンボリックリンクとハードリンク(はコピー)が可能

  • I/O性能はFUSEがネック

    • ローカルで3割、リモートで2割の低下(スループット次第)

  • ユーザごとにマウントしなければならない

  • 応用例としてSambaと組み合わせ可能


  • Login