企业集群平台架构设计与实现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 集群系统已经运行起来了。

相关文章
|
4月前
|
运维 监控 负载均衡
动态服务管理平台:驱动微服务架构的高效引擎
动态服务管理平台:驱动微服务架构的高效引擎
71 17
|
4月前
|
运维 监控 负载均衡
探索微服务架构下的服务治理:动态服务管理平台深度解析
探索微服务架构下的服务治理:动态服务管理平台深度解析
|
2月前
|
Java Linux C语言
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
509 90
|
4月前
|
运维 监控 安全
探索微服务架构下的服务治理:动态服务管理平台的力量
探索微服务架构下的服务治理:动态服务管理平台的力量
|
1月前
|
SQL 消息中间件 Kafka
Flink+Paimon+Hologres,面向未来的一体化实时湖仓平台架构设计
本文介绍了阿里云实时数仓Hologres负责人姜伟华在Flink Forward Asia 2024上的分享,涵盖实时数仓的发展历程、从实时数仓到实时湖仓的演进,以及总结。文章通过三代实时数仓架构的演变,详细解析了Lambda架构、Kafka实时数仓分层+OLAP、Hologres实时数仓分层复用等方案,并探讨了未来从实时数仓到实时湖仓的演进方向。最后,结合实际案例和Demo展示了Hologres + Flink + Paimon在实时湖仓中的应用,帮助用户根据业务需求选择合适的方案。
528 20
Flink+Paimon+Hologres,面向未来的一体化实时湖仓平台架构设计
|
3月前
|
自然语言处理 JavaScript Java
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
HarmonyOS采用分层架构设计,从下至上分为内核层、系统服务层、框架层和应用层。内核层支持多内核设计与硬件驱动;系统服务层提供核心能力和服务;框架层支持多语言开发;应用层包括系统及第三方应用,支持跨设备调度,确保一致的用户体验。
206 81
|
11天前
|
SQL 消息中间件 Serverless
​Flink+Paimon+Hologres,面向未来的一体化实时湖仓平台架构设计
​Flink+Paimon+Hologres,面向未来的一体化实时湖仓平台架构设计
|
3月前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
216 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
27天前
|
存储 SQL 监控
转转平台IM系统架构设计与实践(二):详细设计与实现
以转转IM架构为起点,介绍IM相关组件以及组件间的关系;以IM登陆和发消息的数据流转为跑道,介绍IM静态数据结构、登陆和发消息时的动态数据变化;以IM常见问题为风景,介绍保证IM实时性、可靠性、一致性的一般方案;以高可用、高并发为终点,介绍保证IM系统稳定及性能的小技巧。
33 6
|
2月前
|
存储 消息中间件 小程序
转转平台IM系统架构设计与实践(一):整体架构设计
本文描述了转转IM为整个平台提供的支撑能力,给出了系统的整体架构设计,分析了系统架构的特性。
84 10