4

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

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

sudo gluster volume create VolName replica 2 transport 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 install attr cd /glusterfs for i in attr -lq .; 做 setfattr -x trust.$i .; done attr -lq /glusterfs (为了测试,输出应该是空的)

4

2 回答 2

21

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

于 2017-01-26T21:17:30.117 回答
2

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

你应该有 /mnt/ppshare 没有brick0 文件夹。create 命令会创建这些文件夹。该错误表明brick0 文件夹存在。

于 2017-01-10T17:58:10.863 回答