在 CentOS 8/RHEL 8 上设置 LVS(Linux 虚拟服务器)负载均衡器 |
欢迎阅读我们有关如何在 CentOS 8 和 RHEL 8 Linux 系统上安装和配置 LVS(Linux 虚拟服务器)负载均衡器的指南。 Linux虚拟服务器是建立在真实服务器集群上的高度可扩展和高可用的服务器,负载均衡器在Linux操作系统上运行。
我们将在 CentOS 8/RHEL 8 计算机上安装 Linux 虚拟服务器包,然后将其配置为后端服务器的负载均衡器。此设置假设您已安装 CentOS/RHEL 8 服务器或工作站版本。
安装Linux虚拟服务器(CentOS 8/RHEL 8上的LVS)
通过在服务器上运行以下命令来安装 Linux 虚拟服务器(CentOS 8/RHEL 8 上的 LVS)。
$ sudo yum install ipvsadm
Last metadata expiration check: 0:11:56 ago on Thu 05 Dec 2019 09:17:32 AM EAT.
Dependencies resolved.
===================================================================================================================================================
Package Arch Version Repository Size
===================================================================================================================================================
Installing:
ipvsadm x86_64 1.29-8.el8 AppStream 57 k
Transaction Summary
===================================================================================================================================================
Install 1 Package
Total download size: 57 k
Installed size: 83 k
Is this ok [y/N]: y
步骤2:启用IP转发并启用服务
软件包安装后,在您的机器中启用服务和 IP 转发。
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
确认已变为 1。
$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
现在启动ipvsadm服务。 ipvsadm命令用于配置、维护或检查Linux内核中的虚拟服务器表。
sudo touch /etc/sysconfig/ipvsadm
sudo systemctl enable --now ipvsadm
服务状态应显示为活动:
$ systemctl status ipvsadm
● ipvsadm.service - Initialise the Linux Virtual Server
Loaded: loaded (/usr/lib/systemd/system/ipvsadm.service; enabled; vendor preset: disabled)
Active: active (exited) since Thu 2019-12-05 09:41:56 EAT; 4s ago
Process: 2949 ExecStart=/bin/bash -c exec /sbin/ipvsadm-restore < /etc/sysconfig/ipvsadm (code=exited, status=0/SUCCESS)
Main PID: 2949 (code=exited, status=0/SUCCESS)
Dec 05 09:41:56 centos8.novalocal systemd[1]: Starting Initialise the Linux Virtual Server...
Dec 05 09:41:56 centos8.novalocal systemd[1]: Started Initialise the Linux Virtual Server.
将 LVS 配置为负载均衡器。
现在我们已经安装并启动了管理 LVS 防火墙所需的服务。是时候将 LVS 配置为实际后端应用程序的负载均衡器了。
首先清除IP表规则
sudo ipvsadm -C
添加虚拟服务
使用以下语法添加虚拟服务:
ipvsadm -A -t (ServiceIP:Port) -s (Distribution method)
支持的分发方式:
- rr :轮询——后端服务器之间的负载均衡分配。
- wrr:Weighted Round Robin – 基于真实服务器权重的循环分配。
- lc:最少连接 - 活动作业很少的服务器优先进行新的负载分配
- wlc:加权最少连接 - 将作业分配给作业较少且相对于真实服务器权重 (Ci/Wi) 的服务器。这是默认的分发方法。
我们将根据下图进行配置。
在 LVS 服务器上,我将其设置为侦听 192.168.122.52 端口 80。
sudo ipvsadm -A -t 192.168.122.52:80 -s wlc
添加后端服务器。语法是:
audo ipvsadm -a -t (ServiceIP:Port) -r (BackendServerIP:Port) -m
就我而言,我的配置将类似于以下内容:
sudo ipvsadm -a -t 192.168.122.52:80 -r 192.168.122.178:80 -m
sudo ipvsadm -a -t 192.168.122.52:80 -r 192.168.122.6:80 -m
列出当前规则:
$ sudo ipvsadm -l
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP cent01:http wlc
-> cent03:http Masq 1 0 0
-> cent02:http Masq 1 0 0
在防火墙上打开http端口。
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
如果您现在从浏览器加载 LVS 服务器 IP 或域名,您应该在其中一台后端服务器上获取该页面。
重新加载并应显示后端服务器 2 页面。
您可以了解如何在 CentOS 8 和 RHEL 8 Linux 系统上安装和配置 LVS。
另请检查:
如何在 Debian 10 (Buster) 上安装和配置 HAProxy
Ubuntu 18.04/CentOS 7 上使用 HAProxy 的 Galera 集群高可用性
如何从 Web 界面管理 HAProxy 服务器