31.介绍openstack高可用HA

 

    • 如何保证mysql数据的一致性? ------------------- 共享存储

 

如果node1出现问题了, 共享存储换到node2上,心跳线就是为了检测节点是否有问题的。

但是会出现一个问题: 比如: 当node1出现问题了, node1并不认为自己有问题,因为node1认为node2和node3有问题,出现抢占资源的问题即 脑裂。

为了解决脑裂的问题:

有一个fence设备/stonith 所有节点连接到fence,一旦心跳线发现node1有问题,会通知 fence,fence会切断node1的电源,避免抢占资源。

即:在某些情况下,可能需要关闭节点以保护共享数据或完成资源恢复。为此,Pacemaker 附带了一个屏蔽子系统,stonithd。STONITH 是 “Shoot The Other Node In The Head” 的首字母缩写,通常通过一个远程电源开关实施。在 Pacemaker 中,STONITH 设备已建模为资源,以便轻松监视这些设备是否出现故障。而 stonithd 则负责了解 STONITH 拓扑,以便其客户端只需请求受屏蔽的节点,由它来执行其余操作。

 

    • 资源的定义:

比如:  1. VIP  2. mysql  3. 共享存储---------打包成 服务组

   

    • 资源的约束条件:
      1. colocation: 保证所有的资源都在同一台节点运行
      2. location: 实现资源优先在哪个节点上运行
      3. order: 定义资源的启动顺序
    • group的定义:

一个group定义代表了 colocation,里面 服务是在同一台节点运行的

group中定义的资源的顺序就是资源的启动顺序

group1

 

 

vip

storage

mysql

 

    • 从微观上了解HA

 

 

    • 集群之间消息交换的方式:

openais

corosync--从openais中单独分出来的

heatbeart

 

CRM 集群资源管理

DC 指定协调器

CIB 集群信息库 xml : 每个节点上的CIB都是一样的

 

    • 如果一个节点出现了问题,CIB就会更新,PE 策略引擎来决策哪个节点继续接服务,PE会通知DC , DC会让节点2的CRM来接管服务,CRM会让LRM 本地资源管理器执行 资源代理RA---(RA就是一系列的启动脚本:1. LSB---/etc/init.d/下面的各种脚本  2. OCF---开放集群框架  3. systemd)

 

 

    • 集群软件有哪些?

RHCS-----已经取消了

###pacemaker + corosync  来实现高可用

heatbeart---不建议使用

猜你喜欢

转载自blog.csdn.net/u011446736/article/details/81083544