题 为什么我不能创建这个gluster卷?


我正在设置我的第一个Gluster 3.4安装,一切都很好,直到我想创建一个分布式复制卷。

我有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服务器上创建卷。这是正常行为还是某种错误?


8
2017-08-15 21:49






答案:


我看到一个关于与对等127.0.0.1的未连接套接字的模糊错误消息。

[2013-08-16 00:36:56.765755] W   [socket.c:1494:__ socket_proto_state_machine] 0-socket.management:   从套接字读取失败。错误(传输端点不是   连接),同行(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后面。


10
2017-08-16 00:52



在我的情况下,我没有触及127.0.0.1,使用内部IP地址就足够了 - arod


尝试使用以下格式将副本计数明确定义为四个节点: -

gluster volume create NEW-VOLNAME [stripe COUNT] [replica COUNT] [transport <tcp | rdma>] NEW-BRICK ...

我假设这个纯复制品没有条纹?

从192.168.0.11试试这个: -

首先分离一切:

sudo gluster peer detach 192.168.0.12
sudo gluster peer detach 192.168.0.13
sudo gluster peer detach 192.168.0.14

接下来以这种格式重新添加

gluster volume create gv0 replica 4 transport tcp 192.168.0.11:/export/brick1 192.168.0.12:/export/brick1 192.168.0.13:/export/brick1 192.168.0.14:/export/brick1

注意 我已明确定义了这个四节点副本集。我还明确定义了传输 TCP

如果您希望在副本集中的两个设备上进行条带化,那么您将使用以下内容: -

gluster volume create gv0 stripe 2 replica 2 transport tcp 192.168.0.11:/export/brick1 192.168.0.12:/export/brick1 192.168.0.13:/export/brick1 192.168.0.14:/export/brick1

坚持下去,我最近发现了gluster,我爱上了分布式文件系统的这种意识形态......这是一件真正的艺术品。

我使用gluster为KVM虚拟数据存储区提供HA冗余。神奇的东西


0
2017-08-15 22:31



不幸的是,我得到完全相同的错误。此外,如果未指定副本计数并且当前所有卷已分离,则会出现相同的错误。删除192.168.0.11砖然后声称192.168.0.12主机不在集群状态的对等体中,因此您需要首先探测它们。至少在版本3.4中就是这种情况 - Matt
您可能会在最新版本中建议它只是一个怪癖。您正在设置集合中的所有三个对等点的事实表明,无论192.168.0.11上设置了错误,边缘都可以正常工作。从第五个测试节点挂载共享并写入glusterFS时会发生什么。写作是否出现在所有砖块上? - AngryWombat
实际上我甚至无法在一块砖上创建正常的分布式卷。我只是得到一个错误,说它无法创建。日志信息毫无结果。这让我觉得完全抛弃它。 - Matt
我在5周前遇到了类似的问题,转向v3.3解决了我的问题。现阶段唯一的另一个建议是将角色考虑回3.3并重新测试。 - AngryWombat
也许只是从两个节点开始并从那里开始工作......你使用什么发行版?我得到了我的buntu 12.04运行这个回购: - sudo add-apt-repository ppa:semiosis / ubuntu-glusterfs-3.3 - AngryWombat