GlusterFS 技術と動向 1of2

Keisuke Takahashi
Keisuke TakahashiCloud Solution Architect (Data & Analytics)
第4回クラウドストレージ研究会

GlusterFS 技術と動向
                                                  1of2


            

       2011/12/8
(株)NTTPCコミュニケーションズ


            Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     1 
発表者の紹介


               高橋 敬祐 (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 
GlusterFS 技術と動向 1of2

1.  GlusterFSの概要と動向
2.  GlusterFSの技術
 1.  ストレージの階層構造
 2.  分散アルゴリズム
   1.    分散アルゴリズム
   2.    Elasticなレイアウト変更
   3.    特殊なケース
 3.  メタデータ構造
 4.  レプリケーション
   1.    レプリケーション
   2.    レプリケーションのデータフロー
   3.    レプリカ障害とその対応
 5.  運用面での注意点
3.  FAQ
4.  まとめ

                           Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     3 
GlusterFSの概要と動向



       Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     4 
GlusterFSの概要と動向




                 さんの                                                     もオススメ!


   @doryokujin
                       Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     5 
ストレージの階層構造




     Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     6 
ストレージの階層構造




block device

               Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     7 
ストレージの階層構造

GlusterFSはblock deviceを直接管理することはできません。
   (カーネル空間のファイルシステムではありません。)




    file system

    block device

                   Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     8 
ストレージの階層構造




   VFS

file system

block device

               Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     9 
ストレージの階層構造

GlusterFSはカーネル空間ファイルシステムの上で動作します。
下位のファイルシステムへの操作はglusterfsdが行います。




     glusterfsd

        VFS

     file system

    block device

                   Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     10 
ストレージの階層構造

glusterfsがglusterfsdへの命令を実行します。
glusterfs-glusterfsd間はデフォルトではTCP/IPで接続されます。




       glusterfs

       glusterfsd

         VFS

      file system

      block device

                      Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     11 
ストレージの階層構造

   glusterfsにはFUSEとのI/Fがあります。




   FUSE

 glusterfs

 glusterfsd

   VFS

file system

block device

                Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     12 
ストレージの階層構造

そのため、POSIX準拠のファイルシステムとして
マウントすることができます。



   VFS

   FUSE

 glusterfs

 glusterfsd

   VFS

file system

block device

               Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     13 
ストレージの階層構造




   VFS

   FUSE

 glusterfs

 glusterfsd

   VFS

file system

block device

               Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     14 
分散アルゴリズム




    Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     15 
分散アルゴリズム




           Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     16 
分散アルゴリズム




                                           ③800〜1199




                                                                                              ①0〜399

                                        ②400〜799

注)ハッシュ値及びbrick名は説明のために簡略化してあります。以下同じ。         Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     17 
分散アルゴリズム


  A
/path/to/fileA
                 ③800〜1199




 768

                                                                    ①0〜399

            ②400〜799

                    Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     18 
分散アルゴリズム




/path/to/fileA
                 ③800〜1199




 768

                                                                    ①0〜399
           A
            ②400〜799

                    Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     19 
Elasticなレイアウト変更




       Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     20 
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 
Elasticなレイアウト変更

新規ファイルの作成には新しいハッシュテーブルを使う
    古いハッシュテーブル                                     新しいハッシュテーブル
       (3 bricks)                                     (4 bricks)


         ③800〜1199                                                          ④900〜1199




                                               ③600〜899                                         ①0〜299
                     ①0〜399
     A
     ②400〜799
                                                                            ②300〜599


B    /path/to/fileB                           1024
                              Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     22 
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 
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 
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 
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 
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 
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                                  384
rebalance中のファイル生成処理は...
                     Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     28 
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                            384
rebalance実行前と同様                Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     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




                             Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     30 
Elasticなレイアウト変更


                 B
                    ④900〜1199


    A
B                                                                           C
    ③600〜899
                                                               ①0〜299


               C
                 ②300〜599
               Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     31 
特殊なケース




   Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     32 
特殊なケース




                         ③800〜1199



