ฉันได้กำหนดค่าตัวโหลดบาลานเซอร์เมื่อเกิดข้อผิดพลาด เพื่อให้ทำหน้าที่เป็นตัวสำรองเมื่อใดก็ตามที่ตัวหลักของฉันหยุดทำงาน
ดังนั้นฉันจึงได้ตั้งค่า Keepalived ที่สลับที่อยู่ IP เสมือนแบบลอยไปยังเครื่องอื่นเมื่อใดก็ตามที่ไม่พบบริการ HAProxy ที่ทำงานบนเครื่องอื่น ที่อยู่ IP ที่กล่าวถึงในไฟล์ conf มีอยู่ในอินเทอร์เฟซ eth1 ของฉัน
เกี่ยวกับฉัน ตัวจัดสรรภาระงานหลัก ฉันได้รับ
สถานะ systemctl ยังคงอยู่
â keepalive.service - Keepalive Daemon (LVS และ VRRP)
โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/keepalived.service; เปิดใช้งาน; การตั้งค่าล่วงหน้าของผู้ขาย: เปิดใช้งาน)
ใช้งานอยู่: ใช้งาน (ทำงาน) ตั้งแต่วันอาทิตย์ 2022-05-15 18:06:32 UTC; 21 นาทีที่แล้ว
PID หลัก: 659 (เก็บถาวร)
งาน: 2 (จำกัด: 1131)
หน่วยความจำ: 4.7M
CGroup: /system.slice/keepalived.service
ââ659 /usr/sbin/keepalived --dont-fork
ââ711 /usr/sbin/keepalived --dont-fork
15 พฤษภาคม 18:27:57 น. ubuntu-s-1vcpu-1gb-blr1-01 killall5[2250]: อนุญาตเพียงหนึ่งอาร์กิวเมนต์ หมายเลขสัญญาณ
15 พฤษภาคม 18:28:01 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2252]: อนุญาตเพียงหนึ่งอาร์กิวเมนต์ หมายเลขสัญญาณ
15 พฤษภาคม 18:28:03 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2253]: อนุญาตอาร์กิวเมนต์เดียวเท่านั้น หมายเลขสัญญาณ
15 พฤษภาคม 18:28:05 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2256]: อนุญาตให้ใช้อาร์กิวเมนต์เดียวเท่านั้น หมายเลขสัญญาณ
15 พฤษภาคม 18:28:07 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2259]: อนุญาตอาร์กิวเมนต์เดียวเท่านั้น หมายเลขสัญญาณ
15 พฤษภาคม 18:28:09 น. ubuntu-s-1vcpu-1gb-blr1-01 killall5[2260]: อนุญาตเพียงหนึ่งอาร์กิวเมนต์ หมายเลขสัญญาณ
15 พฤษภาคม 18:28:11 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2261]: อนุญาตเพียงหนึ่งอาร์กิวเมนต์ หมายเลขสัญญาณ
15 พฤษภาคม 18:28:13 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2262]: อนุญาตอาร์กิวเมนต์เดียวเท่านั้น หมายเลขสัญญาณ
15 พฤษภาคม 18:28:15 น. ubuntu-s-1vcpu-1gb-blr1-01 killall5[2263]: อนุญาตเพียงหนึ่งอาร์กิวเมนต์ หมายเลขสัญญาณ
15 พฤษภาคม 18:28:17 น. ubuntu-s-1vcpu-1gb-blr1-01 killall5[2264]: อนุญาตเพียงหนึ่งอาร์กิวเมนต์ หมายเลขสัญญาณ
sudo nano /etc/keepalived/keepalived.conf
vrrp_script chk_haproxy {
สคริปต์ "pidof haproxy"
ช่วงที่ 2
}
vrrp_instance VI_1 {
อินเตอร์เฟส eth1
รัฐ MASTER
ลำดับความสำคัญ 200
virtual_router_id33
unicast_src_ip 10.122.0.2
unicast_peer {
10.122.0.3
}
การรับรองความถูกต้อง {
auth_type ผ่าน
รหัสผ่าน auth_pass
}
track_script {
chk_haproxy
}
alert_master /etc/keepalived/master.sh
}
เกี่ยวกับฉัน ตัวจัดสรรภาระงานสำรอง
สถานะ systemctl ยังคงอยู่
â keepalive.service - Keepalive Daemon (LVS และ VRRP)
โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/keepalived.service; เปิดใช้งาน; การตั้งค่าล่วงหน้าของผู้ขาย: เปิดใช้งาน)
ใช้งานอยู่: ใช้งาน (ทำงาน) ตั้งแต่วันอาทิตย์ 2022-05-15 17:57:16 UTC; 36 นาทีที่แล้ว
PID หลัก: 329993 (เก็บถาวร)
งาน: 2 (จำกัด: 4677)
หน่วยความจำ: 1.9M
CGroup: /system.slice/keepalived.service
ââ329993 /usr/sbin/keepalived --dont-fork
ââ330005 /usr/sbin/keepalived --dont-fork
15 พฤษภาคม 17:57:16 น. ubuntu-s-2vcpu-4gb-blr1-01 Keepalived_vrrp[330005]: สคริปต์ `chk_haproxy` ตอนนี้ส่งคืน 1
15 พฤษภาคม 17:57:16 ubuntu-s-2vcpu-4gb-blr1-01 Keepalived_vrrp[330005]: VRRP_Script(chk_haproxy) ล้มเหลว (ออกจากสถานะ 1)
15 พฤษภาคม 17:57:16 น. ubuntu-s-2vcpu-4gb-blr1-01 Keepalived_vrrp[330005]: (VI_1) เข้าสู่สถานะผิดพลาด
15 พฤษภาคม 18:05:21 ubuntu-s-2vcpu-4gb-blr1-01 killall5[330439]: อนุญาตเพียงหนึ่งอาร์กิวเมนต์ หมายเลขสัญญาณ
15 พฤษภาคม 18:10:13 ubuntu-s-2vcpu-4gb-blr1-01 killall5[330679]: อนุญาตเพียงหนึ่งอาร์กิวเมนต์ หมายเลขสัญญาณ
15 พฤษภาคม 18:11:37 น. ubuntu-s-2vcpu-4gb-blr1-01 killall5[330750]: อนุญาตเพียงหนึ่งอาร์กิวเมนต์ หมายเลขสัญญาณ
15 พฤษภาคม 18:17:53 น. ubuntu-s-2vcpu-4gb-blr1-01 killall5[331070]: อนุญาตเพียงหนึ่งอาร์กิวเมนต์ หมายเลขสัญญาณ
15 พฤษภาคม 18:24:21 ubuntu-s-2vcpu-4gb-blr1-01 killall5[331386]: อนุญาตเพียงหนึ่งอาร์กิวเมนต์ หมายเลขสัญญาณ
15 พฤษภาคม 18:28:11 ubuntu-s-2vcpu-4gb-blr1-01 killall5[331552]: อนุญาตเพียงหนึ่งอาร์กิวเมนต์ หมายเลขสัญญาณ
15 พฤษภาคม 18:30:31 ubuntu-s-2vcpu-4gb-blr1-01 killall5[331649]: อนุญาตเพียงหนึ่งอาร์กิวเมนต์ หมายเลขสัญญาณ
sudo nano /etc/keepalived/keepalived.conf
vrrp_script chk_haproxy {
สคริปต์ "pidof haproxy"
ช่วงที่ 2
}
vrrp_instance VI_1 {
อินเตอร์เฟส eth1
รัฐสำรอง
ลำดับความสำคัญ 100
virtual_router_id33
unicast_src_ip 10.122.0.3
unicast_peer {
10.122.0.2
}
การรับรองความถูกต้อง {
auth_type ผ่าน
รหัสผ่าน auth_pass
}
track_script {
chk_haproxy
}
alert_master /etc/keepalived/master.sh
}
ผลลัพธ์ของ pidof pidof haproxy
หลัก
root@ubuntu-s-1vcpu-1gb-blr1-01:~# pidof haproxy
726 719
รอง
root@ubuntu-s-2vcpu-4gb-blr1-01:~# pidof haproxy
328842 328841
บันทึก : ฉันรันสคริปต์ /etc/keepalived/master.sh ด้วยตนเอง และมันก็ทำงานได้สำเร็จ
แก้ไข 1: มันไม่ทำงานแม้ในขณะที่ฉันใช้ pidof -s haproxy