8.12LVS

embedded/2024/9/25 19:14:04/

一.LVS概述

1.什么是lvs

lvs是一个实现负载均衡集群开源软件项目,lvs逻辑上可以分为调度层,server集群层和共享层

2.特点:免费,开源,四层负载均衡

3.Lvs工作原理

4.lvs调度算法:

  1. 静态调度算法
  1. 轮询

     RR  轮询**

     均等的对待每一台服务器,而不管服务器上实际的连接数和系统负载

  1. 加权轮询

     WRR  加权轮询**

     调度器可以自动询问真实服务器的负载情况,并动态的调整其权值

  1. 目标地址hash**

     DH  目标地址hash**

     通过一个散列函数将一个目标IP地址映射到一台服务器

  1. 源地址hash

     SH  源地址hash**

  1. 组成及相关术语
  1. 组成

     Ipvs----是真正生效实现调度的代码

     Ipsadm----负责为ipvs内核框架编写规则,定义谁是集群服务,谁是后端真正的服务器

     lvs组成=ipvsipv+sadm

  1. 术语

二.环境准备

主机名       功能                            IP地址

Nat          负载均衡调度器(ds.director,ntp服务)        vip:192.168.2.199    dip:192.168.1.164

Web01       真实web服务器Rs(rs.realserver)     192.168.2.200

Web02       真实web服务器Rs                 192.168.2.201

DNS            dns服务                           192.168.2.188

Client                                      192.168.2.180

都要关闭防火墙,关闭selinux,启动网卡  

1.Web01和web02机器

给web01和web02安装nginx

yum -y install nginx

启动

nginx

改变两台机器的nginx页面内容

[root@web01 ~]# echo "web---------01" > /usr/share/nginx/html/index.html

[root@web02 ~]# echo "web----------02" > /usr/share/nginx/html/index.html

2.net主机

配置两给网卡和IP地址,一个对外的vip,一个对内的dip,现在主要使用nat网络模式,可以配置桥接模式对外,nat对内,教师机不方便配置桥接模式,所以都是配置的nat模式,但是一定要分清楚哪个是vip,哪个是dip,在物理主机上都要能够ping通。

3.配置Dns服务器

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld.service

关闭selinux

vim /etc/selinux/config

SELINUX=disabled

关闭NetworkManager

systemctl stop NetworkManager

systemctl disable NetworkManager.service

安装bind

[root@dns ~]# yum -y install bind

配置主配置文件

[root@dns ~]# vim /etc/named.conf

