44
はじめての GlusterFS @doryokujin 第1回 GlusterFS 座談会 2011/09/14

はじめてのGlusterFS

Embed Size (px)

DESCRIPTION

GlusterFSについて、ドキュメントとWhitePaper、そして実際に使用した経験を元にまとめています。

Citation preview

Page 1: はじめてのGlusterFS

はじめてのGlusterFS

@doryokujin第1回 GlusterFS 座談会 2011/09/14

Page 2: はじめてのGlusterFS

・井上 敬浩(26歳)

・twitter: doryokujin

・データマイニングエンジニア

・MongoDB JP 代表

・NoSQLやHadoopに興味

・マラソン2時間33分

自己紹介

Page 3: はじめてのGlusterFS

1. イントロダクション

2. セットアップチュートリアル

3. No Metadata Server Approach

4. GlusterFS アプリケーションデモ

アジェンダ

Page 5: はじめてのGlusterFS

1. 特徴

Page 6: はじめてのGlusterFS

アプローチ

Copyright 2011, Gluster, Inc. Page 6

www.gluster.com !

If a customer has found that the performance levels are acceptable, but wants to increase capacity by 25%, they could add another 4, 1 TB drives to each server, and will not generally experience performance degradation. (i.e., each server would have 16, 1 TB drives). (See Config. B, above). Note that they do not need to upgrade to larger, or more powerful hardware, they simply add 8 more inexpensive SATA drives.

On the other hand, if the customer is happy with 24 TB of capacity, but wants to double performance, they could distribute the drives among 4 servers, rather than 2 servers (i.e. each server would have 6, 1 TB drives, rather than 12). Note that in this case, they are adding 2 more low-price servers, and can simply redeploy existing drives. (See Config. C, above)

If they want to both quadruple performance and quadruple capacity, they could distribute among 8 servers (i.e. each server would have 12,1 TB drives). (See Config. D, below)

Note that by the time a solution has approximately 10 drives, the performance bottleneck has generally already moved to the network. (See Config. D, above)

Copyright 2011, Gluster, Inc. Page 6

www.gluster.com !

If a customer has found that the performance levels are acceptable, but wants to increase capacity by 25%, they could add another 4, 1 TB drives to each server, and will not generally experience performance degradation. (i.e., each server would have 16, 1 TB drives). (See Config. B, above). Note that they do not need to upgrade to larger, or more powerful hardware, they simply add 8 more inexpensive SATA drives.

On the other hand, if the customer is happy with 24 TB of capacity, but wants to double performance, they could distribute the drives among 4 servers, rather than 2 servers (i.e. each server would have 6, 1 TB drives, rather than 12). Note that in this case, they are adding 2 more low-price servers, and can simply redeploy existing drives. (See Config. C, above)

If they want to both quadruple performance and quadruple capacity, they could distribute among 8 servers (i.e. each server would have 12,1 TB drives). (See Config. D, below)

Note that by the time a solution has approximately 10 drives, the performance bottleneck has generally already moved to the network. (See Config. D, above)

水平スケーリングによるパフォーマンス向上

Page 7: はじめてのGlusterFS

Copyright 2011, Gluster, Inc. Page 6

www.gluster.com !

If a customer has found that the performance levels are acceptable, but wants to increase capacity by 25%, they could add another 4, 1 TB drives to each server, and will not generally experience performance degradation. (i.e., each server would have 16, 1 TB drives). (See Config. B, above). Note that they do not need to upgrade to larger, or more powerful hardware, they simply add 8 more inexpensive SATA drives.

On the other hand, if the customer is happy with 24 TB of capacity, but wants to double performance, they could distribute the drives among 4 servers, rather than 2 servers (i.e. each server would have 6, 1 TB drives, rather than 12). Note that in this case, they are adding 2 more low-price servers, and can simply redeploy existing drives. (See Config. C, above)

If they want to both quadruple performance and quadruple capacity, they could distribute among 8 servers (i.e. each server would have 12,1 TB drives). (See Config. D, below)

