一种基于ceph实现MySQL数据库水平扩展的方法与流程

文档序号:15761002发布日期:2018-10-26 19:17阅读:1793来源:国知局
一种基于ceph实现MySQL数据库水平扩展的方法与流程

本发明涉及数据库技术领域,尤其涉及一种基于ceph实现mysql数据库水平扩展的方法。



背景技术:

mysql数据文件存放在本地,数据安全没有保障,而且存储空间有限,不利于扩容。需要定时对数据做备份,影响服务质量。针对mysql的扩容一般有垂直扩容和水平扩容。垂直扩容一般通过升级硬件来实现,如更换更好的cpu等;而水平扩容常用的方法有两种,一是不同的库或者表部署到不同的实例,二是一张表需要根据某个字段拆分到不同的字表中(数据分片)。

但是水平扩容的实现是存在缺陷的,比如某个子表还有瓶颈应该怎么扩容等,数据文件存放在本地,会导致数据安全没有保障;存放的空间也有限,不利于扩容;需要依赖mysql提供的工具定时对数据做备份,易影响服务质量。



技术实现要素:

本发明的目的在于提出一种基于ceph实现mysql数据库水平扩展的方法,通过ceph为mysql提供无限的水平扩展能力,使其在不影响服务的情况下对mysql的存储规模进行调整,也确保了mysql数据的安全,同时能够轻易对mysql数据做备份,不会影响到服务。

为达此目的,本发明采用以下技术方案:

一种基于ceph实现mysql数据库水平扩展的方法,包括利用ceph实现mysql数据库水平扩展的过程:

步骤a:在ceph集群中创建一个pool_mysql存储池;

步骤b:在pool_mysql存储池上创建一个大容量的rbd镜像;

步骤c:配置多台iscsi服务端网关,并在网关上挂载创建好的rbd镜像;

步骤d:在iscsi服务端网关上安装好iscsi服务端软件;

步骤e:在mysql服务器上安装多路径软件和iscsi客户端软件;

步骤f:配置好mysql服务器上的iscsi客户端软件;

步骤g:配置好mysql服务器上的多路径软件,生成设备文件;

步骤h:对设备文件进行分区和格式化,并把格式化后的设备文件挂载到本地文件系统上;

步骤i:安装mysql数据库服务器软件,并把mysql数据库的数据目录指向挂载了多路径设备文件的本地文件系统的目录。

优选的,包括配置iscsi服务端软件的过程:

步骤d1:创建iscsitarget;

步骤d2:根据挂载好的rbd镜像路径创建一个iscsilun设备;

步骤d3:将创建好的iscsilun设备加入到创建好的iscsitarget。

优选的,配置好mysql服务器上的iscsi客户端软件包括将iscsi客户端软件连接上每个iscsitarget。

优选的,配置mysql服务器上的多路径软件包括将已连接的iscsitarget添加到多路径分组中,并生成多路径组的设备文件。

优选的,创建iscsitarget时,iscsitarget的名称要实现唯一。

附图说明

图1是本发明的利用ceph实现mysql数据库水平扩展的流程图;

图2是本发明的运行框架图。

具体实施方式

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

本实施例的一种基于ceph实现mysql数据库水平扩展的方法,如图1所示,包括利用ceph实现mysql数据库水平扩展的过程:

步骤a:在ceph集群中创建一个pool_mysql存储池;

步骤b:在pool_mysql存储池上创建一个大容量的rbd镜像,如一个10t的img_mysql镜像;

步骤c:配置多台iscsi服务端网关,并在网关上挂载创建好的rbd镜像;

步骤d:在iscsi服务端网关上安装好iscsi服务端软件;

步骤e:在mysql服务器上安装多路径软件(multipath)和iscsi客户端软件(iscsiinitiator);

步骤f:配置好mysql服务器上的iscsi客户端软件(iscsiinitiator);

步骤g:配置好mysql服务器上的多路径软件(multipath),生成设备文件;

步骤h:对设备文件进行分区和格式化,并把格式化后的设备文件挂载到本地文件系统上,如/mnt/mysql_ceph;

步骤i:安装mysql数据库服务器软件,并把mysql数据库的数据目录指向挂载了多路径设备文件的本地文件系统的目录,即将数据目录指向/mnt/mysql_ceph。

如图2所示,配置完成后,mysql在向数据目录读写数据时,会将数据提交到multipath模块,即多路径软件上,而multipath模块根据路径选择策略选择一条适当的路径,也就是提交到其中一台iscsitarget,iscsitarget再根据lun和rbd的绑定关系,调用ceph块存储接口读写数据。

优选的,包括配置iscsi服务端软件的过程:

步骤d1:创建iscsitarget,如iqn.2017-10.cc.efly:rbdtarget-1,在实际运行中需要根据实际情况修改名称;

步骤d2:根据挂载好的rbd镜像路径创建一个iscsilun设备,即根据挂载好的rbd路径(如/dev/rbd0),创建一个iscsilun设备;

步骤d3:将创建好的iscsilun设备加入到创建好的iscsitarget。

优选的,配置好mysql服务器上的iscsi客户端软件包括将iscsi客户端软件连接上每个iscsitarget。

优选的,配置mysql服务器上的多路径软件包括将已连接的iscsitarget添加到多路径分组中,这是在/dev/mapper目录会生成多路径组的设备文件。

优选的,创建iscsitarget时,iscsitarget的名称要实现唯一。

本发明的有益效果:

1、部分iscsitarget服务器出现问题时,不会影响到mysql服务,因为存在着多个iscsitarget服务器;

2、ceph提供了无限的水平扩展能力,mysql的存储规模能在不影响服务的情况下进行调整;

3、ceph提高了mysql的数据安全,确保数据不会丢失;

4、通过cephrbd指向的ceph镜像做快照就能对mysql数据进行备份,不会对mysql服务产生任何影响。

即利用ceph弹性存储作为mysql数据文件系统后台,保证数据安全性、完整性;对存储容量做调整不会影响到mysql服务,大大提升mysql存储扩展能力。

以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。



技术特征:

技术总结
一种基于ceph实现MySQL数据库水平扩展的方法,包括利用ceph实现MySQL数据库水平扩展过程:在ceph集群中创建一个存储池;在存储池上创建一个大容量的rbd镜像;在网关上挂载创建好的rbd镜像;在iSCSI服务端网关上安装好iSCSI服务端软件;在MySQL服务器上安装多路径软件和iSCSI客户端软件;配置好MySQL服务器上的iSCSI客户端软件;配置好MySQL服务器上的多路径软件,生成设备文件;对设备文件进行分区和格式化,把格式化后的设备文件挂载到本地文件系统上;安装MySQL数据库服务器软件,把MySQL数据库的数据目录指向挂载了多路径设备文件的本地文件系统的目录。本发明利用ceph弹性存储作为mysql数据文件系统后台,保证数据安全性、完整性;对存储容量做调整不会影响到mysql服务,提升mysql存储扩展能力。

技术研发人员:李坤祥;霍键聪;黄劲聪
受保护的技术使用者:广东睿江云计算股份有限公司
技术研发日:2018.03.12
技术公布日:2018.10.26
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1