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

相关文章
|
1月前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【2月更文挑战第31天】 随着数字化转型的加速,云原生技术已经成为推动企业IT架构现代化的关键力量。本文深入探讨了云原生架构的核心组件、实施策略以及面临的主要挑战。通过分析容器化、微服务、DevOps和持续集成/持续部署(CI/CD)等关键技术,揭示了如何利用这些技术实现敏捷性、可扩展性和弹性。同时,文章还讨论了企业在采纳云原生实践中可能遇到的安全性、复杂性和文化适应性问题,并提供了解决这些问题的策略和建议。
|
30天前
|
运维 Cloud Native 持续交付
云原生架构的未来演进:打造灵活、高效的企业IT基础
随着数字化转型的不断深入,企业的IT基础设施正经历着从传统架构向云原生架构的根本转变。本文将探讨云原生技术的最新发展趋势,分析其在提高业务敏捷性、降低运维成本以及促进技术创新方面的关键作用。我们将重点讨论如何借助容器化、微服务、DevOps和持续交付等核心技术,构建一个能够适应快速变化市场需求的云原生生态系统。通过实际案例分析,揭示企业在迁移到云原生架构过程中面临的挑战与解决策略,为读者呈现一幅云原生技术赋能企业未来的蓝图。
|
1月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
98 0
|
2天前
|
负载均衡 监控 Linux
CentOS6.5高可用集群LVS+Keepalived(DR模式)
CentOS6.5高可用集群LVS+Keepalived(DR模式)
|
15天前
|
运维 Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【4月更文挑战第10天】 随着数字化转型的不断深入,企业对信息技术基础设施的要求日益提高。云原生架构作为一种新兴的设计理念和技术集合,以其灵活性、可扩展性和容错性,正在成为推动企业技术革新的关键力量。本文将探讨云原生技术的核心组件、实施策略以及面临的主要挑战,并分析如何通过采纳云原生架构来优化业务流程和提升服务效率。
|
1月前
|
Cloud Native 安全 Devops
构建未来:云原生架构在现代企业中的应用与挑战
【2月更文挑战第30天】 随着数字化转型的深入,企业正迅速采纳云原生技术以适应不断变化的市场环境。本文探讨了云原生架构的关键组成部分,包括容器化、微服务、持续集成/持续部署(CI/CD)和DevOps实践,并分析了它们如何促进企业的敏捷性和可扩展性。同时,文章也识别了企业在采用云原生技术时面临的安全、文化和技术挑战,并提出了相应的解决策略,以帮助企业在云时代保持竞争力。
|
1月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
65 1
|
1月前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
783 0
|
1月前
|
SpringCloudAlibaba Java 测试技术
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
39 1

热门文章

最新文章