GlusterFSにおいて内在するIncident要因
GlusterFS
Physical Volume(brick) Server
基本的なGlusterFSのVolume構成
Gluster Server
brick
2
brick
1
Gluster Server
brick
4
brick...
特徴
・Scalableである
・冗長化が可能
・負荷分散機能が存在する
!
Logical volume type
・Distributed volume - 分散
・Replicated volume - 冗長
・Striped volume - 分割
GlusterFS
File System
Physical Volume(brick) Server
Distributed Volume構成
Gluster Server
brick
2
brick
1
Gluster Server
bri...
Gluster FS
File System
Physical Volume(brick) Server
Distributedでの読み込みの流れ
Gluster Server
brick
2
brick
1
Gluster Server
br...
Physical Volume(brick) Server
incidentの可能性がある構成
Gluster Server
brick
2
brick
1
Gluster Server
brick
4
brick
3
Gluster Serv...
Physical Volume(brick) Server
問題のある構成で書き込みを行う
Gluster Server
brick
2
brick
1
Gluster Server
brick
4
brick
3
Gluster Server...
Physical Volume(brick) Server
問題のある構成で読み込みを行う
Gluster Server
brick
2
brick
1
Gluster Server
brick
4
brick
3
Gluster Server...
Physical Volume(brick) Server
findを行うとファイルが読めるようになる
Gluster Server
brick
2
brick
1
Gluster Server
brick
4
brick
3
Gluster S...
GlusterFS
File System
Physical Volume(brick) Server
Gluster communityの対策①
Gluster Server
brick
2
brick
1
Gluster Server
br...
GlusterFS
File System
Physical Volume(brick) Server
Gluster communityの対策②
Gluster Server
brick
2
brick
1
Gluster Server
br...
GlusterFS
File System
Physical Volume(brick) Server
対策①の問題点
Gluster Server
brick
2
brick
1
Gluster Server
brick
4
brick
3
...
GlusterFS
File System
Physical Volume(brick) Server
対策②の問題点
Gluster Server
brick
2
brick
1
Gluster Server
brick
4
brick
3
...
総論
・FUSEを通す限り、fileの整合性、I/Oのoverhead
に問題を内在し続ける。
・FUSEを通さない場合はclient開発時に
libglusterfsを通す必要性が生じる
・上記の理由により敢えてGlusterFSを用いるよ
り...
Upcoming SlideShare
Loading in …5
×

Gluster fsにおいて内在するincident要因

