实验环境:同网段可ping通,可ping百度,--为注释,以下行无注释的照抄
MASTER_LVS:192.168.11.10
BACKUP_LVS:192.168.11.20
REALSERVER:192.168.11.21
REALSERVER:192.168.11.22
MASTER_LVS操作:yum -y install ipvsadm,yum -y install keepalived,下载完用rpm -ql keepalived查看其配置文件的位置,
打开vim /etc/keepalived/keepalived.conf删掉里面的全部默认的配置,输入如下命令:一定要注意大括号对应
! Configuration File for keepalived
global_defs { --邮件服务没搭建可忽视
root@localhost
}
notification_email_from root@localhost
smtp_server localhost
smtp_connect_timeout 30
router_id LVS --LVS为主机名
}
vrrp_instance apache { --apache名字可随意改
state MASTER --MASTER等级
interface ens33 --网卡名称要对应自己的
virtual_router_id 51 --可不改,要改的话跟BACKUP_LVS同一数字
priority 100 --优先级100,backup这里要比100小就行,比如backup写90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.11.111 --指定VIP地址,不需要手动去增加一个
}
}
virtual_server 192.168.11.111 80 { --对应上面的VIP地址,端口80,这里是搭建web服务器高可用
delay_loop 6
lb_algo rr --轮询模式rr
lb_kind DR --LVS-DR模式
nat_mask 255.255.255.0
# persistence_timeout 50
protocol TCP --TCP协议
real_server 192.168.11.21 80 { --指定rs1的IP地址
weight 1 --权重1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80 -定时检查80端口
}
}
real_server 192.168.11.22 80 { --指定rs2的IP地址
weight 1 --权重1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
BACKUP_LVS操作跟上面的差不多:把master上的配置文件复制过去scp keepalived.conf 192.168.11.20:/etc/keepalived/,
修改三处地方:router_id RS2 --backup的主机名
state BACKUP --状态为BACKUP
interface ens33 --对应好backuplvs网卡名称
RS1,2操作:安装好web服务器,路由转发关掉
vim /etc/sysctl.conf添加如下命令,是为了俩台节点服务器的lo口配置为lvs服务器的VIP地址后一直arp广播,就是得到请求后不响应
net.ipv4.conf.ens33.arp_ignore = 1
net.ipv4.conf.ens33.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
关掉路由转发功能后
这里就弄个临时网卡lo:1再配置IP
ifconfig lo:1 192.168.11.111 netmask 255.255.255.255 up
以上就搞定了,接下来测试,在masterlvs用ip a查看VIP地址,关掉服务systemctl stop keepalived后发现VIP漂移到backuplvs服务器了,重新启动
master的keepalived后发现VIP又漂移到master了,这里是因为刚才在配置文件设置的优先级大小问题,继续测试,RS1关掉httpd后,发现请求的网页继续
能响应,但是回复请求的是RS2,启动RS1的httpd后,RS1和RS2分别轮询请求,这里就实现lvs高可用和RS高可用,不会发生单点故障,但是问题来了,
有一台backup的服务器资源没用到,浪费了,因为只有另一台keepalived故障VIP才会跳到backup,这时候keepalived互为主从。
keepalived互为主从操作:在配置文件/etc/keepalived/keepalived.conf添加上配置:
下面可以看到多了vrrp_instance apache2{},virtual_server 192.168.11.112 80{}
LVS1的keepalived.conf如下:
! Configuration File for keepalived
vrrp_instance apache1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.11.111
}
}
vrrp_instance apache2 {
state BACKUP
interface ens33
virtual_router_id 52
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.11.112
}
}
virtual_server 192.168.11.111 80 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
# persistence_timeout 50
protocol TCP
real_server 192.168.11.21 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.11.22 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
virtual_server 192.168.11.112 80 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
# persistence_timeout 50
protocol TCP
real_server 192.168.11.21 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.11.22 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
LVS2的keepalived.conf如下:
! Configuration File for keepalived
global_defs {
root@localhost
}
notification_email_from root@localhost
smtp_server localhost
smtp_connect_timeout 30
router_id LVS
}
vrrp_instance apache1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.11.111
}
}
vrrp_instance apache2 {
state MASTER
interface ens33
virtual_router_id 52
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.11.112
}
}
virtual_server 192.168.11.111 80 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
# persistence_timeout 50
protocol TCP
real_server 192.168.11.21 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.11.22 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
virtual_server 192.168.11.112 80 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
# persistence_timeout 50
protocol TCP
real_server 192.168.11.21 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.11.22 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
弄完配置后复制到另一台keepalived服务器scp keepalived.conf 192.168.11.20:/etc/keepalived/
修改一下,注意看vrrp_instance apache1{},virtual_server 192.168.11.111 80{}
vrrp_instance apache2{},virtual_server 192.168.11.112 80{}
现在有了两个VIP,所以得在两台RS上再配置一个lo:2网卡
ifconfig lo:2 192.168.11.112 broadcast 192.168.11.112 netmask 255.255.255.255 up
keepalived高可用和互为主从(lvs+keepalived)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 在上一篇日志中,介绍了数据库主从环境的配置,本篇将介绍keepalived配置。 1、服务器角色及ip: 2、 k...
- 在上一篇日志中,介绍了配置主从及keepalived所需的软件环境的安装方法。在本篇文章中,将介绍数据库主从环境的...
- 系统环境配置:CentOS Linux release 7.3.1611 (Core)mysql Ver 14....
- 1、实现haproxy+keepalived高可用集群 1.1 部署规划: 192.168.37.37:hapro...
- 环境 主机名ip系统用途client172.16.147.1mac客户端lvs-keepalived-master...