LVS 负载均衡配置

LVS全称Linux Virtual Server,Linux虚拟服务器。现在LVS已经是Linux内核标准的一部分。使用LVS可以达到的技术目标是:通过LVS达到的负载均衡技术和Linux操作系统实现一个高性能高可用的Linux服务器群集,它具有良好的可靠性,可拓展性和可操作性。

注意:此次部署的三个节点采用系统为Centos 8-Stream

1|0更改主机名,三个节点都要做

[root@localhost ~]# hostnamectl set-hostname lb [root@localhost ~]# bash [root@lb ~]# [root@localhost ~]# hostnamectl set-hostname web1 [root@localhost ~]# bash [root@web1 ~]# [root@localhost ~]# hostnamectl set-hostname web2 [root@localhost ~]# bash [root@web2 ~]#

2|0关闭防火墙和selinux,三个节点都要做

systemctl disable --now firewalld vi /etc/selinux/config SELINUX=disabled

3|0配置yum源,三个节点都要做

下面配置的是centos8的yum源,如果是centos7系统,自行到阿里云镜像站配置7的源

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

4|0安装所需包,三个节点都要做

yum -y install net-tools network-scripts

5|0配置lb节点

[root@lb ~]# ifconfig ens33:0 192.168.88.250/32 broadcast 192.168.88.250 up [root@lb ~]# 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:20:b3:9e brd ff:ff:ff:ff:ff:ff inet 192.168.88.128/24 brd 192.168.88.255 scope global dynamic noprefixroute ens33 valid_lft 1149sec preferred_lft 1149sec inet 192.168.88.250/0 brd 192.168.88.250 scope global ens33:0 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe20:b39e/64 scope link noprefixroute valid_lft forever preferred_lft forever

6|0配置web1节点

[root@web1 ~]# vi /etc/sysctl.conf net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 [root@web1 ~]# sysctl -p net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 [root@web1 ~]# ifconfig lo:0 192.168.88.250/32 broadcast 192.168.88.250 up [root@web1 ~]# 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 inet 192.168.88.250/0 brd 192.168.88.250 scope global lo:0 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:5f:81:55 brd ff:ff:ff:ff:ff:ff inet 192.168.88.129/24 brd 192.168.88.255 scope global dynamic noprefixroute ens33 valid_lft 1670sec preferred_lft 1670sec inet6 fe80::20c:29ff:fe5f:8155/64 scope link noprefixroute valid_lft forever preferred_lft forever

7|0配置web2节点

[root@web2 ~]# vi /etc/sysctl.conf net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 [root@web2 ~]# sysctl -p net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 [root@web2 ~]# ifconfig lo:0 192.168.88.250/32 broadcast 192.168.88.250 up [root@web2 ~]# 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 inet 192.168.88.250/0 brd 192.168.88.250 scope global lo:0 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:94:2f:80 brd ff:ff:ff:ff:ff:ff inet 192.168.88.130/24 brd 192.168.88.255 scope global dynamic noprefixroute ens33 valid_lft 1462sec preferred_lft 1462sec inet6 fe80::20c:29ff:fe94:2f80/64 scope link noprefixroute valid_lft forever preferred_lft forever

8|0配置路由信息

[root@lb ~]# route add -host 192.168.88.250 dev ens33:0 [root@lb ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.88.2 0.0.0.0 UG 100 0 0 ens33 192.168.88.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 192.168.88.250 0.0.0.0 255.255.255.255 UH 0 0 0 ens33 [root@web1 ~]# route add -host 192.168.88.250 dev lo:0 [root@web1 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.88.2 0.0.0.0 UG 100 0 0 ens33 192.168.88.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 192.168.88.250 0.0.0.0 255.255.255.255 UH 0 0 0 lo [root@web2 ~]# route add -host 192.168.88.250 dev lo:0 [root@web2 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.88.2 0.0.0.0 UG 100 0 0 ens33 192.168.88.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 192.168.88.250 0.0.0.0 255.255.255.255 UH 0 0 0 lo

9|0配置http

[root@web1 ~]# systemctl enable --now httpd Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service. [root@web1 ~]# echo web1 > /var/www/html/index.html [root@web2 ~]# yum -y install httpd [root@web2 ~]# systemctl enable --now httpd Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service. [root@web2 ~]# echo web2 > /var/www/html/index.html

10|0添加规则

[root@lb ~]# yum -y install ipvsadm [root@lb ~]# ipvsadm -L IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn [root@lb ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn [root@lb ~]# ipvsadm -A -t 192.168.88.250:80 -s rr [root@lb ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.88.250:80 rr [root@lb ~]# ipvsadm -a -t 192.168.88.250:80 -r 192.168.88.129:80 -g [root@lb ~]# ipvsadm -a -t 192.168.88.250:80 -r 192.168.88.130:80 -g [root@lb ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.88.250:80 rr -> 192.168.88.129:80 Route 1 0 0 -> 192.168.88.130:80 Route 1 0 0

11|0查看,打开本机终端使用curl命令

image-20230615162926399

11|1使用watch命令定住屏幕查看进程

[root@lb ~]# watch 'ipvsadm -Ln'

image-20230615163241401


__EOF__

本文作者SkyRainmom
本文链接https://www.cnblogs.com/skyrainmom/p/17489402.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   SkyRainmom  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示