1、负载调度器IP设置
配置两个网卡的ip
DIV=ens33=192.168.1.5 VIP=ens33:0=192.168.1.160
vim /etc/sysconfig/network-scripts/ifcfg-ens33
配置:
IPADDR= 192.168.1.5
NETMASK=255.255.255.0
1.1、生成ens33:0配置文件
cd /etc/systemconfig/network-scrits #进入网卡所在路径
cp ifcfg-ens33 ifcfg-ens33:0 #复制网卡配置文件
修改以下几项
NAME=ens33:0
DEVICE=ens33:0
IPADDR=192.168.1.160
重启网卡
systemctl restart network
ifconfig #查看是否增加成功
1.2、配置LVS-DR规则
LVS现在已成为Linux内核的一部分,默认编译为ip_vs模块,必要时能够自动调用。以下操作可以手动加载ip_vs模块,并查看当前系统中ip_vs模块的版本信息。
mdprobe ip_vs
lsmod | grep ip_vs
安装ipvsadm软件包
yum -y install ipvsadm
使用ipvsadm创建负载分配策略
清理策略:清除内核虚拟服务器表中的所有记录
ipvsadm -C
创建虚拟服务器,集群的VIP地址192.168.1.168,针对TCP的端口是80提供的负载分流服务,使用的调度算法为轮询
ipvsadm -A -t 192.168.1.160:80 -s rr #创建VIP
选项:
-A 添加虚拟服务器
-t 用来指定VIP地址及TCP端口
-s 指定调度算法,rr(轮询)、wrr(加权轮询)、lc(最少连接)、wlc(加权最少连接)。
ipvsadm -a-t 192.168.1.160:80 -r 192.168.1.6:80 -g -w 1
ipvsadm -a-t 192.168.1.160:80 -r 192.168.1.7:80 -g -w 1
选项:
-a 表示添加real server的地址
-r 指定real server的IP地址和端口
-g 表示route 也就是DR方式的LVS,(-m: NAT模式、-i:TUN模式)
-w用来设置权重(权重为0时表示暂停节点)。
保存配置或规则:
要停止selinux,否则策略不会被保存
LVS 的规则配置文件 /etc/sysconfig/ipvsadm
ipvsadm --save > /etc/sysconfig/ipvsadm //保存以上的配置
1.3、两台Realserver的IP配置
1.3.1、192.168.1.6主机配置ip 关闭ARP转发
同一个广播域: 配置了多个相同的VIP 是不允许的, 要想实现,就必须让外面的网络, 无法发现这个VIP的存在。因此在Linux里面, 可以修改内核参数, 实现接口IP的广播不响应、不广播。
arp_ignore = 1 表示只回答目标IP是访问本地网络对应接口的arp请求
arp_announce = 2 只宣告本机网卡直连网络所在的ip的arp广播。[əˈnaʊns]
永久生效
永久生效:(注意网卡名称)
vim /etc/sysctl.conf #最后添加
net.ipv4.conf.ens33.arp_ignore = 1
net.ipv4.conf.ens33.arp_announce = 2
内核参数修改生效
sysctl -p
参数说明:
arp_ignore 定义接收到 ARP 请求时的响应级别
arp_announce 定义将自己地址向外通告时的通告级别
arp_ignore:定义了网卡在响应外部ARP请求时候的响应级别,即当ARP请求发过来后发现自己正是请求的地址是否响应。
0:默认值,不管哪块网卡接收到了ARP请求,只要发现本机有这个MAC都给与响应
1:总是使用最合适的网卡来响应,一个主机有多块网卡,其中一块网卡接收到了ARP请求,发现所请求的MAC是本机另一块网卡的,这个时候接收到ARP请求的这块网卡就一定不响应,只有发现请求的MAC是自己的才给与响应。
arp_announce: 的作用是控制系统在对外发送arp请求时,如何选择arp请求数据包的源IP地址。
有三个值:
0:默认值,允许使用任意网卡上的IP地址作为arp请求的源IP。
1:尽量避免使用不属于该发送网卡子网的本地地址作为发送arp请求的源IP地址。
2:选择该发送网卡上最合适的本地地址作为arp请求的源IP地址。
1.3.2、配置ens33接口ip
1.3.3、配置虚拟ip地址vip
生成回环口配置文件
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.1.160
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback
配置httpd服务
yum install -y httpd
systemctl start httpd
echo "192.168.1.6" > /var/www/html/index.html
1.3.4、192.168.1.7的配置
永久生效:(注意网卡名称)
vim /etc/sysctl.conf #最后添加
net.ipv4.conf.ens33.arp_ignore = 1
net.ipv4.conf.ens33.arp_announce = 2
内核参数修改生效
sysctl -p
1.3.5、配置ens33接口ip
1.3.6、配置虚拟ip地址
生成回环口配置文件
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.1.160
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback
配置httpd服务
yum install -y httpd
systemctl start httpd
echo "192.168.1.7" > /var/www/html/index.html
1.4、测试LVS集群