重命名 GlusterFS 对等体

重命名 GlusterFS 对等体

我有一个 2 对等 GlusterFS 系统。它最初使用简单的主机名 file01 和 file02 创建。这些主机被添加到 /etc/hosts 以使其正常工作。

现在我们要开始使用 FQDN,因为我们想使用 GlusterFS 本机客户端将其他服务器连接到卷。我们不想为每个服务器维护主机文件。

是否可以重新配置当前设置以使用完整主机名 file01.example.com 和 file02.example.com?

谢谢你!

答案1

当您需要重命名您的对等点、您的砖块等而不破坏您的集群时,您必须停止您的 glusterfs 服务,然后重命名 glusterfs 数据文件中的所有出现的内容。

我将为您提供一个脚本(不提供任何担保),我用它来自动执行此任务。

警告:继续之前请务必备份您的数据,并谨慎操作。 请勿在未理解其具体功能的情况下执行任何命令,确保您处于正确的路径中,如果适用,请在每个命令中进行正确的名称替换(以大写表示),并确保所有新的对等名称都可以通过 DNS 解析。

必须在所有节点上执行后续步骤

步骤1:停止 glusterd 服务。

sudo systemctl stop glusterd.service

第2步:列出 /var/lib/glusterd/vols 目录的内容。

ls -l /var/lib/glusterd/vols

步骤3:重命名卷数据文件,例如每卷做:

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

答案2

根据http://lists.gluster.org/pipermail/gluster-users/2017-January/029587.html

  1. 停止 N1、N2 上的 glusterd 进程。
  2. 如果您尝试更改 N1 的主机名,那么在 N2 中,您需要将位于 /var/lib/glusterd 的所有文件中的旧主机名替换为新主机名
  3. 在所有节点上重新启动 GlusterD 并检查对等状态。

相关内容