ฉัน Keepalived ทำงานบน 2 (centos7) vms และสามารถเห็นได้ว่าการเฟลโอเวอร์ทำงานสำเร็จในรูปแบบที่ง่ายที่สุดโดยการออก ping -t 192.168.1.11
และดึง vm1 ออกจากเครือข่าย หลังจากนั้นฉันเห็นเพียงหนึ่งใน ping หมดเวลาก่อนที่ vm2 จะหยิบมันขึ้นมาและเริ่มตอบสนอง
หลังจากล้มเหลวสำเร็จ ระบบจะรีเซ็ตหลังจาก vm1 ถูกนำกลับมาออนไลน์ และดูเหมือนว่าโดยทั่วไปแล้วฉันจะไม่เห็นการหมดเวลา ping ใดๆ เลย แม้ว่าฉันคิดว่านั่นเป็นเพราะบังเอิญ เนื่องจากสิ่งต่าง ๆ ไม่ซิงโครไนซ์...
ปัญหาที่ฉันเห็นคือ http ในการตั้งค่าเดียวกันนี้ ฉันมีเว็บแอปที่ทำงานบน vm1 และ vm2 และฉันสามารถเห็น GET แต่ละตัวที่เข้ามา (ผ่าน ssh บน vm1 หรือ vm2) ฉันยังเขียนแอปทดสอบในกล่อง dev ของฉันเพื่อวนรอบ http get ของหน้าหลักอย่างง่าย (โดยหมดเวลา 1 วินาที) ในขณะที่ฉันลบ vm1 ออกจากเครือข่าย และฉันเห็นเวลาล้มเหลว/รีเซ็ตได้ทุกที่ตั้งแต่ <1 วินาทีถึง 27 วินาที
กำลังดูเอกสาร ที่นี่ ฉันไม่เห็นพารามิเตอร์ใด ๆ ที่ฉันสามารถเปลี่ยนแปลงได้ซึ่งอาจส่งผลต่อสิ่งนี้ แต่ต้องการทราบข้อมูลเชิงลึกเพิ่มเติมว่าทำไมสิ่งนี้จึงแตกต่างกันมาก และถ้าฉันสามารถลดเวลาเฟลโอเวอร์ได้ อีกด้วย นี้ คำตอบอันดับต้น ๆ ที่นี่แนะนำว่า advert_int มีความสำคัญ แต่ฉันตั้งค่าเป็นหนึ่งและยังเห็นผลลัพธ์ที่หลากหลายเหล่านี้ ...
นี่คือไฟล์ปรับแต่ง kad ของ vm1:
global_defs {
รากของ script_user
}
vrrp_instance VIP01 {
รัฐ MASTER
อินเทอร์เฟซ eth0
virtual_router_id 101
ลำดับความสำคัญ 150
advert_int 1
การรับรองความถูกต้อง {
auth_type ผ่าน
auth_pass [สนิป]
}
virtual_ipaddress {
192.168.1.11
}
}
และ vm2:
global_defs {
รากของ script_user
}
vrrp_instance VIP01 {
รัฐสำรอง
อินเทอร์เฟซ eth0
virtual_router_id 101
ลำดับความสำคัญ 100
advert_int 1
การรับรองความถูกต้อง {
auth_type ผ่าน
auth_pass [สนิป]
}
virtual_ipaddress {
192.168.1.11
}
}