多站点高可用部署

当集群跨越多个站点时,站点之间的网络连接问题可能会导致脑裂情况。当连接断开时,一个站点上的节点无法确定另一个站点上的节点是否发生故障或仍在使用发生故障的站点互连运行。此外,在两个相距太远而无法保持同步的站点之间提供高可用性服务可能会出现问题。为了解决这些问题,Pacemaker通过使用Booth集群票证管理器,全面支持配置跨多个站点的高可用性集群的能力。

Booth 集群票务管理器概述

Booth票证管理器是一种分布式服务,旨在运行在与连接特定站点的集群节点的网络不同的物理网络上。它产生了另一个松散的集群,即Booth 结构,位于站点的常规集群之上。这个聚合的通信层促进了基于共识的单个展位票的决策过程。

Booth票是 Booth 结构中的一个单例,代表一个时间敏感的、可移动的授权单元。可以将资源配置为需要特定票证才能运行。这可以确保资源一次仅在一个站点上运行,并且已为其授予一张或多张票。

您可以将 Booth 结构视为由运行在不同站点的集群组成的覆盖集群,其中所有原始集群相互独立。是 Booth 服务与集群通信它们是否已获得票证,并且是 Pacemaker 根据 Pacemaker 票证约束确定是否在集群中运行资源。这意味着在使用票证管理器时,每个集群都可以运行自己的资源以及共享资源。例如,可以有资源 A、B 和 C 仅在一个集群中运行,资源 D、E 和 F 仅在另一个集群中运行,以及资源 G 和 H 在两个集群中的任何一个中运行,由票证确定。

使用 Pacemaker 配置多站点集群

预计需要五台机器(根据实际情况而定),其中集群一和集群二各需要两台机器,Booth站点(仲裁节点)需要一台机器,并且这五台机器都安装HA安装包。

1. 创建集群

集群一(主集群)包括cluster1-node1和cluster1-node2,集群二(备用集群)包括cluster2-node1和cluster2-node2。

说明:
两个集群名称不要相同,如用于测试目的可关闭这五台机器防火墙,若实际项目中使用应根据实际情况而定。

2. 安装Booth票证管理器包

在两个集群的每个节点都安装booth-core及booth-site
Booth站点安装booth-core及booth-arbitrator

3. 创建Booth配置

[cluster1-node1 ~] # pcs booth setup sites 192.168.11.100 192.168.22.100 arbitrators 192.168.99.100
此命令创建配置文件/etc/booth/booth.conf及/etc/booth/booth.key文件。
在其中一个集群的一个节点上创建Booth配置(如集群一的cluster1-node1节点)

4. 创建票证(ticket)

[cluster1-node1 ~] # pcs booth ticket add superticket
为Booth配置创建票证(superticket为自定义票证名称)。这是您将用于定义资源约束的票证,该限制将允许资源仅在此票证被授予集群时运行。

说明:
增加票证约束后,两个集群的所有节点资源都变更为停止状态(参考后面约束相关内容),假如在cluster1-node1创建票证,cluster1-node1集群内的资源可以正常启动(通常情况下只为所有集群中的某一个节点创建票证,当这个节点异常或者这个节点所在的集群异常(两台集群机器关机),将会在另一个节点或者另一个集群中的某个节点启动资源)。

5. 配置同步

[cluster1-node1 ~] # pcs booth sync
将 Booth 配置同步到当前集群中的所有节点

[仲裁节点 ~] # pcs host auth cluster1-node1
[仲裁节点 ~] # pcs booth pull cluster1-node1
将Booth配置发送仲裁节点

[cluster2-node1 ~] # pcs host auth cluster1-node1
[cluster2-node1 ~] # pcs booth pull cluster1-node1
[cluster2-node1 ~] # pcs booth sync
将Booth配置发送另一个集群并同步到该集群的所有节点

6. 在仲裁节点启动并启用Booth

[仲裁节点 ~] # pcs booth start
[仲裁节点 ~] # pcs booth enable
将Booth配置为在两个集群站点上作为集群资源运行。这将创建一个资源组,booth-ip及booth-service作为该组的成员。
不要在集群的任何节点上手动启动或启用Booth,因为Booth在这些集群中作为Pacemaker资源运行。

