Score:0

Keepalived: การเปลี่ยนไปยังโหนดสำรองจะไม่เกิดขึ้นเมื่อสคริปต์ตรวจสอบบนเซิร์ฟเวอร์หลักพบว่าบริการหยุดทำงานสำหรับแอปพลิเคชัน

ธง eg

ฉันกำลังพยายามกำหนดค่า Keepalived ในลักษณะที่หากแอปพลิเคชันหรือบริการใด ๆ ที่ทำงานบนโหนดหลักล้มเหลว Keepalived ควรพิจารณาว่าเป็นข้อบกพร่อง และโหนดสำรองควรทำหน้าที่เป็นมาสเตอร์และรับช่วง IP ลอยจากโหนดหลัก

ฉันได้เขียนสคริปต์เพื่อตรวจสอบว่าบริการ X บนเซิร์ฟเวอร์หลักหยุดทำงานหรือไม่ จากนั้นควรเปลี่ยนไปใช้โหนดสำรอง

คอนเฟิร์ม Keepalive ของฉันคือ:

global_defs {
enable_script_security
}
vrrp_script keepalived_check {
สคริปต์ "/root/new/check.sh"
ช่วงที่ 1
หมดเวลา 1
เพิ่มขึ้น 2
ฤดูใบไม้ร่วง 2
น้ำหนัก 0 ย้อนกลับ
}
vrrp_instance V1_11 {
รัฐ MASTER
อินเทอร์เฟซ ens3
virtual_router_id51
ลำดับความสำคัญ 101
advert_int 1
unicast_src_ip 192.168.10.129
unicast_peer {
    192.168.10.130
}
การรับรองความถูกต้อง {
    auth_type ผ่าน
    รับรองความถูกต้อง 1122
}
virtual_ipaddress {
    192.168.10.231/24
}
track_script {
    keepalive_check
}
}

สคริปต์ที่ตรวจสอบสถานะบริการ:

#!/bin/bash
var="$(systemctl is-active myservice.service)"

ถ้า [ $var == "ใช้งานอยู่" ]
แล้ว
    เสียงสะท้อน 0
อื่น
    เสียงสะท้อน 5
ไฟ

ฉันหยุดใช้ "myservice" ด้วยตนเอง

systemctl หยุด myservice.service

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

โพสต์คำตอบ

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