Note that by the time a solution has approximately 10 drives, the performance bottleneck has generally already moved to the network. (See Config. D, above)

水平スケーリングによるキャパシティの増加

レプリケーションによるデータ保全性の増加

アプローチ

Page 8: はじめてのGlusterFS

Copyright 2011, Gluster, Inc. Page 7

www.gluster.com !

So, in order to maximize performance, we can upgrade from a 1 Gigabit Ethernet network to a 10 Gigabit Ethernet network. Note that performance in this example is more than 25x that which we saw in the baseline. This is evidenced by an increase in performance from 200 MB/s in the baseline configuration to 5,000 MB/s. (See Config. E, below)

As you will note, the power of the scale-out model is that both capacity and performance can scale linearly to meet requirements. It is not necessary to know what performance levels will be needed 2, or 3 years out. Instead, configurations can be easily adjusted as the need demands.

InfiniBandによる転送速度増加によるパフォーマンス向上

アプローチ

Page 9: はじめてのGlusterFS

[1] SOFTWARE ONLY・OS や特定ハードウェアに依存しない

・Amazon Web Service や VMWare にもデプロイ可能

[2] OPEN SOURCE・AGPL ライセンス

[3] COMPLETE STORAGE OS STACK・distributed memory management

・I/O scheduling・software RAID・sellf-healing

特徴

Page 10: はじめてのGlusterFS

[4] USER SPACE (<=> KERNEL SPACE)・インストール、アップグレードが容易

・カーネルの知識がなくてもCの知識があれば良い

[5] MODULAR, STACKABLE ARCHITECTURE・large number of large flies

・huge numbers of very small files

・environments with cloud storage

・various transport protocols

特徴

Page 11: はじめてのGlusterFS

[6] DATA STORED IN NATIVE FORMATS・EXT3, EXT4, XFS に対応

・POSIX 準拠による ShellScripting

[7] NO METADATA WITH THE ELASTIC HASH ALGORITHM

・Elastic Hashing Algorithm によるファイルロケーションの決定

・i.e. メタデータを保存するための特定のサーバーが不要

・i.e. No Single Point Of Failure !!

特徴

Page 12: はじめてのGlusterFS

[8] 豊富な Volume Management 機能

・Tuning Volume Options

・Expanding Volumes

・Shrinking Volumes

・Migrating Volumes

・Rebalancing Volumes

・Stopping Volumes

・Deleting Volumes

・Triggering Self-Heal on Replicate

特徴

Page 13: はじめてのGlusterFS

(a) 導入が容易:deb, rpm パッケージも用意

(b) シンプルな構成:サーバ側コンポーネントでローカルファイルシステムを Volume としてまとめ、クライアント側コンポーネントが Volume をマウントして使用

(c) POSIX準拠:Shell Scripting によって数十GBファイル群をカジュアルに集計可

(d) 管理が容易:メタサーバー不要。Replicationも簡単

(e) Hadoop対応:大規模データに対しても解析可能

Gluster のここが好き

Page 14: はじめてのGlusterFS

2. セットアップ

チュートリアル

Page 15: はじめてのGlusterFS

用語Replicate-Volume Geo-Replication

Brickglusterfs におけるストレージの単位。

Trusted Storage Pool 内のサーバーのディレクトリパスで表現。

glusterd “Gluster management daemon”、Trusted Storage Pool 内の全てのサーバーで起動。

Server / ClientServer の 各 Brick にデータが分散ストレージされる。Client はVolume を mount する

ことでデータにアクセス可能。

Trusted Storage Pool A storage pool is a trusted network of storage servers.

Volume Brick の logical collection、Client は Volume 単位で mount を行う。

Volfile glusterfs プロセスが使用する設定ファイル“/etc/glusterd/vols/VOLNAME”

Page 16: はじめてのGlusterFS

[1] ダウンロード + make

➜ BETA_LINK="http://download.gluster.com/pub/gluster/glusterfs/

