云计算集群之高可用数据库集群的设计与研究

2019-12-01 00:48孙佩娟武汉传媒学院
数码世界 2019年12期
关键词:配置文件路由器集群

孙佩娟 武汉传媒学院

随着信息技术的持续飞速发展,社会已经步入大数据时代。为了方便海量数据的处理,越来越多的应用将迁移到云中。据前瞻产业研究院发布的《中国云计算产业发展前景与投资战略规划分析报告》统计数据显示,截止至2017年中国云计算行业市场规模增长至691.6亿元,同比增长34.3%,增速快于全球水平。初步预测2019年中国云计算行业市场规模将突破千亿元,并预测到了2021中国云计算行业市场规模将增长至1858亿元左右。可见,从全球范围来看,中国云计算行业发展较快,未来发展空间较大。

云计算让资源更为的集中,只是这种“集中”不是集中到一台机器,而是集中到由1000台、10000台或更多机器从逻辑上整合成的集群。管100台、1万台还是100万台机器,那是完全不同的。机器少可以用人管理,机器多是不可能全部靠人工来完成的。 一方面,云计算要用云平台取代那些昂贵的物理解决方案。但是物理设备出了问题可以返厂维修,可以直接更换坏块儿。但是云计算是基于云平台搭建的框架结构,不存在返厂维修更换芯片的概念,所以在一定意义上来说云计算的目标是在故障成为常态的情况下保证高可用。

服务器集群(Server Cluster)可简称为集群,一般是指数台、数十台甚至更多台具有较高计算能力的服务器组成的数据处理集合,具有优于单台服务器的高性能、高可用性、高可扩展性的数据处理与服务能力。由于其卓越的性能,目前世界上主流的大数据处理都基于公用或私有的集群系统来构建。比如说IT行业的龙头——谷歌公司就维护着世界上最大的计算机集群系统,并且随着其业务的发展其集群数目还在不断的扩大。而在中国,作为全球B2B 电商龙头的阿里巴巴公司,早在2016年其数据中心的服务器数目就超过了100万台。并且为了支持其包括电子商务在内的繁重数据业务,该公司专门构建的“云梯”(YARN)服务器集群系统,仅其内部的物理计算节点都已经超过了二十万,有望成为电商行业内最大的集群应用之一。

随着网络带宽的不断提升,之前只能在特定类型的集群配置中实现的诸如高可用性、动态虚拟资源管理以及短期服务器故障转移等服务组合,都能够在虚拟的云计算环境中得到技术实现与性能提升。本文就是借助于vmware虚拟软件模拟生产环境,在 redhat6.5操作系统下用keepalived+mysql设计并构建高可用数据库集群,最后可以手动宕机或通过动态脚本进行测试。

keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。它是以VRRP(虚拟路由冗余协议)为实现基础的,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。

而MySQL由瑞典MySQL AB 公司开发,目前属于 Oracle旗下产品,是最流行的关系型数据库管理系统之一。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL 作为网站数据库。

本项目用MySQL做数据库服务器,用Keeplived来做心跳检测,其中一台服务器宕机,另外一台可以自动接管服务,从而实现数据库集群的高可用。其主要配置流程如下所示:

(一)mysql 主主同步

所谓主从复制是指主库授权从库远程连接,读取binlog日志并更新到本地数据库,主库写数据后,从库会自动同步过来(从库跟着主库变)。而主主复制则是之主从相互授权连接,读取对方binlog日志并更新到本地数据库,只要对方数据改变,自己就跟着改变。

因为本文的重点是实现数据库服务器的高可用,所以在此对mysql的主主同步仅做简要介绍如下所示: (1)设置master数据库的my.cnf文件;(2)导出master数据库多余slave数据库中的数据,然后导入到slave数据库中。保证双方在同步环境实现前的数据一致。[新建环境可忽略次步骤];(3)在master上设置数据同步权限;(4)查看主服务器master状态(注意File与Position项,从服务器需要这两项参数);(5)设置slave数据库的my.cnf配置文件;(6)在slave数据库中导入从master传过来的数据;(7)配置主从同步指令

(二)安装keepalived,修改keepalived主备配置文件

建议源码安装keepalived软件,如果安装报错,建议查看ipvsadm kernel-headers kernel-devel openssl-devel poptdevel 是否安装。重点关注主备配置文件中不同的配置项,配置文件一般存放在/etc/keepalived/keepalived.conf中。其主要更改项如下所示:

state MASTER #主节点角色是master;从节点是BACKUP

interface eth0 #vip 绑定端口,主从一般为一致

virtual_router_id 88 #让master和backup在同一个虚拟路由里,id号必须相同;

priority 100 #优先级,谁的优先级高谁就是master;

virtual_ipaddress {

192.168.1.100 # 虚拟 ip

}

(四)状态检测

两边均启动keepalived,然后手动或启用脚本让其中一台服务器宕机,观察服务是否正常运行。

随着技术的发展社会的进步,云计算的应用越来越普及,逐步形成了一种以数据业务为中心的商业计算新模式。原先作为专业应用领域的集群技术也随着云计算尤其是虚拟化技术的发展而变得低成本和易于实现,不管是单位还是个人都可以通过合法的手段在公有云平台上购买云主机来完成满足不同需求的服务器集群的搭建。因此,基于虚拟化技术的云计算集群技术已经成为当前数据应用的主要承载方式,相关技术发展与应用创新将是一个长期持续的研究热点。

猜你喜欢
配置文件路由器集群
基于Docker的实时数据处理系统配置文件管理软件的设计与实现
买千兆路由器看接口参数
维持生命
路由器每天都要关
功能性新材料产业集群加速形成
从Windows 10中删除所有网络配置文件
路由器每天都要关
用软件处理Windows沙盒配置文件
互不干涉混用Chromium Edge
海上小型无人机集群的反制装备需求与应对之策研究