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

本文档介绍了如何在多台RHEL6.5服务器上通过源码安装keepalived和配置LVS,搭配Apache,实现服务器高可用。详细步骤包括配置要求,软件安装及配置,以及测试验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值