qa-releases/3.3-beta-2/glusterfs-3.3beta2.tar.gz"

➜ wget $BETA_LINK

➜ tar zxvf glusterfs-3.3beta2.tar.gz

➜ cd glusterfs-3.3beta2

➜ ./configure && make

➜ sudo make install

Page 17: はじめてのGlusterFS

[2] glusterd デーモン起動と trusted storage pool へのサーバ登録

# Start Gluster management daemon for each server

➜ sudo /etc/init.d/glusterd start

# Adding Servers to Trusted Storage Pool

➜ for HOST in host1 host2 host3; do

gluster peer probe $HOST; done

#=> Probe successful

Probe successful

Probe successful

Page 18: はじめてのGlusterFS

[3] trusted pool 内のサーバ確認➜ sudo gluster peer status

#=> Number of Peers: 3

Hostname: host1

Uuid: 81982001-ba0d-455a-bae8-cb93679dbddd

State: Peer in Cluster (Connected)

Hostname: host2

Uuid: 03945cd4-7487-4b2c-9384-f006a76dfee5

State: Peer in Cluster (Connected)...

Page 19: はじめてのGlusterFS

[4-1] distribute volume の作成# Create a distribute Volume named ‘log’

➜ SERVER_LOG_PATH=”/mnt/glusterfs/server/log”

➜ sudo gluster volume create log transport tcp

host1: $SERVER_LOG_PATH

host2: $SERVER_LOG_PATH

host3: $SERVER_LOG_PATH

host1, host2, host3 でdistribute

Page 20: はじめてのGlusterFS

$ sudo gluster volume start log # start Volume

$ sudo gluster volume info log

#=> Volume Name: log

Type: Distribute

Status: Started

Number of Bricks: 12

Transport-type: tcp

Bricks:

Brick1: delta1:/mnt/glusterfs/server/log

Brick2: delta2:/mnt/glusterfs/server/log

Brick3: delta3:/mnt/glusterfs/server/log

[5] volume の起動

Page 21: はじめてのGlusterFS

# Create a distribute replicate Volume named ‘repository’

➜ SERVER_REPO_PATH=”/mnt/glusterfs/server/repository”

➜ sudo gluster volume create repository

replica 2 transport tcp

host1: $SERVER_REPO_PATH host2: $SERVER_REPO_PATH

host3: $SERVER_REPO_PATH host4: $SERVER_REPO_PATH

host1 と host2 で active-active Replication

host3 と host4 で active-active Replication

[4-2] distribute replicate volume の作成

Page 22: はじめてのGlusterFS

$ sudo gluster volume info repository

#=> Volume Name: repository

Type: Distributed-Replicate

Status: Started

Number of Bricks: 2 x 2 = 4

Transport-type: tcp

Bricks:

Brick1: delta1:/mnt/glusterfs/server/repository

Brick2: delta2:/mnt/glusterfs/server/repository

Brick3: delta3:/mnt/glusterfs/server/repository

Brick4: delta3:/mnt/glusterfs/server/repository

sync

sync

distribute

[4-2] distribute replicate volume の確認

Page 23: はじめてのGlusterFS

[1] Gluster Native Client (FUSE)

・high concurrency, performance,transparent failover

・POSIX準拠, getfattrコマンド

・大サイズファイル向け

[2] NFS

・NFS v3

・getfattr コマンドは利用不可(?)

・小サイズで大量のファイル群向け

Client 側のアクセス方法

Page 24: はじめてのGlusterFS

[6] Volume のマウント

# Mount ‘log’ Volume

➜ CLIENT_LOG_PATH=”/mnt/glusterfs/client/log”

➜ sudo mount -t glusterfs

-o log-level=WARNING,log-file=/var/log/gluster.log

localhost:log $CLIENT_LOG_PATH # native-client

➜ sudo mount -t nfs -o mountproto=tcp

localhost:log $CLIENT_LOG_PATH # nfs

Page 25: はじめてのGlusterFS

[7] マウントの確認➜ df -h

#=>

