Gluster fsにおいて内在するincident要因
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

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

on

  • 77 views

 

Statistics

Views

Total Views
77
Views on SlideShare
77
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 1. GlusterFSにおいて内在するIncident要因
  • 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. 特徴 ・Scalableである ・冗長化が可能 ・負荷分散機能が存在する !
  • 4. Logical volume type ・Distributed volume - 分散 ・Replicated volume - 冗長 ・Striped volume - 分割
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 総論 ・FUSEを通す限り、fileの整合性、I/Oのoverhead に問題を内在し続ける。 ・FUSEを通さない場合はclient開発時に libglusterfsを通す必要性が生じる ・上記の理由により敢えてGlusterFSを用いるよ り可能であればAmazon S3やXtreemFS等の代替 のproductを用いる方がenterprise用途としては 可用性が高い