如果公司只有两个技术人员A和B,A负责项目1,B负责项目2。有一天A的老婆要生孩子了,请假照顾老婆去了;这时候项目1就被搁置了,CTO也为此很担忧,没人维护项目1,一旦有了bug,业务可能被暂停。这时候老板看见B在走廊抽烟,就把B训斥了一顿,让他回去继续干活儿。刚好CTO经过此地,看见此情此景,就找到了B,安慰他,然后让他有空的时候兼顾一下项目2,于是就把两个项目的事情都托付给了B去做了。以后当B请假,A也可以同时兼顾项目1,项目2的工作。
看到上面的例子,有没有想起 我们刚学的Keepalived高可用呢?其实,在keepalived中也有会这样的情况出现,比如说,有www.daydayup.com和bbs.daydayup.com两个域名都解析都我们的负载均衡服务器上,我们也只有两台反向代理服务器,此时我们应该如何去做两个域名的双向高可用(互为主备)呢?
lb01的Keepalived配置如下 :
global_defs {
router_id lb01_lvs
}
vrrp_instance group01 { ###group01
state MASTER ###MASTER描述
interface eth0
virtual_router_id 51 ###
priority 150 ###主的权重大
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.3/24 dev eth0 label eth0:1 ###监听地址10.0.0.3
}
}
vrrp_instance group02 { ###group02
state BACKUP ###BACKUP描述
interface eth0
virtual_router_id 52 ###
priority 100 ###备用的权重小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.4/24 dev eth0 label eth0:1 ###监听地址10.0.0.4
}
}
lb02的Keepalived配置如下 :
vrrp_instance group01 { ####10.0.0.3 BACKUP
state BACKUP
interface eth0
virtual_router_id 51 #
priority 100 #
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.3/24 dev eth0 label eth0:1 #
}
}
vrrp_instance group02 { ###10.0.0.4 MASTER
state MASTER
interface eth0
virtual_router_id 52 #
priority 150 #
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.4/24 dev eth0 label eth0:1 #
}
}
lb01的Nginx配置如下 :
upstream default1{
server 172.16.1.5:8080;
}
upstream default2{
server 172.16.1.6:8080;
}
server {
listen 80;
server_name 10.0.0.3; ###监听地址
location / {
proxy_pass http://default1;
proxy_set_header host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
server {
listen 80;
server_name 10.0.0.4; ####监听地址
location / {
proxy_pass http://default2;
proxy_set_header host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
###Nginx修改ip后,采用sbin/nginx -s stop,sbin/nginx 启动
lb02的Nginx配置如下 :
upstream default1{
server 172.16.1.5:8080;
}
upstream default2{
server 172.16.1.6:8080;
}
server {
listen 80;
server_name 10.0.0.3;
location / {
proxy_pass http://default1;
proxy_set_header host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
server {
listen 80;
server_name 10.0.0.4;
location / {
proxy_pass http://default2;
proxy_set_header host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
###Nginx修改ip后,采用sbin/nginx -s stop,sbin/nginx 启动
查看lb01的IP信息:
[root@lb01 application]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:93:a7:84 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.5/24 brd 10.0.0.255 scope global eth0
inet 10.0.0.3/24 scope global secondary eth0:1 ###监控IP:10.0.0.3
inet6 fe80::20c:29ff:fe93:a784/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:93:a7:8e brd ff:ff:ff:ff:ff:ff
inet 172.16.1.5/24 brd 172.16.1.255 scope global eth1
inet6 fe80::20c:29ff:fe93:a78e/64 scope link
valid_lft forever preferred_lft forever
[root@lb01 application]#
查看lb02的IP信息:
[root@lb02 tools]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:0d:3a:d6 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.6/24 brd 10.0.0.255 scope global eth0
inet 10.0.0.4/24 scope global secondary eth0:1 ###监控Ip:10.0.0.4
inet6 fe80::20c:29ff:fe0d:3ad6/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:0d:3a:e0 brd ff:ff:ff:ff:ff:ff
inet 172.16.1.6/24 brd 172.16.1.255 scope global eth1
inet6 fe80::20c:29ff:fe0d:3ae0/64 scope link
valid_lft forever preferred_lft forever
测试:
关闭lb01或者lb02的keepalived服务:
[root@lb01 application]# /etc/init.d/keepalived stop
Stopping keepalived: [ OK ]
访问10.0.0.3/10.0.0.4如下:
最后修改于 2020-01-06 17:13:41
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