Filesystem Size Used Avail Use% Mounted on

/dev/sdb 1.9T 491G 1.4T 27% /mnt/disk2

...

localhost:repository 11T 4.0G 11T 1%

/mnt/glusterfs/client/repository

localhost:log 8.3T 3.6T 4.3T 46%

/mnt/glusterfs/client/log

Page 26: はじめてのGlusterFS

[8] 物理ロケーションの取得# Get Physical Location

➜ sudo getfattr -m . -n trusted.glusterfs.pathinfo 

/mnt/glusterfs/client/repository/some_file

#=>

 # file: /mnt/glusterfs/client/repository /some_file

 trusted.glusterfs.pathinfo="(  

  <REPLICATE:repository-replicate-0>   

  <POSIX:host1: /mnt/glusterfs/server/repository/some_file >

  <POSIX:host2: /mnt/glusterfs/server/repository/some_file >

)

Page 27: はじめてのGlusterFS

Hadoop 対応 (from 3.3 beta2)・“getfattr -m . -n trusted.glusterfs.pathinfo” を実行して物理ロケーションとVolumeタイプを特定(beta2からこの出力内容がHadoopに対応させるため大きく変更になった)

・データローカリティとレプリケーションからのインプットにも対応

・パフォーマンスは未知だが、HDFSのメタデータ管理などの心労から解放されるメリットは大きい

・かつ POSIX 準拠で大規模でも「データを見る」という行為が ShellScript などで気軽に深く行える

Page 28: はじめてのGlusterFS

・(Distributed) Striped Volume

・Geo-Replication

Geo-Replication Volume

Replicate-Volume Geo-Replication

クラスタ間のミラーリング 地理的に離れたクラスタ間のミラーリング

high-availability backing up of data for disaster recovery

Synchronous replication Asynchronous replication

Page 29: はじめてのGlusterFS

ds

Gluster File system Administration Guide_3.2_02_B Pg No. 47

Checking Geo-replication Minimum Requirements

9.2.1. Exploring Geo-replication Deployment Scenarios

GlusterFS Geo-replication provides an incremental replication service over Local Area Networks (LANs), Wide Area Network (WANs), and across the Internet. This section illustrates the most common deployment scenarios for GlusterFS Geo-replication, including the following:

Geo-replication over LAN

Geo-replication over WAN

Geo-replication over the Internet

Multi-site cascading Geo-replication

Geo-replication over LAN

You can configure GlusterFS Geo-replication to mirror data over a Local Area Network.

Geo-replication over WAN

You can configure GlusterFS Geo-replication to replicate data over a Wide Area Network.

Geo-replication over Internet

You can configure GlusterFS Geo-replication to mirror data over the Internet.

ds

Gluster File system Administration Guide_3.2_02_B Pg No. 47

Checking Geo-replication Minimum Requirements

9.2.1. Exploring Geo-replication Deployment Scenarios

GlusterFS Geo-replication provides an incremental replication service over Local Area Networks (LANs), Wide Area Network (WANs), and across the Internet. This section illustrates the most common deployment scenarios for GlusterFS Geo-replication, including the following:

Geo-replication over LAN

Geo-replication over WAN

Geo-replication over the Internet

Multi-site cascading Geo-replication

Geo-replication over LAN

You can configure GlusterFS Geo-replication to mirror data over a Local Area Network.

Geo-replication over WAN

You can configure GlusterFS Geo-replication to replicate data over a Wide Area Network.

Geo-replication over Internet

You can configure GlusterFS Geo-replication to mirror data over the Internet. ds

Gluster File system Administration Guide_3.2_02_B Pg No. 48

Multi-site cascading Geo-replication

You can configure GlusterFS Geo-replication to mirror data in a cascading fashion across multiple sites.

9.2.2. GlusterFS Geo-replication Deployment Overview Deploying GlusterFS Geo-replication involves the following steps:

1. Verify that GlusterFS v3.2 is installed and running on systems that will serve as masters, using the following command:

