Tôi đã thiết lập lưu giữ trên hai máy Debian để có tính sẵn sàng cao, nhưng tôi đã chạy vào số lượng IP ảo tối đa tôi có thể gán cho mình vrrp_instance
. Làm cách nào để tôi định cấu hình và không thành công trên 20 IP ảo?
Đây là, rất đơn giản, thiết lập:
LB01: 10.200.85.1
LB02: 10.200.85.2
Virtual IPs: 10.200.85.100 - 10.200.85.200
Mỗi máy cũng đang chạy liên kết Apache (sau này là Nginx) trên các IP ảo để chấm dứt chứng chỉ ứng dụng khách SSL và ủy quyền cho máy chủ web phụ trợ. Lý do tôi cần rất nhiều VIP là không thể sử dụng Virtualhost trên HTTPS.
Đây là keepaliving.conf của tôi:
vrrp_script chk_apache2 {
script "killall -0 apache2"
interval 2
weight 2
}
vrrp_instance VI_1 {
interface eth0
state MASTER
virtual_router_id 51
priority 101
virtual_ipaddress {
10.200.85.100
.
. all the way to
.
10.200.85.200
}
Một cấu hình giống hệt nhau trên máy BACKUP và nó hoạt động tốt, nhưng chỉ lên đến IP thứ 20.
Tôi đã tìm thấy một HOWTO thảo luận về vấn đề này. Về cơ bản, họ đề nghị chỉ có một VIP và định tuyến tất cả lưu lượng truy cập "thông qua" một IP này và "tất cả sẽ ổn". Đây có phải là một cách tiếp cận tốt? Tôi đang chạy tường lửa pfSense trước các máy.
Trích dẫn từ liên kết trên:
ip route add $VNET/N via $VIP
or
route add $VNET netmask w.x.y.z gw $VIP
Cảm ơn trước.
BIÊN TẬP:
@David Schwartz cho biết sẽ rất hợp lý khi thêm một tuyến đường, vì vậy tôi đã thử thêm một tuyến tĩnh vào tường lửa pfSense, nhưng nó không hoạt động như tôi mong đợi.
tuyến đường pfSense:
Interface: LAN
Destination network: 10.200.85.200/32 (virtual IP)
Gateway: 10.200.85.100 (floating virtual IP)
Description: Route to VIP .100
Tôi cũng đảm bảo rằng tôi đã bật chuyển tiếp gói trên máy chủ của mình:
$ cat /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.ip_nonlocal_bind=1
Tôi đang làm điều này sai? Tôi cũng đã xóa tất cả các VIP khỏi keepaliving.conf để nó chỉ thất bại hơn 10.200,85.100.