corosync down网卡仍处于多数派问题分析
corosync三节点集群,未启用vote_quorum,没有qdevice进程。使用ifdown停掉网卡后,节点仍处于quorate状态。
corosync三节点集群,未启用vote_quorum,没有qdevice进程。使用ifdown停掉网卡后,节点仍处于quorate状态。
corosync三节点集群,未启用vote_quorum,没有qdevice进程。使用ifdown停掉网卡后,节点仍处于quorate状态。
oracle maa架构分为青铜、白银、黄金、铂金四个级别,其中黄金又有四种实现方式。这里按照az(可用区,一般是同一个机房,组成一个数据库集群)、region(区域,一般是不同的城市,可能会有多个可用区)、rto、rpo来进行统计,其统计结果如下(从现有架构图中来看,oracle最多有4个可用区,未考虑data guard是否需要单独部署在一个可用区):
Oracle Site Guard 是一个数据保护解决方案,用于实现数据中心级别的灾难恢复和故障转移。它可以保护 Oracle 数据库、应用服务器、中间件以及整个操作系统。
mysql MHA(Master High Availability)是mysql高可用一套相对成熟的解决方案。MHA 由 MHA 管理器和 MHA 节点组成。
大家晚上好,欢迎大家观看kingbase数据库直播,我是本次主讲人growdu,目前在kingbase主要负责数据库集群高可用的研发设计。今天由我来给大家讲解KES集群高可用——两地三中心方案,分享一下如何做到数据不丢,服务不停。本次分享呢尽量从宏观层面来讲解两地三中心集群,尽量讲解通用的技术,希望对观看直播的大家都能有所收获。
在金融行业,“两地三中心”是一个基本的合规要求,本文简单介绍一下金融行业容灾架构的"两地三中心"究竟是指什么,然后说明OceanBase实现的"两地三中心"甚至"多地多中心"有什么特点。
作者最近在实现雪花算法生成主键,看了不少文章。个人觉得雪花算法的最大的优点是有序(减少数据库的页分裂页合并)。雪花算法本身很简单,但他依赖于时间,也就是机器或容器的时间一回拨就出现问题了。网上也出现了不少关于如何解决回拨的问题。我记录一下本次实现雪花主键的过程。
之前有人问我设计一个分布式的递增的唯一id生成。想了半天不知道,偶然一个同事说起snowflake算法,我百度了一下,很简单高效。
为了使corosync集群支持少数派运行模式,需要引入第三方仲裁,同时为了节约机器资源,使用共享存储作为第三方仲裁。需要一种基于共享存储的算法机制来保证在corosync集群出现网络分区或者故障时,仲裁能给其中一个分区投票,使corosync集群继续供服务,并保证数据一致性。
Disk Paxos使用处理器和磁盘网络实现可靠的分布式系统。 与原始 Paxos 算法一样,Disk Paxos 可以保证在任意非拜占庭故障的情况下保持一致性。 只要大多数磁盘可用,即使仅剩下一个节点也能保证进程可用,且保持一致性。
调整允许的corosync网络波动时间仅需修改repmgr.conf配置文件,重启kbha和repmgrd进程,无需停止数据库,也不影响上层业务运行。按如下步骤修改配置并重启服务,经过本次修改重启后,允许的网络波动时间将从20秒增加到50秒。
libqb 是一个提供高性能客户端服务器可重用功能的库。 它提供高性能日志记录、跟踪、IPC 和轮询的功能。libqb 的初始功能来自 corosync 的功能,专门针对客户端/服务器应用程序实现的高性能 API。
zookeeper是用java语言编写的分布式集群,我们可以基于zookeeper搭建分布式应用。通常zookeeper作为服务器运行,分布式应用需要使用客户端API与zookeeper进行通信。
按照当前raft协议实现,当n个节点的集群超过n/2个节点宕机时,集群将无法提供服务。如5个节点的集群,当有3个节点宕机时,集群将无法提供服务。
基于以太网的组通信协议,节点间组成单环结构- 所有数据都采用UDP广播(message)、单播(token)- 消息的可靠性和有序性,基于token-passing实现
corosync-qnetd是corosync的第三方仲裁机制,当corosync出现网络分区时,集群内部无法选择出quorate一方时,就会借助corosync-qnetd来进行辅助投票。
qdevice要用途是让群集能够承受大于标准仲裁规则所允许的节点故障数量。在分布式一致性协议中,基于多数派quorum的协议解决脑裂等问题,因而当集群存活节点挂死超过一半时,集群将无法对外提供服务。qdevice提供仲裁机制,使集群在多数节点挂掉后仍然能提供服务。典型的如双节点集群发生网络分区后,qdevice可以使其中一台机器继续提供服务,进而保证高可用。
corosync-qdevice是corosync集群工具的一个组件,用于提供第三方仲裁服务。corosync-qdevice需与corosync-qnetd和corosync一起使用,无法单独运行。
corosync-qdevice目前支持两种算法来设置corosync-qnetd如何为给定的节点或者分区提供投票的行为。
传统的存储也称为集中式存储, 从概念上可以看出来是具有集中性的,也就是整个存储是集中在一个系统中的,但集中式存储并不是一个单独的设备,是集中在一套系统当中的多个设备。集中式存储 最大的特点是有一个统一的入口,所有数据都要经过统一的入口。
按照当前raft协议实现,当n个节点的集群超过n/2个节点宕机时,集群将无法提供服务。如5个节点的集群,当有3个节点宕机时,集群将无法提供服务。