#glusterfs --version

Page 30: はじめてのGlusterFS

3. No Metadata Server Approach

Page 31: はじめてのGlusterFS

CENTRALIZED METADATA SYSTEMS

Copyright 2011, Gluster, Inc. Page 13

www.gluster.com !

!

Figure!4!Centralized!Metadata!Approach

3.2 DISTRIBUTED METADATA SYSTEMS

An alternative approach is to forego a centralized metadata server in favor of a distributed metadata approach. In this implementation, the index of location metadata is spread among a large number of storage systems.

While this approach would appear on the surface to address the shortcomings of the centralized approach, it introduces an entirely new set of performance and availability issues.

1. Performance Overhead: Considerable performance overhead is introduced as the various distributed systems try to stay in sync with data via the use of various locking and synching mechanisms. Thus, most of the performance scaling issues that plague centralized metadata systems plague distributed metadata systems as well. Performance degrades as there is an increase in files, file operations, storage systems, disks, or the randomness of I/O operations. Performance similarly degrades as the average file size decreases.

While some systems attempt to counterbalance these effects by creating dedicated solid state drives with high performance internal networks for metadata, this approach can become prohibitively expensive.

2. Corruption Issues: Distributed metadata systems also face the potential for serious corruption issues. While + ��#&**�&)��&)),'+!&%�&��&%���!*+)!�,+���%&���.&%6+�+�"���&.%�+ ���%+!)��*0*+�$��!+���%��&)),'+�+ ��entire system. When metadata is stored in multiple locations, the requirement to maintain it synchronously also implies significant risk related to situations when the metadata is not properly kept in synch, or in the event it is actually damaged. The worst possible scenario involves apparently-successful updates to file data and metadata to separate locations, without correct synchronous maintenance of metadata, such that there is no longer perfect agreement among the multiple instances. Furthermore, the chances of a corrupted storage system increase exponentially with the number of systems. Thus, concurrency of metadata becomes a significant challenge.

Page 32: はじめてのGlusterFS

Copyright 2011, Gluster, Inc. Page 14

www.gluster.com !

Figure 5, below, illustrates a typical distributed metadata server implementation. It can be seen that this approach also results in considerable overhead processing for file access, and by design has built-in exposure for corruption scenarios. Here again we see a legacy approach to scale-out storage not congruent with the requirement of the modern data center or with the burgeoning migration to virtualization and cloud computing.

!

Figure!5!Decentralized!Metadata!Approach

3.3 AN ALGORITHMIC APPROACH (NO METADATA MODEL)

As we have seen so far, any system which separates data from location metadata introduces both performance and reliability concerns. Therefore, Gluster designed a system which does not separate metadata from data, and which does not rely on any separate metadata server, whether centralized or distributed.

Instead, Gluster locates data algorithmically. Knowing nothing but the path name and file name, any storage system node and any client requiring read or write access to a file in a Gluster storage cluster performs a mathematical operation that calculates the file location. In other words, there is no need to separate location metadata from data, because the location can be determined independently.

We call this the Elastic Hashing Algorithm, and it is key to many of the unique advantages of Gluster. While a complete explanation of the Elastic Hashing Algorithm is beyond the scope of this document, the following is a simplified explanation that should illuminate some of the guiding principles of the Elastic Hashing Algorithm.

DISTRIBUTED METADATA SYSTEMS

Page 33: はじめてのGlusterFS

ALGORITHMIC APPROACH (NO METADATA SERVER MODEL)

[Elastic Hashing Algorithm]

・それぞれのオペレーションが個々にメタデータをアルゴリズムによって特定。よって高速

・メタデータの特定はデータの増大やサーバーの増加に対するパフォーマンスの影響が小さく、ほぼ linear にスケール

・メタデータの不一致などによる矛盾を引き起こしにくい。’Safe’ な分散ファイルシステムを実現

Page 34: はじめてのGlusterFS

Copyright 2011, Gluster, Inc. Page 15

www.gluster.com !

