您的位置:首页 > 运维架构 > Apache

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

2017-06-06 22:02 399 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