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

来源:互联网 发布:淘宝vip折扣价怎么设置 编辑:程序博客网 时间:2024/06/08 11:01

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_jfecho 'ip addr add 172.25.13.100/24 dev eth0'>>/etc/rc.d/rc.local/etc/rc.d/rc.localarptables -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_jfecho 'ip addr add 172.25.13.100/24 dev eth0'>>/etc/rc.d/rc.local/etc/rc.d/rc.localarptables -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 -ytar zxf keepalived-1.2.24.tar.gzcd keepalived-1.2.24./configure --prefix=/usr/local/keepalived;make;make installln -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/keepalivedvim /etc/keepalived/keepalived.conf/etc/init.d/keepalived start

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

! Configuration File for keepalivedglobal_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 keepalivedglobal_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 -ltail -f /var/log/message

[other]

curl 172.25.254.88
阅读全文
0 0
原创粉丝点击