一种分布式对象存储集群、部署、服务方法及系统与流程

文档序号:13391629阅读:293来源:国知局
一种分布式对象存储集群、部署、服务方法及系统与流程

本发明涉及网络技术领域,特别涉及一种分布式对象存储集群、部署、服务方法及系统。



背景技术:

近年来,随着大数据、云计算以及海量存储在信息系统中的广泛应用和深入发展,用户的核心应用数量越来越多。通常,人们通过网络进行数据交互,而随着数据越来越庞大,访问web服务的网络用户越来越多,使服务器能够快速响应用户请求将成为一个难题,特别是在连接高并发的业务场景下,多用户高并发访问集群web服务中,存在着性能低、部署环境复杂以及扩展性较差的问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种分布式对象存储集群、部署、服务方法及系统,能够提高集群web服务的性能、易用性和扩展性。其具体方案如下:

一种分布式对象存储集群部署方法,包括:

对分布式对象存储集群进行环境部署;

根据ceph分布式文件系统,对所述分布式对象存储集群的文件系统进行部署;

对所述分布式对象存储集群中的ctdb高可用服务器进行配置,以便所述ctdb高可用服务器监控和切换http服务;

对所述分布式对象存储集群中的nginx反向代理服务器进行配置,以便所述nginx反向代理服务器管理所述http服务。

优选地,所述对分布式对象存储集群进行环境部署的过程,包括:

安装centos系统、所述ctdb高可用服务器、所述nginx反向代理服务器以及apache/httpd服务器。

优选地,所述对所述分布式对象存储集群中的ctdb高可用服务器进行配置的过程,包括:

停止所述分布式对象存储集群的节点的ctdb服务;

配置hosts文件、nodes文件以及public_addresses文件;

编写监控程序的代码,以便所述ctdb高可用服务器利用所述监控程序对所述http服务进行监控;

对ctdb配置文件做出适应性修改。

本发明还公开了一种分布式对象存储集群,所述分布式对象存储集群为通过前述公开的部署方法得到的存储集群,包括:

ceph文件系统集群、ctdb高可用服务器、nginx反向代理服务器以及web服务器。

本发明再公开一种分布式对象存储集群服务方法,包括:

在如前述公开的分布式对象存储集群的节点上启动ctdb高可用服务器的服务与nginx反向代理服务器的服务;

获取用户请求,并提供与所述用户请求相应的http服务以及共享集群存储服务。

优选地,所述获取用户请求,并提供与所述用户请求相应的http服务以及共享集群存储服务的过程,包括:

所述分布式对象存储集群中的nginx反向代理服务器获取客户端通过虚拟ip发送的用户请求;

利用所述nginx反向代理服务器将所述用户请求转发至所述分布式对象存储集群中的web服务器;

利用所述web服务器为所述客户端提供与所述用户请求相应的所述http服务以及所述共享集群存储服务。

相应地,本发明公开了一种分布式对象存储集群部署系统,包括:

环境部署模块,用于对分布式对象存储集群进行环境部署;

ceph部署模块,用于根据ceph分布式文件系统,对所述分布式对象存储集群的文件系统进行部署;

ctdb配置模块,用于对所述分布式对象存储集群中的ctdb高可用服务器进行配置,以便所述ctdb高可用服务器监控和切换http服务;

nginx配置模块,用于对所述分布式对象存储集群中的反向代理服务器进行配置,以便所述nginx反向代理服务器管理所述http服务。

优选地,所述环境部署模块包括:

安装单元,用于安装centos系统、所述ctdb高可用服务器、所述nginx反向代理服务器以及apache/httpd服务器。

优选地,所述ctdb配置模块包括:

停止单元,用于停止所述分布式对象存储集群的节点的ctdb服务;

配置单元,用于配置hosts文件、nodes文件以及public_addresses文件;

编写单元,用于编写监控程序的代码,以便所述ctdb高可用服务器利用所述监控程序对所述http服务进行监控;