The benefits of the Elastic Hashing Algorithm are fourfold:

1. The algorithmic approach makes Gluster faster for each individual operation, because it calculates metadata using an algorithm, and that approach is faster than retrieving metadata from any storage media.

2. The algorithmic approach also means that Gluster is faster for large and growing individual systems because there is never any contention for any single instance of metadata stored at only one location.

3. The algorithmic approach means Gluster is faster and achieves true linear scaling for distributed deployments, because each node is independent in its algorithmic handling of its own metadata, eliminating the need to synchronize metadata.

4. Most importantly, the algorithmic approach means that Gluster is safer in distributed deployments, because it eliminates all scenarios of risk which are derived from out-of-synch metadata (and that is arguably the most common source of significant risk to large bodies of distributed data).

To explain how the Elastic Hashing Algorithm works, we will examine each of the three words (algorithm, hashing, and elastic.)

��+6*�*+�)+�.!+ �#�&)!+ $� We are all familiar with an algorithmic approach to locating data. If a person goes into any office that stores physical documents in folders in filing cabinets, that person should be able to find the 4�$�5��&#��)�.!+ &,+��&!%��+&�����%+)�#�!%��/��%0&%��!%�+ ��&��!���.&,#��"%&.�+ �+�+ ��4�$�5��&#��)�!*�#&��+���!%�+ ��45��!#�����!%�+��!%�+ ���)�.�)�$�)"���4�&++-�)!�,#+,)��5���+.��%�+ ����#���%���&)%��&#��)*�

Similarly, one could implement an algorithmic approach to data storage that used a similar 4�#' ���+5��#�&)!+ $�+&�locate files. For example, in a ten system cluster, one �&,#���**!�%��##��!#�*�. !� ����!%�.!+ �+ ��#�++�)�45�+&��!*"�����##��!#�*�. !� ����!%�.!+ �+ ��#�++�)�4�5�+&��isk 10, etc. Figure 6, below illustrates this concept.

!

Figure!6:!Understanding!EHA:!Algorithm [1] 辞書式順序によってロケーションを特定“Acme” なら Disk1 へ、”Do” なら Disk2 へ

ALGORITHMIC APPROACH (NO METADATA SERVER MODEL)

Page 35: はじめてのGlusterFS

Copyright 2011, Gluster, Inc. Page 16

www.gluster.com !

Because it is easy to calculate where a file is located, any client or storage system could locate a file based solely on its name. Because there is no need for a separate metadata store, the performance, scaling, and single point-of-failure issues are solved.

Of course, an alphabetic algorithm would never work in practice. File names are not themselves unique, certain letters are far more common than others, we could easily get hotspots where a group of files with similar names are stored, etc.

3.4 THE USE OF HASHING

To address some of the abovementioned shortcomings, you could use a hash-based algorithm. A hash is a mathematical function that converts a string of an arbitrary length into a fixed length values. People familiar with hash algorithms (e.g. the SHA-1 hashing function used in cryptography or various URL shorteners like bit.ly), will know that hash functions are generally chosen for properties such as determinism (the same starting string will always result in the same ending hash), and uniformity (the ending results tend to be uniformly distributed mathematically)���#,*+�)6*��#�*+!����* !%��#�&)!+ $�!*���*���&%�+ ����-!�*-Meyer hashing algorithm,

In the Gluster algorithmic approach, we take a given pathname/filename (which is unique in any directory tree) and run it through the hashing algorithm. Each pathname/filename results in a unique numerical result.

For the sake of simplicity, one could imagine assigning all files whose hash ends in the number 1 to the first disk, all which end in the number 2 to the second disk, etc. Figure 7, below, illustrates this concept.

!

Figure!7!Understanding!EHA:!Hashing [2] pathname/filename に基づく Hash Based アルゴリズム。この例は Mod10

ALGORITHMIC APPROACH (NO METADATA SERVER MODEL)

Page 36: はじめてのGlusterFS

Virtual Volumes

[Virtual Volumes]

