gfarmfs fuse
Download
Skip this Video
Download Presentation
GfarmFS-FUSE の使い方

Loading in 2 Seconds...

play fullscreen
1 / 22

GfarmFS-FUSE の使い方 - PowerPoint PPT Presentation


  • 176 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'GfarmFS-FUSE の使い方' - dai


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

slide2
概要
  • GfarmFS-FUSEの特徴
    • 利点・機能・性能
  • 必要なソフトウエア
  • 構築方法
  • マウント方法
  • WindowsからGfarmにアクセスする例
gfarmfs fuse1
GfarmFS-FUSEの特徴
  • Gfarmファイルシステムを各ユーザがマウント可能
    • Gfarmシステムコールフックライブラリとは別の方法として既存アプリケーションを利用可能
    • 複数のGfarm環境を同時にマウント可能
  • FUSE (Filesystem in Userspace)を使用
    • Gfarmシステムコールフックライブラリを使った場合に不具合があるアプリケーションを使えるようになる可能性がある
slide4
FUSEについて(補足)
  • Filesystem in Userspace
    • Linux Kernel 2.4 or 2.6 で利用可能
    • 一般ユーザが一般ユーザの空間でファイルシステム実装を動作させて、マウントすることが可能
    • 既存のさまざまなライブラリを使用してファイルシステムを実装可能
    • さまざまな言語でファイルシステムを実装可能
    • デフォルトではマウントしたユーザ自身しかそのファイルシステムにアクセスできない
gfarmfs fuse2
GfarmFS-FUSEの特徴(続き)
  • link, symlink を独自に可能にした
    • マウント時オプション
    • 現在Gfarm自体ではサポートしていないので
  • システムコールフックライブラリと比べて、
    • 動作するアプリケーションが多い
    • findが速い(実装の違い)
  • I/O性能はFUSE自体がネックになる
slide6
I/O性能比較(テスト環境)
  • Xeon 2.8GHz Dual, RAM 1GB
  • RAID0 (HDDx4) (110MB/s前後)
  • 1GbE LAN
  • 複数ノードで構成
  • thput-fsysによるベンチマーク
    • bench/ に収録
    • -s 10240 (10GBをI/Oしたときの平均値)
  • (予備実験程度)
slide7
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)
slide8
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)
slide10
フックでできないこと
  • フックしていないシステムコール
    • mmap, sendfile: ローカルにファイルがあれば可
    • statfs: df /gfarm 不可
  • link, symlinkはGfarmがサポートしていない
  • 動かないアプリケーション(例)
    • dd
    • リダイレクト入力や tar zxf
      • GFARM_FLAGS=r後シェル起動、fsノードで可能
gfarmfs fuse3
GfarmFS-FUSEでできないこと
  • statfs
    • 未実装 (FUSEの枠組としては可能)
    • df . で各値が 0
  • 他には?
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
    • カーネルヘッダ
slide14
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
    • 必要であればインストール
slide16
マウント方法

$ 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で指定可能
slide18
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で
slide22
まとめ
  • 一般ユーザがGfarmをマウントして使用可能
  • システムコールフックライブラリと比べて不具合なしで動く可能性が高い
  • Gfarm自体ではできないシンボリックリンクとハードリンク(はコピー)が可能
  • I/O性能はFUSEがネック
    • ローカルで3割、リモートで2割の低下(スループット次第)
  • ユーザごとにマウントしなければならない
  • 応用例としてSambaと組み合わせ可能
ad