CN107404524A - 一种分布式集群节点访问的方法及装置 - Google Patents

一种分布式集群节点访问的方法及装置 Download PDF

Info

Publication number
CN107404524A
CN107404524A CN201710607021.3A CN201710607021A CN107404524A CN 107404524 A CN107404524 A CN 107404524A CN 201710607021 A CN201710607021 A CN 201710607021A CN 107404524 A CN107404524 A CN 107404524A
Authority
CN
China
Prior art keywords
node
address
ctdb
type assemblies
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710607021.3A
Other languages
English (en)
Other versions
CN107404524B (zh
Inventor
臧林劼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710607021.3A priority Critical patent/CN107404524B/zh
Publication of CN107404524A publication Critical patent/CN107404524A/zh
Application granted granted Critical
Publication of CN107404524B publication Critical patent/CN107404524B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/0836Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability to enhance reliability, e.g. reduce downtime
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

本发明公开了一种分布式集群节点访问的方法,在分布式集群环境通过CTDB管理HTTP服务的分布式集群,当利用一个节点的HTTP服务共享集群的存储服务时,节点出现故障或停机时,可以利用CTDB监控到节点的故障情况,同时CTDB服务可以自动将当前访问的节点切换到另一个没有问题的节点上,使用户可以继续正常的访问,而不会感觉到停机,因此实现了分布式集群的高可用性。因此利用CTDB进行监控管理HTTP服务,大大提高了分布式环境中HTTP服务的应用效率和高可用性,使得分布式集群更加简便、高效。本发明还提供一种分布式集群节点访问的装置,同样可以实现上述技术效果。

Description

一种分布式集群节点访问的方法及装置
技术领域
本发明涉及分布式集群技术领域,更具体地说,涉及一种分布式集群节点访问的方法及装置。
背景技术
随着大数据、云计算、海量存储的广泛应用和深入发展,在分布式集群系统中,用户使用的核心应用越来越多,对系统的高可用(High Availability)要求越来越高。高可用是指通过尽量缩短因日常维护和突发的系统崩溃导致的停机时间,以提高系统和应用的可用性。
目前Linux高可用集群的种类很多,目前已经产生了各种分布式集群高可用软件,比如常见的有Heartbeat,Corosync,Rhcs,Keepalived等大型软件来实现高可用方法。但是,以上大型软件在分布式集群中部署较为繁琐,维护性差,不易于管理。
因此,如何简单、高效地提高分布式集群系统的高可用性,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种分布式集群节点访问的方法和装置,以简单、高效地提高分布式集群系统的高可用性。
为实现上述目的,本发明实施例提供了如下技术方案:
一种分布式集群节点访问的方法,包括:
为分布式集群节点配置内部IP地址与虚拟IP地址;
为所述分布式集群节点配置HTTP服务与CTDB服务;
接收对存储服务的访问请求,所述访问请求为利用第一目标节点请求访问存储服务;
利用所述第一目标节点的目标虚拟IP地址找到所述第一目标节点的第一目标内部IP地址;
利用所述CTDB服务中的监控程序监控是否可以利用所述第一目标内部IP地址得到所述第一目标节点的第一HTTP服务;
若否,则利用所述CTDB服务获取第二目标节点的第二HTTP服务,并利用所述第二HTTP服务访问所述存储服务。
其中,所述为分布式集群节点配置内部IP地址与虚拟IP地址,包括:
创建每个分布式集群节点的nodes文件,配置所述nodes文件中的IP为构成所述分布式集群环境的内部IP地址;
创建每个分布式集群节点的公网IP文件,配置每个集群节点对外开放的虚拟IP地址,并将所述虚拟IP地址保存至所述公网IP文件中。
其中,为所述分布式集群节点配置所述HTTP服务与CTDB服务,包括:
部署CTDB管理HTTP服务的监控程序;
修改所述HTTP服务的配置文件与所述CTDB服务的配置文件;
启动所述CTDB服务与所述HTTP服务。
其中,所述分布式集群节点为部署了Ceph分布式文件系统的分布式集群节点。
其中,所述为分布式集群节点配置内部IP地址与虚拟IP地址之前,还包括:
将所有分布式集群节点的信息写入每个分布式集群节点的hosts文件中,其中所述信息包括集群节点的内部IP地址。
其中,所述利用所述CTDB服务获取第二目标节点的第二HTTP服务,包括:
利用所述CTDB服务与所述第一目标节点的hosts文件得到所述hosts文件中其他一个分布式集群节点的第二目标内部IP地址,并获取第二目标内部IP地址对应的第二目标节点的第二HTTP服务。
一种分布式集群节点访问的装置,包括:
IP地址配置模块,用于为分布式集群节点配置内部IP地址与虚拟IP地址;
服务配置模块,用于为所述分布式集群节点配置HTTP服务与CTDB服务;
访问请求接收模块,用于接收对存储服务的访问请求,所述访问请求为利用第一目标节点请求访问存储服务;
第一目标内部IP地址获取模块,用于利用第一目标节点的目标虚拟IP地址找到所述第一目标节点的第一目标内部IP地址;
监控模块,用于利用所述CTDB服务中的监控程序监控是否可以利用所述第一目标内部IP地址得到所述第一目标节点的第一HTTP服务;
访问模块,用于当不可以利用所述第一目标内部IP地址得到所述第一目标节点的第一HTTP服务时,利用所述CTDB服务获取第二目标节点的第二HTTP服务,并利用所述第二HTTP服务访问所述存储服务。
其中,所述IP地址配置模块,包括:
内部网络IP地址配置单元,用于创建每个分布式集群节点的nodes文件,配置所述nodes文件中的IP为构成所述分布式集群环境的内部IP地址;
虚拟IP地址配置单元,用于创建每个分布式集群节点的公网IP文件,配置每个集群节点对外开放的虚拟IP地址,并将所述虚拟IP地址保存至所述公网IP文件中。
其中,所述服务配置模块,包括:
监控程序部署单元,用于部署CTDB管理HTTP服务的监控程序;
配置文件修改单元,用于修改所述HTTP服务的配置文件与所述CTDB服务的配置文件;
启动单元,用于启动所述CTDB服务与所述HTTP服务。
其中,所述分布式集群节点为部署了Ceph分布式文件系统的分布式集群节点。
通过以上方案可知,本发明实施例提供的一种分布式集群节点访问的方法,为分布式集群节点配置内部IP地址与虚拟IP地址;为所述分布式集群节点配置HTTP服务与CTDB服务;接收对存储服务的访问请求,所述访问请求为利用第一目标节点请求访问存储服务;利用所述第一目标节点的目标虚拟IP地址找到所述第一目标节点的第一目标内部IP地址;利用所述CTDB服务中的监控程序监控是否可以利用所述第一目标内部IP地址得到所述第一目标节点的第一HTTP服务;若否,则利用所述CTDB服务获取第二目标节点的第二HTTP服务,并利用所述第二HTTP服务访问所述存储服务。
由此可见,本发明实施例提供的一种分布式集群节点访问的方法,在分布式集群环境通过CTDB管理HTTP服务的分布式集群,当利用一个节点的HTTP服务共享集群的存储服务时,节点出现故障或停机时,可以利用CTDB监控到节点的故障情况,同时CTDB服务可以自动将当前访问的节点切换到另一个没有问题的节点上,使用户可以继续正常的访问,而不会感觉到停机,因此实现了分布式集群的高可用性。因此利用CTDB进行监控管理HTTP服务,大大提高了分布式环境中HTTP服务的应用效率和高可用性,使得分布式集群更加简便、高效。本发明还提供一种分布式集群节点访问的装置,同样可以实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种分布式集群节点访问的方法流程图;
图2为本发明实施例公开的一种具体的分布式集群节点访问的方法流程图;
图3为本发明实施例公开的一种具体的分布式集群节点访问的方法流程图;
图4为本发明实施例公开的一种基于CTDB的高可用HTTP分布式集群的示意图;
图5为本发明实施例公开的一种分布式集群节点访问的装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种分布式集群节点访问的方法,以简单、高效地提高分布式集群系统的高可用性。
参见图1,本发明实施例提供的一种分布式集群节点访问的方法,具体包括:
S101,为分布式集群节点配置内部IP地址与虚拟IP地址。
具体地,首先需要部署分布式集群环境,采用PXE灌装的方式批量部署分布式集群中的所有节点的操作系统,操作系统选用CentOS7.2版本,通过改写Linux网络配置文件内容为集群配置网络环境,其中要配置每个节点的IP以及DNS服务器,同时,要将每个节点的系统时间设置为与网络时间同步,并在每个节点中安装Samba服务,以及Apache/httpd服务,Apache/httpd服务是用来系统提供HTTP服务。
在分布式环境中还需要为分布式集群部署共享存储服务,在本方案中,为分布式集群部署Ceph分布式文件系统,为所有集群节点提供共享存储服务,同时为CTDB提供lock和status共享存储空间。
在配置CTDB实现HTTP之前,需要停止分布式集群中所有节点的Samba服务,然后为每个节点设置一个内部IP和对外的虚拟IP,内部IP就是配置每个节点网络环境时,设置的对于每个节点的固定IP地址。在访问节点前,对于节点来说,其内部IP与虚拟IP对应,用户访问此节点时,输入虚拟IP进行访问,利用这个虚拟IP找到对应的内部IP,从而找到要访问的节点,当要访问的节点不能被访问时,可以将这个虚拟IP对应的内部IP更换为一个其他的内部IP,以访问其他节点。
需要说明的是,在配置内部IP后,可以为每一个节点配置hosts文件,hosts文件里存放集群中所有节点的包括内部IP地址的信息,这样,当一个节点不能访问时,可以通过hosts文件找到其他的内部IP。
S102,为所述分布式集群节点配置HTTP服务与CTDB服务。
具体地,在本方案中是采用http虚拟主机方式对外提供集群存储服务,首先需要将将已安装的Apache/httpd服务进行配置,对http服务的配置文件httpd.conf进行修改。
在本方案中也需要对CTDB进行配置,具体地,首先需要编写代码实现CTDB管理HTTP服务,部署CTDB管理HTTP服务的监控程序,并且修改CTDB的配置文件,也就是修改所有节点上的/etc/ctdb/ctdbd.conf文件中的相关配置。
HTTP服务与CTDB服务配置完成后,将服务启动,需要说明的是,只需要对CTDB服务进行启动服务,HTTP服务会被CTDB服务自动拉起。
S103,接收对存储服务的访问请求,所述访问请求为利用第一目标节点请求访问存储服务。
具体地,接收到由客户端发出访问共享的存储服务的请求时,根据客户端请求的虚拟IP地址,得到客户端需要通过那一台节点对存储服务进行访问,将此节点作为第一目标节点。
S104,利用所述第一目标节点的目标虚拟IP地址找到所述第一目标节点的第一目标内部IP地址。
具体地,利用第一目标节点的虚拟IP地址找到对应的内部IP地址,也就是找到要访问的节点。
S105,利用所述CTDB服务中的监控程序监控是否可以利用所述第一目标内部IP地址得到所述第一目标节点的第一HTTP服务。
具体地,利用CTDB服务中的监控程序监控此节点是否可以正常的提供HTTP服务,也就是可以正常地被客户端访问,没有出现故障、停机等。
S106,若否,则利用所述CTDB服务获取第二目标节点的第二HTTP服务,并利用所述第二HTTP服务访问所述存储服务。
具体地,如果第一目标节点不能正常地提供HTTP服务,也就是客户端不能通过第一目标节点获得存储服务,那么利用CTDB服务,将客户端访问存储服务时使用的虚拟IP地址对应的内部IP地址进行切换,切换到另一个内部IP地址上,也就是在用户请求访问时,就及时将故障节点切换为正常节点,由于是在客户端使用的虚拟IP地址不更换的情况下,集群系统通过CTDB自动更换节点,因此,客户端不会有停机现象。
通过以上方案可知,本发明实施例提供的一种分布式集群节点访问的方法,在分布式集群环境通过CTDB管理HTTP服务的分布式集群,当利用一个节点的HTTP服务共享集群的存储服务时,节点出现故障或停机时,可以利用CTDB监控到节点的故障情况,同时CTDB服务可以自动将当前访问的节点切换到另一个没有问题的节点上,使用户可以继续正常的访问,而不会感觉到停机,因此实现了分布式集群的高可用性。因此利用CTDB进行监控管理HTTP服务,大大提高了分布式环境中HTTP服务的应用效率和高可用性,使得分布式集群更加简便、高效。
本发明实施例提供一种具体的分布式集群节点访问的方法,区别于上一实施例,本发明实施例对上述实施例中S101作了具体的限定,其他步骤内容与上述实施例的内容大致相同,此处不再赘述,具体地,S101包括:
创建每个分布式集群节点的nodes文件,配置所述nodes文件中的IP为构成所述分布式集群环境的内部IP地址。
具体地,在每个集群节点中创建nodes文件,在nodes文件中配置内部IP地址,其中内部IP地址构成了分布式集群环境的内部网络。
创建每个分布式集群节点的公网IP文件,配置每个集群节点对外开放的虚拟IP地址,并将所述虚拟IP地址保存至所述公网IP文件中。
具体地,在每个集群节点中创建公网IP文件,在公网IP文件中配置节点的虚拟IP地址,虚拟IP地址为对外开放的,客户端利用虚拟IP地址访问节点。
本发明实施例提供一种具体的分布式集群节点访问的方法,区别于上一实施例,本发明实施例对上述实施例中S102作了具体的限定,其他步骤内容与上述实施例的内容大致相同,此处不再赘述,具体地,参见图2,S102包括:
S201,部署CTDB管理HTTP服务的监控程序。
具体地,首先需要编写代码实现CTDB管理HTTP服务,部署CTDB管理HTTP服务的监控程序。
S202,修改所述HTTP服务的配置文件与所述CTDB服务的配置文件。
具体地,将已安装的Apache/httpd服务进行配置,对http服务的配置文件httpd.conf进行修改;修改CTDB的配置文件,也就是修改所有节点上的/etc/ctdb/ctdbd.conf文件中的相关配置。
S203,启动所述CTDB服务与所述HTTP服务。
HTTP服务与CTDB服务配置完成后,将服务启动,需要说明的是,只需要对CTDB服务进行启动服务,HTTP服务会被CTDB服务自动拉起。
本发明实施例提供了一种具体的分布式集群节点访问的方法,区别于上述实施例,本发明实施例对上述实施例中的分布式集群节点做了进一步说明和限定,具体地:
分布式集群节点为部署了Ceph分布式文件系统的分布式集群节点。
具体,在分布式集群中部署Ceph分布式文件系统,为集群所有节点提供共享存储服务。
Ceph是一个Linux PB级分布式文件系统,具有容错功能,并且简化了海量数据管理等优点,支持可扩展计算空间,特别是可扩展存储空间上具有很大优势,通过Ceph分布式文件系统集群与HTTP服务实现分布式集群高可用,提高了对分布式存储集群的性能、可用性、扩展性、易用性和管理性。
为了在客户端访问的集群节点故障时,更方便高效地更换另一个节点,本发明实施例提供一种具体的分布式集群节点访问的方法,具体地,本发明实施例在S101之前,还包括:
将所有分布式集群节点的信息写入每个分布式集群节点的hosts文件中,其中所述信息包括集群节点的内部IP地址。
具体地,为每一个节点配置hosts文件,hosts文件里存放集群中所有节点的包括内部IP地址的信息,这样,当一个节点不能访问时,可以通过hosts文件找到其他的内部IP。
本发明实施例提供一种具体地分布式集群节点访问的方法,区别于上一实施例,本发明实施例对S106作了具体地限定与说明,其他步骤内容与上述实施例大致相同,具体内容可以参考上述实施例对应的部分,具体地,S106包括:
利用所述CTDB服务与所述第一目标节点的hosts文件得到所述hosts文件中其他一个分布式集群节点的第二目标内部IP地址,并获取第二目标内部IP地址对应的第二目标节点的第二HTTP服务。
具体地,当客户端要访问节点故障时,可以利用CTDB服务根据当前故障节点中的hosts文件找到一个其他节点的内部IP地址,并利用这个IP地址找到所属的节点,通过这个节点获取存储服务。
本发明实施例提供了一种具体的分布式集群节点访问的方法,参照图3和图4,本发明实施例具体包括:
S301,部署分布式集群环境。
具体地,采用PXE灌装的方式批量部署分布式集群中的所有节点的操作系统,操作系统选用CentOS7.2版本,通过改写Linux网络配置文件内容为集群配置网络环境,Linux内核的操作系统为3.10版本,其中要通过在
/etc/sysconfig/network-scripts/下找到网口配置文件配置每个节点的IP以及
DNS服务器,同时,要将每个节点的系统时间设置为与网络时间同步,并在每个节点中安装Samba服务,以及Apache/httpd服务,Apache/httpd服务是用来系统提供HTTP服务。Samba服务为4.5.1版本,HTTP服务为Apache/2.4.6版本。
S302,Ceph分布式文件系统对象存储集群部署。
具体地,为分布式集群部署Ceph分布式文件系统,Ceph文件系统版本为4.3.2。
S303,停止所有节点的Samba服务。
具体地,在配置CTDB实现HTTP服务之前,需要停止集群所有节点的Samba服务,命令如下:
[root@server~]#systemctl stop smb
[root@server~]#systemctl disable smb
S304,配置hosts文件。
具体地,将所有集群服务端所有节点的信息都写入到hosts文件,并保证节点间可相互实现无密码访问(可通过ssh互联各个节点实现);
举例/etc/hosts文件如下所示:
127.0.0.1localhost localhost.localdomainlocalhost4localhost4.localdomain4
::1localhost localhost.localdomain localhost6localhost6.localdomain6
188.188.0.101node01
188.188.0.102node02
188.188.0.103node03
……
S305,配置nodes文件。
具体地,创建并修改集群各个节点的集群节点文件nodes,配置节点文件中IP为构成节点集群的内部IP(这里通常是集群文件系统的public network);
配置集群节点文件/etc/ctdb/nodes为:
188.188.0.101
188.188.0.102
188.188.0.103
S306,配置公网IP文件。
具体地,创建并修改各接口节点公网IP文件public_addresses。公网IP文件用于保存接口节点集群对外开放的IP地址,是便于客户端进行访问的虚拟IP;
修改各接口节点公网IP文件/etc/ctdb/public_addresses如下:
192.168.153.131/24eth0
192.168.153.132/24eth0
192.168.153.133/24eth0
S307,部署CTDB管理HTTP服务的监控程序。
具体地,编写代码实现CTDB管理HTTP服务,部署CTDB管理HTTP服务的监控程序;
主要监控程序如下:
S308,修改CTDB配置文件。
具体地,修改集群所有节点上的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
S309,部署HTTP服务。
具体地,采用http虚拟主机方式对外提供共享集群存储服务;修改httpd.conf配置文件如下:
S310,启动服务。
具体地,在集群各个节点上启动redis-server,然后,在各个节点启动CTDB服务,待CTDB在集群各个节点都启动后,HTTP服务会被CTDB自动拉起。
启动redis-server,在所有节点上执行以下操作:
[root@server~]#redis-server/etc/redis/redis.conf
启动ctdb服务,在所有节点上执行以下操作:
[root@server~]#systemctl start ctdb
S311,用户访问。
具体地,用户可以通过虚拟IP作为集群的业务访问入口,访问HTTP服务,进而共享集群存储服务。当访问的节点出现故障时,利用CTDB对节点进行更换。实现了CTDB管理HTTP服务高可用的方法,服务节点宕机,重启或者出现故障可实现自动切换服务。
参考图4,为本发明实施例提供的一种基于CTDB的高可用HTTP分布式集群的示意图。用户客户端通过浏览器输入虚拟IP地http://192.168.153.131即可通过对应的188.188.0.101这个节点访问集群共享存储目录,当此节点宕机,重启出现故障等现象,CTDB会自动把HTTP服务切换到其他节点上,比如内部IP地址为188.188.0.102的节点,保证了HTTP服务集群高可用。
下面对本发明实施例提供的一种分布式集群节点访问的装置进行介绍,下文描述的一种分布式集群节点访问的装置与上文描述的一种分布式集群节点访问的方法可以相互参照。
参见图5,本发明实施例提供的一种分布式集群节点访问的装置,具体包括:
IP地址配置模块401,用于为分布式集群节点配置内部IP地址与虚拟IP地址。
具体地,首先需要部署分布式集群环境,采用PXE灌装的方式批量部署分布式集群中的所有节点的操作系统,操作系统选用CentOS7.2版本,通过改写Linux网络配置文件内容为集群配置网络环境,其中要配置每个节点的IP以及DNS服务器,同时,要将每个节点的系统时间设置为与网络时间同步,并在每个节点中安装Samba服务,以及Apache/httpd服务,Apache/httpd服务是用来系统提供HTTP服务。
在分布式环境中还需要为分布式集群部署共享存储服务,在本方案中,为分布式集群部署Ceph分布式文件系统,为所有集群节点提供共享存储服务,同时为CTDB提供lock和status共享存储空间。
在配置CTDB实现HTTP之前,需要停止分布式集群中所有节点的Samba服务,然后IP地址配置模块401为每个节点设置一个内部IP和对外的虚拟IP,内部IP就是配置每个节点网络环境时,设置的对于每个节点的固定IP地址。在访问节点前,对于节点来说,其内部IP与虚拟IP对应,用户访问此节点时,输入虚拟IP进行访问,利用这个虚拟IP找到对应的内部IP,从而找到要访问的节点,当要访问的节点不能被访问时,可以将这个虚拟IP对应的内部IP更换为一个其他的内部IP,以访问其他节点。
需要说明的是,在配置内部IP后,可以为每一个节点配置hosts文件,hosts文件里存放集群中所有节点的包括内部IP地址的信息,这样,当一个节点不能访问时,可以通过hosts文件找到其他的内部IP。
服务配置模块402,用于为所述分布式集群节点配置HTTP服务与CTDB服务。
具体地,在本方案中是采用http虚拟主机方式对外提供集群存储服务,首先服务配置模块402需要将将已安装的Apache/httpd服务进行配置,对http服务的配置文件httpd.conf进行修改。
在本方案中服务配置模块402也需要对CTDB进行配置,具体地,首先需要利用代码实现CTDB管理HTTP服务,部署CTDB管理HTTP服务的监控程序,并且修改CTDB的配置文件,也就是修改所有节点上的/etc/ctdb/ctdbd.conf文件中的相关配置。
HTTP服务与CTDB服务配置完成后,将服务启动,需要说明的是,只需要对CTDB服务进行启动服务,HTTP服务会被CTDB服务自动拉起。
访问请求接收模块403,用于接收对存储服务的访问请求,所述访问请求为利用第一目标节点请求访问存储服务。
具体地,访问请求接收模块403接收到由客户端发出访问共享的存储服务的请求时,根据客户端请求的虚拟IP地址,得到客户端需要通过那一台节点对存储服务进行访问,将此节点作为第一目标节点。
第一目标内部IP地址获取模块404,用于利用第一目标节点的目标虚拟IP地址找到所述第一目标节点的第一目标内部IP地址。
具体地,第一目标内部IP地址获取模块404利用第一目标节点的虚拟IP地址找到对应的内部IP地址,也就是找到要访问的节点。
监控模块405,用于利用所述CTDB服务中的监控程序监控是否可以利用所述第一目标内部IP地址得到所述第一目标节点的第一HTTP服务。
具体地,监控模块405利用CTDB服务中的监控程序监控此节点是否可以正常的提供HTTP服务,也就是可以正常地被客户端访问,没有出现故障、停机等。
访问模块406,用于当不可以利用所述第一目标内部IP地址得到所述第一目标节点的第一HTTP服务时,利用所述CTDB服务获取第二目标节点的第二HTTP服务,并利用所述第二HTTP服务访问所述存储服务。
具体地,如果第一目标节点不能正常地提供HTTP服务,也就是客户端不能通过第一目标节点获得存储服务,那么访问模块406利用CTDB服务,将客户端访问存储服务时使用的虚拟IP地址对应的内部IP地址进行切换,切换到另一个内部IP地址上,也就是在用户请求访问时,就及时将故障节点切换为正常节点,由于是在客户端使用的虚拟IP地址不更换的情况下,集群系统通过CTDB自动更换节点,因此,客户端不会有停机现象。
通过以上方案可知,本发明实施例提供的一种分布式集群节点访问的方法,在分布式集群环境通过CTDB管理HTTP服务的分布式集群,当利用一个节点的HTTP服务共享集群的存储服务时,节点出现故障或停机时,可以利用监控模块405监控到节点的故障情况,同时访问模块406利用CTDB服务可以自动将当前访问的节点切换到另一个没有问题的节点上,使用户可以继续正常的访问,而不会感觉到停机,因此实现了分布式集群的高可用性。因此利用CTDB进行监控管理HTTP服务,大大提高了分布式环境中HTTP服务的应用效率和高可用性,使得分布式集群更加简便、高效。
本发明实施例提供一种具体的分布式集群节点访问的装置,区别于上一实施例,本发明实施例对上述实施例中IP地址配置模块401作了具体的限定,其他内容与上述实施例的内容大致相同,具体内容可以参考上述实施例,此处不再赘述,具体地,IP地址配置模块401包括:
内部网络IP地址配置单元501,用于创建每个分布式集群节点的nodes文件,配置所述nodes文件中的IP为构成所述分布式集群环境的内部IP地址。
具体地,内部网络IP地址配置单元501在每个集群节点中创建nodes文件,在nodes文件中配置内部IP地址,其中内部IP地址构成了分布式集群环境的内部网络。
虚拟IP地址配置单元502,用于创建每个分布式集群节点的公网IP文件,配置每个集群节点对外开放的虚拟IP地址,并将所述虚拟IP地址保存至所述公网IP文件中。
具体地,虚拟IP地址配置单元502在每个集群节点中创建公网IP文件,在公网IP文件中配置节点的虚拟IP地址,虚拟IP地址为对外开放的,客户端利用虚拟IP地址访问节点。
本发明实施例提供一种具体的分布式集群节点访问的装置,区别于上一实施例,本发明实施例对上述实施例中服务配置模块402作了具体的限定,其他内容与上述实施例的内容大致相同,具体内容可以参考上述实施例,此处不再赘述,具体地,S102包括:
监控程序部署单元601,用于部署CTDB管理HTTP服务的监控程序。
具体地,监控程序部署单元601首先需要编写代码实现CTDB管理HTTP服务,部署CTDB管理HTTP服务的监控程序。
配置文件修改单元602,用于修改所述HTTP服务的配置文件与所述CTDB服务的配置文件。
具体地,配置文件修改单元602将已安装的Apache/httpd服务进行配置,对http服务的配置文件httpd.conf进行修改;修改CTDB的配置文件,也就是修改所有节点上的/etc/ctdb/ctdbd.conf文件中的相关配置。
启动单元603,用于启动所述CTDB服务与所述HTTP服务。
HTTP服务与CTDB服务配置完成后,启动单元603将服务启动,需要说明的是,只需要对CTDB服务进行启动服务,HTTP服务会被CTDB服务自动拉起。
本发明实施例提供了一种具体的分布式集群节点访问的装置,区别于上述实施例,本发明实施例对上述实施例中的分布式集群节点做了进一步说明和限定,具体地:
分布式集群节点为部署了Ceph分布式文件系统的分布式集群节点。
具体,在分布式集群中部署Ceph分布式文件系统,为集群所有节点提供共享存储服务。
Ceph是一个Linux PB级分布式文件系统,具有容错功能,并且简化了海量数据管理等优点,支持可扩展计算空间,特别是可扩展存储空间上具有很大优势,通过Ceph分布式文件系统集群与HTTP服务实现分布式集群高可用,提高了对分布式存储集群的性能、可用性、扩展性、易用性和管理性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种分布式集群节点访问的方法,其特征在于,包括:
为分布式集群节点配置内部IP地址与虚拟IP地址;
为所述分布式集群节点配置HTTP服务与CTDB服务;
接收对存储服务的访问请求,所述访问请求为利用第一目标节点请求访问存储服务;
利用所述第一目标节点的目标虚拟IP地址找到所述第一目标节点的第一目标内部IP地址;
利用所述CTDB服务中的监控程序监控是否可以利用所述第一目标内部IP地址得到所述第一目标节点的第一HTTP服务;
若否,则利用所述CTDB服务获取第二目标节点的第二HTTP服务,并利用所述第二HTTP服务访问所述存储服务。
2.根据权利要求1所述的方法,其特征在于,所述为分布式集群节点配置内部IP地址与虚拟IP地址,包括:
创建每个分布式集群节点的nodes文件,配置所述nodes文件中的IP为构成所述分布式集群环境的内部IP地址;
创建每个分布式集群节点的公网IP文件,配置每个集群节点对外开放的虚拟IP地址,并将所述虚拟IP地址保存至所述公网IP文件中。
3.根据权利要求1所述的方法,其特征在于,为所述分布式集群节点配置所述HTTP服务与CTDB服务,包括:
部署CTDB管理HTTP服务的监控程序;
修改所述HTTP服务的配置文件与所述CTDB服务的配置文件;
启动所述CTDB服务与所述HTTP服务。
4.根据权利要求1所述的方法,其特征在于,所述分布式集群节点为部署了Ceph分布式文件系统的分布式集群节点。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述为分布式集群节点配置内部IP地址与虚拟IP地址之前,还包括:
将所有分布式集群节点的信息写入每个分布式集群节点的hosts文件中,其中所述信息包括集群节点的内部IP地址。
6.根据权利要求5所述的方法,其特征在于,所述利用所述CTDB服务获取第二目标节点的第二HTTP服务,包括:
利用所述CTDB服务与所述第一目标节点的hosts文件得到所述hosts文件中其他一个分布式集群节点的第二目标内部IP地址,并获取第二目标内部IP地址对应的第二目标节点的第二HTTP服务。
7.一种分布式集群节点访问的装置,其特征在于,包括:
IP地址配置模块,用于为分布式集群节点配置内部IP地址与虚拟IP地址;
服务配置模块,用于为所述分布式集群节点配置HTTP服务与CTDB服务;
访问请求接收模块,用于接收对存储服务的访问请求,所述访问请求为利用第一目标节点请求访问存储服务;
第一目标内部IP地址获取模块,用于利用第一目标节点的目标虚拟IP地址找到所述第一目标节点的第一目标内部IP地址;
监控模块,用于利用所述CTDB服务中的监控程序监控是否可以利用所述第一目标内部IP地址得到所述第一目标节点的第一HTTP服务;
访问模块,用于当不可以利用所述第一目标内部IP地址得到所述第一目标节点的第一HTTP服务时,利用所述CTDB服务获取第二目标节点的第二HTTP服务,并利用所述第二HTTP服务访问所述存储服务。
8.根据权利要求7所述的装置,其特征在于,所述IP地址配置模块,包括:
内部网络IP地址配置单元,用于创建每个分布式集群节点的nodes文件,配置所述nodes文件中的IP为构成所述分布式集群环境的内部IP地址;
虚拟IP地址配置单元,用于创建每个分布式集群节点的公网IP文件,配置每个集群节点对外开放的虚拟IP地址,并将所述虚拟IP地址保存至所述公网IP文件中。
9.根据权利要求7所述的装置,其特征在于,所述服务配置模块,包括:
监控程序部署单元,用于部署CTDB管理HTTP服务的监控程序;
配置文件修改单元,用于修改所述HTTP服务的配置文件与所述CTDB服务的配置文件;
启动单元,用于启动所述CTDB服务与所述HTTP服务。
10.根据权利要求7所述的装置,其特征在于,所述分布式集群节点为部署了Ceph分布式文件系统的分布式集群节点。
CN201710607021.3A 2017-07-24 2017-07-24 一种分布式集群节点访问的方法及装置 Active CN107404524B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710607021.3A CN107404524B (zh) 2017-07-24 2017-07-24 一种分布式集群节点访问的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710607021.3A CN107404524B (zh) 2017-07-24 2017-07-24 一种分布式集群节点访问的方法及装置

Publications (2)

Publication Number Publication Date
CN107404524A true CN107404524A (zh) 2017-11-28
CN107404524B CN107404524B (zh) 2020-07-07

Family

ID=60401488

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710607021.3A Active CN107404524B (zh) 2017-07-24 2017-07-24 一种分布式集群节点访问的方法及装置

Country Status (1)

Country Link
CN (1) CN107404524B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108566291A (zh) * 2018-02-13 2018-09-21 北京三快在线科技有限公司 一种事件处理的方法、服务器及系统
CN108958991A (zh) * 2018-07-26 2018-12-07 郑州云海信息技术有限公司 集群节点故障业务快速恢复方法、装置、设备及存储介质
CN108989476A (zh) * 2018-06-12 2018-12-11 新华三技术有限公司 一种地址分配方法以及装置
CN109067599A (zh) * 2018-09-25 2018-12-21 山东浪潮云投信息科技有限公司 一种部署集群的方法及装置
CN109446178A (zh) * 2018-11-13 2019-03-08 郑州云海信息技术有限公司 一种Hadoop对象存储高可用方法、系统、装置及可读存储介质
CN111131492A (zh) * 2019-12-31 2020-05-08 中国联合网络通信集团有限公司 节点访问方法和系统
CN111225003A (zh) * 2018-11-23 2020-06-02 北京京东金融科技控股有限公司 一种nfs节点配置方法和装置
CN111787113A (zh) * 2020-07-03 2020-10-16 北京大道云行科技有限公司 一种节点故障的处理方法、装置、存储介质和电子设备
CN112015696A (zh) * 2020-08-21 2020-12-01 北京奇艺世纪科技有限公司 数据访问、数据关系设置方法、装置及存储介质
CN112019601A (zh) * 2020-08-07 2020-12-01 烽火通信科技股份有限公司 一种基于分布式存储Ceph的两节点实现方法及系统
CN112040023A (zh) * 2020-08-26 2020-12-04 杭州宏杉科技股份有限公司 对象访问方法、装置、电子设备及机器可读存储介质
CN114205333A (zh) * 2021-12-09 2022-03-18 北京奇妙时光科技有限公司 Ip配置方法、集群构建方法、计算机设备及存储介质
CN116069753A (zh) * 2023-03-06 2023-05-05 浪潮电子信息产业股份有限公司 存算分离方法、系统、设备及介质
CN116112500A (zh) * 2023-02-08 2023-05-12 北京志凌海纳科技有限公司 一种基于故障探测和路由策略的nfs高可用系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101520748A (zh) * 2009-01-12 2009-09-02 浪潮电子信息产业股份有限公司 一种测试Intel多核CPU加速比的方法
CN103475732A (zh) * 2013-09-25 2013-12-25 浪潮电子信息产业股份有限公司 一种基于虚拟地址池的分布式文件系统数据卷部署方法
CN103973516A (zh) * 2014-05-12 2014-08-06 深圳市中博科创信息技术有限公司 一种数据处理系统中实现监控功能的方法及装置
CN104090992A (zh) * 2014-08-06 2014-10-08 浪潮电子信息产业股份有限公司 一种集群存储系统中转换节点间高可用配置方法
CN105262820A (zh) * 2015-10-29 2016-01-20 浪潮电子信息产业股份有限公司 一种基于Linux操作系统的集群多机互备的方法
CN105278985A (zh) * 2015-09-25 2016-01-27 浪潮(北京)电子信息产业有限公司 一种部署文件系统的方法及系统
CN106254161A (zh) * 2016-09-28 2016-12-21 上海爱数信息技术股份有限公司 基于hdfs的节点失效的快速检测与恢复方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101520748A (zh) * 2009-01-12 2009-09-02 浪潮电子信息产业股份有限公司 一种测试Intel多核CPU加速比的方法
CN103475732A (zh) * 2013-09-25 2013-12-25 浪潮电子信息产业股份有限公司 一种基于虚拟地址池的分布式文件系统数据卷部署方法
CN103973516A (zh) * 2014-05-12 2014-08-06 深圳市中博科创信息技术有限公司 一种数据处理系统中实现监控功能的方法及装置
CN104090992A (zh) * 2014-08-06 2014-10-08 浪潮电子信息产业股份有限公司 一种集群存储系统中转换节点间高可用配置方法
CN105278985A (zh) * 2015-09-25 2016-01-27 浪潮(北京)电子信息产业有限公司 一种部署文件系统的方法及系统
CN105262820A (zh) * 2015-10-29 2016-01-20 浪潮电子信息产业股份有限公司 一种基于Linux操作系统的集群多机互备的方法
CN106254161A (zh) * 2016-09-28 2016-12-21 上海爱数信息技术股份有限公司 基于hdfs的节点失效的快速检测与恢复方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LINFENGZHIDAO: "红帽集群套件RHCS实战篇", 《百度文库》 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108566291B (zh) * 2018-02-13 2020-04-28 北京三快在线科技有限公司 一种事件处理的方法、服务器及系统
CN108566291A (zh) * 2018-02-13 2018-09-21 北京三快在线科技有限公司 一种事件处理的方法、服务器及系统
CN108989476B (zh) * 2018-06-12 2021-09-07 新华三技术有限公司 一种地址分配方法以及装置
CN108989476A (zh) * 2018-06-12 2018-12-11 新华三技术有限公司 一种地址分配方法以及装置
CN108958991A (zh) * 2018-07-26 2018-12-07 郑州云海信息技术有限公司 集群节点故障业务快速恢复方法、装置、设备及存储介质
CN108958991B (zh) * 2018-07-26 2022-05-06 郑州云海信息技术有限公司 集群节点故障业务快速恢复方法、装置、设备及存储介质
CN109067599A (zh) * 2018-09-25 2018-12-21 山东浪潮云投信息科技有限公司 一种部署集群的方法及装置
CN109067599B (zh) * 2018-09-25 2021-06-18 浪潮云信息技术股份公司 一种部署集群的方法及装置
CN109446178A (zh) * 2018-11-13 2019-03-08 郑州云海信息技术有限公司 一种Hadoop对象存储高可用方法、系统、装置及可读存储介质
CN111225003B (zh) * 2018-11-23 2022-12-27 京东科技控股股份有限公司 一种nfs节点配置方法和装置
CN111225003A (zh) * 2018-11-23 2020-06-02 北京京东金融科技控股有限公司 一种nfs节点配置方法和装置
CN111131492A (zh) * 2019-12-31 2020-05-08 中国联合网络通信集团有限公司 节点访问方法和系统
CN111787113A (zh) * 2020-07-03 2020-10-16 北京大道云行科技有限公司 一种节点故障的处理方法、装置、存储介质和电子设备
CN111787113B (zh) * 2020-07-03 2021-09-03 北京大道云行科技有限公司 一种节点故障的处理方法、装置、存储介质和电子设备
CN112019601A (zh) * 2020-08-07 2020-12-01 烽火通信科技股份有限公司 一种基于分布式存储Ceph的两节点实现方法及系统
CN112015696A (zh) * 2020-08-21 2020-12-01 北京奇艺世纪科技有限公司 数据访问、数据关系设置方法、装置及存储介质
CN112040023A (zh) * 2020-08-26 2020-12-04 杭州宏杉科技股份有限公司 对象访问方法、装置、电子设备及机器可读存储介质
CN114205333A (zh) * 2021-12-09 2022-03-18 北京奇妙时光科技有限公司 Ip配置方法、集群构建方法、计算机设备及存储介质
CN114205333B (zh) * 2021-12-09 2024-02-27 北京奇妙时光科技有限公司 Ip配置方法、集群构建方法、计算机设备及存储介质
CN116112500A (zh) * 2023-02-08 2023-05-12 北京志凌海纳科技有限公司 一种基于故障探测和路由策略的nfs高可用系统及方法
CN116112500B (zh) * 2023-02-08 2023-08-15 北京志凌海纳科技有限公司 一种基于故障探测和路由策略的nfs高可用系统及方法
CN116069753A (zh) * 2023-03-06 2023-05-05 浪潮电子信息产业股份有限公司 存算分离方法、系统、设备及介质

Also Published As

Publication number Publication date
CN107404524B (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
CN107404524A (zh) 一种分布式集群节点访问的方法及装置
US11687422B2 (en) Server clustering in a computing-on-demand system
US8473596B2 (en) Method and apparatus for web based storage on-demand
CN102110071B (zh) 一种虚拟机集群系统及其实现方法
US9274824B2 (en) Network technology standard operating environment
US9288266B1 (en) Method and apparatus for web based storage on-demand
US20050080891A1 (en) Maintenance unit architecture for a scalable internet engine
CN104579732A (zh) 虚拟化网络功能网元的管理方法、装置和系统
US9602600B1 (en) Method and apparatus for web based storage on-demand
US8224941B2 (en) Method, apparatus, and computer product for managing operation
US8387013B2 (en) Method, apparatus, and computer product for managing operation
US20130239004A1 (en) System and method for providing an in-memory data grid application container
CN111538561B (zh) 基于KVM虚拟化技术的OpenStack大规模集群部署测试的方法及系统
US7912919B2 (en) Common storage in scalable computer systems
CN105095103A (zh) 用于云环境下的存储设备管理方法和装置
CN106972970A (zh) 一种避免oVirt云平台管理节点单点故障的方法
CN100421382C (zh) 高扩展性互联网超级服务器的维护单元结构及方法
KR100791293B1 (ko) 네트워크 내 컴퓨터 시스템의 데이터 관리 장치 및 방법
CN112637265A (zh) 一种设备管理方法、装置及存储介质
US11385973B1 (en) High-availability for power-managed virtual desktop access
US11983082B2 (en) Server clustering in a computing-on-demand system
De Palma et al. Autonomic Administration of Clustered J2EE Applications.
CN116048715A (zh) 基于BeeGFS和负载均衡的高可用文件管理系统及方法
CN116820686A (zh) 物理机的部署方法、虚拟机和容器统一监控的方法及装置
Austin et al. Oracle® Clusterware and Oracle RAC Administration and Deployment Guide, 10g Release 2 (10.2) B14197-07

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant