在云中,我们有一组 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 (为了测试,输出应该是空的)