文章目录
keepalived+LVS实现LVS的高可用
1、实验环境
共需要五台虚拟机:
虚拟机1,虚拟机2:安装nginx.。
使用nginx的web服务器功能,作为真正的web服务器提供服务。
虚拟机3,虚拟机4:安装LVS和keepalived。
作用有两个:1、使用LVS作为负载均衡服务器转发用户请求到真实服务器中。2、安装keepalived实现负载均衡的高可用,虚拟机3作为lvs-master,虚拟机4作为lvs-backup。
虚拟机5:作为客户端,用于集群的测试,无需任何配置。
2、web服务器搭建
为了省时间,直接在nginx默认发布目录/usr/share/nginx/html/index.htm中写入测试内容,没有重新编写配置文件。
虚拟机1进行如下操作:
安装并开启nginx,并在nginx默认发布目录中写入测试内容
虚拟机2进行如下操作:
同虚拟机1 的操作一样
虚拟机5进行如下操作
验证两台web服务器是否搭建好
3、LVS服务器搭建
虚拟机3和虚拟机4均完成如下操作:
虚拟机1和虚拟机2完成如下操作:
至此,lvs搭建成功
虚拟机5验证LVS
4、Keepalived实现LVS高可用的配置
虚拟机3的操作:
配置文件内容如下:
! Configuration File for keepalived
global_defs {
router_id lvs-keepalived-master
}
vrrp_instance VI_1 {
state MASTER
interface ens33 #VIP绑定接口
virtual_router_id 80 #VRID 同一组集群,主备一致
priority 100 #本节点优先级,backup优先级要小于master
advert_int 1 #检查间隔,默认为1s
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.58.140/24 #vip
}
}
virtual_server 192.168.58.140 80 { #LVS配置
delay_loop 3
lb_algo rr #LVS调度算法
lb_kind DR #LVS集群模式(路由模式)
nat_mask 255.255.255.0
protocol TCP #健康检查使用的协议
real_server 192.168.58.155 80 {
weight 1
inhibit_on_failure #当该节点失败时,把权重设置为0,而不是从IPVS中删除
TCP_CHECK { #健康检查
connect_port 80 #检查的端口
connect_timeout 3 #连接超时的时间
}
}
real_server 192.168.58.162 80 {
weight 1
inhibit_on_failure
TCP_CHECK {
connect_timeout 3
connect_port 80
}
}
}
虚拟机4的操作:
虚拟机3和虚拟机4都开启keepalived
虚拟机5验证: