首页 > 其他分享 >LVS 负载均衡配置

LVS 负载均衡配置

时间:2023-06-18 17:44:21浏览次数:40  
标签:forever 负载 LVS 0.0 00 192.168 lft 均衡 root

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

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

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

[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 ~]#

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

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

配置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

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

yum -y install net-tools network-scripts

配置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

配置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

配置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

配置路由信息

[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

配置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

添加规则

[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    

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

image-20230615162926399

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

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

image-20230615163241401

标签:forever,负载,LVS,0.0,00,192.168,lft,均衡,root
From: https://www.cnblogs.com/skyrainmom/p/17489402.html

相关文章

  • 分布式、负载均衡、缓存、数据库中间件【杭州多测师_王sir】
      ......
  • opencv 直方图/ 均衡化
    importcv2importnumpyasnpimportmatplotlib.pyplotasplt#若是画图像plt是RGB的与cv2不同img=cv2.imread('C:/Users/59925/Desktop/pytest/pics/eye.jpg')#把图片读取成灰度图minions-stemplate=cv2.imread('C:/Users/59925/Desktop/pytest/pics/eye.jpg')#把图片读取......
  • stress模拟系统负载较高时的场景
    #!/bin/bash#获取网卡名称network_adapter=`ipa|grep"BROADCAST"|awk'{print$2}'|awk-F:'{print$1}'`functionNet_speed_limiting{#输入提示read-p"PleaseinputNetspeedlimitingrate(kbit):"Net_raterea......
  • 基于瑞丽多径信道的无线通信信道均衡算法matlab仿真,对比MMSE,ZF-DFE,MMSE-DFE
    1.算法仿真效果matlab2022a仿真结果如下: 2.算法涉及理论知识概要        信道均衡(Channelequalization)是指为了提高衰落信道中的通信系统的传输性能而采取的一种抗衰落措施。它主要是为了消除或者是减弱宽带通信时的多径时延带来的码间串扰(ISI)问题。其机理是对信道......
  • Kong入门学习实践(4)负载均衡与正则路由
    最近在学习Kong网关,因此根据老习惯,我会将我的学习过程记录下来,一来体系化整理,二来作为笔记供将来翻看。由于我司会直接使用Kong企业版,学习过程中我会使用Kong开源版。本篇,我们学习快速配置一个最常见的基本功能:负载均衡与正则路由。关于负载均衡所谓负载均衡,就是通过负载均衡算......
  • 一文实战K8S中的服务发现和负载均衡
    开篇在Kubernetes集群中,服务发现和负载均衡是非常重要的概念和功能。它们可以帮助我们管理应用程序的访问和流量分发,确保应用程序的高可用性和性能。在本文中,我们将通过一个实战案例,探索Kubernetes中的服务发现和负载均衡机制,并演示如何在集群中部署和管理具有负载均衡能力的应用......
  • 一文实战K8S中的服务发现和负载均衡
    开篇在Kubernetes集群中,服务发现和负载均衡是非常重要的概念和功能。它们可以帮助我们管理应用程序的访问和流量分发,确保应用程序的高可用性和性能。在本文中,我们将通过一个实战案例,探索Kubernetes中的服务发现和负载均衡机制,并演示如何在集群中部署和管理具有负载均衡能力的应......
  • Dubbo负载均衡策略之 一致性哈希
    本文主要讲解了一致性哈希算法的原理以及其存在的数据倾斜的问题,然后引出解决数据倾斜问题的方法,最后分析一致性哈希算法在Dubbo中的使用。通过这篇文章,可以了解到一致性哈希算法的原理以及这种算法存在的问题和解决方案。一、负载均衡在这里引用dubbo官网的一段话——LoadBala......
  • MCU晶振负载电容的计算方法
    MCU晶振谐振电容的计算方法在实际应用中使用外置晶振(HSE)作为单片机时钟源时,经常会有工程师遇到定时精度误差较大,或者上电后系统不工作,需要手动复位一次才能正常工作的情况,此类现象多数都是外置晶振(HSE)的谐振电容选择不当导致。单片机的晶振电路经常使用的是皮尔斯振荡电路,具体电......
  • 采用软件负载均衡器实现web服务器集群(
    我用nginx实现网站负载均衡测试的例子,windows下IIS做负载实测.  如果你的网站访问量(pv)越来越高,一台服务器已经没有办法承受流量压力,那就增多几台WEB服务器来做负载吧。做网站负载可以买硬件设备来实现,我们公司用的是F5,不过价格就几十万到上百万,太贵了,目前好多门户网站与大访......