Mengapa saya tidak bisa membuat volume kilau ini?

9

Saya sedang menyiapkan instalasi Gluster 3.4 pertama saya dan semuanya baik-baik saja sampai saya ingin membuat volume replikasi yang didistribusikan.

Saya memiliki 4 server 192.168.0.11, 192.168.0.12, 192.168.0.13 & 192.168.0.14.

Dari 192.168.0.11 saya berlari:

gluster peer probe 192.168.0.12
gluster peer probe 192.168.0.13
gluster peer probe 192.168.0.14

Di setiap server saya memiliki volume penyimpanan yang terpasang di / export / brick1

Saya kemudian berlari pada 192.168.0.11

volume gluster membuat 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

Tapi saya mendapatkan kesalahan:

volume create: gv0: failed: Host 192.168.0.11 is not in 'Peer in Cluster' state

Cukup yakin jika Anda menjalankan status rekan gluster itu menunjukkan 3 rekan dengan host lain yang terhubung. yaitu Jumlah Rekan: 3

Hostname: 192.168.0.12 Port: 24007 Uuid: bcea6044-f841-4465-88e4-f76a0c8d5198 Negara: Peer in Cluster (Terhubung)

Hostname: 192.168.0.13 Port: 24007 Uuid: 3b5c188e-9be8-4d0f-a7bd-b738a88f2199 Negara: Peer in Cluster (Terhubung)

Hostname: 192.168.0.14 Port: 24007 Uuid: f6f326eb-0181-4f99-8072-f27652dab064 Negara: Peer in Cluster (Terhubung)

Tapi, dari 192.168.0.12, perintah yang sama juga menunjukkan 3 host dan 192.168.0.11 adalah bagian dari itu. yaitu

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)

Jadi 192.168.0.11 jelas merupakan bagian dari cluster.

Pertanyaannya adalah, mengapa saya tidak dapat membuat volume pada server gluster pertama saat menjalankan perintah gluster. Apakah ini perilaku normal atau semacam bug?

Mat
sumber

Jawaban:

15

Saya melihat pesan kesalahan yang tidak jelas tentang soket yang tidak terhubung dengan peer 127.0.0.1.

[2013-08-16 00: 36: 56.765755] W [socket.c: 1494: __ socket_proto_state_machine] 0-socket.management: pembacaan dari socket gagal. Kesalahan (Titik akhir transportasi tidak terhubung), rekan (127.0.0.1:1022)

Ternyata masalah yang saya alami adalah karena NAT. Saya mencoba membuat server gluster yang berada di belakang perangkat NAT dan menggunakan IP publik untuk menyelesaikan nama. Ini tidak akan berfungsi dengan baik untuk mesin lokal.

Apa yang saya miliki adalah sesuatu seperti yang berikut pada setiap node.

File host berisi

192.168.0.11  gluster1
192.168.0.12  gluster2
192.168.0.13  gluster3
192.168.0.14  gluster4

Cara mengatasinya adalah menghapus rekan yang tepercaya terlebih dahulu

sudo gluster peer detach gluster2
sudo gluster peer detach gluster3
sudo gluster peer detach gluster4

Kemudian ubah file host pada setiap mesin menjadi

# 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

dll

Kemudian peer menyelidik, dan akhirnya membuat volume yang kemudian berhasil.

Saya ragu bahwa menggunakan alamat IP (yang publik) akan berfungsi dalam hal ini. Ini akan berfungsi jika Anda menggunakan alamat pribadi di belakang NAT Anda. Dalam kasus saya, setiap server berada di belakang NAT di cloud AWS.

Mat
sumber
1
Dalam kasus saya, saya tidak perlu menyentuh 127.0.0.1, bekerja dengan alamat IP internal sudah cukup
arod
1

Coba tentukan jumlah replika secara eksplisit sebagai empat simpul menggunakan format ini: -

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

Saya menganggap ini replika murni dan tidak ada garis?

coba ini dari 192.168.0.11: -

lepaskan semuanya dulu:

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

selanjutnya tambahkan kembali dalam format ini

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

Catatan Saya telah secara eksplisit mendefinisikan set replika empat simpul ini. juga saya secara eksplisit mendefinisikan transport over tcp .

Jika Anda ingin menghapus dua perangkat dalam set replika maka Anda akan menggunakan sesuatu seperti ini: -

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

Tetap dengan itu, saya menemukan kilau baru-baru ini dan saya jatuh cinta dengan ideologi ini untuk sistem file terdistribusi .. karya seni yang nyata.

Saya menggunakan gluster untuk memberikan redundansi HA ke datastore virtual KVM. hal-hal ajaib

AngryWombat
sumber
Sayangnya saya mendapatkan kesalahan yang persis sama. Juga, ketika tidak menentukan jumlah replika dan dengan semua volume saat ini terlepas saya mendapatkan kesalahan yang sama. Menghapus bata 192.168.0.11 itu kemudian mengklaim host 192.168.0.12 tidak dalam status peer dalam cluster sehingga Anda perlu menyelidiki mereka terlebih dahulu. Setidaknya ini adalah kasus dalam versi 3.4
Matt
Anda mungkin benar dalam menyarankan itu hanya aneh di versi terbaru. fakta bahwa Anda menyetel ketiga rekan di set menunjukkan brinks semua berfungsi terlepas dari ada kesalahan yang diatur pada 192.168.0.11. Apa yang terjadi ketika Anda memasang share dari node uji kelima dan menulis ke glusterFS. apakah tulisan muncul di semua batu bata?
AngryWombat
Sebenarnya saya bahkan tidak bisa membuat volume distribusi normal pada satu batu bata. Saya hanya mendapatkan kesalahan yang mengatakan itu tidak bisa dibuat. Log memiliki informasi tanpa hasil. Itu membuat saya merasa ingin membuangnya sama sekali.
Matt
Saya memiliki masalah serupa 5 minggu yang lalu, pindah ke v3.3 menyelesaikan masalah saya. Satu-satunya saran lain pada tahap ini adalah mempertimbangkan peran kembali ke 3.3 dan tes ulang.
AngryWombat
Mungkin juga hanya mulai dengan dua node dan bekerja dari sana ... Distro apa yang Anda gunakan? Saya menjalankan program saya di buntu 12.04 dengan repo ini: - sudo add-apt-repository ppa: semiosis / ubuntu-glusterfs-3.3
AngryWombat