QUORUM Disk และ Fencing Wars คืออะไร?
สวัสดีทุกคน ครั้งนี้ ฉันคิดว่าจะตอบคำถามของผู้อ่านคนหนึ่งของเรา (แดเนียล) ที่ถามในความคิดเห็นโดยละเอียด เนื่องจากคุณอาจประสบปัญหานี้เมื่อมีสภาพแวดล้อมแบบคลัสเตอร์ในความรับผิดชอบของคุณที่ต้องดูแลรักษา
ด้านล่างนี้เป็นคำถามที่ Daniel Bello ถาม
“ ฉันมีคำถาม: ฉันพยายามตั้งค่าอุปกรณ์เสมือนของรั้วในสภาพแวดล้อมเสมือนจริง แต่มันไม่ได้ผลสำหรับฉัน ในการกำหนดค่าบางส่วน โหนดไม่กลับมาที่คลัสเตอร์หลังจากเกิดความล้มเหลว ดังนั้นฉันจึงเพิ่มดิสก์ควอรัม และในที่สุดคลัสเตอร์ของฉันก็ใช้งานได้ (โหนดหยุดทำงานและหลังจากความล้มเหลวกลับมาที่คลัสเตอร์) ดังนั้นคำถามของฉันคือ: อะไรคือความแตกต่างระหว่างอุปกรณ์รั้วและดิสก์ควอรัมในเสมือน สิ่งแวดล้อม? ”
คุณสามารถอ้างอิงว่าอุปกรณ์ฟันดาบคืออะไรโดยอ้างอิงจากบทความชุดก่อนหน้าของเราเกี่ยวกับการจัดกลุ่มด้านล่าง
- การฟันดาบและการเพิ่มความล้มเหลวให้กับการทำคลัสเตอร์ - ตอนที่ 3
ก่อนอื่นเรามาดูกันว่าดิสก์ Quorum คืออะไร
Quorum Disk คืออะไร
ดิสก์ควอรัมคือประเภทพื้นที่เก็บข้อมูลของการกำหนดค่าคลัสเตอร์ มันทำหน้าที่เหมือนฐานข้อมูลที่เก็บข้อมูลที่เกี่ยวข้องกับสภาพแวดล้อมแบบคลัสเตอร์ และหน้าที่ของดิสก์ควอรัมคือการแจ้งให้คลัสเตอร์ทราบว่าโหนด/โหนดใดที่จะเก็บไว้ในสถานะ ALIVE อนุญาตให้เข้าถึงพร้อมกันจากโหนดอื่นๆ ทั้งหมดเพื่ออ่าน/เขียนข้อมูล
เมื่อการเชื่อมต่อลดลงระหว่างโหนด (อาจเป็นหนึ่งโหนดหรือมากกว่าหนึ่งโหนด) โควรัมจะแยกโหนดที่ไม่มีการเชื่อมต่อและให้บริการและทำงานต่อไปด้วยโหนดที่ใช้งานอยู่ นำโหนดที่ไม่มีการเชื่อมต่อออกจากบริการจากคลัสเตอร์
ตอนนี้เรามาดูคำถามกัน ดูเหมือนสภาพแวดล้อมที่มี 2 โหนด และอีก 1 โหนดไม่ทำงาน สถานการณ์ที่ แดเนียล เผชิญอยู่ ดูเหมือน "สงครามฟันดาบ" ระหว่างสองโหนดที่ทำงานอยู่
พิจารณาว่ามีสภาพแวดล้อมแบบคลัสเตอร์ที่ไม่มีการเพิ่มดิสก์ควอรัมในการกำหนดค่า คลัสเตอร์นี้มี 2 โหนด และขณะนี้มี 1 โหนดล้มเหลว ในสถานการณ์เฉพาะนี้ การเชื่อมต่อระหว่าง โหนด 1 และ โหนด 2 จะหายไปโดยสิ้นเชิง
จากนั้น โหนด 1 เห็นว่า โหนด 2 ล้มเหลวเนื่องจากไม่สามารถสร้างการเชื่อมต่อได้ และ โหนด 1 ตัดสินใจรั้ว โหนด 2< /แข็งแกร่ง>. ในเวลาเดียวกัน โหนด 2 เห็นว่า โหนด 1 ล้มเหลวเนื่องจากไม่สามารถสร้างการเชื่อมต่อได้ และ โหนด 2 ตัดสินใจรั้ว โหนด 1 เช่นกัน
เนื่องจาก โหนด 1 ได้กั้น โหนด 2 ลงแล้ว จึงเข้าควบคุมบริการและทรัพยากรที่เป็นคลัสเตอร์ เนื่องจากไม่มีดิสก์ควอรัมที่จะตรวจสอบสถานการณ์นี้ใน โหนด 2 และ โหนด 2 สามารถรีสตาร์ทบริการทั้งหมดในเซิร์ฟเวอร์โดยไม่ต้องเชื่อมต่อกับ โหนด 1 แข็งแกร่ง>.
ตามที่ฉันได้กล่าวไว้ก่อนหน้านี้ โหนด 2 ยังรั้ว โหนด 1 เนื่องจากไม่สามารถมองเห็นการเชื่อมต่อใด ๆ ไปยัง โหนด 1 จาก โหนด 2 > และสิ่งที่เกิดขึ้นต่อไปคือ โหนด 1 รีสตาร์ทบริการทั้งหมดในเซิร์ฟเวอร์ เนื่องจากไม่มีองค์ประชุมที่จะตรวจสอบสถานะของ โหนด 1 เช่นกัน
สิ่งนี้ถูกระบุว่าเป็นสงครามฟันดาบ
ตอนนี้วงจรนี้จะดำเนินต่อไปชั่วนิรันดร์จนกว่าวิศวกรจะหยุดบริการด้วยตนเองหรือเซิร์ฟเวอร์ปิดตัวลงหรือสร้างการเชื่อมต่อเครือข่ายระหว่างโหนดได้สำเร็จ นี่คือจุดที่ดิสก์ควอรัมเข้ามาช่วย กระบวนการลงคะแนนเสียงในการกำหนดค่าองค์ประชุมเป็นกลไกที่ป้องกันไม่ให้เกิดรอบที่สูงกว่า
สรุป :
- สภาพแวดล้อมแบบคลัสเตอร์ถูกนำมาใช้ทุกที่เพื่อความปลอดภัยของข้อมูลและบริการเพื่อให้ผู้ใช้มีเวลาทำงานสูงสุดและประสบการณ์ข้อมูลแบบสด
- อุปกรณ์รั้วใช้ในสภาพแวดล้อมแบบคลัสเตอร์เพื่อแยกโหนดที่โหนดอื่นไม่ทราบสถานะ คลัสเตอร์จะใช้อุปกรณ์รั้วเพื่อกั้น (ลบ) โหนดที่ล้มเหลวโดยอัตโนมัติ และให้บริการยังคงทำงานต่อไป และเริ่มกระบวนการเฟลโอเวอร์โอเวอร์
- ดิสก์ควอรัมไม่จำเป็นที่จะต้องมีในสภาพแวดล้อมแบบคลัสเตอร์ แต่ควรมีดิสก์หนึ่งใน 2 โหนดคลัสเตอร์เพื่อหลีกเลี่ยงสงครามฟันดาบ
- การมีดิสก์ควอรัมในคลัสเตอร์ที่มีมากกว่า 2 โหนด ไม่ใช่ปัญหา แต่มีโอกาสน้อยที่จะเกิดสงครามฟันดาบในสภาพแวดล้อมเฉพาะนี้ ด้วยเหตุนี้ การมีดิสก์ควอรัมในคลัสเตอร์โหนด 3 ขึ้นไปจึงมีความสำคัญน้อยกว่าคลัสเตอร์ที่มี 2 โหนด
- อย่างไรก็ตาม การมีดิสก์ควอรัมในสภาพแวดล้อมคลัสเตอร์แบบหลายโหนดถือเป็นเรื่องดี เพื่อให้คุณสามารถดำเนินการตรวจสอบสภาพที่ผู้ใช้กำหนดเองสำหรับโหนดต่างๆ ได้
สำคัญ: โปรดทราบว่าคุณสามารถเพิ่มโหนดในองค์ประชุมได้โดยมีขีดจำกัด คุณสามารถเพิ่มได้สูงสุด 16 โหนด
หวังว่าคุณจะสนุกกับบทความนี้ ติดต่อกับ tecmint เพื่อขอคำแนะนำด้านเทคนิคสำหรับ Linux ที่มีประโยชน์ยิ่งขึ้น