linux CentOS7 keepalived+LVS(DR)搭建部署

news2024/12/25 1:24:27

目录

一、服务器准备

二、操作步骤

1.部署web服务器

 2.部署LVS主备调度器

测试

部署NFS共享服务器


一、服务器准备

.准备6台虚拟机,2台做LVS主备调度器,2台做web服务器,1台做存储,1台客户机验证

1.LVS主调度器 (master):192.168.1.12

2.LVS备调度器(backup):192.168.1.133

3.web1:192.168.1.134

4.web2:192.168.1.135

5.存储(nfs):192.168.1.138

6.客户机(cli):192.168.1.139

虚拟ip:192.168.1.222

二、操作步骤

1.部署web服务器

[root@web1 ~] vim /etc/sysctl.conf    # 调整web1与web2的ARP参数
net.ipv4.conf.all.arp_ignore=1 
net.ipv4.conf.all.arp_announce=2 
net.ipv4.conf.default.arp_ignore=1 
net.ipv4.conf.default.arp_announce = 2 
net.ipv4.conf.lo.arp_ignore = 1 
net.ipv4.conf.lo.arp_announce=2
[root@web1 ~] yum -y install httpd     #web1与web2安装 http
[root@web1 ~] echo "skl111" > /var/www/html/index.html    # web1与web2分别写一个index.html用于测试(/var/www/html/ )httpd的网站根目录
[root@web1 ~]# cd /etc/sysconfig/network-scripts/     
[root@web1 network-scripts] cp ifcfg-lo ifcfg-lo:0     # web1与web2创建虚拟ip
[root@web1 network-scripts] vim ifcfg-lo:0
[root@web1 network-scripts] systemctl restart network
[root@web1 network-scripts] ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.135  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::10ee:1215:db1e:47e5  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::d6d9:dbed:4ad1:b012  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::b938:12f9:f741:d867  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:52:40:87  txqueuelen 1000  (Ethernet)
        RX packets 207440  bytes 24892876 (23.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6970  bytes 583107 (569.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo:0: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536          #创建完毕
        inet 192.168.1.222  netmask 255.255.255.255
        loop  txqueuelen 1000  (Local Loopback)
[root@web1 network-scripts] route add -host 192.168.1.222/32 dev lo:0   #web1与web2添加回环路由
[root@web1 network-scripts] systemctl start httpd    #启动web服务 

 2.部署LVS主备调度器

[root@master ~] vim /etc/sysctl1.conf  #调整master和backup的ARP参数(一致)
[root@backup ~] vim /etc/sysctl1.conf
net.ipv4.conf.all.send_redirects = 0 
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.ens33.send_redirects = 0          

[root@master ~] yum -y install keepalived ipvsadm  #master和backup安装keepalived ipvsadm
[root@master ~] vim /etc/sysconfig/ipvsadm-config    #配置keepalived master
global_defs {
   router_id LVS_DEVEL1
}
vrrp_instance master {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    192.168.1.222          #虚拟IP        
    }
}
virtual_server 192.168.1.222 {   #虚拟IP
    delay_loop 6
    lb_algo rr
    lb_kind DR
    #persistence_timeout 50
    protocol TCP
    real_server 192.168.1.134  {   #web1
        weight 1
        HTTP_GET {
            url {
              path /
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 192.168.1.135 80 {  #web2
        weight 1
        HTTP_GET {
            url {
              path /
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
[root@backup ~] vim /etc/sysconfig/ipvsadm-config   #配置keepalived backup
global_defs {
   router_id LVS_DEVEL2
}
vrrp_instance backup {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    192.168.1.222       
    }
}
virtual_server 192.168.1.222 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    #persistence_timeout 50
    protocol TCP
    real_server 192.168.1.134 80 {
        weight 1
        HTTP_GET {
            url {
              path /
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 192.168.1.135 80 {
        weight 1
        HTTP_GET {
            url {
              path /
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

启动master和backup的keepalived与ipvsadm


[root@master ~] systemctl start keepalived
[root@master ~]# touch /etc/sysconfig/ipvsadm
[root@master ~] systemctl start ipvsadm.service 
[root@master ~] modprobe ip_vs    #master和backup加载ip_vs模块
[root@master ~] ipvsadm -ln     #查看lvs节点状态
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.1.222:80 rr
  -> 192.168.1.134:80             Route   1      0          0         
  -> 192.168.1.135:80             Route   1      0          0   

测试

[root@master ~]# curl 192.168.1.222
web2
[root@master ~]# curl 192.168.1.222
web1

[root@master ~]# systemctl stop keepalived.service 

 

部署NFS共享服务器

存储配置文件

[root@nfs network-scripts] yum -y install nfs-utils
[root@nfs network-scripts] vim /etc/exports
/data/www/html/ 192.168.1.0/24(rw)
[root@nfs ] mkdir  -p /data/www/html
[root@nfs ] echo "web 1 2" >/data/www/html/index.html
[root@nfs ] systemctl start nfs
[root@master ~] mount 192.168.1.138:/data/www/html /var/www/html/
[root@backup ~] mount 192.168.1.138:/data/www/html /var/www/html/

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/663757.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

20个你应该掌握的强大而有用的正则表达式

关注“大前端私房菜”微信公众号&#xff0c;回复暗号【面试宝典】即可免费领取107页前端面试题。 正则表达式是一种很强大的字符串模式匹配工具。掌握常见的正则表达式可以大大提高我们在字符串操作和文本处理上的效率。 1.货币格式化 我经常需要在工作中使用到格式化的货币&…

哈希及其哈希思想的应用

1. unordered 系列关联式容器 在 C98 中&#xff0c; STL 提供了底层为红黑树结构的一系列关联式容器&#xff0c;在查询时效率可达到 $log_2 N$ &#xff0c;即最差情况下需要比较红黑树的高度次&#xff0c;当树中的节点非常多时&#xff0c;查询效率也不理想。最好 的查询…

Ubuntu20.04,samba服务器搭建。

0.前言 推荐个电视剧吧&#xff0c;百看不厌&#xff0c;《雍正王朝》。 这篇博客没什么技术含量&#xff0c;纯粹的表现一下我的勤劳。 1.Ubuntu 安装 终端输入 $ sudo apt install samba samba-common 配置需要共享的目录 # 新建目录&#xff08;自定义&#xff09;&am…

CarFramework打造无缝用户体验:提升汽车信息娱乐和控制

CarFramework框架解析 CarFramework&#xff08;汽车框架&#xff09;是Android Automotive平台上的一个关键框架&#xff0c;它提供了专门针对车辆应用程序开发的功能和工具。CarFramework通过提供一组API和服务&#xff0c;简化了与车辆硬件和车辆特定功能的交互。 CarFram…

被ChatGPT骗了!再用ChatGPT可要小心了。

被ChatGPT戏耍的周末 1. 被ChatGPT戏耍全过程2. 拆穿ChatGPT的把戏3. AIGC与内容安全 1. 被ChatGPT戏耍全过程 电动垂直起降飞行器&#xff08;eVTOL&#xff0c;Electric Vertical Takeoff and Landing&#xff09;技术越来越成熟&#xff0c;为了解下相关产品我周末打开了Cha…

Android Java判断密码强度 强度显示

1&#xff0c;正则表达式 密码强度的正则表达式 public static final String WEAK_PATTERN "(^(?.*[0-9])(?.*[a-z])[0-9a-z]{6,18}$)|(^(?.*[0-9])(?.*[A-Z])[0-9A-Z]{6,18}$)";//全数字字母&#xff08;大/小&#xff09;public static final String MEDIUM_…

61、基于51单片机无线蓝牙音乐喷泉控制系统设计(程序+原理图+PCB源文件+参考论文+参考PPT+元器件清单等)

方案选择 单片机的选择 方案一&#xff1a;AT89C52是美国ATMEL公司生产的低电压&#xff0c;高性能CMOS型8位单片机&#xff0c;器件采用ATMEL公司的高密度、非易失性存储技术生产&#xff0c;兼容标准MCS-51指令系统&#xff0c;片内置通用8位中央处理器(CPU)和Flash存储单元…

MySql基础教程(一):创建删除选择数据库

MySql基础教程(一)&#xff1a;创建删除选择数据库 1、创建数据库 创建一个名为 CSDN 的数据库 CREATE DATABASE CSDN;执行成功&#xff0c;数据库CSDN创建成功。 2、删除数据库 删除名为 CSDN 的数据库 DROP DATABASE CSDN;执行成功&#xff0c;CSDN数据库删除成功。 3…

【Java技术专题】「入门到精通系列教程」零基础带你认识网络请求工具鼻祖之HttpClient开发实战指南(执行请求篇)

零基础带你认识网络请求工具鼻祖之HttpClient开发实战指南 前言HttpClient的作用HttpClient可以实现什么&#xff1f;HttpClient无法实现什么&#xff1f; HttpClient的使用基础执行请求HTTP 请求查询字符串也可以从独立的参数中来生成 HTTP 响应HTTP 实体实体类型重复实体使用…

重新审视长时间序列预测:关于线性映射的调查

摘要 近年来&#xff0c;长时间序列预测得到了极大的关注。虽然有各种专门的设计来捕捉时间依耐性&#xff0c;但以前的研究表明&#xff0c;与其他复杂的架构相比&#xff0c;单一的线性层可以实现有竞争力的预测性能。在本文中&#xff0c;我们彻底调查了最近提出的方法内在…

微信小程序开发21__Echarts的应用

Echarts 是一个使用JS实现的开源可视化库&#xff0c; 其官网是 https://echarts.apache.org . 它提供了常规的折线图、柱状图、散点图、饼图、K线图等&#xff0c; 还支持图与图之间的混搭。 Echarts 的微信小程序版本的Github为 https://github.com/ecomfe/echarts-for-…

MySQL数据库日志管理、备份与恢复

目录 一、MySQL 日志管理 二、数据备份的重要性 造成数据丢失的原因 三、数据库备份的分类 1 、从物理与逻辑的角度 &#xff08;1&#xff09;备份划分 &#xff08;2&#xff09; 物理备份方法 2、 从数据库的备份策略角度 四、常见的备份方法 1、物理冷备 2、专用备…

天气热了,三叔请你吃瓜

目录 前言预备知识画一个完整的西瓜加些纹路切西瓜参考资料前言 六月份转眼就过去一半了,气温逐渐走高,每次经过小区门口的时候都会被那家水果店铺的吆喝声吸引住,“正宗南汇8424西瓜只要3元一斤啦”,每每都想冲进店里抱一个回来,可碍于囊中羞涩,只好作罢,晚餐过后闲暇…

Postman | 一分钟掌握Pre-request Script | 外部库的使用

简介 Postman内部提供了13种外部库&#xff0c;可以直接在前置请求脚本和后置请求脚本中使用&#xff0c;如果需要其他外部库&#xff0c;只需要使用如下方式引入即可&#xff1a; require(moduleName:String):function → * 一些内部库使用的例子 postman可用的外部库官网列…

[第一章 web入门]afr

afr_1 题目开头已经提示说是任意文件读取漏洞 所以这里还需要复习一下php伪协议php://filter 的作用 读取源代码并进行base64编码输出&#xff0c;不然传入的参数会直接当做php代码执行就看不到源代码内容了。php://filter即使在allow_url_fopen和allow_url_include双off情况下…

Day21 实战篇——Jmeter接口测试之案例实战——添加线程组、添加HTTP请求、获取所有学生接口

Day21 实战篇——Jmeter接口测试之案例实战——添加线程组、添加HTTP请求、获取所有学生接口 文章目录 Day21 实战篇——Jmeter接口测试之案例实战——添加线程组、添加HTTP请求、获取所有学生接口1、添加线程组2、添加HTTP请求3、获取所有学生接口3.1 Jmeter察看结果树中乱码:…

03_运行时数据区

目录 一、概述二、线程1、JVM系统线程 一、概述 二、线程 1、JVM系统线程

调用万维易源API实现天气预测

目录 1. 作者介绍2. 关于理论方面的知识介绍2.1 天气预测简介2.2 预测方法 3. 代码实现3.1 需要安装的包3.2 部分代码3.3 实验结果 1. 作者介绍 房庚晨&#xff0c;男&#xff0c;西安工程大学电子信息学院&#xff0c;22级研究生 研究方向&#xff1a;机器视觉与人工智能 电子…

【数据库四】MySQL备份与恢复

MySQL备份与恢复 1.数据库备份的分类1.1 数据备份的重要性1.2 数据库备份的分类1.3 常见的备份方法 2.MySQL完全备份与恢复2.1 MySQL完全备份2.2 数据库完全备份分类2.3 MySQL物理冷备份及恢复2.4 数据迁移DST2.5 mysqldump进行逻辑备份2.5.1 mysqldump备份数据库2.5.2 mysqldu…

基于卡尔曼滤波进行四旋翼动力学建模(SimulinkMatlab)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…