web-dev-qa-db-ja.com

GlusterFSピアの名前を変更します

2ピアのGlusterFSシステムがあります。最初は、単純なホスト名file01およびfile02を使用して作成されました。これらのホストは、動作させるために/ etc/hostsに追加されました。

ここで、GlusterFSネイティブクライアントを使用して他のサーバーをボリュームに接続するため、FQDNの使用を開始します。すべてのサーバーのhostsファイルを維持する必要はありません。

完全なホスト名file01.example.comおよびfile02.example.comを使用するように現在のセットアップを再構成することは可能ですか?

ありがとうございました!

2
user2962402

http://lists.gluster.org/pipermail/gluster-users/2017-January/029587.html によると

  1. N1、N2でglusterdプロセスを停止します。
  2. N1のホスト名を変更しようとしている場合、N2では、/ var/lib/glusterdにあるすべてのファイルで古いホスト名の出現箇所を新しいホスト名に置き換える必要があります。
  3. すべてのノードでGlusterDを再起動し、ピアのステータスを確認します。
2
dimcha

クラスターを破壊せずにピアやブリックなどの名前を変更する必要がある場合は、glusterfsサービスを停止してから、glusterfsデータファイル内のすべてのオカレンスの名前を変更する必要があります。

このタスクを自動化するために使用したスクリプト(保証なし)を提供します。

警告:続行する前に、必ずデータをバックアップし、注意して続行してください。コマンドの動作を正確に理解せずにコマンドを実行しないでください。正しいパスにいることを確認し、正しい名前を置き換えてください。適用する場合は各コマンドで(大文字で示されます)、すべての新しいピア名がDNSによって解決可能であることを確認します。

次のステップはすべてのノードで実行する必要があります

ステップ1:glusterdサービスを停止します。

Sudo systemctl stop glusterd.service

ステップ2:/ var/lib/glusterd/volsディレクトリの内容を一覧表示します。

ls -l /var/lib/glusterd/vols

ステップ:ボリュームデータファイルの名前を変更します。各ボリューム実行:

cd /var/lib/glusterd/vols/YOURVOLUMENAME
ls -l | grep .data.vol    #<-- gets the list of files you need to rename for the current volume
Sudo mv clusterdata.OLDNAME1.data.vol clusterdata.NEWNAME1.data.vol
Sudo mv clusterdata.OLDNAME2.data.vol clusterdata.NEWNAME2.data.vol
Sudo mv clusterdata.OLDNAME-N.data.vol clusterdata.NEWNAME-N.data.vol

ステップ4:ボリュームブリックの名前を変更します各ボリューム実行:

cd /var/lib/glusterd/vols/YOURVOLUMENAME/bricks
ls -l | grep :-data    #<-- gets the list of brick files you need to rename for the current volume
Sudo mv OLDNAME1\:-data NEWNAME1\:-data
Sudo mv OLDNAME2\:-data NEWNAME2\:-data
Sudo mv OLDNAME-N\:-data NEWNAME-N\:-data

ステップ5:構成ファイル内のOLDNAMEの出現をすべて検出します。

cd /var/lib/glusterd
Sudo grep -rnw . -e 'OLDNAME'

ステップ6:構成ファイル内のすべてのOLDNAMEを自動的に置き換えます。

cd /var/lib/glusterd
Sudo find . -type f -exec sed -i 's/OLDNAME/NEWNAME/g' {} \;

ステップ7:すべてのオカレンスが置き換えられたことを確認します。

Sudo grep -rnw . -e 'OLDNAME'
Sudo grep -rnw . -e 'NEWNAME'

すべてのノードの手順を完了した場合のみ...

各ノードでglusterdサービスを開始し、ステータスを確認します。

Sudo systemctl start glusterd.service
Sudo systemctl status glusterd.service
Sudo gluster peer status
Sudo gluster volume status
Sudo gluster volume info
0
tecla