LVS负载均衡群集解析:理解LVS-NAT的工作原理

目录

一、LVS群集应用基础

1.群集技术概述

2.LVS虚拟服务器

3.NFS共享存储服务

二、案例:地址转换模式(LVS-NAT)

1.资源清单

2.修改主机名

3.配置负载调度器(LVS上)

4.配置节点服务器(web1、web2)

5.测试LVS群集(本机访问)

6.使用NFS发布共享资源(nfs上)

7.在客户机中访问NFS共享资源


一、LVS群集应用基础

1.群集技术概述

  •         a.群集的类型

        负载均衡群集(LB):以提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载的整体性能

        高可用群集:以提高应用系统的可靠性、尽可能的减少中断时间为为目标,确保服务的连续性,达到高可用(HA)的容错效果

        高性能运算群集:以提高应用系统CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型超级计算机的高性能运算(HPC)能力

        b.负载均衡的分层结构

        第一层,负载调度器:这是访问整个群集系统的唯一入口,对外使用所有服务器共有的VIP(虚拟IP)地址,也称为群集IP地址。通常会配置主、备两台调度器实现热备份,当主调度器失效后能够替换至备用调度器

        第二层,服务器池:群集所提供的应用服务(HTTP、FTP)由服务器池承担,其中每个节点具有独立的RIP(真实IP)地址,只处理调度器分发过来的客户机请求。当某个节点失效时,负载均衡调度器的容错机制会将其隔离,等待错误排除后重新纳入服务器池

        第三层,共享存储:为服务器池中的所有节点提供稳定、一致的文件存取服务,确保整个群集的统一性。在Linux中共享存储可以使用NAS设备或者提供NFS(网络文件系统)共享服务器的专用服务器

        c.负载均衡的工作模式

        地址转换(NAT模式):负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是个节点回应客户机的访问出口。服务器节点使用私有IP地址,与负载调度器位于同一物理网路,安全性要优于其他两种方式

        IP隧道(TUN模式):采用开放式网络结构,负载调度器仅作为客户端的访问入口,个节点通过各自的internet连接回应客户机,而不再经过负载调度器。服务器节点分散在互联网中不同的位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信

        直接路由(DR模式):采用半开放式的网络结构,与TUN模式的结构类似,但各节点不是分散在各地,而是与调度器位于同一物理网络。负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道

2.LVS虚拟服务器

        a.LVS的负载调度算法

        轮询:将收到的访问请求按照顺序轮流分配给集群中的各个节点,均等地对待每台服务器而不管服务器实际连接数和系统负载

        加权轮询:根据调度器设置的权重值来分发请求,权重值高的节点优先获得任务并分配请求越多,这样可以保证性能高的节点承担更多请求

        最少连接:根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点。如果所有的服务器节点性能相近,采用这种方式可以更好的均衡负载

        加权最少连接:在服务器节点的性能差异较大的情况下,调度器可以根据节点服务器的负载自动调整权重,权重较高的节点将承担更大比例的活动连接负载

3.NFS共享存储服务

        NFS是一种基于TCP/IP传输的网络文件系统协议。

        通过NFS协议,客户机可以向访问本机目录一样访问远程服务器中的共享资源

二、案例:地址转换模式(LVS-NAT)

1.资源清单

主机

操作系统

IP地址

应用

lvs

OpenEuler24.03

192.168.16.142

Ipvsadm

web1

OpenEuler24.03

192.168.16.143

Apache、nfs、bind-utils

web2

OpenEuler24.03

192.168.16.144

Apache、nfs、bind-utils

nfs

OpenEuler24.03

192.168.16.145

nfs、bind-utils

2.修改主机名

hostnamectl set-hostname lvs
hostnamectl set-hostname web2
hostnamectl set-hostname web1
hostnamectl set-hostname nfs

3.配置负载调度器(LVS上)

        a.在Lvs服务器新增一块网卡,仅主机模式,作为vip(集群ip,模拟外网ip)使用

​
#添加网卡
#修改网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens36

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
NAME=ens36
DEVICE=ens36
ONBOOT=yes

#激活ens36网卡
ifup ens36

#查看添加的网卡IP
[root@lvs ~]# ip a | grep ens36
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.42.128/24 brd 192.168.42.255 scope global dynamic noprefixroute ens36

​

        b.检查模块

# 加载 ip_vs 模块
modprobe ip_vs

# 查看 ip_vs 版本信息
cat /proc/net/ip_vs

        c.安装ipvsadm管理工具

dnf install -y ipvsadm

        d.开启路由转发规则

vi /etc/sysctl.conf

net.ipv4.ip_forward=1

sysctl -p

        e.配置负载分配策略

ipvsadm -A -t 192.168.42.128:80 -s rr
ipvsadm -a -t 192.168.42.128:80 -r 192.168.16.143:80 -m -w 1
ipvsadm -a -t 192.168.42.128:80 -r 192.168.16.144:80 -m -w 1

ipvsadm -ln

4.配置节点服务器(web1、web2)

        a.安装httpd,创建测试网页

dnf -y install httpd

#创建测试网页
    #web1节点
echo "This is web1" > /var/www/html/index.html
    #web2节点
echo "This is web2" > /var/www/html/index.html

        b.启动httpd服务

systemctl start httpd
systemctl enable httpd

        c.修改节点服务器的网关,指向lvs调度器的192.168.16.142(模拟的内网网卡)

nmcli con mod ens33 ipv4.gateway 192.168.16.142
nmcli con up ens33

ip route

5.测试LVS群集(本机访问)

C:\Users\Y>curl 192.168.42.128
This is web2

C:\Users\Y>curl 192.168.42.128
This is web1

C:\Users\Y>curl 192.168.42.128
This is web2

C:\Users\Y>curl 192.168.42.128
This is web1

6.使用NFS发布共享资源(nfs上)

        a.安装nfs-utils、rpcbind软件包

dnf -y install rpcbind nfs-utils

        b.设置共享目录

mkdir -p /opt/wwwroot

vi /etc/exports

/opt/wwwroot 192.168.16.0/24(rw,sync,no_root_squash)

        c.启动NFS共享目录

systemctl start nfs rpcbind 
systemctl enable nfs rpcbind 

        d.查看本机发布的NFS共享目录

showmount -e

7.在客户机中访问NFS共享资源

        a.安装rpcbind软件包(web1、web2)

dnf -y install rpcbind nfs-utils

        b.手动挂载NFS共享目录(web1、web2)

mount 192.168.16.145:/opt/wwwroot /var/www/html

        c.NFS创建测试文件(nfs上)

ls /opt/wwwroot/
echo 'this is NFS' > /opt/wwwroot/index.html

        d. fstab自动挂载设置(web1、web2)

ls /opt/wwwroot/
echo 'this is NFS' > /opt/wwwroot/index.html

        e.访问测试

C:\Users\Y>curl 192.168.42.128
this is NFS

C:\Users\Y>curl 192.168.42.128
this is NFS

C:\Users\Y>curl 192.168.42.128
this is NFS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值