| 导读 | 在生产环境中,公网与内网都是独立分开的,所以称之为双网络。下面配置将要实现内网和公网故障时不必同步漂移,例如:Keepalived+LVS-DR、Keepalived+Nginx、Keepalived+HAProxy 这些都无需同步漂移的。另外Keepalived+LVS-NAT则需要同步漂移。 |
示意图
多播IP是:224.0.0.111。
一台机器的VIP内外网互为主备。
+------+
|Client|
+------+
//
+--------+
|Internet|
+--------+
//
+--------+
|NAT 网络|
+--------+
//
+----------------------+
| 内网VIP1:10.16.8.100 |
| 内网VIP2:10.16.8.101 |
+----------------------+
/ /
+-----------------------+ +-----------------------+
|KA+Lvs-DR/Nginx/HAProxy| |KA+Lvs-DR/Nginx/HAProxy|
|内网VIP1:Master (eth1) | |内网VIP1:BACKUP (eth1) |
|内网VIP2:BACKUP (eth1) | |内网VIP2:Master (eth1) |
|内网:10.16.8.10 (eth1) |< ---->|内网:10.16.8.11 (eth1) |
|-----------------------|多播IP|-----------------------|
|公网VIP1:Master (eth2) |< ---->|公网VIP1:BACKUP (eth2) |
|公网VIP2:BACKUP (eth2) | |公网VIP2:Master (eth2) |
|公网:172.16.8.10(eth2) | |公网:172.16.8.11(eth2) |
+-----------------------+ +-----------------------+
/ /
+-----------------------+
| 公网VIP1:172.16.8.100 |
| 公网VIP2:172.16.8.101 |
+-----------------------+
//
+------+
|资源池|
+------+
ka67配置文件
global_defs {
notification_email {
root@localhost
}
notification_email_from ka@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id ka67
vrrp_mcast_group4 224.0.0.111
}
vrrp_instance External_1 {
state MASTER
interface eth1
virtual_router_id 171
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass renwole0
}
virtual_ipaddress {
10.16.8.100
}
notify_master "/usr/local/keepalived/etc/keepalived/notify.sh master"
notify_backup "/usr/local/keepalived/etc/keepalived/notify.sh backup"
notify_fault "/usr/local/keepalived/etc/keepalived/notify.sh fault"
}
vrrp_instance External_2 {
state BACKUP
interface eth1
virtual_router_id 172
priority 95
advert_int 1
authentication {
auth_type PASS
auth_pass renwole1
}
virtual_ipaddress {
10.16.8.101
}
notify_master "/usr/local/keepalived/etc/keepalived/notify.sh master"
notify_backup "/usr/local/keepalived/etc/keepalived/notify.sh backup"
notify_fault "/usr/local/keepalived/etc/keepalived/notify.sh fault"
}
vrrp_instance Internal_1 {
state MASTER
interface eth2
virtual_router_id 191
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass renwole2
}
virtual_ipaddress {
172.16.8.100
}
notify_master "/usr/local/keepalived/etc/keepalived/notify.sh master"
notify_backup "/usr/local/keepalived/etc/keepalived/notify.sh backup"
notify_fault "/usr/local/keepalived/etc/keepalived/notify.sh fault"
}
vrrp_instance Internal_2 {
state BACKUP
interface eth2
virtual_router_id 192
priority 95
advert_int 1
authentication {
auth_type PASS
auth_pass renwole3
}
virtual_ipaddress {
172.16.8.101
}
notify_master "/usr/local/keepalived/etc/keepalived/notify.sh master"
notify_backup "/usr/local/keepalived/etc/keepalived/notify.sh backup"
notify_fault "/usr/local/keepalived/etc/keepalived/notify.sh fault"
}
ka68配置文件
global_defs {
notification_email {
root@localhost
}
notification_email_from ka@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id ka68
vrrp_mcast_group4 224.0.0.111
}
vrrp_instance External_1 {
state BACKUP
interface eth1
virtual_router_id 171
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass renwole0
}
virtual_ipaddress {
10.16.8.100
}
notify_master "/usr/local/keepalived/etc/keepalived/notify.sh master"
notify_backup "/usr/local/keepalived/etc/keepalived/notify.sh backup"
notify_fault "/usr/local/keepalived/etc/keepalived/notify.sh fault"
}
vrrp_instance External_2 {
state MASTER
interface eth1
virtual_router_id 172
priority 95
advert_int 1
authentication {
auth_type PASS
auth_pass renwole1
}
virtual_ipaddress {
10.16.8.101
}
notify_master "/usr/local/keepalived/etc/keepalived/notify.sh master"
notify_backup "/usr/local/keepalived/etc/keepalived/notify.sh backup"
notify_fault "/usr/local/keepalived/etc/keepalived/notify.sh fault"
}
vrrp_instance Internal_1 {
state BACKUP
interface eth2
virtual_router_id 191
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass renwole2
}
virtual_ipaddress {
172.16.8.100
}
notify_master "/usr/local/keepalived/etc/keepalived/notify.sh master"
notify_backup "/usr/local/keepalived/etc/keepalived/notify.sh backup"
notify_fault "/usr/local/keepalived/etc/keepalived/notify.sh fault"
}
vrrp_instance Internal_2 {
state MASTER
interface eth2
virtual_router_id 192
priority 95
advert_int 1
authentication {
auth_type PASS
auth_pass renwole3
}
virtual_ipaddress {
172.16.8.101
}
notify_master "/usr/local/keepalived/etc/keepalived/notify.sh master"
notify_backup "/usr/local/keepalived/etc/keepalived/notify.sh backup"
notify_fault "/usr/local/keepalived/etc/keepalived/notify.sh fault"
}
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/117391.html