干货 | 数据不丢失?有它就够了——金仓KingbaseES高可用集群部署

 

编者按node

可用性是数据库的重要指标之一,高可用集群是保障数据不丢失、服务可用的主要措施之一。下面将从部署维度阐晰金仓数据库KingbaseES如何打造高可用集群。数据库

 

 

高可用架构基础服务器

 

 

实践中,一般让多个数据库服务器协同工做来实现数据库的高可用。例如,当一个服务器节点失效时,另外一个服务器去替代工做,以此来达到不中断对望服务或只中断很短的时间;或者是多个数据库同时提供服务(多活),用户能够访问任意一台数据库,当有数据库故障时,访问其余数据库便可。微信

 

但与无状态的应用服务HA不同的是,数据库记录了数据,想要在多台数据库之间切换,须要进行数据同步,全部数据同步是数据库高可用方案的基础。网络

 

(一)各类高可用架构简介架构

从解决数据同步的角度来看,金仓数据库高可用方案目前包含如下几种:并发

 

  • 共享存储:更改存储文件格式,使得多台设备能够对文件系统同时挂起,在多个数据库同时操做存储时,解决并发写的问题,同时,在单个数据库写时发生故障例如断电时,解决脏数据的清理。或者,使用相似SAN存储,一台数据库故障时,经过HA等工具把存储挂载到另外一台设备。ssh

  • WAL同步方案:数据库老是日志先行,保证了WAL的多台数据库一致性,就能侧面保证数据库集群数据一致性,经过这个机制,能够搭建主从数据库,当主数据库失效时,把从数据库提高为主库,继续对外提供服务。异步

  • 基于触发器的同步方案:使用触发器记录数据变化,而后同步到另外一台数据库上。高并发

  • 基于语句复制的中间件:应用链接到中间件,不直连数据库,中间件把数据库的变动发送到底层多台数据库上,从而完成数据同步。

 

(二)服务的可靠性设计

KingbaseES产品主备方式的高可用方案是经过主备之间的WAL同步实现的,数据同步有异步、同步、半同步三种方式。

 

同步方式的优势在故障切换过程当中,数据彻底不丢失,但缺点也很明显——影响性能:一个事物的数据必须写到备库中才能返回。当主备数据库的网络中断,或者备机发生故障时:主库会hung住,或者选择主库降级为异步方式;还有一个办法就是主库带两个以上的备库,只要有一个备库是正常的,主备关系就正常不受影响,固然此方式缺点就增长了成本。

 

若是系统能够容忍故障切换时丢失少许数据,可使用数据异步同步的方式。该方案在主库故障、备机须要切换时,会丢必定的数据,部署时应综合考虑环境避免主备库数据差别越增越多。

 

半同步方案介于同步和异步之间,能在确保数据不丢的前提下还保证必定的性能。确保重要的WAL在备库落盘主库的提交就能返回,缺点是没有等待备库的WAL实时回放,在备库可读的状况下备库可能会读不到主库刚刚插入的数据。

 

在通常环境中,咱们推荐半同步方案,WAL落盘和WAL回放的时间差几乎能够忽略不计,并在备机只做为备份模式下能够确保数据不丢。但在高并发场景或者金融领域的备机可读模式下,部署时就须要斟酌。在此使用场景中,同步模式则更为合适。

 

要保证服务中断的时间尽可能的少,还须要灵敏的故障检测。但故障检测太灵敏时,误操做的几率也会增长,例如网络抖动,因此须要选择一个合适的故障检测时间。故障检测时间一般在秒级别以上,越大型的系统就越需谨慎,不然形成频繁的切换带来意想不到的风险。

 

(三)数据的可靠性设计

数据库系统中最重要的资源就是数据,如何保证数据不丢失,是数据库系统中须要重点考虑的事情。致使数据丢失的缘由有不少,如硬件损坏、软件BUG、人为失误等,因此数据库一般以集群的方式呈现,数据实时备份在其余物理设备的备数据库上。同时,也要定时的作冷备,防止运行的集群或单机数据库总体奔溃。

 

