LVS集群

配置NAT模式和DR模式httpd负载均衡

LVS-NAT模式配置httpd负载均衡
三台服务器分别配置了对应的本地静态地址DIP和RIP,且在一个内网中。
DR有两块网卡,一块IP是内网的DIP,另一块IP是公网IP的VIP
RS的网关指向DIP

环境准备:

主机 ip
DR 192.168.170.128
RS1 192.168.170.129
RS2 192.168.170.132

开启虚拟机 查看ip多出了一块网卡 网段和第一块网卡也不一样

[root@DR ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:f5:97:53 brd ff:ff:ff:ff:ff:ff
    inet 192.168.170.128/24 brd 192.168.170.255 scope global dynamic noprefixroute ens33
       valid_lft 1761sec preferred_lft 1761sec
    inet6 fe80::9163:5eb5:ea94:12fe/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:f5:97:5d brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:02:e4:99 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:02:e4:99 brd ff:ff:ff:ff:ff:ff

配置RS1

[root@RS1 ~]# dnf -y install httpd
[root@RS1 ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service. 
[root@RS1 ~]# systemctl disable --now firewalld

[root@RS1 html]# pwd
/var/www/html
[root@RS1 html]# echo 'RS1' > index.html
[root@RS1 html]# ls
index.html
[root@RS1 html]# cat index.html 
RS1

web网页

//RS1网卡指向DR
[root@RS1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=no
IPADDR=192.168.170.129
PREFIX=24
GATEWAY=192.168.170.128   //网关指向DR主机的ip
DNS1=114.114.114.114

[root@RS1 ~]# systemctl restart NetworkManager

配置RS2

[root@RS2 ~]# dnf -y install httpd
[root@RS2 ~]# systemctl enable --now httpd    //开启httpd服务
[root@RS2 ~]# systemctl disable --now firewalld   ////关闭防火墙和selinux

[root@RS2 html]# echo 'RS2' > index.html
[root@RS2 html]# ls
index.html
[root@RS2 html]# cat index.html 
RS2

web网页

//RS2网卡指向DR
[root@RS2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.170.132
PREFIX=24
GATEWAY=192.168.170.128  //网关指向DR主机的ip
DNS1=114.114.114.114

[root@RS2 ~]# systemctl restart NetworkManager

LVS-DR模式配置httpd负载均衡

LVS-DR模式的注意情况:
DR的VIP 和 RS 必须在同一个网段,不然广播后所有的包都会丢掉

//DR上配置IP
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
BOOTPROTO="static"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.170.128
IPADDR1=192.168.170.100
PREFIX=24
GATEWAY=192.168.170.2
DNS1=114.114.114.114

[root@DR ~]# ifdown ens33 ;ifup ens33
成功停用连接 "ens33"(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)

RS上配置arp内核参数

//两台RS都需做此操作,添加下列两行内容    
[root@RS1 ~]# vim /etc/sysctl.conf 
[root@RS1 ~]# sysctl -p
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

[root@RS2 ~]# vim /etc/sysctl.conf 
[root@RS2 ~]# sysctl -p
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

RS上配置VIP

一定要先设置好内核参数在配置VIP,如果先配置VIP,VIP配置好后会立即通告给所有人,而修改内核参数就是为了不通告

DR服务器的网卡的IP:192.168.170.100作为VIP

[root@RS1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=no
IPADDR=192.168.170.129
IPADDR1=192.168.170.100
PREFIX=24
GATEWAY=192.168.170.128   
DNS1=114.114.114.114

[root@RS2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.170.132
IPADDR1=192.168.170.100
PREFIX=24
GATEWAY=192.168.170.128 
DNS1=114.114.114.114

DR上配置LVS-DR转发规则

[root@DR ~]# dnf -y install ipvsadm   //安装ipvsadm命令软件包
[root@DR ~]# ipvsadm -A -t 192.168.170.100:80 -s rr    //vip为仅主机模式网卡的ip加端口号
#-A 添加
#-t tcp
#-s 指定算法  rr轮询算法

[root@DR ~]# ipvsadm -a -t 192.168.170.100:80 -r 192.168.170.129:80 
[root@DR ~]# ipvsadm -a -t 192.168.170.100:80 -r 192.168.170.132:80 
[root@DR ~]# ipvsadm -Sn > /etc/sysconfig/ipvsadm
[root@DR ~]# ipvsadm -Sn
-A -t 192.168.170.100:80 -s rr
-a -t 192.168.170.100:80 -r 192.168.170.129:80 -g 
-a -t 192.168.170.100:80 -r 192.168.170.132:80 -g 
[root@DR ~]# systemctl enable --now ipvsadm.service

RS上安装httpd并启动

[root@RS1 ~]# echo 'RS1' > /var/www/html/index.html
[root@RS1 ~]# systemctl restart httpd

[root@RS2 ~]# echo 'RS2' > /var/www/html/index.html
[root@RS2 ~]# systemctl restart httpd

[root@RS1 ~]# curl http://192.168.170.100
RS1
[root@RS2 ~]# curl http://192.168.170.100
RS2
posted @ 2022-08-15 00:47  夏天的海  阅读(41)  评论(0)    收藏  举报