修改单元,用于对ctdb配置文件做出适应性修改。

相应地,本发明又公开一种分布式对象存储集群服务系统,包括:

启动模块,用于在如前述公开的分布式对象存储集群的节点上启动ctdb高可用服务器的服务与nginx反向代理服务器的服务。

服务模块,用于获取用户请求,并提供与所述用户请求相应的http服务以及共享集群存储服务。

优选地,所述服务模块包括:

获取单元,用于所述分布式对象存储集群中的nginx反向代理服务器获取客户端通过虚拟ip发送的用户请求;

转发单元,用于利用所述nginx反向代理服务器将所述用户请求转发至所述分布式对象存储集群中的web服务器;

服务单元,用于利用所述web服务器为所述客户端提供与所述用户请求相应的所述http服务以及所述共享集群存储服务。

本发明公开的分布式对象存储集群、部署、服务方法及系统,将ceph文件系统集群、ctdb高可用服务器、nginx反向代理服务器以及提供http服务的web服务器相互结合。经过合理配置后的分布式对象存储集群,获得了ceph文件系统集群、ctdb高可用服务器以及nginx反向代理服务器提供的优势,进而提升了整个分布式对象存储集群的性能、易用性以及扩展性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例公开的一种分布式对象存储集群部署方法的流程图;

图2为本发明实施例公开的对分布式对象存储集群中的ctdb高可用服务器进行配置的流程图;

图3为本发明实施例公开的分布式对象存储集群的架构图;

图4为本发明实施例公开的一种分布式对象存储集群服务方法的流程图;

图5为本发明实施例公开的nginx反向代理服务器管理http服务的示意图;

图6为本发明实施例公开的一种分布式对象存储集群部署系统的结构图;

图7为本发明实施例公开的一种分布式对象存储集群服务系统的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种分布式对象存储集群部署方法,参见图1所示,图1为本发明实施例公开的一种分布式对象存储集群部署方法的流程图,包括以下步骤:

步骤s11:对分布式对象存储集群进行环境部署;

本发明实施例中,集群环境安装centos系统、ctdb高可用服务器、nginx反向代理服务器以及apache/httpd服务器。具体地,采用pxe罐装的方式批量部署分布式对象存储集群的所有节点的操作系统为centos7.2版本,并通过改写linux网络配置文件的方式来配置linux集群网络配置。其中,centos系统内核为3.10版本,ctdb高可用服务器为4.5.1版本,nginx反向代理服务器为1.9.2版本,提供http服务的web服务器为apache/2.4.6版本。

步骤s12:根据ceph分布式文件系统,对所述分布式对象存储集群的文件系统进行部署;

其中,cech分布式文件系统为4.2.3版本,集群文件系统部署采用ceph分布式文件系统,为集群所有节点提供共享存储服务。

步骤s13:对所述分布式对象存储集群中的ctdb高可用服务器进行配置,以便所述ctdb高可用服务器监控和切换http服务;

本发明实施例中,通过ctdb高可用服务器对http服务进行监控和切换,以实现集群web服务的高可用。

步骤s14:对所述分布式对象存储集群中的nginx反向代理服务器进行配置,以便所述nginx反向代理服务器管理所述http服务。

具体地,在集群所有节点配置nginx反向代理服务,代码如下:

本发明实施例中,ceph文件系统为一个linuxpb级分布式文件系统,具有容错功能,简化了海量数据管理,支持可扩展计算空间等优点,即ceph文件系统为海量存储的首选方案;一方面,ctdb为集群中多台物理主机提供tdb类型的数据库,该数据库为整个集群提供连续的数据信息,以保证集群的业务连续,并且由ctdb自动维护,另一方面,ctdb提供了节点监控、失效切换以及ip接管等功能,并且还支持系统或应用的管理脚本在高可用时进行切换,所以ctdb与集群文件系统相结合,可以提供一种简便又高效的ha集群解决方案;nginx为一个高性能的http和反向代理服务器,在连接高并发的情况下,具有较好的性能,支持负载均衡,实现可扩展的浏览管理,通过代理的方式,使web服务器更灵活、更高效以及更安全。

