在云中,我们有一组glusterfs节点(参与gluster卷)和客户端(挂载到gluster卷).这些节点使用terraform hashicorp工具创建.
一旦群集启动并运行,如果我们想要更改gluster机器配置,例如将计算大小从4 cpus增加到8 cpus,terraform可以重新创建具有新配置的节点.因此现有的gluster节点将被销毁并且新的实例已创建但具有相同的IP.在新创建的实例中,卷创建命令失败,表示brick已经是卷的一部分.
sudo gluster volume create VolName replica 2 transport tcp ip1:/ mnt/ppshare/brick0 ip2:/ mnt/ppshare/brick0
volume create:VolName:failed:/ 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 trusted.$ i .; 完成attr -lq/glusterfs(用于测试,输出应为空)