lvs
keepalived 代替 ipvsadmin 配置内核信息,设置主、备 lvs
keepalived 是用户空间的程序
yum install keepalived
vim keepalived.conf
查看5类帮助文档
输入 /virtual_ipaddress 可以在帮助文档中查找该关键字
在安装httpd 后,要在 /var/www/html 文件夹中创建一个 index.html 主页面
vrrp_instance VI_1
virtual_server
这两部分的详细解释
keepalived 主节点在宕机修复后,会将主节点抢过来
虚拟冗余协议的目的是ip漂移
vrrp_instance VI_1 {
state MASTER -- 该机器是主节点,如果是备份节点 BACKUP
interface eth0 -- 规划哪一个接口走广播包
virtual_router_id 51 -- 网络中标识该台主机
priority 100 -- 权重值,主节点的权重值最大
advert_int 1
authentication { -- 角色通信认证
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
<IPADDR>/<MASK> brd <IPADDR> dev <STRING> scope <SCOPE> label <LABEL>
192.168.200.100/24 dev eth2 label eth2:1
ip/掩码 设备:eth2 接口标签:eth2:1
}
}
virtual_server 192.168.200.100 80 {
delay_loop 6
lb_algo rr -- 调度算法
lb_kind NAT -- 使用的那种模型
nat_mask 255.255.255.0 -- 掩码
persistence_timeout 50 -- 超时时间,防止不断的在负载的服务器之间频繁的切换造成资源的浪费
protocol TCP
-- 真实的服务器1
real_server 192.168.232.100 80 {
weight 1 -- 权重
HTTP_GET { -- 配置这个的时候,需要在httpd服务根目录创建主页面index.html
url {
path /
status_coude 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
-- 真实的服务器2
real_server 192.168.232.101 80 {
weight 1 -- 权重
HTTP_GET { -- 配置这个的时候,需要在httpd服务根目录创建主页面index.html
url {
path /
status_coude 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
persistence_timeout 50
客户端访问资源的时候,会和服务器进行3次握手四次分手,服务器会加载各种资源的文件
lvs 轮询之后,会将第二次请求负载到另外一个服务器,该服务器也要进行3次握手4次分手,加载各种资源文件
这样让服务器重复的加载资源文件会造成资源的浪费,
这个配置的意思在50秒之内,会将第二次请求负载到之前的那台服务器,防止资源的重复加载造成服务器资源的浪费
试验环境的时候 persistence_timeout 0 设置为0
将配置文件复制到备份节点
启动服务
service start keepalived
查看接口状态
ifconfig
查看virtual sever 的负载路由
ipvsadm -ln
ifconfig eth0 down -- 关闭eth0 网卡,模拟主机宕机
ifconfig eth0 up -- 开启 eth0 网卡,这个时候主节点会将负载抢过来,继续负载
当备节点,创建虚拟网卡成功后,就实现了ip 漂移
查看keepalived 进程
删除keepalived 的3 个 进程
kill -9 3011
这个时候,程序是异常退出,会导致,主节点的 虚拟ip 网卡 没有及时卸载,但是在keepalived检测的时候检测不到该服务器还存活,会导致备份节点创建一个 虚拟 ip 网卡,这就导致网络中出现两个相同的ip ,在进行路由的时候会导致一部分请求无法正常的进行连接。