keepalived+lvs高可用负载均衡集群
准备4台主机。HA1:192.168.126.213
HA2:192.168.126.214
RS1:192.168.126.215
RS2:192.168.126.216
VIP:192.168.126.217
一、准备负载均衡机(RS1和RS2)
1)准备工作:
1.确保设置好IP地址,设置好hostname和修改/etc/sysconfig/network内hostname一致。同步时间:#ntpdate ntp.api.bz
2.RS1和RS2先做好互信。
RS1:
#ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
#cd ~/.ssh/
#ssh-copy-id -i> RS2:
#ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
#cd ~/.ssh/
#ssh-copy-id -i> 测试一下:ssh RS1IP 'ifconfig'
2)安装httpd
3)设置VIP和反应状态(此处可以用脚本实现,会更便于管理)
1.设置VIP
ip addr add 192.168.126.217/32 dev eth0
2.反应状态
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
3.测试一下,RS1可以ping通VIP,PS2可以ping通VIP。
二、准备高可用机(HA1和HA2)
1)准备工作:
1.确保设置好IP地址,设置好hostname和修改/etc/sysconfig/network内hostname一致。同步时间:#ntpdate ntp.api.bz
2.HA1和HA2先做好互信。
HA1:
#ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
#cd ~/.ssh/
#ssh-copy-id -i> HA2:
#ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
#cd ~/.ssh/
#ssh-copy-id -i> 测试一下:ssh HA1IP 'ifconfig'
2)安装httpd
在RS1和RS2全部挂掉的时候显示错误信息用的。
3)安装ipvsadm,便于以后检查负载均衡配置。
4)安装keepalived程序。
https://opsx.alibaba.com/mirror
搜索下载对应版本的keepalived的rpm包
HA1:
5)编辑配置文件
cd /etc/keepalived/
vim keepalived.conf
! Configuration File for keepalived
global_defs { #定义全局信息
notification_email {
linuxedu@foxmail.com mageedu@126.com
}
notification_email_from xxx@163.com #定义发送者邮箱,这里随意填
smtp_server 127.0.0.1
smtp_connect_timeout 30 #连接超时30秒
router_id LVS_DEVEL #定义id,我们使用默认就好
#vrrp_mcast_group4 224.0.100.18 #定义组播地址,建议最好使用
}
vrrp_instance VI_1 { #定义虚拟路由地址
state MASTER #我们K1为MASTER
interface eth0 #在那口网卡,Centos 7 是enoxxxx
virtual_router_id 51 #虚拟路由ID,必须一样主从
priority 100 #优先级
advert_int 1 #默认1秒就好,
authentication { #认真
auth_type PASS #keepalived只支持俩中认证,这里使用第二种简单密码认证,也就是预认证
auth_pass 123456 #使用openssh rant -base64 6 获取随机密码,最长支持八位所以也就是后面使用6的原因
}
virtual_ipaddress { #定义虚拟IP地址
192.168.126.217
}
}
如果只是用keepalived配置高可用,到此即可,以下为负在均衡的配置
virtual_server 192.168.16.215 80 { #定义keepalived集群VIP地址
delay_loop 6 #检查周期6秒
lb_algo rr #调度算法
lb_kind DR #调度模型
protocol TCP #只支持TCP,所以想想就好
sorry_server 127.0.0.1 80 #用于集群挂掉了,提示的友好界面,比如提示:服务器正在维护等等友好信息...
real_server 192.168.126.213 443 { #定义R1 weight 1 #权重,我们是rr调度,权重可以忽略
HTTP_GET { #这里我们使用的HTTP 443端口
connect_timeout 3 #连接超时时长,3秒
nb_get_retry 3 #重试3次
delay_before_retry 3 #每次重试的时间间隔3秒
}
}
real_server 192.168.126.214 443 { #定义R2
weight 1 #权重
HTTP_GET { #这里我们使用的HTTP 80端口
connect_timeout 3 #连接超时时长,3秒 nb_get_retry 3 #重试3次
delay_before_retry 3 #每次重试的时间间隔3秒
}
}
}保存
scp keepalived.conf 到HA2
HA2:
6)修改keepalived.conf改动两处
vrrp_instance VI_1 {
state BACKUP #这里不同,是BACKUP
interface eth0
virtual_router_id 51
priority 98 #这里不同,优先级是98,下面其他都一样
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}保存
HA1和HA2:
7)安装ipvsadm,便于检查负载均衡机
检查内核是否有ipvsadm模块
lsmod |grep ip_vs
8)启动keepalived
service keepalived start
9)下线一个HA主机,检查另一台主机是否顶替上去。
页:
[1]