LVS-NET模式负载均衡集群

基于CentOS 8 下的操作

需求: 有10台一下的服务器,需要做负载均衡。

LVS Linux Virtual System.
其大致可以理解为,一家电脑组装商铺,你是个黑心老板(DS),手下有几个组装工(RS),当然他们几个的技术相当(real-server 是一致的)。因为你是个黑心老板,所以你把组装工(RS)关到小黑屋,只能工作,他们除了和老板沟通,不能与外界联系。而老板负责订单的签订和装好机器的交付。

在这里插入图片描述
真实拓扑图:
在这里插入图片描述

在此解释下,因为鄙人设备有限,只能开3台虚拟设备。一台作为LVS 调度服务器,两台apache 服务器

按照上面的网络拓扑图,开始搭建

1、修改VMware real-server 设备的网络适配器,webserver1和2 都是该模式

在这里插入图片描述
DS(director-server) 这里我用的是桥接模式

新增DS 设备的第二块网卡
在这里插入图片描述

2、修改DS网络配置

centos8 设置新增网卡后直接就可以看到新增信息:
在这里插入图片描述

1)配置ens33网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33 
#以下内容删减过,只留下了关键信息
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.60
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114

2)配置ens36网卡

因为该网卡是新增的,系统只是识别到了,并没有ifcfg-ens36的配置文件
配置方法:

  1. nmtui 图形化界面配置
  2. cp ifcfg-ens33 ifcfg-ens36 并修改

我这里使用第二种方法

[root@lvsserver network-scripts]# uuidgen
3dfe04c9-d31e-41a4-a636-dff0a4d35e77

[root@lvsserver network-scripts]# vim ifcfg-ens36

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=ens36
UUID=3dfe04c9-d31e-41a4-a636-dff0a4d35e77
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.2.60
PREFIX=24
GATEWAY=192.168.2.2
DNS1=8.8.8.8
DNS2=114.114.114.114

[root@lvsserver network-scripts]# systemctl restart NetworkManager

[root@lvsserver network-scripts]# nmcli connection down ens36 && nmcli connection up ens36
Connection 'ens36' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)

[root@lvsserver network-scripts]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.60  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 2409:8a44:8b3f:f10:20c:29ff:fee8:13d8  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::20c:29ff:fee8:13d8  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e8:13:d8  txqueuelen 1000  (Ethernet)
        RX packets 1504  bytes 124607 (121.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1200  bytes 190355 (185.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.60  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::20c:29ff:fee8:13e2  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e8:13:e2  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 56  bytes 7092 (6.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

就此,网卡配置成功

3)配置分发功能

a. 先查看目前是否支持分发功能:

[root@lvsserver network-scripts]# cat /proc/sys/net/ipv4/ip_forward
1

注意:centos8默认是开启的

如何手动开启:

[root@lvsserver network-scripts]# vim /etc/sysctl.conf
#新增下面一行
net.ipv4.ip_forward=1
[root@lvsserver network-scripts]# sysctl -p
net.ipv4.ip_forward = 1
#再观察是值否为1
[root@lvsserver network-scripts]# cat /proc/sys/net/ipv4/ip_forward
1

b. 安装ipvsadm 软件

[root@lvsserver network-scripts]# yum install ipvsadm -y
#等着安装好就好了

ipvsadm -A -t 192.168.1.60:80 -s rr
-A 新增规则
-a 新增分发
- t tcp
IPADDR:PORT
-s 设置算法

c. 设置分发

[root@lvsserver network-scripts]# ipvsadm -C
[root@lvsserver network-scripts]# ipvsadm -A -t 192.168.1.60:80 -s rr
[root@lvsserver network-scripts]# ipvsadm -a -t 192.168.1.60:80 -r 192.168.1.61:80 -m
[root@lvsserver network-scripts]# ipvsadm -a -t 192.168.1.60:80 -r 192.168.1.62:80 -m
[root@lvsserver network-scripts]# ipvsadm -L
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  localhost.localdomain:http rr
  -> 192.168.1.61:http            Masq    1      0          0         
  -> 192.168.1.62:http            Masq    1      0          0         
[root@lvsserver network-scripts]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.1.60:80 rr
  -> 192.168.1.61:80              Masq    1      0          0         
  -> 192.168.1.62:80              Masq    1      0          0 
[root@lvsserver network-scripts]# iptables -F

就此 DS 设置完毕

3、修改RS网络配置和下载apache

1) 修改两台RS网卡配置

a. webserver1

[root@webserver1 network-scripts]# vim ifcfg-ens33

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=ens33
UUID=3dfe04c9-d31e-41a4-a636-dff0a4d35e77
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.2.61
PREFIX=24
GATEWAY=192.168.2.60
DNS1=8.8.8.8
DNS2=114.114.114.114

b. webserver2

[root@webserver2 network-scripts]# vim ifcfg-ens33

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=ens33
UUID=3dfe04c9-d31e-41a4-a636-dff0a4d35e77
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.2.62
PREFIX=24
GATEWAY=192.168.2.60
DNS1=8.8.8.8
DNS2=114.114.114.114

测试连通:

[root@lvsserver network-scripts]# ping 192.168.2.61
PING 192.168.2.61 (192.168.2.61) 56(84) bytes of data.
64 bytes from 192.168.2.61: icmp_seq=1 ttl=64 time=0.660 ms
64 bytes from 192.168.2.61: icmp_seq=2 ttl=64 time=1.00 ms
^C
--- 192.168.2.61 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1056ms
rtt min/avg/max/mdev = 0.660/0.830/1.001/0.172 ms
[root@lvsserver network-scripts]# ping 192.168.2.62
PING 192.168.2.62 (192.168.2.62) 56(84) bytes of data.
64 bytes from 192.168.2.62: icmp_seq=1 ttl=64 time=4.99 ms
64 bytes from 192.168.2.62: icmp_seq=2 ttl=64 time=0.932 ms
^C
--- 192.168.2.62 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.932/2.962/4.993/2.031 ms

2) 下载apache

a. webserver1
因为 webserver1 和 webserver1 与 DS 在一个局域网,webserver1 和 webserver1 不能连外网,这里通过本地yum源直接安装了

[root@lvsserver /]# ssh 192.168.2.61
[root@webserver1 ~]# yum install httpd -y
[root@webserver1 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2022-05-13 16:17:02 CST; 5s ago
......

验证下:
在这里插入图片描述

就此 webserver1 安装完成

b. webserver1

[root@lvsserver /]# ssh 192.168.2.61
[root@webserver2 ~]# yum install httpd -y
[root@webserver2 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2022-05-13 16:17:02 CST; 5s ago
......

验证下:
在这里插入图片描述

就此 webserver2 安装完成

外部wind10 访问192.168.1.60

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值