实验环境
四台虚拟机:
node01-132 的IP:192.168.152.132 keepalived master节点
node01-133的IP:192.168.152.133 keepalived upback节点
node01-134 的IP:192.168.152.134 应用服务器
node01-135 的IP:192.168.152.135 应用服务器
安装及配置所需软件
1、代理服务器的操作
node01-132、node01-133 上安装keepalived和ipvsadm
显示如下图所示安装成功
node01-132服务器上如下操作
执行如下命令到keepalived目录下
cd /etc/keepalived/
备份keepalived.conf配置文件
cp keepalived.conf keepalived.conf.back
然后编辑配置文件
vi keepalived.conf
修改vrrp_instance部分为如下图所示
修改virtual_server部分为如下图所示
复制keepalived.conf文件到node01-133服务器上
scp ./keepalived.conf root@192.168.152.133:`pwd`
node01-133服务器上修改vrrp_instance部分为如下图所示
state BACKUP 指定为备机
priority 50 优先权低于master上的值即可
2、应用服务器的操作
node01-134、node01-135服务器上做如下操作:
1)修改内核:
echo 1 > /proc/sys/net/ipv4/conf/ens33/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
2)设置隐藏的vip:
ifconfig lo:3 192.168.152.200 netmask 255.255.255.255
3)安装httpd
yum install httpd -y
编辑 /var/www/html 目录下的index.html文件
vi /var/www/html/index.html
from 192.168.152.134/135
分别启动两台应用服务器
service httpd start
测试服务启动是否正常
在浏览器中输入ip地址是否正常显示上面配置的index.html的内容
不能正常显示查看防火墙是否关闭
查看防火墙状态:systemctl status firewalld
关闭防火墙:systemctl stop firewalld.service
3、启动keepalived服务
分别在node01-132、node04-133服务器上执行如下操作
service keepalived start
查看服务是否启动正常
ipvsadm -ln
出现如图所示则启动正常
测试LVS是否正常工作
在浏览器输入192.168.152.200 页面是否正常显示应用服务器配置的index.html的内容
查看请求日志
ipvsadm -lnc
keepalived主节点
keepalived备节点
主节点有日志、备节点没有日志说明走的主节点转发到的应用服务器
LVS知识点整理
1、安装lvs模块
yum install ipvsadm -y
2、入网配置
ipvsadm -A -t 192.168.152.200:80 -s rr
3、出网配置(代理多个服务器,就需要添加多条如下的配置)
ipvsadm -a -t 192.168.152.200:80 -r 192.168.152.134 -g -w 1
ipvsadm -a -t 192.168.152.200:80 -r 192.168.152.135 -g -w 1
4、查看配置信息
ipvsadm -ln
5、查看偷窥记录本
ipvsadm -lnc
TCP 00:57 FIN_WAIT 192.168.152.1:1136 192.168.152.200:80 192.168.152.134:80
FIN_WAIT: 连接过,偷窥了所有的包
SYN_RECV: 基本上lvs都记录了,证明lvs没事,一定是后边网络层出问题
6、清除ipvs配置
ipvsadm -C
7、参数介绍
四种静态调度方法:
rr:轮询
wrr
dh
sh
动态调度方法:
lc:最少连接
wlc:加权最少连接
sed:最短期望延迟
nq:never queue
LBLC:基于本地的最少连接
LBLCR:基于本地的带复制功能的最少连接
ipvs模块管理集群服务:
添加:A -t|u|f service-address [-s scheduler]
-t:TCP协议的集群
-u:UDP协议的集群
service-address:IP:PORT
-f:RWM 防火墙标记
修改:-E
删除:-D -t|u|f service-address
管理集群中的RS
添加 :-a -t|u|f service-address -r server-address [-g|i|m] [-w werght]
-t|u|f service-address:实现定义好的某集群服务
-r server-address:某RS的地址,在NAT模型中可使用IP:PORT实现端口映射
[-g|i|m]:LVS类型
-g:DR
-i:TUN
-m:NAT
[-w werght]:定义服务器权重
修改: -e
删除: -d -t|u|f service-address -r server-address
查看
-L|l
-n:数字格式显示主机地址和端口
--stats:统计数据
--rate:速率
--timeout:显示tcp、tcpfin和udp的会话超时时长
-:c 显示当前的ipvs连接状况
删除所有集群中的服务
-C:清空ipvs规则
-S:保存规则
ipvsadm -S > /path/to/somefile
-R:载入此前的规则
ipvsadm -R < /path/to/somefile
停用自己配置的网络:ifconfig ens33:3 down
启动已停用的网络:ifconfig ens33:3 up