本发明实施例公开的分布式对象存储集群部署方法,将ceph文件系统集群、ctdb高可用服务器、nginx反向代理服务器以及提供http服务的web服务器相互结合。经过合理配置后的分布式对象存储集群,获得了ceph文件系统集群、ctdb高可用服务器以及nginx反向代理服务器提供的优势,进而提升了整个分布式对象存储集群的性能、易用性以及扩展性。

参见图2所示,图2为本发明实施例公开的对分布式对象存储集群中的ctdb高可用服务器进行配置的流程图,包括以下步骤:

步骤s21:停止所述分布式对象存储集群的节点的ctdb服务;

具体地,在配置ctdb实现http服务之前,停止集群所有节点的ctdb服务,代码为:[root@server~]#systemctlstopctdb。

步骤s22:配置hosts文件、nodes文件以及public_addresses文件;

其中,配置hosts文件,以/etc/hosts文件为例,内部网络ip与域名如下所示:

127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4

::1localhostlocalhost.localdomainlocalhost6localhost6.localdomain6

188.188.0.101node01

188.188.0.102node02

188.188.0.103node03

……

具体地,配置nodes文件,创建并修改集群所有节点的nodes文件,配置节点nodes文件中ip为构成节点集群的内部网络ip,通常情况下,内部网络ip为ceph分布式文件系统集群的publicnetwork;

配置集群节点文件/etc/ctdb/nodes为内部网络ip:

188.188.0.1

188.188.0.2

188.188.0.3

具体地,配置public_addresses文件,创建并修改集群所有节点的public_addresses文件。public_addresses文件用于保存接口节点集群对外开放的ip地址,其中,对外开放的ip地址为便于客户端进行访问的虚拟ip;

修改所有集群节点虚拟ip文件/etc/ctdb/public_addresses:

192.168.153.1/24eth0

192.168.153.2/24eth0

192.168.153.3/24eth0

步骤s23:编写监控程序的代码,以便所述ctdb高可用服务器利用所述监控程序对所述http服务进行监控;

其中,主要监控管理程序如下:

步骤s24:对ctdb配置文件做出适应性修改。

具体地,修改所有接口节点上的/etc/ctdb/ctdbd.conf文件中的相关配置为如下:

ctdb_recovery_lock=null_lock

ctdb_public_interface=eth0

ctdb_public_addresses=/etc/ctdb/public_addresses

ctdb_manages_samba=yes//管理samba

ctdb_manages_httpd=yes//管理http

ctdb_manages_winbind=yes

ctdb_nodes=/etc/ctdb/nodes

ctdb_debuglevel=err

ctdb_samba_skip_share_check=yes

相应地,本发明实施例还公开了一种分布式对象存储集群,所述分布式对象存储集群为通过前述实施例公开的部署方法得到的存储集群,包括:

ceph文件系统集群、ctdb高可用服务器、nginx反向代理服务器以及web服务器。

具体地,参见图3所示,图3为本发明实施例公开的分布式对象存储集群的架构图,上述各个模块相互结合。

进一步地,本发明实施例又公开了一种分布式对象存储集群服务方法,参见图4所示,图4为本发明实施例公开的一种分布式对象存储集群服务方法的流程图,包括以下步骤:

步骤s31:在如前述公开的分布式对象存储集群的节点上启动ctdb高可用服务器的服务与nginx反向代理服务器的服务;

首先,在集群各个节点上启动redis-server,然后,在各个节点启动ctdb、nginx服务,待ctdb在集群各个节点都启动后,http服务会被ctdb自动拉起;

具体地,启动redis-server,在所有节点上执行以下操作:

