Score:0

Pacemaker - กำลังบันทึกผลการตรวจสอบ ping หรือไม่

ธง ug

ฉันอ่านหน้านี้และหน้าถัดไป: https://clusterlabs.org/pacemaker/doc/deprecated/en-US/Pacemaker/1.1/html/Pacemaker_Explained/_moving_resources_due_to_connectivity_changes.html

และอธิบายวิธีตั้งค่า Ping ที่คุณสามารถเชื่อมโยงไปยังการจัดสรรทรัพยากรได้

แม้ว่าวิธีนี้จะได้ผล หากฉันมีมากกว่า 1 URL หรือการตรวจสอบ ping มากกว่า 1 ครั้ง ฉันจะรู้ได้อย่างไรว่า URL ใดล้มเหลว

ดูเหมือนว่าสิ่งนี้จะไม่ถูกบันทึกไว้ทุกที่หากเกิดขึ้น มันเพิ่งเกิดขึ้นและเครื่องกระตุ้นหัวใจจะตัดสินใจ...

อ่านซอร์สโค้ดนี้: https://github.com/ClusterLabs/pacemaker/blob/master/extra/resources/ping

ดูเหมือนว่าต้องเปิดใช้งานตัวแปรสภาพแวดล้อมดีบัก ฉันไม่ควรทำสิ่งนี้ โดยสมมติว่าฉันต้องรีสตาร์ทเครื่องกระตุ้นหัวใจสำหรับมัน และทำให้การจัดสรรยุ่งเหยิง รวมถึงจำนวนบันทึกพิเศษจำนวนเท่าใดก็ตามที่จะกินพื้นที่ดิสก์

มีวิธีบันทึกเพียงบรรทัดเดียวหากการ ping ล้มเหลว พูดแค่นั้นและไม่ส่งผลกระทบอย่างอื่นอีกหรือไม่?

Score:2
ธง nr

เมื่อดูที่แหล่งที่มาของตัวแทนทรัพยากร (RA) ดูเหมือนว่าจะเปิดใช้งานตัวเลือกดีบักโดยตั้งค่าเป็น เตือน คือสิ่งที่คุณต้องการจะทำ

หากพฤติกรรมไม่ใช่สิ่งที่คุณต้องการด้วยเหตุผลบางอย่าง ให้เปลี่ยน 1) คำชี้แจงกรณีใน ping_check() ฟังก์ชันที่แสดงด้านล่าง (บรรทัดที่ 305 ใน ping RA) อาจเป็นสิ่งที่คุณกำลังมองหา:

ping_check() {
    แอคทีฟ=0
    สำหรับโฮสต์ใน $OCF_RESKEY_host_list; ทำ
        p_exe=ปิง

        กรณี $(uname) ใน
            ลินุกซ์) p_args="-n -q -W $OCF_RESKEY_timeout -c $OCF_RESKEY_attempts";;
            ดาร์วิน) p_args="-n -q -t $OCF_RESKEY_timeout -c $OCF_RESKEY_attempts -o";;
            FreeBSD) p_args="-n -q -t $OCF_RESKEY_timeout -c $OCF_RESKEY_attempts -o";;
            *) ocf_log err "ประเภทโฮสต์ที่ไม่รู้จัก: $(uname)"; ออกจาก $OCF_ERR_INSTALLED;;
        เอสแซค

        กรณี "$host" ใน
            *:*) p_exe=ping6
        เอสแซค

        ping_output=$($p_exe $p_args $OCF_RESKEY_options $โฮสต์ 2>&1); อาร์ซี=$?

        กรณี $rc ใน
            0)
                แอ็คทีฟ=$(expr $แอกทีฟ + 1)
                ถ้า [ $OCF_RESKEY_debug -gt 1 ]; แล้ว
                    ข้อมูล ping_conditional_log "$ping_output"
                ไฟ
                ;;
            1) ocf_log เตือน "$host ไม่ได้ใช้งาน: $ping_output";;
            *) ocf_log err "ผลลัพธ์ที่ไม่คาดคิดสำหรับ '$p_exe $p_args $OCF_RESKEY_options $host' $rc: $ping_output";;
        เอสแซค

แต่การเปลี่ยนแปลงนั้นดูเหมือนว่าจะเป็นไปตามตรรกะเดียวกันกับการตั้งค่าพารามิเตอร์ แก้ไขข้อผิดพลาด = เตือน. ฉันยังไม่ได้ทดสอบสิ่งนี้ เพียงทำตามตรรกะใน RA

นอกจากนี้ หากคุณจำเป็นต้องรีสตาร์ท Pacemaker ด้วยเหตุผลบางอย่าง คุณสามารถใส่คลัสเตอร์เข้าไปได้เสมอ โหมดการบำรุงรักษา = จริง ก่อนที่จะทำเช่นนั้น ถ้า โหมดการบำรุงรักษา = จริง การตั้งค่า Pacemaker จะไม่เริ่ม/หยุด/ตรวจสอบบริการแม้ในขณะที่รีสตาร์ท อย่าลืมตั้งค่า โหมดการบำรุงรักษา = เท็จ เมื่อคุณทำเสร็จแล้ว

ug flag
ตัวเลือกทั้งสองนี้ดูเหมือนจะสร้างบันทึกได้มากขึ้น และการรีสตาร์ทเครื่องกระตุ้นหัวใจก็ไม่ใช่ตัวเลือกสำหรับฉัน ขอบคุณสำหรับการดูอย่างละเอียด
Score:0
ธง ug

ปรากฎว่าตัวเลือกการดีบักไม่ได้เป็นเพียงตัวแปรสภาพแวดล้อม แต่สามารถตั้งค่าบนทรัพยากร ping ได้เช่นนี้:

การแก้ไขข้อบกพร่อง ping ของทรัพยากรชิ้น = 1

ข้อเสียเพียงอย่างเดียวคือ: บันทึกไม่ปรากฏใน /var/log/pacemaker.log ตามที่คาดไว้แต่ใน /var/log/syslog.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา