11.11. ボリュームのリバランス

add-brick または remove-brick コマンドを使用してボリュームを拡張するか、縮小された場合には、ボリューム上のデータをサーバー間でリバランスする必要があります。
注記
複製していないボリュームでは、start オプションを使用して rebalance 操作を実行するために、すべてのブリックをオンラインにする必要があります。複製されたボリュームでは、レプリカ内の少なくとも 1 つのブリックがオンラインである必要があります。
ボリュームをリバランスするには、いずれかのサーバーで以下のコマンドを使用します。
# gluster volume rebalance VOLNAME start
以下に例を示します。
# gluster volume rebalance test-volume start
Starting rebalancing on volume test-volume has been successful
force オプションを指定せずに実行すると、リバランスコマンドはノード全体で使用されている領域のバランスを取ります。移行により、ターゲットノードが移行元ノードよりも空き容量が少ないファイルです。これにより、リンクファイルが保持されるため、多くのリンクファイルが存在するとアクセスが遅くなる可能性があります。
Red Hat は、データの損失のシナリオを回避するために、リバランスコマンドを実行する前に古いクライアントをすべて切断することを強く推奨します。
警告
Rebalance コマンドは、古いクライアントがクラスターに接続されている場合でも、force オプションを使用して実行できます。ただし、これにより、データが失われる可能性があります。
force を使用した rebalance 操作は、レイアウトに基づいてデータを分散します。そのため、リンクファイルを使用してデータを最適化したり、破棄したりします。ただし、ブリック全体で使用されるストレージ領域が不均等になる可能性があります。このオプションは、システムにリンクファイルが数多くある場合にのみ使用されます。
ボリュームを強制的にリバランスするには、いずれかのサーバーで以下のコマンドを使用します。
# gluster volume rebalance VOLNAME start force
以下に例を示します。
# gluster volume rebalance test-volume start force
Starting rebalancing on volume test-volume has been successful

11.11.1. リバランススロットリング

リバランスプロセスでは複数のスレッドを使用して、複数のファイルの移行時にパフォーマンスが向上します。複数のファイル移行では、ストレージシステムのパフォーマンスに重大な影響を与える可能性があり、スロットリングメカニズムを使用して管理することができます。
デフォルトでは、リバランススロットリングは normal モードで起動されます。ファイルの移行速度を調整するためにスロットリングモードを設定
# gluster volume set VOLNAME rebal-throttle lazy|normal|aggressive
以下に例を示します。
# gluster volume set test-volume rebal-throttle lazy