7. 为每个集群创建浮动IP(虚拟IP)

[cluster1-node1 ~] # pcs booth create ip 192.168.11.100
[cluster2-node1 ~] # pcs booth create ip 192.168.22.100
在每个集群的其中一个节点上创建Booth浮动IP(使用《3. 创建Booth配置》中的IP)

8. 增加票证约束

[cluster1-node1 ~] # pcs constraint ticket add superticket newgroup
[cluster2-node1 ~] # pcs constraint ticket add superticket newgroup
将票证约束添加到您为每个集群定义的资源组。

9. 常用指令

[cluster1-node1 ~] # pcs constraint ticket
查看票证组名称

[cluster1-node1 ~] # pcs booth config
查看票证组信息

[cluster1-node1 ~] # pcs booth status
查看booth节点之间通讯状态

[cluster1-node1 ~] # pcs booth ticket grant superticket
在某个节点票证授权(增加约束后,通过票证授权启动节点内资源)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
此文档一共两部分,此下载链接为第1部分。 第1章 绪论 1.1 等待的真相 1.2 瓶颈在哪里 1.3 增加带宽 1.4 减少网页中的HTTP请求 1.5 加快服务器脚本计算速度 1.6 使用动态内容缓存 1.7 使用数据缓存 1.8 将动态内容静态化 1.9 更换Web服务器软件 1.1 页面组件分离 1.11 合理部署服务器 1.12 使用负载均衡 1.13 优化数据库 1.14 考虑可扩展性 1.15 减少视觉等待 第2章 数据的网络传输 2.1 分层网络模型 2.2 带宽 2.3 响应时间 2.4 互联互通 第3章 服务器并发处理能力 3.1 吞吐率 3.2 CPU并发计算 3.3 系统调用 3.4 内存分配 3.5 持久连接 3.6 I/O模型 3.7 服务器并发策略 第4章 动态内容缓存 4.1 重复的开销 4.2 缓存与速度 4.3 页面缓存 4.4 局部无缓存 4.5 静态化内容 第5章 动态脚本加速 5.1 opcode缓存 5.2 解释器扩展模块 5.3 脚本跟踪与分析 第6章 浏览器缓存 6.1 别忘了浏览器 6.2 缓存协商 6.3 彻底消灭请求 第7章 Web服务器缓存 7.1 URL映射 7.2 缓存响应内容 7.3 缓存文件描述符 第8章 反向代理缓存 8.1 传统代理 8.2 何为反向 8.3 在反向代理上创建缓存 8.4 小心穿过代理 8.5 流量分配 第9章 Web组件分离 9.1 备受争议的分离 9.2 因材施教 9.3 拥有不同的域名 9.4 浏览器并发数 9.5 发挥各自的潜力 第10章 分布式缓存 10.1 数据库的前端缓存区 10.2 使用memcached 10.3 读操作缓存 10.4 写操作缓存 10.5 监控状态 10.6 缓存扩展 第11章 数据库性能优化 11.1 友好的状态报告 11.2 正确使用索引 11.3 锁定与等待 11.4 事务性表的性能 11.5 使用查询缓存 11.6 临时表 11.7 线程池 11.8 反范式化设计 11.9 放弃关系型数据库 第12章 Web负载均衡 12.1 一些思考 12.2 HTTP重定向 12.3 DNS负载均衡 12.4 反向代理负载均衡 12.5 IP负载均衡 12.6 直接路由 12.7 IP隧道 12.8 考虑可用性 第13章 共享文件系统 13.1 网络共享 13.2 NFS 13.3 局限性 第14章 内容分发和同步 14.1 复制 14.2 SSH 14.3 WebDAV 14.4 rsync 14.5 Hash 14.6 分发还是同步 14.7 反向代理 第15章 分布式文件系统 15.1 文件系统 15.2 存储节点和追踪器 15.3 MogileFS 第16章 数据库扩展 16.1 复制和分离 16.2 垂直分区 16.3 水平分区 第17章 分布式计算 17.1 异步计算 17.2 并行计算 第18章 性能监控 18.1 实时监控 18.2 监控代理 18.3 系统监控 18.4 服务监控 参考文献 索引

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坤昱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值