本文已参与 ⌈新人创作礼⌋ 活动,一起开启掘金创作之路\
LVS学习笔记
ipforward值是1就开启路由0就关闭路由
cat /proc/sys/net/ipv4/ip_forward
echo 1> /proc/sys/net/ipv4/ip_forward如果没开用这条命令开启路由功能,临时开启
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf 永久配置
LVS原理是路由器(数据包转发)缺点不带健康检查,有点性能高。
- 模式NAT公私有转换模式(有转发瓶颈)
- 模式DR路由模式(用的多)
- 模式TUN隧道模式(了解) 算法
- rr轮询,是固定平均分发
- wrr加权轮询,才可以给权重
- lc最少链接,看谁的链接少就给谁。
- wlc加权最少链接数
- sh
- dh
yum -y install ipvsadm 这个是工具帮助来链接内核的
ipvsadm -A创建虚拟集群
ipvsadm -E修改虚拟集群
ipvsadm -D删除集群,只能删一个
ipvsadm -C清空所有
ipvsadm-a添加真实服务器IP
ipvsadm-e修改真实服务器IP
ipvsadm-d删除真实服务器IP
ipvsadm-Ln查看LVS规则,加n以数字形式表示
-s[rr|wrr|lc|wlc|sh]
ipvsadm -save -n > /etc/sysconfig/ipvsadm 永久保存所有规则
临时规则重启后失效
ipvsadm -A -t 192.168.2.100:80 -s rr -A创建虚拟集群IP:端口 -t是TCP协议,做网站用的TCP -s集群算法rr
ipvsadm -a -t 192.168.2.100:80 -r 192.168.4.101:80 -m -w 1 -a添加 -t协议 -r 是为虚拟集群添加真实服务器IP -w 1权重可以不写默认是1
-m是用的什么模式NAT,不加模式的话默认是DR模式加m是NAT模式,
用-m时查看模式时显示的是masq
用-g就是DR模式时查看模式时显示的是route
用-i时查看模式时显示的是tunnel
ipvsadm -E -t 192.168.2.100:80 -s wrr修改虚拟集群的算法
ipvsadm -e -t 192.168.2.100:80 -r 192.168.4.102:80 -w 3 -m 修改真实服务器的权重
ipvsadm -save -n > /etc/sysconfig/ipvsadm 永久保存所有规则
ipforward值是1就开启路由0就关闭路由
cat /proc/sys/net/ipv4/ip_forward
试验环境案例:
systmctl stop firewalld 关闭防护
setenforce 0 用于临时关闭selinux防火墙
NAT公私有转换模式
客户机IP: 192.168.4.10
调度器IP: 1网卡192.168.4.5; 2网卡192.168.2.5
web1 IP: 1网卡192.168.2.100 网关192.168.2.5
web2 IP: 1网卡192.168.2.200 网关192.168.2.5\
1.做出web1.web12的网站
systmctl stop firewalld 关闭防护 setenforce 0 用于关闭selinux防火墙
2.调度器配置开启路由功能
ipvsadm -A -t 192.168.4.5:80 -s wrr
ipvsadm -e -t 192.168.4.5:80 -r 192.168.4.100:80 -w 1 -m
ipvsadm -e -t 192.168.4.5:80 -r 192.168.4.200:80 -w 1 -m
ipvsadm-Ln查看LVS规则
ipvsadm -save -n > /etc/sysconfig/ipvsadm 永久保存所有规则
DR实验需要web伪装VIP;DR试验环境案例:
客户机IP 192.168.4.10
调度器IP 1网卡192.168.4.5/24
2网卡192.168.4.15/24
web1 IP 1网卡192.168.4.100/24
2网卡192.168.4.15/32
web2 IP 1网卡192.168.4.200/24
2网卡192.168.4.15/32
配置LVS调度器服务器配好VIP和DIP,VIP必须配置在虚拟接口上!!!
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0{,:0} 拷贝一份网卡出来。这个命令ifcfg-eth0主接口,ifcfg-eth0:0次接口(也叫虚拟网卡)
vim ifcfg-eth0 主接口,修改eth0网卡
TYPE="Ethernet"
BOOTPROTO=none
DEFROUTE="yes"
NAME="eth0"
DEVICE="eth0"
ONBOOT=yes
IPADDR="192.168.4.5"
PREFIX=24
vim ifcfg-eth0:0 伪装IVP 虚拟接口,修改eth0:0网卡
TYPE="Ethernet"
BOOTPROTO=none DHCP自动获取IP,none就是手动配置
DEFROUTE="yes"
NAME="eth0:0" 修改成eth0:0
DEVICE="eth0:0" 修改成eth0:0
ONBOOT=yes 这个网卡开机时是否自动激活
IPADDR="192.168.4.15"
PREFIX=24
systemctl restart network 重启网卡
添加知识:RHEL7 Centos7有2个程序负责控制网络(有可能冲突)
2个服务的名字:networl,NetworkManager
systemctl stop NetworkManager 用这条命令把NetworkManager关掉,在重启systemctl restart network重启网卡
Wbe1配置
vim ifcfg-eth0
TYPE="Ethernet"
BOOTPROTO=none
DEFROUTE="yes"
NAME="eth0"
DEVICE="eth0"
ONBOOT=yes
IPADDR="192.168.4.100"
PREFIX=24
cd /etc/sysconfig/network-scripts
每一个服务器都有特殊的网卡ifcfg-lo没有真正的网卡,这个网卡是虚拟出来的
cp ifcfg-lo{,:0} 拷贝一份网卡出来。伪装VIP
vim ifcfg-lo:0 伪装成4.15去回应客户端
DEVICE=lo:0
IPADDR=192.168.4.15 是vip
NETMASK=255.255.255.255 必须是全255/32位
NETWORK=192.168.4.15 主机型IP,自己在一个网里
BROADCAST=192.168.4.15 广播地址,也是自己
ONBOOT=yes 这个网卡开机时是否自动激活
NAME=lo:0 网卡名字
vim /etc/sysctl.conf 修改后不响应客户的广播请求
net.ipv4.conf.all.arp_ignore=1 不回VIP 手写这些内容
net.ipv4.conf.lo.arp_ignore=1 不回VIP
net.ipv4.conf.lo.arp_announce=2 如果是0就把所有东西告诉对方,1尽量不说,2是打死不说
net.ipv4.conf.all.arp_announce=2 配置完不能立刻生效,需要这个命令刷新下才能生效sysctl -p
Wbe2配置
vim ifcfg-eth0
TYPE="Ethernet"
BOOTPROTO=none
DEFROUTE="yes"
NAME="eth0"
DEVICE="eth0"
ONBOOT=yes
IPADDR="192.168.4.200"
PREFIX=24
cd /etc/sysconfig/network-scripts
cp ifcfg-lo{,:0} 伪装VIP
vim ifcfg-lo:0 伪装成4.15
DEVICE=lo:0
IPADDR=192.168.4.15 是vip
NETMASK=255.255.255.255 必须是全255/32位
NETWORK=192.168.4.15 主机型IP,自己在一个网里
BROADCAST=192.168.4.15 广播地址,也是自己
ONBOOT=yes 这个网卡开机时是否自动激活
NAME=lo:0 网卡名字
两个WBE都要做
vim /etc/sysctl.conf 修改后不响应客户的广播请求
net.ipv4.conf.all.arp_ignore=1 不回VIP 手写这些内容
net.ipv4.conf.lo.arp_ignore=1 不回VIP
net.ipv4.conf.lo.arp_announce=2 如果是0就把所有东西告诉对方,1尽量不说,2是打死不说
net.ipv4.conf.all.arp_announce=2 配置完不能立刻生效,需要这个命令刷新下才能生效sysctl -p
回到LVS调度器添加LVS规则
yum -y install ipvsadm
ipvsadm -A -t 192.168.4.15:80 -s rr 创建虚拟集群
ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.100 添加web1服务器到虚拟集群里
ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.200 添加web1服务器到虚拟集群里