下面将详细讲述如何部署KingbaseES高可用集群。

 

 

部署KingbaseES集群

 

 

(一)部署工具

金仓数据库提供可视化的图形界面集群部署工具,经过此工具,用户能够方便、快捷的搭建KingbaseES集群,更直观感觉金仓KingbaseES数据库产品的实际应用功能。

 

在工具中,咱们能够对集群进行管理:添加节点、启动/关闭集群、暂停高可用功能、主备切换等,也能够直观的对目前集群状态进行查看。打开数据库部署工具,初始界面如图所示:

 

一、建立项目

右键集群项目名称,点击建立项目,部署工具以项目为一个归纳集群的总单位,推荐有意义的名称,好比湖南医疗机构,就以首字母简写HNYL,这里简单示意咱们起名为project1。

 

二、建立集群

(1)节点通用配置

在建好项目后,咱们能够在项目名称处右键,新建集群,弹出节点通用配置,如图所示:

 

集群名称推荐输入有意义的命名,好比这里为HNYL的5栋2楼机房,则起名为5D2L,这样便于区分同一个项目下的不一样集群。这里示例集群名称为cluster1,输入ssh端口,root密码等,点击下一步。

通用机的含义为普通操做系统环境,可使用ssh标准协议。

 

(2)DB&HA配置

接下来进入 DB&HAmgr配置,如图所示:

 

  • 选择好数据库自带的zip包文件,trust_server推荐配置为当前网段的网关,用来辅助判断当前节点是否网络失效。其他基本配置使用默认便可。

  • 选择高级设置,如图所示:

  • recovery这一栏改成automatic表示故障的节点在设备恢复后能够自动从新加入集群。vip(virtual_ip)能够根据须要添加,这里咱们填空。

  • 点击肯定,通用配置建立完成。

 

(3)建立节点

在节点管理处,右键,点击新增节点。

  • 这里就是选择那一台设备用来作咱们数据库集群的节点了,而且任何一个集群的第一个节点,必定为主节点。

  • 输入集群第一个节点的名称,ip,license文件后,点击下一步。

 

a.环境监测

这里会对物理设备的操做系统环境进行一轮筛查,监测是否能稳定正确的运行集群。

点击检查按钮,出现如图所示:

 

注意,出现标红检查项(ERROR)是没法继续部署集群的,必须由用户或系统管理员将其对应参数改成对应值才可继续部署。这里就为集群的运行将系统错误隐患在前期就排除一遍。

 

改好后,如图所示:

当检查项只有黑色字体和黄色(警告)字体,咱们能够进行点击下一步的操做。

 

b.预览信息

对部署项的预览图示,无误后点击肯定。

 

c.部署界面

接下来会弹出带有部署安装信息的界面,如图所示:

 

点击部署,成功后如图所示:

 

点击关闭后。在节点管理双击,会出现刚才部署好的node1节点,如图所示:

 

同理,咱们能够添加第2、第3、第n个节点

 

等待备节点部署完成便可

 

 

成功后,在节点管理界面就能够看到咱们的2个节点node1,node2

 

最简单的一主一备集群就搭建完了,能够根据建立节点章节,继续部署一主多备的集群。

 

 

结语

 

 

至此,KingbaseES集群的部署介绍就到这里,下一期,咱们介绍如何使用工具管理集群。

 

往期回顾

 

 

共建生态,2020人大金仓开发者竞技大赛—江苏站开始报名

 

人大金仓正式加入中国关键信息基础设施技术创新联盟

 

人大金仓继续领跑国产关系型数据库市场

 

本文分享自微信公众号 - 金仓数据库(china-data)。 若有侵权,请联系 support@oschina.cn 删除。

相关文章
相关标签/搜索