我有4台服务器192.168.0.11,192.168.0.12,192.168.0.13& 192.168.0.14.
从192.168.0.11我跑了:
gluster peer probe 192.168.0.12 gluster peer probe 192.168.0.13 gluster peer probe 192.168.0.14
在每台服务器上,我在/ export / brick1上安装了存储卷
然后我跑了192.168.0.11
gluster volume create gv0 replica2 192.168.0.11:/export/brick1
192.168.0.12:/export/brick1 192.168.0.13:/export/brick1 192.168.0.14:/export/brick1
但我得到错误:
volume create: gv0: Failed: Host 192.168.0.11 is not in 'Peer in Cluster' state
果然,如果你跑
gluster同伴状态
它显示了与其他连接主机的3个对等体.
即
对等人数:3
主机名:192.168.0.12
港口:24007
Uuid:bcea6044-f841-4465-88e4-f76a0c8d5198
州:群集中的同伴(已连接)
主机名:192.168.0.13
港口:24007
Uuid:3b5c188e-9be8-4d0f-a7bd-b738a88f2199
州:群集中的同伴(已连接)
主机名:192.168.0.14
港口:24007
Uuid:f6f326eb-0181-4f99-8072-f27652dab064
州:群集中的同伴(已连接)
但是,从192.168.0.12开始,同一命令也显示3个主机,192.168.0.11是其中的一部分.即
Number of Peers: 3 Hostname: 192.168.0.11 Port: 24007 Uuid: 09a3bacb-558d-4257-8a85-ca8b56e219f2 State: Peer in Cluster (Connected) Hostname: 192.168.0.13 Uuid: 3b5c188e-9be8-4d0f-a7bd-b738a88f2199 State: Peer in Cluster (Connected) Hostname: 192.168.0.14 Uuid: f6f326eb-0181-4f99-8072-f27652dab064 State: Peer in Cluster (Connected)
所以192.168.0.11绝对是集群的一部分.
问题是,为什么在运行gluster命令时无法在第一个gluster服务器上创建卷.这是正常行为还是某种错误?
[2013-08-16 00:36:56.765755] W
[socket.c:1494:__socket_proto_state_machine] 0-socket.management:
reading from socket Failed. Error (Transport endpoint is not
connected),peer (127.0.0.1:1022)
事实证明我遇到的问题是由于NAT.我试图创建NAT设备后面的gluster服务器并使用公共IP来解析名称.这对本地计算机无法正常工作.
我所拥有的是每个节点上的以下内容.
包含的hosts文件
192.168.0.11 gluster1 192.168.0.12 gluster2 192.168.0.13 gluster3 192.168.0.14 gluster4
sudo gluster peer detach gluster2 sudo gluster peer detach gluster3 sudo gluster peer detach gluster4
然后更改每台计算机上的hosts文件
# Gluster1 127.0.0.1 gluster1 192.168.0.12 gluster2 192.168.0.13 gluster3 192.168.0.14 gluster4
# Gluster2 192.168.0.11 gluster1 127.0.0.1 gluster2 192.168.0.13 gluster3 192.168.0.14 gluster4
等等
然后对等探测,最后创建当时成功的卷.
我怀疑在这种情况下使用IP地址(公共地址)会起作用.如果您使用NAT后面的私有地址,它应该工作.在我的例子中,每个服务器都在AWS云中的NAT后面.