Contenu connexe
Similaire à Gluster fsにおいて内在するincident要因
Similaire à Gluster fsにおいて内在するincident要因 (8)
Gluster fsにおいて内在する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
を提供する仕組みである。
- 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経由に
書き換える必要性がある