668 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
668
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Gluster fsにおいて内在するincident要因

  1. 1. GlusterFSにおいて内在するIncident要因
  2. 2. GlusterFS Physical Volume(brick) Server 基本的なGlusterFSのVolume構成 Gluster Server brick 2 brick 1 Gluster Server brick 4 brick 3 Gluster Server brick 6 brick 5 Gluster Server brick 8 brick 7 Logical Volume Client Gluster Client brick 6 brick 3 brick 8 FUSE file hash cache GlusterFSはGluster Server上に存在するPhysical disk上にbrickと呼ばれる格納領域を作成(実態はdirectory)し これをGluster Clientにてbrickを複数個束ねる事でLogical diskを構成しFUSEを通してNativeなVolume access を提供する仕組みである。
  3. 3. 特徴 ・Scalableである ・冗長化が可能 ・負荷分散機能が存在する !
  4. 4. Logical volume type ・Distributed volume - 分散 ・Replicated volume - 冗長 ・Striped volume - 分割
  5. 5. GlusterFS File System Physical Volume(brick) Server Distributed Volume構成 Gluster Server brick 2 brick 1 Gluster Server brick 4 brick 3 Gluster Server brick 6 brick 5 Gluster Server brick 8 brick 7 Logical Volume Client Gluster Client brick 3 brick 8 FUSE file hash cache File 1 File 1 Hash : 60b27f004e454aca81b0…… 書き込み時にfilenameからhashを生成しま す。 この時、FUSEはhashをcachingして保持し ます。 生成されたhash一つと対になるbrickが割り 当てられhash/brick単位でfileが保存されま す logicalに更新されたbrickはserverに投げら れ実態としてGluster server上のLogicalな brickに保存されます。 brick 1 全てのbrickは束ねられ単一のLogical Volume として扱われる。 Writing
  6. 6. Gluster FS File System Physical Volume(brick) Server Distributedでの読み込みの流れ Gluster Server brick 2 brick 1 Gluster Server brick 4 brick 3 Gluster Server brick 6 brick 5 Gluster Server brick 8 brick 7 Logical Volume Client Gluster Client brick 3 brick 8 FUSE file hash cache File 1 File 1 Hash : 60b27f004e454aca81b0…… FUSEのcache内のhashを取得 取得したhashから対となるbrickを認識する 指定されたbrickから値を取得 brick 1 Reading
  7. 7. Physical Volume(brick) Server incidentの可能性がある構成 Gluster Server brick 2 brick 1 Gluster Server brick 4 brick 3 Gluster Server brick 6 brick 5 Gluster Server brick 8 brick 7 Gluster FS File System Logical Volume Client Gluster Client brick 3 brick 8 FUSE file hash cache brick 1 Gluster FS File System Logical Volume Client Gluster Client brick 3 brick 8 FUSE file hash cache brick 1 複数のFUSEにてFilesystemが管理されている
  8. 8. Physical Volume(brick) Server 問題のある構成で書き込みを行う Gluster Server brick 2 brick 1 Gluster Server brick 4 brick 3 Gluster Server brick 6 brick 5 Gluster Server brick 8 brick 7 Gluster FS File System Logical Volume Client Gluster Client brick 3 brick 8 FUSE file hash cache brick 1 Gluster FS File System Logical Volume Client Gluster Client brick 3 brick 8 FUSE file hash cache brick 1 File 1 File 1 Hash : 60b27f004e454aca81b0…… Writing
  9. 9. Physical Volume(brick) Server 問題のある構成で読み込みを行う Gluster Server brick 2 brick 1 Gluster Server brick 4 brick 3 Gluster Server brick 6 brick 5 Gluster Server brick 8 brick 7 Gluster FS File System Logical Volume Client Gluster Client brick 3 brick 8 FUSE file hash cache brick 1 Gluster FS File System Logical Volume Client Gluster Client brick 3 brick 8 FUSE file hash cache brick 1 File 1 File 1 Hash : 60b27f004e454aca81b0…… Reading File 1 brickにデータは存在していてもFUSE内の cacheにhashがcachingされていない為not foundとなりerrorが返却される Writing File 1
  10. 10. Physical Volume(brick) Server findを行うとファイルが読めるようになる Gluster Server brick 2 brick 1 Gluster Server brick 4 brick 3 Gluster Server brick 6 brick 5 Gluster Server brick 8 brick 7 Gluster FS File System Logical Volume Client Gluster Client brick 3 brick 8 FUSE file hash cache brick 1 Gluster FS File System Logical Volume Client Gluster Client brick 3 brick 8 FUSE file hash cache brick 1 File 1 File 1 Hash : 60b27f004e454aca81b0…… find File 1 File 1 Hash : 60b27f004e454aca81b0…… findはFile Systemから実際に存在するファ イルの一覧を取得する為、brickに対して accessが行われます findの結果、最新のbrickとhashの状態が cache上に更新されファイルが存在するよう になります。
  11. 11. GlusterFS File System Physical Volume(brick) Server Gluster communityの対策① Gluster Server brick 2 brick 1 Gluster Server brick 4 brick 3 Gluster Server brick 6 brick 5 Gluster Server brick 8 brick 7 Logical Volume Client Gluster Client brick 3 brick 8 FUSE file hash cache brick 1 SAMBA / NFS Plug-in あくまでFUSEは単体で運用を行い多 重アクセスに対してはSAMBA / NFS にて対応を行う
  12. 12. GlusterFS File System Physical Volume(brick) Server Gluster communityの対策② Gluster Server brick 2 brick 1 Gluster Server brick 4 brick 3 Gluster Server brick 6 brick 5 Gluster Server brick 8 brick 7 Logical Volume Client Gluster Client brick 3 brick 8 FUSE file hash cache brick 1 client libglusterfs libglusterfsを用いてFUSEを回避し てアクセスを行う
  13. 13. GlusterFS File System Physical Volume(brick) Server 対策①の問題点 Gluster Server brick 2 brick 1 Gluster Server brick 4 brick 3 Gluster Server brick 6 brick 5 Gluster Server brick 8 brick 7 Logical Volume Client Gluster Client brick 3 brick 8 FUSE file hash cache brick 1 SAMBA / NFS Plug-in accessaccess accessaccess access SAMBA/NFSに多重アクセスが行われた際に FUSEのoverheadが問題になり単一障害点と なり得る
  14. 14. GlusterFS File System Physical Volume(brick) Server 対策②の問題点 Gluster Server brick 2 brick 1 Gluster Server brick 4 brick 3 Gluster Server brick 6 brick 5 Gluster Server brick 8 brick 7 Logical Volume Client Gluster Client brick 3 brick 8 FUSE file hash cache brick 1 client libglusterfs 既に構築されているsystemである場合 GlusterFSに対するI/Oをlibglusterfs経由に 書き換える必要性がある
  15. 15. 総論 ・FUSEを通す限り、fileの整合性、I/Oのoverhead に問題を内在し続ける。 ・FUSEを通さない場合はclient開発時に libglusterfsを通す必要性が生じる ・上記の理由により敢えてGlusterFSを用いるよ り可能であればAmazon S3やXtreemFS等の代替 のproductを用いる方がenterprise用途としては 可用性が高い

×