1.keepalived安装
安装依赖包
sudo apt-get install libssl-dev openssl libpopt-dev
安装keepalived
sudo apt-get install keepalived
配置配置文件
/etc/keepalived/keepalived.conf
global_defs {
router_id webHA
}
vrrp_instance VI_1 { #调度器虚拟IP切换配置
state MASTER #一台为MASTER,另一台为BACKUP。或者两台均是BACKUP
interface eth0
virtual_router_id 51
priority 100 #优先级,另一台改为90
advert_int 1 #组播信息发送间隔,两个节点设置必须一样
nopreempt #不抢占,只在优先级高的机器上设置即可,优先级低的机器不设置
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.5.222
}
}
virtual_server 192.168.5.222 80 { #负载均衡配置 (重要:端口必须与realserver端口
一致,不能更改)
delay_loop 5 #每个5秒检查一次real_server状态
lb_algo rr #LVS算法
lb_kind DR #LVS模式
persistence_timeout 10 #会话保持时间
protocol TCP
real_server 192.168.5.128 80 {
weight 1
TCP_CHECK {
connect_timeout 5 #连接超时时间
nb_get_retry 2 #重连次数
delay_before_retry 3 #重连间隔时间
connect_port 80 #健康检查端口
}
}
# real_server 192.168.0.14 8080 {
# weight 1
# TCP_CHECK {
# connect_timeout 5 #连接超时时间
# nb_get_retry 2 #重连次数
# delay_before_retry 3 #重连间隔时间
# connect_port 8080 #健康检查端口
# }
# }
}
修改网络配置
首先找到net.ipv4.ip_forward=1这个配置,并其注释去除,然后在下面插入net.ipv4.ip_nonlocal_bind=1这句配置
如果输出不是1而是0就说明可能还没生效,执行sudo sysctl –p使其生效
sudo service keepalived start
重点:系统日子路径 /var/log/syslog
注意网卡配置
lvs配置
echo "1"> /proc/sys/net/ipv4/conf/lo/arp_ignore该命令使用,提示无权限,vi编辑不了,使用nano,则可以编辑
sudo apt install apache2
1) real server:192.168.5.128
安装lvs keepalived 虚拟ip 192.168.5.222
sudo apt-get install ipvsadm
keepalived 安装配置好之后,lvs做以下动作
$sudo ifconfig eth0:0 192.168.11.10 broadcast 192.168.11.10 netmask 255.255.255.255 up
$sudo route add -host 192.168.11.10 dev eth0:0
$sudo echo "1" > /proc/sys/net/ipv4/ip_forward
$sudo ipvsadm -C
$sudo ipvsadm -A -t 192.168.11.10:80 -s rr
$sudo ipvsadm -a -t 192.168.11.10:80 -r 192.168.11.21:80 -g
$sudo ipvsadm -a -t 192.168.11.10:80 -r 192.168.11.22:80 -g
$sudo ipvsadm
$sudo sysctl -p需要特别注意的是:在LVS的NAT模式中,ip_forward是关闭的,而在LVS的DR模式中,ip_forward是打开的。
这个命令可以做成启动脚本,写到/etc/rc.local中去,这样的话,就不用在每次开机之后都手工再输一遍。
2)配置Real Server
$sudo ifconfig lo:0 192.168.11.10 broadcast 192.168.11.10 netmask 255.255.255.255 up
$sudo route add -host 192.168.11.10 dev lo:0
$sudo echo "1"> /proc/sys/net/ipv4/conf/lo/arp_ignore
$sudo echo "2"> /proc/sys/net/ipv4/conf/lo/arp_announce
$sudo echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
$sudo echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
$sudo sysctl -p这一步骤中,配置ARP是必须的工作,可参考这个链接:http://www.linuxidc.com/Linux/2012-05/60950.htm
可以了,简单粗暴---》配置完成之后,
参考资料:https://blog.csdn.net/aliushuo/article/details/40379063