11.9. ボリュームの移行
信頼できるストレージプールがオンラインになり、利用可能な場合に、データはブリック全体に再配布できます。次に、新しいサーバーのブリックを置き換えて、信頼済みストレージプールに新規サーバーが正常に追加されたことを確認します。
注記
replace-brick 操作を実行する前に、Red Hat Gluster Storage リリースノートの replace-brick 操作に関連する既知の問題を確認してください。
11.9.1. 分散ボリュームまたは複製ボリュームでのサブボリュームの置き換え リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
この手順は、置き換えるサブボリュームからのブリックが 1 つ以上オンラインの場合にのみ適用されます。Distribute ボリュームの場合は、置き換える必要のあるブリックをオンラインにする必要があります。Distribute-replicate の場合は、置き換える必要のあるレプリカセットのサブボリュームからの少なくとも 1 つのブリックをオンラインにする必要があります。
サブボリューム全体を Distribute-replicate ボリュームの新しいブリックに置き換えるには、以下の手順に従います。
- 新しいブリックをボリュームに追加します。
gluster volume add-brick VOLNAME [replica <COUNT>] NEW-BRICK
# gluster volume add-brick VOLNAME [replica <COUNT>] NEW-BRICK
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例11.1 ボリュームへのブリックの追加
gluster volume add-brick test-volume server5:/rhgs/brick5
# gluster volume add-brick test-volume server5:/rhgs/brick5 Add Brick successful
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のコマンドを使用してボリューム情報を確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Distribute-replicate ボリュームの場合は、add-brick コマンドでレプリカ数を指定し、add-brick コマンドにレプリカ数と同じ数のブリックを指定する必要があります。 - サブボリュームから置き換えるブリックを削除します。
- 以下のコマンドを使用して remove-brick 操作を起動します。
gluster volume remove-brick VOLNAME [replica <COUNT>] <BRICK> start
# gluster volume remove-brick VOLNAME [replica <COUNT>] <BRICK> start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例11.2 分散ボリュームで削除操作の開始
gluster volume remove-brick test-volume server2:/rhgs/brick2 start
# gluster volume remove-brick test-volume server2:/rhgs/brick2 start Remove Brick start successful
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のコマンドを使用して remove-brick 操作のステータスを表示します。
gluster volume remove-brick VOLNAME [replica <COUNT>] BRICK status
# gluster volume remove-brick VOLNAME [replica <COUNT>] BRICK status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例11.3 remove-brick 操作のステータスの表示
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドを実行して remove-brick 操作のステータスの監視を保持します。上記の例では、リバランスの完了までの推定時間は 10 分です。status フィールドの値が remove-brick ステータスコマンドの出力でcomplete
に設定されている場合には、さらに次に進みます。 - 以下のコマンドを使用して remove-brick 操作をコミットします。
gluster volume remove-brick VOLNAME [replica <COUNT>] <BRICK> commit
# gluster volume remove-brick VOLNAME [replica <COUNT>] <BRICK> commit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例11.4 ボリュームでの remove-brick 操作のコミット
gluster volume remove-brick test-volume server2:/rhgs/brick2 commit
# gluster volume remove-brick test-volume server2:/rhgs/brick2 commit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のコマンドを使用してボリューム情報を確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ボリュームで remove-brick 操作をコミットした後に、ブリックの内容を確認します。残りファイルがある場合は、FUSE または NFS マウントでコピーします。
- サブボリュームのブリックに保留中のファイルがあるかどうかを確認します。ファイルとともに、アプリケーション固有の拡張属性をすべてコピーする必要があります。また、glusterFS は拡張属性を使用して内部データを保存することもできます。glusterFS が使用する拡張属性は、
trusted.glusterfs.*
、trusted.afr.*
、およびtrusted.gfid
形式です。上記以外の拡張属性もコピーする必要があります。アプリケーション固有の拡張属性をコピーし、上記と同様の効果を実現するには、以下のシェルスクリプトを使用します。構文:copy.sh <glusterfs-mount-point> <brick>
# copy.sh <glusterfs-mount-point> <brick>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例11.5 コード実行のための使用
マウントポイントが/mnt/glusterfs
で、ブリックパスが/rhgs/brick1
の場合は、以下のようにスクリプトを実行する必要があります。copy.sh /mnt/glusterfs /rhgs/brick1
# copy.sh /mnt/glusterfs /rhgs/brick1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - スプリットブレイン状態にあるファイルの一覧を特定するには、以下のコマンドを実行します。
gluster volume heal test-volume info split-brain
# gluster volume heal test-volume info split-brain
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 上記のコマンドの出力にリストされているファイルがある場合は、レプリカセットのブリック全体でファイルを比較し、ブリックから不要なファイルを削除して、ファイルの正しいコピーを保持します。システム管理者による手動の介入は、正しいファイルのコピーを選択するために必要です。