แยกสมองคืออะไร
ดังที่ได้กล่าวไว้ในเอกสารอย่างเป็นทางการเกี่ยวกับการจัดการสมอง - แยกที่จัดทำโดย RedHat สมองแยกเป็นสถานะเมื่อข้อมูลหรือความไม่พร้อมใช้งานที่เกิดจากการบำรุงรักษาชุดข้อมูลแยกกันสองชุดที่มีขอบเขตซ้อนทับกัน หรือสภาพความล้มเหลวขึ้นอยู่กับเซิร์ฟเวอร์ที่ไม่ได้สื่อสารและประสานข้อมูลของพวกเขากับแต่ละอื่น ๆ และเป็นคำที่ใช้ในการทำซ้ำการกำหนดค่า
โปรดสังเกตว่ามีการกล่าวว่า"เงื่อนไขความล้มเหลวที่อิงกับเซิร์ฟเวอร์ที่ไม่ได้ทำการสื่อสารและซิงโครไนซ์ข้อมูลของพวกเขากับกันและกัน" - เนื่องจากความเป็นไปได้ใด ๆ - แต่ไม่ได้หมายความว่าโหนดของคุณอาจสูญเสียการเชื่อมต่อ เพียร์อาจยังอยู่ในคลัสเตอร์และเชื่อมต่อ
ประเภทสมองแตก:
เรามีสมองแตกต่างกันสามแบบและเท่าที่ฉันเห็นคุณคือสมองแยก หากต้องการอธิบายสมองแยกสามประเภท:
Data split-brainเนื้อหาของไฟล์ภายใต้ split-brain นั้นมีความแตกต่างกันในแบบจำลองคู่ที่แตกต่างกันและไม่สามารถทำการรักษาแบบอัตโนมัติได้
Metadata split-brain :, Metadata ของไฟล์ (ตัวอย่าง, แอตทริบิวต์ที่ขยายโดยผู้ใช้กำหนด) นั้นแตกต่างกันและไม่สามารถทำการรักษาแบบอัตโนมัติได้
Entry split-brain:มันเกิดขึ้นเมื่อไฟล์มี gfids ที่แตกต่างกันในแต่ละคู่จำลอง
GFID คืออะไร
ตัวระบุไฟล์ภายใน GlusterFS (GFID)เป็น uuid ที่ไม่ซ้ำกันสำหรับแต่ละไฟล์ทั่วทั้งคลัสเตอร์ นี่คล้ายกับหมายเลขไอโหนดในระบบไฟล์ปกติ GFID ของไฟล์จะถูกเก็บไว้ใน xattr trusted.gfid
ของชื่อ หากต้องการค้นหาเส้นทางจาก GFID ฉันขอแนะนำให้คุณอ่านบทความอย่างเป็นทางการจาก GlusterFS
วิธีแก้ปัญหาสมองซีกรายการ?
มีหลายวิธีในการป้องกันไม่ให้สมองแยกเกิดขึ้น แต่เพื่อแก้ไขไฟล์ gfid-link ที่เกี่ยวข้องจะต้องถูกลบออก ไฟล์ gfid-link มีอยู่ในไดเรกทอรี. glusterfs ในไดเรกทอรีระดับบนสุดของอิฐ อย่างไรก็ตามโปรดระวังก่อนที่จะลบ gfid-links คุณต้องแน่ใจว่าไม่มีการเชื่อมโยงอย่างหนักไปยังไฟล์ที่อยู่บนอิฐนั้น หากมีฮาร์ดลิงก์อยู่คุณต้องลบลิงก์เหล่านั้นด้วย จากนั้นคุณสามารถใช้กระบวนการบำบัดตนเองได้โดยการรันคำสั่งต่อไปนี้
ในระหว่างนี้หากต้องการดูรายการไฟล์ในโวลุ่มที่อยู่ในสภาวะสมองแยกคุณสามารถใช้:
# gluster volume heal VOLNAME info split-brain
คุณควรระวังว่าสำหรับโวลุ่มที่ทำซ้ำเมื่ออิฐเข้าสู่สถานะออฟไลน์และกลับมาออนไลน์จำเป็นต้องรักษาตัวเองเพื่อซิงค์เรพพลิกาทั้งหมด
วิธีตรวจสอบสถานะการหายของปริมาณและไฟล์ที่คุณสามารถใช้ได้:
# gluster volume heal VOLNAME info
เนื่องจากคุณใช้เวอร์ชัน 3.5 คุณไม่มีการรักษาแบบอัตโนมัติ ดังนั้นหลังจากทำตามขั้นตอนที่กล่าวถึงก่อนหน้านี้คุณต้องกระตุ้นการรักษาตัวเอง โดยทำดังนี้
เฉพาะไฟล์ที่ต้องการการรักษา:
# gluster volume heal VOLNAME
ในทุกไฟล์:
# gluster volume heal VOLNAME full
ฉันหวังว่าสิ่งนี้จะช่วยคุณในการแก้ไขปัญหาของคุณ โปรดอ่านเอกสารอย่างเป็นทางการสำหรับข้อมูลเพิ่มเติม ไชโย