このGlusterボリュームを作成できないのはなぜですか?


9

最初の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サーバーにボリュームを作成できないのかということです。これは正常な動作ですか、それとも何らかのバグですか?

回答:


15

ピア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

次に、各マシンのホストファイルを次のように変更します。

# 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の背後にありました。


1
私の場合、127.0.0.1に触れる必要はなく、内部IPアドレスでの作業で十分でした
arod

1

次の形式を使用して、レプリカ数を4つのノードとして明示的に定義してみてください:-

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

なお、私は4つのノードのレプリカセットがこれを明示的に定義されています。また、tcpを介したトランスポートを明示的に定義しました。

レプリカセット内の2つのデバイス間でストライプ化する場合は、次のようなものを使用します。-

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冗長性を提供しています。魔法のもの


残念ながら、まったく同じエラーが発生します。また、レプリカ数を指定せず、すべてのボリュームが現在切り離されている場合にも、同じエラーが発生します。192.168.0.11ブリックを削除すると、192.168.0.12ホストがクラスターステータスのピアにないため、最初にそれらをプローブする必要があります。少なくともこれはバージョン3.4の場合です
Matt

あなたは、最新バージョンでのちょっとした癖を提案するのが正しいかもしれません。セットで3つのピアすべてを設定しているという事実は、192.168.0.11で設定されたエラーに関係なく、瀬戸際がすべて機能していることを示しています。5番目のテストノードから共有をマウントし、glusterFSに書き込むとどうなりますか。書き込みはすべてのレンガに表示されますか?
AngryWombat 2013

実際、1つのブリックで通常の分散ボリュームを作成することもできません。作成できなかったというエラーが表示されるだけです。ログには無駄な情報があります。まるで捨てる気分になります。
マット

5週間前に同様の問題があり、v3.3に移行すると問題が解決しました。この段階での唯一の他の提案は、3.3に戻る役割を検討して再テストすることです。
AngryWombat 2013

また、おそらく2つのノードから始めて、そこから作業を進めるだけです...どのディストリビューションを使用していますか?私はこのリポジトリでbuntu 12.04を実行しています:-sudo add-apt-repository ppa:semiosis / ubuntu-glusterfs-3.3
AngryWombat 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.