0
GlusterFSの紹介
概要
●
GlusterFSの位置づけ、前提、優先順位
●
内部の概念
●
トランスレータ(xlator)
● dht
● stripe
●
利点
●
欠点
GlusterFS イメージ図
cluster/replicate
cluster/stripe
protocol/
client
protocol/
client
protocol/
client
protocol/
client
clust...
GlusterFSの位置づけ
●
GlusterFSはNFSやCIFSのような、サーバ=ク
ライアント間でファイルシステムを提供するた
めのものです
●
ブロックデバイスの割り当てやジャーナリングなど
はバックエンドとなる通常のファイルシステム...
GlusterFSの前提
● 非常に多数のサーバおよびクライアントが存在し、各
サーバは安価で小容量のローカルストレージを持つ
● 大規模ファイルシステムを提供するにあたって、サー
バを多数並べて実装し、集中管理はしない
● 障害発生時にもほと...
実装上の優先順位
●
サーバ台数、クライアント台数がスケールする
ことを最優先して設定されています
●
サーバ間での通信が多数必要な分散ロックなどは利
用されません
●
メタデータを集中管理するノードなどは利用されま
せん
●
異常時の動作や整...
実装上の特徴
●
カーネル内での実装はなく、全てユーザランド
で作成されています
●
ファイルシステムとしてのインタフェースもFUSE
で実行されます
●
トランスレータとよばれるレイヤを積み重ねる
形でサーバ・クライアントの両方を実装します
...
トランスレータ(xlator)
● GlusterFS中のレイヤ
● GlusterFSはトランスレータを複数積み重ねて実
装される
●
どのトランスレータをどういった順番で重ねるかは
ユーザによる設定次第
● トランスレータは自分より下位のト...
トランスレータ(xlator)
fops fopsfops
readv writev
readv mkdirwritev fops
unlink
unlink
func funcfuncfunc
mkdir
error!
xlatorの例
● cluster/replicate
● cluster/stripe
● cluster/unify
● features/posix-locks
● performance/io-cache
● performance/...
glusterfs設定イメージ
cluster/replicate
cluster/stripe
protocol/
client
protocol/
client
protocol/
client
protocol/
client
clust...
特徴的なxlatorの紹介
● distribute
● stripe
cluster/distribute
● 複数のサブボリュームにファイル
を分けて配置する
● ファイル名のハッシュ値からファ
イルの配置を決定する
● 1つのファイルは1つのサブボ
リュームに配置される
● subvolをまたぐリネーム時には...
cluster/stripe
● 1つのファイルを複数のサブ
ボリュームにストライピン
グする
● ストライプのサイズは任意
に指定可能
● 各サブボリュームではhole
のあるファイルが作成され
る
● RAID5のような冗長性を確
保するた...
利点
●
非常に大規模なファイルシステムを安価なハー
ドウェアで構成できる
●
極端にシンプルで、バックエンドとなるファイ
ルシステムの基本的な機能しか利用していない
ので運用時にイメージがつかみやすい
欠点
● 冗長性確保のための仕組みはreplicationのみ
● atomic性や複数ファイルハンドルで操作する時の動作など細か
い挙動は非互換
● 静止点を取得する仕組みがないためファイルシステム全体で整
合性がとれたイメージは取得できない...
Upcoming SlideShare
Loading in...5
×

GlusterFS

3,253

Published on