・サーバーの増減やファイルのリネームにどう対応するか?

・基本アルゴリズムは変化させない

・”Virtual Volumes” 内の物理的配置を変更

・ Virtual Volumes は実際の Volume とは分離

Page 37: はじめてのGlusterFS

Copyright 2011, Gluster, Inc. Page 17

www.gluster.com !

Of course, questions still arise. What if we add or delete physical disks? What if certain disks develop hotspots? To a%*.�)�+ �+��.�6##�+,)%�+&���*�+�&��(,�*+!&%*���&,+� &.�.��$�"��+ �� �* !%���#�&)!+ $�4�#�*+!�5�

3.5 MAKING IT ALL ELASTIC: PART I

In the real world, stuff happens. Disks fail, capacity is used up, files need to be redistributed, etc.

Gluster addresses these challenges by:

1. Setting up a very large number of virtual volumes 2. Using the hashing algorithm to assign files to virtual volumes 3. Using a separate process to assign virtual volumes to multiple physical devices

Thus, when disks or nodes are added or deleted, the algorithm itself does not need to be changed. However, virtual volumes can be migrated or assigned to new physical locations as the need arises. Figure 8, below, illustrates the Glus+�)�4�#�*+!����* !%��#�&)!+ $5�

!

Figure!8!Understanding!EHA:!Elasticity

For most people, the preceding discussion should be sufficient for understanding the Elastic Hashing Algorithm. It oversimplifies in some respects for pedagogical purposes. (For example, each folder is actually assigned its own hash space.). Advanced discussion on Elastic Volume Management, Moving, or Renaming, and High Availability follows in the next section, Advanced Topics.

ALGORITHMIC APPROACH (NO METADATA MODEL)

[3] アルゴリズム不変。Virtual Volume 内での物理配置を変更

Page 38: はじめてのGlusterFS

[1] バックグラウンドでマイグレーション開始

[2] その間、まず新しい配置へポインタを作成

[3] Client はアルゴリズムによって新しい配置を見に行くことに。その際このポインタによって旧配置へリダイレクトされる

[4] マイグレーション完了後、ポインタは削除

※ ポインタってコレですか?↓

Rename や Move による物理配置の変更が起きた場合

➜ ll /mnt/glusterfs/server/result*

---------T 1 doryokujin 0 Sep 13 16:40 result.host1

-rw-r--r-- 1 doryokujin 4044654 Sep 13 16:40 result.host6

Page 39: はじめてのGlusterFS

・”Logical” と “Physical” な Volume 間のやりとりは?

・Rebalancing コマンドの Fix Layout フェイズはアルゴリズム or Virtual Volumeをどう変更するのか?

・Server 側のパスに直接ファイルを書き込んだ場合、Client 側のパスからそのファイルが見える場合と見えない場合がある。この周辺の挙動はどうなっている? (以下は体験談)

(a) distributed-volume : 見える

(b) replicate-volume : replica の片方だけ見える

(c) nfs-mount:見えない

いくつかの疑問

Page 40: はじめてのGlusterFS

・2-Replicate-Volume の場合、ペアの片方のサーバーが死んでしまった場合、生存するサーバーに対して新しくReplicaを作成してくれるのか(i.e. Replica のペアと数は常に保たれるのか)

・その場合のペアは再度固定なのか、それとも複数のサーバーに分散してReplication されるのか?

いくつかの疑問

Page 41: はじめてのGlusterFS

4. GlusterFS アプリケーションデモ (おまけ)

Page 42: はじめてのGlusterFS

・GlusterFS をログのストレージとして活用

・MapReduce フレームワークによってログを集計

- Python 実装

- Redis をパラメータ共有空間として機械学習 / イテレーション対応

- Redis を利用して In-memory / Pipelined MR

- Fabric の SSH 機能でサーバに Map/Reduce 処理させる

- R や MongoDB との親和性強化

イントロダクション

Page 43: はじめてのGlusterFS

デモタイム

Page 44: はじめてのGlusterFS

ありがとうございました