keepalived(源码安装)+lvs+apache高可用配置搭建

xiaoxiao2021-02-28  81

1.配置要求

服务器: server1:172.25.13.1 web1 rhel6.5 server2:172.25.13.2 web2 rhel6.5 server4:172.15.13.4 node1 rhel6.5 server5:172.25.13.5 node2 rhel6.5

VIP:172.25.13.100

软件: keepalived-1.2.24.tar.gz arptables_jf httpd

2.软件安装及配置

[server1]

yum install -y httpd arptables_jf echo 'ip addr add 172.25.13.100/24 dev eth0'>>/etc/rc.d/rc.local /etc/rc.d/rc.local arptables -A OUT -s 172.25.13.100 -j mangle --mangle-ip-s 172.25.13.1 /etc/init.d/httpd start

[server2]

yum install -y httpd arptables_jf echo 'ip addr add 172.25.13.100/24 dev eth0'>>/etc/rc.d/rc.local /etc/rc.d/rc.local arptables -A OUT -s 172.25.13.100 -j mangle --mangle-ip-s 172.25.13.2 /etc/init.d/httpd start

[server4][server5]

yum install openssl-devel -y tar zxf keepalived-1.2.24.tar.gz cd keepalived-1.2.24 ./configure --prefix=/usr/local/keepalived;make;make install ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ ln -s /usr/local/keepalived/etc/keepalived /etc/ ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/ chmod +x /usr/local/keepalived/etc/rc.d/init.d/keepalived vim /etc/keepalived/keepalived.conf /etc/init.d/keepalived start

#cat /etc/keepalived/keepalived.conf [server4]

! Configuration File for keepalived global_defs { notification_email { root@localhost #接收警报的 email 地址,可以添加多个 } notification_email_from keepalived@server1 #设置邮件的发送地址 smtp_server 127.0.0.1 #设置 smtp server 地址 smtp_connect_timeout 30 #设置连接 smtp 服务器超时时间 router_id LVS_DEVEL #load balancer 的标识 ID,用于 email 警报 vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state MASTER #备机改为BACKUP,此状态是由priority的值来决定的 interface eth0 #HA 监测网络接口 virtual_router_id 51 #主、备机的 virtual_router_id 必须相同,取值 0-255 priority 100 #主机的优先级,备份机改为 50,主机优先级一定要大于备机 advert_int 1 #主备之间的通告间隔秒数 authentication { #主备切换时的验证 auth_type PASS #设置验证类型,主要有 PASS 和 AH 两种 auth_pass 1111 #验证密码,在一个vrrp_instance下,MASTER与BACKUP必须使用相同的密码 } virtual_ipaddress { #设置虚拟 IP 地址,可以设置多个虚拟 IP 地址,每行一个 172.25.13.100 } } virtual_server 172.25.13.100 80 { #定义虚拟服务器 delay_loop 6 #每隔 6 秒查询 realserver 状态 lb_algo rr #lvs 调度算法,这里使用轮叫 lb_kind DR #LVS 是用 DR 模式 # persistence_timeout 50 50s客户端无请求则可以切换RS,当为ftpd,mysqld要打开 protocol TCP #指定转发协议类型,有 tcp 和 udp 两种 real_server 172.25.13.1 80 { #配置服务节点 weight 1 TCP_CHECK { #realserve 的状态检测设置部分,单位是秒 connect_timeout 3 #3秒无响应超时 nb_get_retry 3 #重试次数 delay_before_retry 3 #重试间隔 } } real_server 172.25.13.2 80 { weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }

#cat /etc/keepalived/keepalived.conf [server5]

! Configuration File for keepalived global_defs { notification_email { root@localhost } notification_email_from keepalived@server2 smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 50 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.25.13.100 } } virtual_server 172.25.13.100 80 { delay_loop 6 lb_algo rr lb_kind DR # persistence_timeout 50 protocol TCP real_server 172.25.13.1 80 { weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } real_server 172.25.13.2 80 { weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }

3.测试

[server4] ipvsadm -l tail -f /var/log/message

[other]

curl 172.25.254.88
转载请注明原文地址: https://www.6miu.com/read-27832.html

最新回复(0)