GlusterFSについて社内でちょっと紹介した資料

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,253
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
55
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "GlusterFS"

  1. 1. GlusterFSの紹介
  2. 2. 概要 ● GlusterFSの位置づけ、前提、優先順位 ● 内部の概念 ● トランスレータ(xlator) ● dht ● stripe ● 利点 ● 欠点
  3. 3. GlusterFS イメージ図 cluster/replicate cluster/stripe protocol/ client protocol/ client protocol/ client protocol/ client cluster/stripe performance/io-threads perrformance/write-behind performance/io-cache perrformance/read-ahead storage/posix features/posix-locks protocol/server performance/io-threads performance/write-behind performance/read-ahead ext3/ext4/xfs mount/fuse たくさんのサーバ (ローカルストレージ付) たくさんのクライアントアプリ: いつも通りにファイルを 読み書きしますよ ext2/3/xfs: 私はいつも通り glusterd: クライアントからきた リクエストに対応します glusterd: 裏ではたくさんの サーバとお話ししますよ glusterd: ひとつのファイルシステム ですよ
  4. 4. GlusterFSの位置づけ ● GlusterFSはNFSやCIFSのような、サーバ=ク ライアント間でファイルシステムを提供するた めのものです ● ブロックデバイスの割り当てやジャーナリングなど はバックエンドとなる通常のファイルシステムに任 せています ● 複数のサーバと複数のクライアントが同時に動 作し、全体でひとつのファイルシステムを構成 できるように作成されています
  5. 5. GlusterFSの前提 ● 非常に多数のサーバおよびクライアントが存在し、各 サーバは安価で小容量のローカルストレージを持つ ● 大規模ファイルシステムを提供するにあたって、サー バを多数並べて実装し、集中管理はしない ● 障害発生時にもほとんどのサービスは動作しているべ き ● → fsck式のエラー検出・修正は大規模なFSでは許容でき ない
  6. 6. 実装上の優先順位 ● サーバ台数、クライアント台数がスケールする ことを最優先して設定されています ● サーバ間での通信が多数必要な分散ロックなどは利 用されません ● メタデータを集中管理するノードなどは利用されま せん ● 異常時の動作や整合性の保持、他の一般的な FSとの動作の互換性はあまり強く考慮されて いません
  7. 7. 実装上の特徴 ● カーネル内での実装はなく、全てユーザランド で作成されています ● ファイルシステムとしてのインタフェースもFUSE で実行されます ● トランスレータとよばれるレイヤを積み重ねる 形でサーバ・クライアントの両方を実装します ● 必要なメタデータはバックエンドのファイルシ ステムに拡張属性として記録します
  8. 8. トランスレータ(xlator) ● GlusterFS中のレイヤ ● GlusterFSはトランスレータを複数積み重ねて実 装される ● どのトランスレータをどういった順番で重ねるかは ユーザによる設定次第 ● トランスレータは自分より下位のトランスレータ (または基盤となるファイルシステムなど)を利 用してfops(file operations)を実装する ● server, clientもxlator
  9. 9. トランスレータ(xlator) fops fopsfops readv writev readv mkdirwritev fops unlink unlink func funcfuncfunc mkdir error!
  10. 10. xlatorの例 ● cluster/replicate ● cluster/stripe ● cluster/unify ● features/posix-locks ● performance/io-cache ● performance/io-threads ● performance/read-ahead ● performance/write-behind ● protocol/client ● protocol/server ● storage/posix ● mount/fuse
  11. 11. glusterfs設定イメージ cluster/replicate cluster/stripe protocol/ client protocol/ client protocol/ client protocol/ client cluster/stripe performance/io-threads perrformance/write-behind performance/io-cache perrformance/read-ahead storage/posix features/posix-locks protocol/server performance/io-threads performance/write-behind performance/read-ahead ext3/ext4/xfs クライアント側 mount/fuse サーバ側
  12. 12. 特徴的なxlatorの紹介 ● distribute ● stripe
  13. 13. cluster/distribute ● 複数のサブボリュームにファイル を分けて配置する ● ファイル名のハッシュ値からファ イルの配置を決定する ● 1つのファイルは1つのサブボ リュームに配置される ● subvolをまたぐリネーム時には移動 先にリンクファイルと呼ばれる特 殊なファイルを作成し、実体を移 動しない ファイル名 hash関数 32bit整数 subvol subvol subvol subvol
  14. 14. cluster/stripe ● 1つのファイルを複数のサブ ボリュームにストライピン グする ● ストライプのサイズは任意 に指定可能 ● 各サブボリュームではhole のあるファイルが作成され る ● RAID5のような冗長性を確 保するための動作は含まれ ない。 ファイルのオフセット offset mod #subvol subvol subvol subvol subvol
  15. 15. 利点 ● 非常に大規模なファイルシステムを安価なハー ドウェアで構成できる ● 極端にシンプルで、バックエンドとなるファイ ルシステムの基本的な機能しか利用していない ので運用時にイメージがつかみやすい
  16. 16. 欠点 ● 冗長性確保のための仕組みはreplicationのみ ● atomic性や複数ファイルハンドルで操作する時の動作など細か い挙動は非互換 ● 静止点を取得する仕組みがないためファイルシステム全体で整 合性がとれたイメージは取得できない ● サイジング、障害復旧などのノウハウが確立していない ● スケールアウトできることを重視しており、パフォーマンスが 特に高いわけではない。1ノードならNFSに負ける
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×