一部brickがdisk full!!



                                                                            ①0〜399

                      ②400〜799

                            Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     33 
特殊なケース

            そこへ新規ファイル作成
  A
/path/to/fileA
                 ③800〜1199




 768

                                                                    ①0〜399

            ②400〜799

                    Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     34 
特殊なケース

                                                実体は書き込み可能な
                                                   brickへ
                            A
  /path/to/fileA
                   ③800〜1199




   768

                                                                      ①0〜399

     A        ②400〜799
リンク付きスパースファイル
                      Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     35 
メタデータ構造




   Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     36 
メタデータ構造




          Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     37 
メタデータ構造



          メタデータ (xattr)




                                            (実)データ




             Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     38 
メタデータ構造


               A


   VFS

   FUSE

 glusterfs

 glusterfsd

   VFS

file system

block device

                   Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     39 
メタデータ構造




   VFS               glusterfsがxattrを記述
                   (するようにglusterfsdに命令)
   FUSE

 glusterfs
               A
 glusterfsd

   VFS

file system

block device

                    Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     40 
メタデータ構造




   VFS

   FUSE

 glusterfs

 glusterfsd
                   glusterfsdがfile system上に
   VFS                      xattrを記述

file system
               A
block device

                    Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     41 
メタデータ構造




  VFS
                                     glusterfsを
 FUSE                                経由しないと
                                     xattrが付与
glusterfs
                                     されない!
glusterfsd

                   VFS

                  file system
             A                              B
                 block device

                         Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     42 
メタデータ構造




  VFS

 FUSE                     原則、GlusterFS経由では
                            アクセスできない。
glusterfs
                         但し、ディレクトリエントリとして
glusterfsd                 見えてしまう場合もある。

                   VFS

                  file system
             A                               B
                 block device

                          Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.     43 
メタデータ構造


                    ディレクトリに付与される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 
1 of 44

Recommended

GlusterFS 技術と動向 2of2 by
GlusterFS 技術と動向 2of2GlusterFS 技術と動向 2of2
GlusterFS 技術と動向 2of2Keisuke Takahashi
5.2K views45 slides
GlusterFSとInfiniBandの小話 by
GlusterFSとInfiniBandの小話GlusterFSとInfiniBandの小話
GlusterFSとInfiniBandの小話Keisuke Takahashi
4K views34 slides
Linux Kernel Seminar in tripodworks by
Linux Kernel Seminar in tripodworksLinux Kernel Seminar in tripodworks
Linux Kernel Seminar in tripodworkstripodworks
675 views41 slides
【Interop Tokyo 2015】 SP 04: シスコ サービス プロバイダー アクセス ポートフォリオ by
【Interop Tokyo 2015】 SP 04: シスコ サービス プロバイダー アクセス ポートフォリオ【Interop Tokyo 2015】 SP 04: シスコ サービス プロバイダー アクセス ポートフォリオ
【Interop Tokyo 2015】 SP 04: シスコ サービス プロバイダー アクセス ポートフォリオシスコシステムズ合同会社
1.5K views20 slides
JOSUG 9th Study by
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Studyirix_jp
955 views26 slides
ストレージネットワーク基礎講座 by
ストレージネットワーク基礎講座ストレージネットワーク基礎講座
ストレージネットワーク基礎講座Brocade
11.5K views33 slides

More Related Content

Viewers also liked