[root@server~]#redis-server/etc/redis/redis.conf

启动ctdb、nginx服务,在所有节点上执行以下操作:

[root@server~]#systemctlstartctdb

[root@server~]#cd/usr/local/nginx/sbin

[root@serversbin]#./nginx//启动

步骤s32:获取用户请求,并提供与所述用户请求相应的http服务以及共享集群存储服务。

本发明实施例中,集群为用户提供服务的过程包括:

所述分布式对象存储集群中的nginx反向代理服务器获取客户端通过虚拟ip发送的用户请求;

利用所述nginx反向代理服务器将所述用户请求转发至所述分布式对象存储集群中的web服务器;

利用所述web服务器为所述客户端提供与所述用户请求相应的所述http服务以及所述共享集群存储服务。

其中,nginx反向代理服务器通过代理的方式接收internet上的用户请求,然后将请求转发给内部网络中的web服务器,并将web服务器上得到的结果返回给internet上的客户端,此时nginx反向代理服务器对外表现即为一个响应快速的web服务器。nginx反向代理服务器的具体工作过程参见图5所示,图5为本发明实施例公开的nginx反向代理服务器管理http服务的示意图。

相应地,本发明实施例再公开了一种分布式对象存储集群部署系统,参见图6所示,图6为本发明实施例公开的一种分布式对象存储集群部署系统的结构图,该系统包括:

环境部署模块41,用于对分布式对象存储集群进行环境部署;

ceph部署模块42,用于根据ceph分布式文件系统,对所述分布式对象存储集群的文件系统进行部署;

ctdb配置模块43,用于对所述分布式对象存储集群中的ctdb高可用服务器进行配置,以便所述ctdb高可用服务器监控和切换http服务;

nginx配置模块44,用于对所述分布式对象存储集群中的反向代理服务器进行配置,以便所述nginx反向代理服务器管理所述http服务。

其中,上述环境部署模块41包括:

安装单元,用于安装centos系统、所述ctdb高可用服务器、所述nginx反向代理服务器以及apache/httpd服务器。

具体地,上述ctdb配置模块43包括:

停止单元,用于停止所述分布式对象存储集群的节点的ctdb服务;

配置单元,用于配置hosts文件、nodes文件以及public_addresses文件;

编写单元,用于编写监控程序的代码,以便所述ctdb高可用服务器利用所述监控程序对所述http服务进行监控;

修改单元,用于对ctdb配置文件做出适应性修改。

相应地,本发明实施例公开了一种分布式对象存储集群服务系统,参见图7所示,图7为本发明实施例公开的一种分布式对象存储集群服务系统的结构图,该系统包括:

启动模块51,用于在如前述公开的分布式对象存储集群的节点上启动ctdb高可用服务器的服务与nginx反向代理服务器的服务。

服务模块52,用于获取用户请求,并提供与所述用户请求相应的http服务以及共享集群存储服务。

具体地,上述服务模块52包括:

获取单元,用于所述分布式对象存储集群中的nginx反向代理服务器获取客户端通过虚拟ip发送的用户请求;

转发单元,用于利用所述nginx反向代理服务器将所述用户请求转发至所述分布式对象存储集群中的web服务器;

服务单元,用于利用所述web服务器为所述客户端提供与所述用户请求相应的所述http服务以及所述共享集群存储服务。

关于上述分布式对象存储集群部署及服务系统中各个模块及单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

本发明实施例公开的分布式对象存储集群、部署、服务方法及系统,将ceph文件系统集群、ctdb高可用服务器、nginx反向代理服务器以及提供http服务的web服务器相互结合。经过合理配置后的分布式对象存储集群,获得了ceph文件系统集群、ctdb高可用服务器以及nginx反向代理服务器提供的优势,进而提升了整个分布式对象存储集群的性能、易用性以及扩展性。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的分布式对象存储集群、部署、服务方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1