企业集群平台架构设计与实现lvs篇3(二)|学习笔记

简介: 快速学习企业集群平台架构设计与实现lvs篇3(二)

开发者学堂课程【企业集群平台架构设计与实现:lvs/haproxy/keepalived:企业集群平台架构设计与实现lvs篇3(二)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/391/detail/5011


企业集群平台架构设计与实现lvs篇3(二)


内容介绍:

一、通过Keepalived搭建LVS高可用性集群系统


一、通过Keepalived搭建LVS高可用性集群系统

1.安装 keepalived+ipvsadm环境

直接通过yum安装两个包,核心的负载调度功能是ipvm来实现

[root@host236~]# yum install ipvsadm keeralived

2.配置 Keepalived

Keepalived 的配置非常简单,仅需要一个配置文件即可完成对 HA cluster 和 LVS 服务节点监控。

Keepalived 的安装已经在前面介绍过,在通过 Keepalived 搭建高可用的 LVS集群实例中,主、备 Director Server 都需要安装 Keepalived 软件,安装成功后,默认的配置文件路径为/etc/Keepalived/Keepalived.conf。

一个完整的 keepalived 配置文件由三个部分组成,分别是全局定义部分、vrrp 实例定义部分以及虚拟服务器定义部分,下面详细介绍这个配置文件中每个选项的详细含义和用法。

举例:

! Configuration File for keepalived  

#全局定义部分

global_defs {

notification_email {

dba.gao@gmail.com  

#设置报警邮件地址,可以设置多个,

#每行一个。注意,如果要开启邮件报警,

#需要开启本机的 Sendmail 服务

ixdba@163.com  

}

#设置邮件的发送地址

notification_email_from Keepalived@localhost     smtp_server 192.168.200.1

#设置 smtp server 地址

#设置连接 smtp server 的超时时间

smtp_connect_timeout 30

#表示运行Keepalived 服务器的一个

router_id LVS_DEVEL

#标识。发邮件时显示在邮件主题中的信息

}

#vrrp 实例定义部分,定义角色值,默认情况下主用机器的话是master

vrrp_instance Vi__1{

#指定 Keepalived 的角色,MASTER 表示

state MASTER  

# 此主机是主服务器,BACKUP 表示

#此主机是备用服务器

#指定 HA 监测网络的接口

interface ethO      

#虚拟路由标识,这个标识是一个数字          

virtual_router_id 51          

#同一个 vrrp 实例使用唯一的标识,

#即同一个vrrp instance 下,MASTER和#BACKUP 必须是一致的

#定义优先级,数字越大,优先级越高。

priority 100                      

#在一个 vrrp_instance 下,MASTER的

#优先级必须大于 BACKUP 的优先级

#设定 MASTER与 BACKUP 负载均衡器

advert_int 1                    

#间同步检查的时间间隔,单位是秒

authentication {    

#设定验证类型和密码                

auth_type PASS                

#设置验证类型,主要有 PASS 和 AH 两种

auth_pass 1111                

#设置验证密码,在一个 vrrp_instance 下,

#MASTER 与 BACKUP 必须使用相同的密码

#才能正常通信

}

virtual_ipaddress{                

#设置虚拟 IP地址,可以设置多个虚拟IP地址,每行一个。

192.168.12.200

  }

}

#虚拟服务器定义部分

virtual_server 192.168.12.200 80{  #设置虚拟服务器,需要指定虚拟IP 地址和服务

#端口,IP 与端口之间用空格隔开

delay_loop 6                

#设置健康检查的时间间隔,单位是秒

Ib_algo rr                  

#设置负载调度算法,这里设置为 rr,即轮询算法

Ib_kind DR                

#设置 LVS 实现负载均衡的机制,有NAT、TUN  

#和 DR 三个模式可选

persistence_timeout 50        

#会话保持时间,单位是秒。这个选项对动态

#网页是非常有用的,为集群系统中的 session 共享

#提供了一个很好的解决方案。有了这个会话保持

#功能,用户的请求会被一一直分发到某个服务节点,

#直到超过这个会话的保持时间。需要注意的是,

#这个会话保持时间是最大无响应超时时间,

#也就是说,用户在操作动态页面时,如果在 50  

#分发到另外节点,但是如果用户一一直在操作动态

#页面,则不受 5O秒的时间限制

protocol TCP                  

#指定转发协议类型,有TCP和 UDP 两种

real_server 192.168.12.132 80{  #配置服务节点1,需要指定 real server 的真实IP

#地址和端口,IP 与端口之间用空格隔开

weight 3                    

#配置服务节点的权值,权值大小用数字表示,

#数字越大,权值越高,设置权值的大小可以为

#不同性能的服务器分配不同的负载,可以为性能

#高的服务器设置较高的权值,而为性能较低的

#服务器设置相对较低的权值,这样才能合理地

#利用和分配了系统资源

TCP_CHECK{                

#realserve 的状态检测设置部分,单位是秒

connect_timeout 3          

#表示 3秒无响应超时

nb_get_retry 3            

#表示重试次数        

delay_before_retry 3        

#表示重试间隔

}

}

real_server192.168.12.133 80{  

#配置服务节点2

weight 1  

TCP_CHECK{

connect_timeout 3  

nb_get_retry 3  

delay_before_retry 3

}

}

}