はじめてのGlusterFS by
はじめてのGlusterFSはじめてのGlusterFS
はじめてのGlusterFSTakahiro Inoue
6.3K views44 slides
openqrm4.9 Quick Start Guide by
openqrm4.9 Quick Start Guideopenqrm4.9 Quick Start Guide
openqrm4.9 Quick Start GuideOSSラボ株式会社
2.8K views23 slides
Quick Introduction to GlusterFS by
Quick Introduction to GlusterFSQuick Introduction to GlusterFS
Quick Introduction to GlusterFSEtsuji Nakai
1.5K views6 slides
最新技術動向 GlusterFS (仮想化DAY, Internet Week 2011) by
最新技術動向 GlusterFS (仮想化DAY, Internet Week 2011)最新技術動向 GlusterFS (仮想化DAY, Internet Week 2011)
最新技術動向 GlusterFS (仮想化DAY, Internet Week 2011)Keisuke Takahashi
4.7K views53 slides
IIJにおけるGlusterFS利用事例 GlusterFSの詳解と2年間の運用ノウハウ by
IIJにおけるGlusterFS利用事例 GlusterFSの詳解と2年間の運用ノウハウIIJにおけるGlusterFS利用事例 GlusterFSの詳解と2年間の運用ノウハウ
IIJにおけるGlusterFS利用事例 GlusterFSの詳解と2年間の運用ノウハウIIJ
4.3K views32 slides
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」 by
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」Serverworks Co.,Ltd.
18.2K views40 slides

Viewers also liked(16)

Quick Introduction to GlusterFS by Etsuji Nakai
Quick Introduction to GlusterFSQuick Introduction to GlusterFS
Quick Introduction to GlusterFS
Etsuji Nakai1.5K views
最新技術動向 GlusterFS (仮想化DAY, Internet Week 2011) by Keisuke Takahashi
最新技術動向 GlusterFS (仮想化DAY, Internet Week 2011)最新技術動向 GlusterFS (仮想化DAY, Internet Week 2011)
最新技術動向 GlusterFS (仮想化DAY, Internet Week 2011)
Keisuke Takahashi4.7K views
IIJにおけるGlusterFS利用事例 GlusterFSの詳解と2年間の運用ノウハウ by IIJ
IIJにおけるGlusterFS利用事例 GlusterFSの詳解と2年間の運用ノウハウIIJにおけるGlusterFS利用事例 GlusterFSの詳解と2年間の運用ノウハウ
IIJにおけるGlusterFS利用事例 GlusterFSの詳解と2年間の運用ノウハウ
IIJ4.3K views
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」 by Serverworks Co.,Ltd.
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
Serverworks Co.,Ltd.18.2K views
クラウドで消耗してませんか? by IIJ
クラウドで消耗してませんか?クラウドで消耗してませんか?
クラウドで消耗してませんか?
IIJ1.9K views
DevOps 101 - IBM Impact 2014 by Sanjeev Sharma
DevOps 101 - IBM Impact 2014 DevOps 101 - IBM Impact 2014
DevOps 101 - IBM Impact 2014
Sanjeev Sharma4.9K views
Red Hat Storage - Introduction to GlusterFS by GlusterFS
Red Hat Storage - Introduction to GlusterFSRed Hat Storage - Introduction to GlusterFS
Red Hat Storage - Introduction to GlusterFS
GlusterFS15.4K views
Jetson TK1でSemi-Global Matching by Ryo Sakamoto
Jetson TK1でSemi-Global MatchingJetson TK1でSemi-Global Matching
Jetson TK1でSemi-Global Matching
Ryo Sakamoto8K views
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた by VirtualTech Japan Inc.
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみたサーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
10年効く分散ファイルシステム技術 GlusterFS & Red Hat Storage by Etsuji Nakai
10年効く分散ファイルシステム技術 GlusterFS & Red Hat Storage10年効く分散ファイルシステム技術 GlusterFS & Red Hat Storage
10年効く分散ファイルシステム技術 GlusterFS & Red Hat Storage
Etsuji Nakai21.3K views
MongoDBのはじめての運用テキスト by Akihiro Kuwano
MongoDBのはじめての運用テキストMongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキスト
Akihiro Kuwano8.3K views
夏サミ2013【A1】基礎からわかるDevOps by Developers Summit
夏サミ2013【A1】基礎からわかるDevOps夏サミ2013【A1】基礎からわかるDevOps
夏サミ2013【A1】基礎からわかるDevOps
Developers Summit9.4K views

