GlusterFS 技術と動向 1of2

8,774 views
8,631 views

Published on

2011/12/8 第4回クラウドストレージ研究会 発表資料 1/2

Published in: Technology
0 Comments
18 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
8,774
On SlideShare
0
From Embeds
0
Number of Embeds
2,154
Actions
Shares
0
Downloads
157
Comments
0
Likes
18
Embeds 0
No embeds

No notes for slide

GlusterFS 技術と動向 1of2

  1. 1. 第4回クラウドストレージ研究会GlusterFS 技術と動向 1of2 
 2011/12/8(株)NTTPCコミュニケーションズ Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   1 
  2. 2. 発表者の紹介 高橋 敬祐 (TAKAHASHI Keisuke) (個人用)Twitter ID : @keithseahus•  NTTPCコミュニケーションズ在籍 (2006年〜) – Webマイニング系開発 – 分散FS特にGlusterFSの調査,研究,それを利用した開発及びOSS活動 – 宇宙航空関連実証実験及び開発 – その他先端技術調査 •  出入りしている勉強会 –  VIOPS •  この界隈で特に関係の深い人 –  クラウドネットワーク研究会 –  伊藤氏 ( @thatsdone ) –  クラウドストレージ研究会 –  STEC 伊藤氏 ( @HarrisonIto ) –  Tokyo Erlang Workshop –  NTTPC 中冨 ( @nakacya ) –  その他 –  NTTPC 高田 ( @mikiT_T ) Google Groups: http://groups.google.com/group/gluster-ja Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   2 
  3. 3. GlusterFS 技術と動向 1of21.  GlusterFSの概要と動向2.  GlusterFSの技術 1.  ストレージの階層構造 2.  分散アルゴリズム 1.  分散アルゴリズム 2.  Elasticなレイアウト変更 3.  特殊なケース 3.  メタデータ構造 4.  レプリケーション 1.  レプリケーション 2.  レプリケーションのデータフロー 3.  レプリカ障害とその対応 5.  運用面での注意点3.  FAQ4.  まとめ Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   3 
  4. 4. GlusterFSの概要と動向 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   4 
  5. 5. GlusterFSの概要と動向 さんの もオススメ! @doryokujin Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   5 
  6. 6. ストレージの階層構造 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   6 
  7. 7. ストレージの階層構造block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   7 
  8. 8. ストレージの階層構造GlusterFSはblock deviceを直接管理することはできません。 (カーネル空間のファイルシステムではありません。) file system block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   8 
  9. 9. ストレージの階層構造 VFSfile systemblock device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   9 
  10. 10. ストレージの階層構造GlusterFSはカーネル空間ファイルシステムの上で動作します。下位のファイルシステムへの操作はglusterfsdが行います。 glusterfsd VFS file system block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   10 
  11. 11. ストレージの階層構造glusterfsがglusterfsdへの命令を実行します。glusterfs-glusterfsd間はデフォルトではTCP/IPで接続されます。 glusterfs glusterfsd VFS file system block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   11 
  12. 12. ストレージの階層構造 glusterfsにはFUSEとのI/Fがあります。 FUSE glusterfs glusterfsd VFSfile systemblock device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   12 
  13. 13. ストレージの階層構造そのため、POSIX準拠のファイルシステムとしてマウントすることができます。 VFS FUSE glusterfs glusterfsd VFSfile systemblock device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   13 
  14. 14. ストレージの階層構造 VFS FUSE glusterfs glusterfsd VFSfile systemblock device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   14 
  15. 15. 分散アルゴリズム Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   15 
  16. 16. 分散アルゴリズム Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   16 
  17. 17. 分散アルゴリズム ③800〜1199 ①0〜399 ②400〜799注)ハッシュ値及びbrick名は説明のために簡略化してあります。以下同じ。 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   17 
  18. 18. 分散アルゴリズム A/path/to/fileA ③800〜1199 768 ①0〜399 ②400〜799 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   18 
  19. 19. 分散アルゴリズム/path/to/fileA ③800〜1199 768 ①0〜399 A ②400〜799 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   19 
  20. 20. Elasticなレイアウト変更 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   20 
  21. 21. Elasticなレイアウト変更brick追加直後の状態(gluster volume add-brick ④)古いハッシュテーブル 新しいハッシュテーブル (3 bricks) (4 bricks) ③800〜1199 ④900〜1199 ③600〜899 ①0〜299 ①0〜399 A ②400〜799 ②300〜599 既存データの読み書きは 古いハッシュテーブルに基づき 実行される。 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   21 
  22. 22. Elasticなレイアウト変更新規ファイルの作成には新しいハッシュテーブルを使う 古いハッシュテーブル 新しいハッシュテーブル (3 bricks) (4 bricks) ③800〜1199 ④900〜1199 ③600〜899 ①0〜299 ①0〜399 A ②400〜799 ②300〜599B /path/to/fileB 1024 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   22 
  23. 23. Elasticなレイアウト変更新規ファイルの作成には新しいハッシュテーブルを使う古いハッシュテーブル 新しいハッシュテーブル (3 bricks) (4 bricks) リンク先brickの書かれた B スパースファイル B ③800〜1199 ④900〜1199 ③600〜899 ①0〜299 ①0〜399 A ②400〜799 ②300〜599 /path/to/fileB 1024 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   23 
  24. 24. Elasticなレイアウト変更rebalanceを実行(gluster volume rebalance <volume> start) 古いハッシュテーブル 新しいハッシュテーブル (3 bricks) (4 bricks) B B ③800〜1199 ④900〜1199 ③600〜899 ①0〜299 ①0〜399 A ②400〜799 ②300〜599 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   24 
  25. 25. Elasticなレイアウト変更rebalanceを実行(gluster volume rebalance <volume> start) 古いハッシュテーブル 新しいハッシュテーブル (3 bricks) (4 bricks) B B ③800〜1199 ④900〜1199 A ③600〜899 ①0〜299 ①0〜399 A リンク先brickの書かれた ②400〜799 スパースファイル ②300〜599 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   25 
  26. 26. Elasticなレイアウト変更 rebalanceを実行中...古いハッシュテーブル 新しいハッシュテーブル (3 bricks) (4 bricks) B B ③800〜1199 ④900〜1199 A ③600〜899 ①0〜299 ①0〜399 A リンク先brickの書かれた ②400〜799 スパースファイル ②300〜599 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   26 
  27. 27. Elasticなレイアウト変更 rebalanceを実行中...古いハッシュテーブル 新しいハッシュテーブル (3 bricks) (4 bricks) B B ③800〜1199 ④900〜1199 A ③600〜899 ①0〜299 ①0〜399 ②400〜799 ②300〜599 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   27 
  28. 28. Elasticなレイアウト変更 rebalanceを実行中... 古いハッシュテーブル 新しいハッシュテーブル (3 bricks) (4 bricks) B B ③800〜1199 ④900〜1199 A ③600〜899 ①0〜299 ①0〜399 ②400〜799 ②300〜599 C /path/to/fileC 384rebalance中のファイル生成処理は... Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   28 
  29. 29. Elasticなレイアウト変更 rebalanceを実行中... 古いハッシュテーブル 新しいハッシュテーブル (3 bricks) (4 bricks) B B ③800〜1199 ④900〜1199 A ①0〜299 C ③600〜899 ①0〜399 ②400〜799 C ②300〜599 /path/to/fileC 384rebalance実行前と同様 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   29 
  30. 30. Elasticなレイアウト変更 rebalance完了 古いハッシュテーブル 新しいハッシュテーブル (3 bricks) (4 bricks) B B ③800〜1199 ④900〜1199 A古いハッシュテーブルを破棄 ①0〜299 C ③600〜899 ①0〜399 ②400〜799 C ②300〜599 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   30 
  31. 31. Elasticなレイアウト変更 B ④900〜1199 AB C ③600〜899 ①0〜299 C ②300〜599 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   31 
  32. 32. 特殊なケース Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   32 
  33. 33. 特殊なケース ③800〜1199一部brickがdisk full!! ①0〜399 ②400〜799 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   33 
  34. 34. 特殊なケース そこへ新規ファイル作成 A/path/to/fileA ③800〜1199 768 ①0〜399 ②400〜799 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   34 
  35. 35. 特殊なケース 実体は書き込み可能な brickへ A /path/to/fileA ③800〜1199 768 ①0〜399 A ②400〜799リンク付きスパースファイル Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   35 
  36. 36. メタデータ構造 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   36 
  37. 37. メタデータ構造 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   37 
  38. 38. メタデータ構造 メタデータ (xattr) (実)データ Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   38 
  39. 39. メタデータ構造 A VFS FUSE glusterfs glusterfsd VFSfile systemblock device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   39 
  40. 40. メタデータ構造 VFS glusterfsがxattrを記述 (するようにglusterfsdに命令) FUSE glusterfs A glusterfsd VFSfile systemblock device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   40 
  41. 41. メタデータ構造 VFS FUSE glusterfs glusterfsd glusterfsdがfile system上に VFS xattrを記述file system Ablock device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   41 
  42. 42. メタデータ構造 VFS glusterfsを FUSE 経由しないと xattrが付与glusterfs されない!glusterfsd   VFS           file system A B            block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   42 
  43. 43. メタデータ構造 VFS FUSE 原則、GlusterFS経由では アクセスできない。glusterfs 但し、ディレクトリエントリとしてglusterfsd 見えてしまう場合もある。   VFS           file system A B            block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   43 
  44. 44. メタデータ構造 ディレクトリに付与されるxattr trusted.gfid trusted.glusterfs.dht trusted.glusterfs.test ファイルに付与されるxattr trusted.gfid trusted.afr.<volume>-client-<number> trusted.afr.<volume>-client-<number++> trusted.<volume>-stripe-<number>.stripe-count trusted.<volume>-stripe-<number>.stripe-index Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   44 

×