Date: กันยายน 23, 2021
ป้ายกำกับ:ลินุกซ์
ทำความเข้าใจและหลีกเลี่ยงสถานการณ์สมองแตก
แยกสมอง. ผู้อ่านบล็อกของเราจะเคยได้ยินคำนี้ในบริบทของการคำนวณ ซึ่งก็คือ แต่เราอดไม่ได้ที่จะเห็นอกเห็นใจผู้ที่ภาพแรกในจิตใจเป็นความโกลาหล ที่จะเกิดขึ้นหากมีคนมีสมองสองสมอง ในเวลาเดียวกัน.
Failover Cluster Split Brain Scenario คืออะไร?
ในสถานการณ์สมมติการแยกคลัสเตอร์ล้มเหลวทั้งโหนดไม่สามารถสื่อสารกับอีกโหนดหนึ่งได้ และเซิร์ฟเวอร์สแตนด์บายอาจเลื่อนระดับตัวเองให้เป็นเซิร์ฟเวอร์ที่ใช้งานอยู่เนื่องจากเชื่อว่าโหนดที่ใช้งานอยู่ล้มเหลว ส่งผลให้ทั้งสองโหนดกลายเป็น ‘ใช้งาน’ เนื่องจากแต่ละโหนดจะเห็นว่าโหนดอื่นล้มเหลว ด้วยเหตุนี้ ความสมบูรณ์ของข้อมูลและความสอดคล้องกันจึงถูกบุกรุก เนื่องจากข้อมูลบนโหนดทั้งสองจะมีการเปลี่ยนแปลง นี้เรียกว่าสมองแตก
มีสถานการณ์สมมติสมองแตกสองประเภทซึ่งอาจเกิดขึ้นสำหรับลำดับชั้นทรัพยากร SAP HANA หากไม่มีการดำเนินการตามขั้นตอนที่เหมาะสมเพื่อหลีกเลี่ยง
- HANA ทรัพยากรแยกสมอง: ทรัพยากร HANA ใช้งานอยู่ (ISP) บนโหนดคลัสเตอร์หลายโหนด สถานการณ์นี้มักเกิดจากการหยุดทำงานของเครือข่ายชั่วคราวที่ส่งผลต่อเส้นทางการสื่อสารระหว่างโหนดคลัสเตอร์
- SAP HANA System Replication แยกสมอง: ทรัพยากร HANA ใช้งานอยู่ (ISP) บนโหนดหลักและสแตนด์บาย (OSU) บนโหนดสำรอง แต่ฐานข้อมูลกำลังทำงานและลงทะเบียนเป็นไซต์การจำลองแบบหลักบนทั้งสองโหนด สถานการณ์นี้มักเกิดจากความล้มเหลวในการหยุดฐานข้อมูลบนโหนดหลักก่อนหน้าระหว่างเกิดข้อผิดพลาด การเปิดใช้งาน Autostart สำหรับฐานข้อมูล หรือผู้ดูแลระบบฐานข้อมูลที่รัน “hdbnsutil -sr_takeover” ด้วยตนเองบนไซต์การจำลองแบบสำรองภายนอกสภาพแวดล้อมซอฟต์แวร์การทำคลัสเตอร์ .
หลีกเลี่ยงปัญหาสมองแตก
คำแนะนำในการหลีกเลี่ยงหรือแก้ไขสถานการณ์สมองแตกแต่ละประเภทใน ชุดป้องกัน SIOS สภาพแวดล้อมการจัดกลุ่มได้รับด้านล่าง
ขณะอยู่ในสถานการณ์สมมติสมองแตก ข้อความที่คล้ายกับต่อไปนี้จะถูกบันทึกและเผยแพร่ไปยังคอนโซลที่เปิดอยู่ทั้งหมดทุกช่วงของ quickCheck (ค่าเริ่มต้น 2 นาที) จนกว่าปัญหาจะได้รับการแก้ไข
EMERG:hana:quickCheck:HANA-SPS_HDB00:136363:คำเตือน: เกิดความล้มเหลวในการสื่อสารชั่วคราวระหว่างเซิร์ฟเวอร์ hana2-1 และ hana2-2 จำเป็นต้องมีการแทรกแซงด้วยตนเองเพื่อลดความเสี่ยงของการสูญเสียข้อมูล เพื่อแก้ไขสถานการณ์นี้ โปรดยกเลิกการให้บริการลำดับชั้นทรัพยากรต่อไปนี้: HANA-SPS_HDB00 บน hana2-1 หรือ HANA-SPS_HDB00 บน hana2-2 เซิร์ฟเวอร์ที่นำลำดับชั้นของทรัพยากรออกจากบริการจะกลายเป็นไซต์สำรอง SAP HANA System Replication
คำแนะนำสำหรับการแก้ปัญหา:
- ตรวจสอบฐานข้อมูลในแต่ละโหนดคลัสเตอร์เพื่อดูว่าอินสแตนซ์ใดมีข้อมูลล่าสุดหรือที่เกี่ยวข้องมากที่สุด การกำหนดนี้ต้องทำโดยผู้ดูแลระบบฐานข้อมูลที่มีคุณสมบัติซึ่งคุ้นเคยกับข้อมูล
- ทรัพยากร HANA บนโหนดที่มีข้อมูลที่จำเป็นต้องเก็บรักษาจะยังคงใช้งานอยู่ (ISP) ใน LifeKeeper และลำดับชั้นทรัพยากร HANA บนโหนดที่จะถูกลงทะเบียนใหม่เนื่องจากไซต์การจำลองแบบสำรองจะถูกนำออกจากบริการทั้งหมด ผู้ช่วยชีวิต. คลิกขวาที่ทรัพยากรลีฟแต่ละรายการในลำดับชั้นทรัพยากร HANA บนโหนดที่ควรนำลำดับชั้นออกจากบริการแล้วคลิก หยุดให้บริการ …
- เมื่อนำลำดับชั้นทรัพยากร SAP HANA ออกจากบริการเรียบร้อยแล้ว LifeKeeper จะลงทะเบียนโหนดสแตนด์บายอีกครั้งเป็นไซต์การจำลองแบบสำรองระหว่างช่วง quickCheck ถัดไป (ค่าเริ่มต้น 2 นาที) เมื่อการจำลองแบบกลับมาทำงานอีกครั้ง ข้อมูลใดๆ บนโหนดสแตนด์บายที่ไม่มีอยู่ในโหนดที่ใช้งานอยู่จะสูญหาย เมื่อโหนดสแตนด์บายได้รับการลงทะเบียนใหม่เป็นไซต์การจำลองแบบสำรอง ลำดับชั้น SAP HANA จะกลับสู่สถานะที่มีความพร้อมใช้งานสูง
SAP HANA System Replication แยกความละเอียดของสมอง
ในขณะที่อยู่ในสถานการณ์สมมติสมองแตก ข้อความที่คล้ายกับต่อไปนี้จะถูกบันทึกและเผยแพร่ไปยังคอนโซลที่เปิดอยู่ทั้งหมดทุกอย่างรวดเร็ว ตรวจสอบช่วงเวลา (ค่าเริ่มต้น 2 นาที) จนกว่าปัญหาจะได้รับการแก้ไข
EMERG:hana:quickCheck:HANA-SPS_HDB00:136364:คำเตือน: ฐานข้อมูล SAP HANA HDB00 กำลังทำงานและลงทะเบียนเป็นต้นแบบหลักบนทั้ง hana2-1 และ hana2-2 จำเป็นต้องมีการแทรกแซงด้วยตนเองเพื่อลดความเสี่ยงของการสูญเสียข้อมูล เพื่อแก้ไขสถานการณ์นี้ โปรดหยุดอินสแตนซ์ฐานข้อมูล HDB00 บน hana2-2 โดยเรียกใช้คำสั่ง 'su – spsadm -c “sapcontrol -nr 00 -function Stop”' บนเซิร์ฟเวอร์นั้น เมื่อหยุดแล้ว จะกลายเป็นไซต์การจำลองข้อมูลระบบ SAP HANA สำรอง
คำแนะนำสำหรับการแก้ปัญหา:
- ตรวจสอบฐานข้อมูลในแต่ละโหนดคลัสเตอร์เพื่อดูว่ามีข้อมูลสำคัญอยู่บนโหนดสแตนด์บายซึ่งไม่มีอยู่ในโหนดที่ใช้งานอยู่หรือไม่ หากข้อมูลสำคัญถูกส่งไปยังฐานข้อมูลบนโหนดสแตนด์บายในขณะที่อยู่ในสถานะแยกสมอง ข้อมูลจะต้องถูกคัดลอกด้วยตนเองไปยังโหนดที่ใช้งานอยู่ การกำหนดนี้ต้องทำโดยผู้ดูแลระบบฐานข้อมูลที่มีคุณสมบัติซึ่งคุ้นเคยกับข้อมูล
- เมื่อมีการคัดลอกข้อมูลที่ขาดหายไปจากฐานข้อมูลบนโหนดสแตนด์บายไปยังโหนดที่ใช้งานอยู่แล้ว ให้หยุดฐานข้อมูลบนโหนดสแตนด์บายโดยรันคำสั่งที่ระบุในข้อความเตือน LifeKeeper:
su – adm -c “sapcontrol -nr <Inst#> -function Stop” โดยที่ SAP System ID ตัวพิมพ์เล็กสำหรับการติดตั้ง HANA และ <Inst#> คือหมายเลขอินสแตนซ์สำหรับอินสแตนซ์ HDB (เช่น หมายเลขอินสแตนซ์ เช่น HDB00 คือ 00)
- เมื่อฐานข้อมูลหยุดทำงานสำเร็จแล้ว LifeKeeper จะลงทะเบียนโหนดสแตนด์บายอีกครั้งเป็นไซต์การจำลองแบบสำรองระหว่างช่วงเวลา quickCheck ถัดไป (ค่าเริ่มต้น 2 นาที) เมื่อการจำลองแบบกลับมาทำงานอีกครั้ง ข้อมูลใดๆ บนโหนดสแตนด์บายที่ไม่มีอยู่ในโหนดที่ใช้งานอยู่จะสูญหาย เมื่อโหนดสแตนด์บายได้รับการลงทะเบียนใหม่เป็นไซต์การจำลองแบบสำรอง ลำดับชั้น SAP HANA จะกลับสู่สถานะที่มีความพร้อมใช้งานสูง
การตระหนักรู้ถึงสถานการณ์สมมติทั่วไปของสมองแตกและทำตามขั้นตอนเหล่านี้เพื่อบรรเทาสถานการณ์เหล่านี้ สามารถช่วยประหยัดเวลาและปกป้องความสมบูรณ์ของข้อมูลได้
ทำซ้ำโดยได้รับอนุญาตจาก SIOS