glusterfs 卷创建失败 - 砖已经是卷的一部分

问题描述 投票:0回答:3

在云中,我们有一个 glusterfs 节点(参与 gluster 卷)和客户端(挂载到 gluster 卷)的集群。这些节点是使用 terraform hashicorp 工具创建的。

一旦集群启动并运行,如果我们想要更改 gluster 机器配置,例如将计算大小从 4 个 cpu 增加到 8 个 cpu,terraform 可以使用新配置重新创建节点。因此现有的 gluster 节点将被销毁并新实例已创建,但具有相同的 ip。在新创建的实例中,卷创建命令失败,表示 brick 已经是卷的一部分。

sudo gluster 卷创建 VolName 副本 2 传输 tcp ip1:/mnt/ppshare/brick0 ip2:/mnt/ppshare/brick0

卷创建:VolName:失败:/mnt/ppshare/brick0 已经是一部分 体积

但此实例中不存在任何卷。

我知道如果我必须扩大或缩小体积,我可以添加或删除现有体积中的砖块。在这里,我正在更改节点的计算,因此必须重新创建它。我不明白为什么应该说砖已经是体积的一部分,因为它完全是一台新机器。

如果有人能解释为什么它说 Brick 已经是卷的一部分以及它存储卷/块信息的位置,那将非常有帮助。这样我就可以成功重新创建卷。

我还尝试了此链接中的以下步骤来从挂载中清除与 glusterfs 卷相关的属性,但没有成功。 https://linuxsysadm.wordpress.com/2013/05/16/glusterfs-remove-extended-attributes-to-completely-remove-bricks/.

apt-get 安装属性 cd /glusterfs 对于

attr -lq .
中的 i;执行 setfattr -x trust.$i .;完毕 attr -lq /glusterfs(用于测试,输出应为空)

redhat glusterfs
3个回答
24
投票

只需将“force”放在“gluster volume create ...”命令的末尾即可。


6
投票

请检查您是否创建了目录 /mnt/ppshare/brick0。

您应该拥有 /mnt/ppshare ,但不包含 brick0 文件夹。 create 命令创建这些文件夹。该错误表明存在brick0文件夹。


0
投票

使用“glustervolumereplace-brick”或“glustervolumereset-brick”命令时,如果该brick之前已在卷中使用过,或者甚至只是在“replace-brick”或“reset-brick”中指定命令,卷将被记录在brick上的.glusterfs目录中。要解决此问题,请删除 .glusterfs 目录,或删除并重新创建 brick 目录。对于给出的示例,

sudo gluster volume create VolName replica 2 transport tcp ip1:/mnt/ppshare/brick0 ip2:/mnt/ppshare/brick0

删除并重新创建brick目录:

[root@ip1 ~]# rm -rf /mnt/ppshare/brick0
[root@ip1 ~]# mkdir /mnt/ppshare/brick0

然后再次尝试该命令。

© www.soinside.com 2019 - 2024. All rights reserved.