ウェブサイト検索

Gluster ファイル システムで自己修復および再バランス操作を実行する方法 - パート 2


前回の記事「GlusterFS (ファイル システム) とインストールの概要 – パート 1」では、ファイル システムとその利点について簡単に概要を説明し、いくつかの基本的なコマンドを説明しました。この記事では自己修復再バランスという 2 つの重要な機能について言及する価値があり、GlusterFS についての説明は省略します。役に立たない。ここで自己修復リバランスという用語について理解しておきましょう。

レプリケートされたボリュームの自己修復とは何を意味しますか?

この機能はレプリケートされたボリュームで使用できます。レプリケートされたボリューム [最小レプリカ数 2] があるとします。何らかの障害により、レプリカ ブリックのうちの 1 つ以上のブリックがしばらくダウンし、ユーザーがたまたまオンライン ブリックにのみ影響するファイルをマウント ポイントから削除したとします。

オフライン ブリックが後でオンラインになるときは、そのファイルをこのブリックからも削除する必要があります。つまり、修復と呼ばれるレプリカ ブリック間の同期を実行する必要があります。オフライン ブリック上でのファイルの作成/変更も同様です。 GlusterFS には、ブリックがオンラインになるたびにこれらの状況に対処するための自己修復デーモンが組み込まれています。

リバランスとは何を意味しますか?

ブリックが 1 つだけある分散ボリュームを考えてみましょう。たとえば、 マウント ポイントを介してボリューム上にファイルを 10 個作成します。ボリュームにはブリックしかないため、すべてのファイルは同じブリック上に存在します。ボリュームにもう 1 つのブリックを追加すると、2 つのブリック間でファイルの合計数のバランスを再調整する必要がある場合があります。 GlusterFS でボリュームが拡張または縮小される場合、ボリュームに含まれるさまざまなブリック間でデータのバランスを再調整する必要があります。

GlusterFS での自己修復の実行

1. 次のコマンドを使用して、複製ボリュームを作成します。

gluster volume create vol replica 2 192.168.1.16:/home/a 192.168.1.16:/home/b

: 同じサーバー上にブリックを含む複製ボリュームを作成すると、警告が表示される場合がありますが、警告を無視して続行する必要があります。

2. ボリュームを起動してマウントします。

gluster volume start vol
mount -t glusterfs 192.168.1.16:/vol /mnt/

3. マウントポイントからファイルを作成します。

touch /mnt/foo

4. 2 つのレプリカ ブリックで同じことを確認します。

ls /home/a/
foo
ls /home/b/
foo

5. 次に、ボリューム ステータス情報から取得したPIDを使用して、対応する glusterfs デーモンを強制終了し、ブリックの 1 つをオフラインに送信します。

gluster volume status vol
サンプル出力
Status of volume: vol
Gluster process					Port	Online	Pid 
------------------------------------------------------------------------------ 
Brick 192.168.1.16:/home/a			49152	  Y	3799 
Brick 192.168.1.16:/home/b			49153	  Y	3810 
NFS Server on localhost				2049	  Y	3824 
Self-heal Daemon on localhost			N/A	  Y	3829

: サーバー上に自己修復デーモンが存在することを確認してください。

kill 3810
gluster volume status vol
サンプル出力
Status of volume: vol 
Gluster process					Port	Online	Pid 
------------------------------------------------------------------------------ 
Brick 192.168.1.16:/home/a			49152	  Y	3799 
Brick 192.168.1.16:/home/b			N/A	  N	N/A 
NFS Server on localhost				2049	  Y	3824 
Self-heal Daemon on localhost			N/A	  Y	3829

これで 2 番目のブリックがオフラインになりました。

6. ファイル foo をマウント ポイントから削除し、ブリックの内容を確認します。

rm -f /mnt/foo
ls /home/a
ls /home/b
foo

foo が 2 番目のレンガにまだ存在していることがわかります。

7. 次に、レンガをオンラインに戻します。

gluster volume start vol force
gluster volume status vol
サンプル出力
Status of volume: vol 
Gluster process					Port	Online	Pid 
------------------------------------------------------------------------------ 
Brick 192.168.1.16:/home/a			49152	  Y	3799 
Brick 192.168.1.16:/home/b			49153	  Y	4110 
NFS Server on localhost				2049	  Y	4122 
Self-heal Daemon on localhost			N/A	  Y	4129

これでレンガがオンラインになりました。

8. レンガの中身を確認します。

ls /home/a/
ls /home/b/

ファイルは自己修復デーモンによって 2 番目のブリックから削除されました。

: ファイルが大きい場合、自己修復操作が正常に完了するまでに時間がかかる場合があります。以下のコマンドを使用して修復ステータスを確認できます。

gluster volume heal vol info

GlusterFS での再バランスの実行

1. 分散ボリュームを作成します。

gluster create volume distribute 192.168.1.16:/home/c

2. ボリュームを起動してマウントします。

gluster volume start distribute
mount -t glusterfs 192.168.1.16:/distribute /mnt/

3. 10 個のファイルを作成します。

touch /mnt/file{1..10}
ls /mnt/
file1  file10  file2  file3  file4  file5  file6  file7  file8  file9

ls /home/c
file1  file10  file2  file3  file4  file5  file6  file7  file8  file9

4. ボリュームディストリビュートに別のブリックを追加します。

gluster volume add-brick distribute 192.168.1.16:/home/d
ls /home/d

5. バランスを再調整します。

gluster volume rebalance distribute start

volume rebalance: distribute: success: Starting rebalance on volume distribute has been successful.

6. 内容を確認します。

ls /home/c
file1  file2  file5  file6  file8 

ls /home/d
file10  file3  file4  file7  file9

ファイルのバランスが再調整されました。

: 次のコマンドを実行すると、再バランスのステータスを確認できます。

gluster volume rebalance distribute status
サンプル出力
Node           Rebalanced-files     size          scanned    failures    skipped   status	run time in secs 
---------      -----------          ---------     --------   ---------   -------   --------     ----------------- 
localhost          5                0Bytes           15          0         0       completed         1.00 
volume rebalance: distribute: success:

これで、GlusterFS に関するこのシリーズを終了する予定です。自己修復機能と再バランス機能に関する疑問があれば、お気軽にここにコメントしてください。