ทำไมฉันไม่สามารถสร้างปริมาณความมันวาวนี้ได้?


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 สร้าง 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 รัฐ: Peer in Cluster (เชื่อมต่อ)

ชื่อโฮสต์: 192.168.0.13 พอร์ต: 24007 Uuid: 3b5c188e-9be8-4d0f-a7bd-b738a88f2199 รัฐ: Peer in Cluster (เชื่อมต่อ)

ชื่อโฮสต์: 192.168.0.14 พอร์ต: 24007 Uuid: f6f326eb-0181-4f99-8072-f27652dab064 รัฐ: Peer in Cluster (เชื่อมต่อ)

แต่จาก 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 ฉันพยายามสร้างเซิร์ฟเวอร์ gluster ที่อยู่หลังอุปกรณ์ NAT และใช้ IP สาธารณะเพื่อแก้ไขชื่อ นี่เป็นเพียงการทำงานไม่ถูกต้องสำหรับเครื่องในพื้นที่

สิ่งที่ฉันมีคือสิ่งต่อไปนี้ในแต่ละโหนด

ไฟล์โฮสต์ที่มี

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 ของคุณ ในกรณีของฉันแต่ละเซิร์ฟเวอร์อยู่หลัง NAT ในคลาวด์ AWS


1
ในกรณีของฉันฉันไม่ต้องแตะ 127.0.0.1 การทำงานกับที่อยู่ IP ภายในก็เพียงพอแล้ว
arod

1

ลองกำหนดจำนวนเรพลิกาอย่างชัดเจนเป็นสี่โหนดโดยใช้รูปแบบนี้: -

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 เพื่อจัดหา HA redundancy ให้กับดาต้าสโตร์เสมือนของ KVM สิ่งมหัศจรรย์


น่าเสียดายที่ฉันได้รับข้อผิดพลาดเดียวกัน นอกจากนี้เมื่อไม่ได้ระบุจำนวนเรพลิกาและโวลุ่มทั้งหมดที่แยกออกในปัจจุบันฉันได้รับข้อผิดพลาดเดียวกัน ลบ 192.168.0.11 อิฐแล้วอ้างว่าโฮสต์ 192.168.0.12 ไม่ได้อยู่ในเพียร์ในสถานะคลัสเตอร์ดังนั้นคุณต้องสอบสวนพวกเขาก่อน อย่างน้อยก็เป็นกรณีนี้ในเวอร์ชัน 3.4
แมตต์

คุณอาจจะถูกต้องในการแนะนำสิ่งแปลก ๆ ในรุ่นล่าสุด ความจริงที่ว่าคุณกำลังตั้งค่าเพียร์ทั้งสามในชุดแสดงว่าการทำงานทั้งหมดไม่ว่าข้อผิดพลาดจะมีการตั้งค่าไว้ที่ 192.168.0.11 จะเกิดอะไรขึ้นเมื่อคุณติดตั้งส่วนแบ่งจากโหนดทดสอบที่ห้าและเขียนไปยัง glusterFS เขียนจะปรากฏบนอิฐทั้งหมด?
AngryWombat

จริงๆแล้วฉันไม่สามารถสร้างปริมาณการกระจายแบบปกติบนอิฐก้อนเดียวได้ ฉันเพิ่งได้รับข้อผิดพลาดที่แจ้งว่าไม่สามารถสร้างได้ บันทึกมีข้อมูลที่ไร้ผล มันทำให้ฉันรู้สึกอยากจะโยนมันออกไปโดยสิ้นเชิง
แมตต์

ฉันมีปัญหาที่คล้ายกัน 5 สัปดาห์ที่ผ่านมาการย้ายไปยัง v3.3 แก้ไขปัญหาของฉัน ข้อเสนอแนะอื่น ๆ ในขั้นตอนนี้คือการพิจารณาบทบาทกลับเป็น 3.3 และทดสอบซ้ำ
AngryWombat

บางทีอาจจะเริ่มจากสองโหนดและทำงานจากที่นั่น ... คุณใช้ distro อะไร? ฉันได้ของฉันทำงานบน buntu 12.04 กับ repo นี้: - sudo add-apt-repository ppa: semiosis / ubuntu-glusterfs-3.3
AngryWombat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.