4. 基于keepalived的LVS高可用搭建
之前用虚拟机配置了lvs,现在给清掉,使用ipvsadm -C
第一台机器:
给清掉,使用ipvsadm -C
把vip给down掉
第二台和第三台之前安装了隐藏vip
第四台机器还是个裸机
第一台和第四台机器安装keepalived:yum install keepalived ipvsadm -y
在第一台机器配置keepalived
cd /etc/keepalived/
cp keepalived.conf keepalived.conf.bak
vi keepalived.conf
修改内容:
vrrp_instance VI_1 { # 配置vip
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.150.100/24 dev eth0 label eth0:3
}
}
virtual_server 192.168.150.100 80 { # 修改为vip80端口
delay_loop 6
lb_algo rr # 轮询
lb_kind DR # 使用DR模型
nat_mask 255.255.255.0
persistence_timeout 0 # 实验测试时候改成0,如果生产时候要改成合适的值
protocol TCP
real_server 192.168.150.12 80 { # 要负载到的机器
weight 1
HTTP_GET { # web服务请求改成http
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.150.13 80 { # 跟上面的一样,配置要负载的另一个机器
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
第四台机器跟第一台机器一样的配置,所以把这个文件拷贝过去
scp ./keepalived.conf root@node04:`pwd`
注意有两个地方配置不一样
其他地方都和第一台机器的配置文件一样的
配置文件编写好以后,启动
service keepalived start
启动第四台机器备机
可以启动,但是没有出现vip,因为它是备机,但是要负载的机器信息肯定有
测试一下看第四台备机能否及时替换到第一台主机
把第一台主机的网卡直接down掉
然后查看第四台机器,发现有了vip信息
并且测试访问vip,还可以正常负载到其他服务上
如果这时候第一台机器的网卡又给修好了
# 第一台主机上面执行命令
ifconfig eth0 up
这时候查看第四台机器备机,发现vip又没了,因为第一台机器是主机,权重比较高,所以抢回了
如果现在把第二台机器服务给停掉
现在就只能负载第三台机器的服务了
查看第一台主机的keepalived,只有第三台机器的负载条目了
查看第四台备机也是一样的,已经同步了
如果这个时候第二台机器的服务又给启动了,第一台和第四台机器可以再次查看到服务的负载条目
《三体》中有句话——弱小和无知不是生存的障碍,傲慢才是。
所以我们不要做一个小青蛙