IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> LVS-NET模式负载均衡集群 -> 正文阅读

[系统运维]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

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

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 18:01:16  更:2022-05-18 18:01:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:50:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码