在配置 Keepalived.conf 时,需要特别注意配置文件的语法格式,因为 Keepalived 在启动时并不检测配置文件的正确性,即使没有配置文件,Keepalived 也照样能够启动,所以一定要保证配置文件正确。

在默认情况下,Keepalived 在启动时会查找/etc/Keepalived/Keepalived.conf 配置文件,如果配置文件放在了其他路径下,可以通过"Keepalived-f"参数指定配置文件的路径即可。

Keepalived.conf 配置完毕后,将此文件复制到备用 Director Server 对应的路径下,然后进行两个简单的修改即可。

将" state MASTER"更改为"state BACKUP"

将 priority 100更改为一个较小的值,这里改为"priority 80"

3.配置 Realserver 节点

与 heartbeat+LVS 类似,Keepalived+LVS 也需要为 Real server节点配置相关的脚本,以达到与 Director Serve 相互通信的目的,脚本的内容已经在前面介绍过,这里不在讲述。

4.启动 Keepalived+LVS集群系统

在主、备 Director Server 上分别启动 Keepalived  服务,可以执行如下操作∶

[root@DR1 ~]#/etc/init.d/Keepalived start  

接着在两个 Real server 上执行如下脚本∶

[root@rs1~]#/etc/init.d/lvsrs start

至此,Keepalived+LVS 高可用的 LVS 集群系统已经运行起来了。

相关文章
|
11月前
|
机器学习/深度学习 人工智能 监控
大型动作模型LAM:让企业重复任务实现80%效率提升的AI技术架构与实现方案
大型动作模型(LAMs)作为人工智能新架构,融合神经网络与符号逻辑,实现企业重复任务的自动化处理。通过神经符号集成、动作执行管道、模式学习、任务分解等核心技术,系统可高效解析用户意图并执行复杂操作,显著提升企业运营效率并降低人工成本。其自适应学习能力与上下文感知机制,使自动化流程更智能、灵活,为企业数字化转型提供坚实支撑。
665 0
大型动作模型LAM:让企业重复任务实现80%效率提升的AI技术架构与实现方案
|
11月前
|
人工智能 数据可视化 算法
企业想做数智化,数据仓库架构你得先搞懂!
在数智化浪潮下,数据驱动已成为企业竞争力的核心。然而,许多企业在转型过程中忽视了数据仓库这一关键基础。本文深入解析数据仓库的重要性,厘清其与数据库的区别,详解ODS、DWD、DWS、ADS分层逻辑,并提供从0到1搭建数据仓库的五步实战方法,助力企业夯实数智化底座,实现数据治理与业务协同的真正落地。
企业想做数智化,数据仓库架构你得先搞懂!
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
消息中间件 负载均衡 中间件
⚡ 构建真正的高性能即时通讯服务:基于 Netty 集群的架构设计与实现
本文介绍了如何基于 Netty 构建分布式即时通讯集群。随着用户量增长,单体架构面临性能瓶颈,文章对比了三种集群方案:Nginx 负载均衡、注册中心服务发现与基于 ZooKeeper 的消息路由架构。最终选择第三种方案,通过 ZooKeeper 实现服务注册发现与消息路由,并结合 RabbitMQ 支持跨服务器消息广播。文中还详细讲解了 ZooKeeper 搭建、Netty 集群改造、动态端口分配、服务注册、负载均衡及消息广播的实现,构建了一个高可用、可水平扩展的即时通讯系统。
1213 0
|
9月前
|
运维 Prometheus 监控
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
357 8
|
10月前
|
存储 监控 NoSQL
Redis高可用架构全解析:从主从复制到集群方案
Redis高可用确保服务持续稳定,避免单点故障导致数据丢失或业务中断。通过主从复制实现数据冗余,哨兵模式支持自动故障转移,Cluster集群则提供分布式数据分片与水平扩展,三者层层递进,保障读写分离、容灾切换与大规模数据存储,构建高性能、高可靠的Redis架构体系。
|
Ubuntu 编译器 C语言
在Ubuntu22.04平台上交叉编译针对Rv1126架构的GCC13.2.0编译器的步骤。
遵循上述步骤,您应该能够在Ubuntu 22.04平台上成功交叉编译适用于RISC-V架构RV1126的GCC 13.2.0编译器,允许您为目标硬件构建应用程序和操作系统组件。
750 10
|
人工智能 自然语言处理 供应链
AI时代企业难以明确大模型价值,AI产品经理如何绘制一张‘看得懂、讲得通、落得下’的AI产品架构图解决这一问题?
本文产品专家系统阐述了AI产品经理如何绘制高效实用的AI产品架构图。从明确企业六大职能切入,通过三层架构设计实现技术到业务的精准转译。重点解析了各职能模块的AI应用场景、通用场景及核心底层能力,并强调建立"需求-反馈"闭环机制。AI产品专家三桥君为AI产品经理提供了将大模型能力转化为商业价值的系统方法论,助力企业实现AI技术的业务落地与价值最大化。
663 0
|
存储 NoSQL Redis
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 +  无锁架构 +  EDA架构  + 异步日志 + 集群架构