More from Keisuke Takahashi

Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021) by
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Keisuke Takahashi
863 views92 slides
パーフェクト"Elixir情報収集" by
パーフェクト"Elixir情報収集"パーフェクト"Elixir情報収集"
パーフェクト"Elixir情報収集"Keisuke Takahashi
18K views117 slides
GlusterFS Masakari Talks by
GlusterFS Masakari TalksGlusterFS Masakari Talks
GlusterFS Masakari TalksKeisuke Takahashi
4.6K views23 slides
Trying and evaluating the new features of GlusterFS 3.5 by
Trying and evaluating the new features of GlusterFS 3.5Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5Keisuke Takahashi
6.7K views87 slides
Gluster Cloud Night in Tokyo 2013 -- Tips for getting started by
Gluster Cloud Night in Tokyo 2013 -- Tips for getting startedGluster Cloud Night in Tokyo 2013 -- Tips for getting started
Gluster Cloud Night in Tokyo 2013 -- Tips for getting startedKeisuke Takahashi
7.5K views88 slides
Big Data入門に見せかけたFluentd入門 by
Big Data入門に見せかけたFluentd入門Big Data入門に見せかけたFluentd入門
Big Data入門に見せかけたFluentd入門Keisuke Takahashi
31.3K views137 slides

More from Keisuke Takahashi(11)

Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021) by Keisuke Takahashi
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Keisuke Takahashi863 views
Trying and evaluating the new features of GlusterFS 3.5 by Keisuke Takahashi
Trying and evaluating the new features of GlusterFS 3.5Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5
Keisuke Takahashi6.7K views
Gluster Cloud Night in Tokyo 2013 -- Tips for getting started by Keisuke Takahashi
Gluster Cloud Night in Tokyo 2013 -- Tips for getting startedGluster Cloud Night in Tokyo 2013 -- Tips for getting started
Gluster Cloud Night in Tokyo 2013 -- Tips for getting started
Keisuke Takahashi7.5K views
Big Data入門に見せかけたFluentd入門 by Keisuke Takahashi
Big Data入門に見せかけたFluentd入門Big Data入門に見せかけたFluentd入門
Big Data入門に見せかけたFluentd入門
Keisuke Takahashi31.3K views
Creating a shared storage service with GlusterFS by Keisuke Takahashi
Creating a shared storage service with GlusterFSCreating a shared storage service with GlusterFS
Creating a shared storage service with GlusterFS
Keisuke Takahashi2.4K views
GlusterFS座談会テクニカルセッション by Keisuke Takahashi
GlusterFS座談会テクニカルセッションGlusterFS座談会テクニカルセッション
GlusterFS座談会テクニカルセッション
Keisuke Takahashi5.6K views

Recently uploaded

マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料) by
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
217 views33 slides
JJUG CCC.pptx by
JJUG CCC.pptxJJUG CCC.pptx
JJUG CCC.pptxKanta Sasaki
6 views14 slides
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化 by
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化Knowledge & Experience
8 views34 slides
さくらのひやおろし2023 by
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023法林浩之
83 views58 slides
概念モデリングワークショップ 基礎編 by
概念モデリングワークショップ 基礎編概念モデリングワークショップ 基礎編
概念モデリングワークショップ 基礎編Knowledge & Experience
19 views71 slides
01Booster Studio ご紹介資料 by
01Booster Studio ご紹介資料01Booster Studio ご紹介資料
01Booster Studio ご紹介資料ssusere7a2172
220 views19 slides

Recently uploaded(8)

マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化 by Knowledge & Experience
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
さくらのひやおろし2023 by 法林浩之
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023
法林浩之83 views
01Booster Studio ご紹介資料 by ssusere7a2172
01Booster Studio ご紹介資料01Booster Studio ご紹介資料
01Booster Studio ご紹介資料
ssusere7a2172220 views
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)