options {

        listen-on port 53 { 127.0.0.1; any; };

        listen-on-v6 port 53 { ::1; };

        directory       "/var/named";

        dump-file       "/var/named/data/cache_dump.db";

        statistics-file "/var/named/data/named_stats.txt";

        memstatistics-file "/var/named/data/named_mem_stats.txt";

        recursing-file  "/var/named/data/named.recursing";

        secroots-file   "/var/named/data/named.secroots";

        allow-query     { localhost; any; };

配置zones文件

[root@dns ~]# vim /etc/named.rfc1912.zones  //在最后添加

zone "jj.qd" IN {

        type master;

        file "jj.qd.zone";

        allow-update { none; };

};

cd /var/named/

cp -p named.localhost jj.qd.zone

配置zone文件

vim jj.qd.zone

nat     A       192.168.2.199

ds      A       192.168.2.188

web01   A       192.168.2.200

web02   A       192.168.2.201

named-checkconf /etc/named.conf

named-checkconf /etc/named.rfc1912.zones

named-checkzone jj.qd.zone jj.qd.zone

systemctl start named

systemctl enable named.service

4.client主机

vim /etc/resolv.conf进去全删了

vim /etc/sysconfig/network-scripts/ifcfg-ens33 //进去添加

DNS1=192.168.2.188

在client访问

[root@client ~]# ping nat.jj.qd

[root@client ~]# ping ds.jj.qd

[root@client ~]# ping web01.jj.qd

[root@client ~]# ping web02.jj.qd

同步时间

[root@dns ~]# yum -y install ntpdate.x86_64

ntpdate cn.ntp.org.cn

crontab -e

* 2 * * * /usr/sbin/ntpdate cn.ntp.org.cn

yum -y install ntp

启动服务

systemctl start ntpd

systemctl enable ntpd

NAT模式搭建实战

5.nat服务器配置

安装ipvsadm

yum -y install ipvsadm

清空以往的规则

[root@net ~]# ipvsadm -C

查看规则

[root@net ~]# ipvsadm -L -n

新增规则

[root@net ~]# ipvsadm -A -t 192.168.1.164:80 -s rr   //-A添加虚拟服务,-t添加主机

[root@net ~]# 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.164:80 rr

server' command

[root@net ~]# ipvsadm -a -t 192.168.2.199:80 -r 192.168.2.200:80 -m

server' command

[root@net ~]# ipvsadm -a -t 192.168.2.199:80 -r 192.168.2.201:80 -m


http://www.ppmy.cn/embedded/94234.html

相关文章

H5页面返回时提示用户返回将丢失信息

效果图 代码&#xff0c;组件封装弹窗 <template><div><van-popup v-model"show" :close-on-click-overlay"false" class"popup"><div class"content"><div class"title">提示:</div>…

图像处理领域的EI学术会议

在科技日新月异的今天&#xff0c;图像处理技术作为计算机视觉与人工智能领域的核心分支&#xff0c;正以前所未有的速度推动着各行各业的发展。为了促进这一领域的学术交流与合作&#xff0c;提升研究成果的国际化水平&#xff0c;图像处理领域的EI学术会议成为了科研人员展示…

如何在前后端分离项目中,使用Spring Security

使用 WebSecurityConfigurationAdapter 在前后端分离的架构中&#xff0c;通常使用 Token 进行认证和授权是一种常见的做法。Token 可以是 JSON Web Token&#xff08;JWT&#xff09;&#xff0c;用于在客户端和服务器之间传递身份信息和访问控制信息。下面我将详细介绍如何在…

python循环语句之while循环和for循环

文章目录 1. while 循环1.1 介绍1.1.1 生活中的循环1.1.2 程序中的循环 1.2 总结 2. while循环应用&#xff1a;1~100求和2.1 需求2.2 分析 3. while嵌套循环以及运用3.1 while嵌套循环语句的语法格式3.2 while嵌套循环使用3.2.1 要求3.2.2 参考代码 4. for循环4.1 for循环基本…

笔记工具的选择:构建编程学习的高效系统

在编程学习的海洋中&#xff0c;高效的笔记记录和整理方法就像一张珍贵的航海图&#xff0c;能够帮助我们在浩瀚的知识中找到方向。如何建立一个既能快速记录又易于回顾的笔记系统&#xff1f;如何在繁忙的学习中保持笔记的条理性&#xff1f;让我们一起探讨如何打造属于自己的…

乐凡定制平板|助力医疗无创动脉血压监测系统采集项目

无创动脉血压监测系统&#xff0c;用于动脉内压力监测&#xff0c;适用于成人桡动脉血压、脉率、每搏输出量和心输出量的无创连续监测&#xff0c;对高风险手术患者及危重症患者尤其重要&#xff0c;能够及时反映血流动力学变化&#xff0c;指导救治&#xff0c;提升抢救效率。…

JavaScript 文档元素获取

目录 通过id获取文档元素 任务描述 相关知识 什么是DOM 文档元素 节点树 通过id获取文档元素 编程要求 通过类名获取文档元素 任务描述 相关知识 通过类名获取文档元素 编程要求 通过标签名获取文档元素 任务描述 相关知识 通过标签的名字获取文档元素 获取标…

你真的会用vscode吗?

VS Code 是一款功能强大的代码编辑器&#xff0c;拥有许多实用的技巧和插件。今天就来总结一下&#xff0c;方便学习和使用。 ### 1. **快捷键** - **多行编辑**&#xff1a;按住 Alt 键并点击&#xff0c;或者按 Ctrl Alt 下箭头/上箭头 可以选择多行进行编辑。 - **…