GlusterFS 技術と動向 1of2

  • 1. 第4回クラウドストレージ研究会 GlusterFS 技術と動向 1of2 
 2011/12/8 (株)NTTPCコミュニケーションズ Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   1 
  • 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. GlusterFS 技術と動向 1of2 1.  GlusterFSの概要と動向 2.  GlusterFSの技術 1.  ストレージの階層構造 2.  分散アルゴリズム 1.  分散アルゴリズム 2.  Elasticなレイアウト変更 3.  特殊なケース 3.  メタデータ構造 4.  レプリケーション 1.  レプリケーション 2.  レプリケーションのデータフロー 3.  レプリカ障害とその対応 5.  運用面での注意点 3.  FAQ 4.  まとめ Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   3 
  • 4. GlusterFSの概要と動向 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   4 
  • 5. GlusterFSの概要と動向 さんの もオススメ! @doryokujin Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   5 
  • 6. ストレージの階層構造 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   6 
  • 7. ストレージの階層構造 block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   7 
  • 8. ストレージの階層構造 GlusterFSはblock deviceを直接管理することはできません。 (カーネル空間のファイルシステムではありません。) file system block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   8 
  • 9. ストレージの階層構造 VFS file system block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   9 
  • 10. ストレージの階層構造 GlusterFSはカーネル空間ファイルシステムの上で動作します。 下位のファイルシステムへの操作はglusterfsdが行います。 glusterfsd VFS file system block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   10 
  • 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. ストレージの階層構造 glusterfsにはFUSEとのI/Fがあります。 FUSE glusterfs glusterfsd VFS file system block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   12 
  • 13. ストレージの階層構造 そのため、POSIX準拠のファイルシステムとして マウントすることができます。 VFS FUSE glusterfs glusterfsd VFS file system block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   13 
  • 14. ストレージの階層構造 VFS FUSE glusterfs glusterfsd VFS file system block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   14 
  • 15. 分散アルゴリズム Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   15 
  • 16. 分散アルゴリズム Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   16 
  • 17. 分散アルゴリズム ③800〜1199 ①0〜399 ②400〜799 注)ハッシュ値及びbrick名は説明のために簡略化してあります。以下同じ。 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   17 
  • 18. 分散アルゴリズム A /path/to/fileA ③800〜1199 768 ①0〜399 ②400〜799 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   18 
  • 19. 分散アルゴリズム /path/to/fileA ③800〜1199 768 ①0〜399 A ②400〜799 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   19 
  • 20. Elasticなレイアウト変更 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   20 
  • 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. Elasticなレイアウト変更 新規ファイルの作成には新しいハッシュテーブルを使う 古いハッシュテーブル 新しいハッシュテーブル (3 bricks) (4 bricks) ③800〜1199 ④900〜1199 ③600〜899 ①0〜299 ①0〜399 A ②400〜799 ②300〜599 B /path/to/fileB 1024 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   22 
  • 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. 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. 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. 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. 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. 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 384 rebalance中のファイル生成処理は... Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   28 
  • 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 384 rebalance実行前と同様 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   29 
  • 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. Elasticなレイアウト変更 B ④900〜1199 A B C ③600〜899 ①0〜299 C ②300〜599 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   31 
  • 32. 特殊なケース Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   32 
  • 33. 特殊なケース ③800〜1199 一部brickがdisk full!! ①0〜399 ②400〜799 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   33 
  • 34. 特殊なケース そこへ新規ファイル作成 A /path/to/fileA ③800〜1199 768 ①0〜399 ②400〜799 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   34 
  • 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. メタデータ構造 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   36 
  • 37. メタデータ構造 Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   37 
  • 38. メタデータ構造 メタデータ (xattr) (実)データ Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   38 
  • 39. メタデータ構造 A VFS FUSE glusterfs glusterfsd VFS file system block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   39 
  • 40. メタデータ構造 VFS glusterfsがxattrを記述 (するようにglusterfsdに命令) FUSE glusterfs A glusterfsd VFS file system block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   40 
  • 41. メタデータ構造 VFS FUSE glusterfs glusterfsd glusterfsdがfile system上に VFS xattrを記述 file system A block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   41 
  • 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. メタデータ構造 VFS FUSE 原則、GlusterFS経由では アクセスできない。 glusterfs 但し、ディレクトリエントリとして glusterfsd 見えてしまう場合もある。   VFS           file system A B            block device Copyright  (C)  2011,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   43 
  • 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