CN114024841B - 一种服务器集群部署方法、装置、计算设备及存储介质 - Google Patents

一种服务器集群部署方法、装置、计算设备及存储介质 Download PDF

Info

Publication number
CN114024841B
CN114024841B CN202111247771.7A CN202111247771A CN114024841B CN 114024841 B CN114024841 B CN 114024841B CN 202111247771 A CN202111247771 A CN 202111247771A CN 114024841 B CN114024841 B CN 114024841B
Authority
CN
China
Prior art keywords
client
server
cluster
node
slave node
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.)
Active
Application number
CN202111247771.7A
Other languages
English (en)
Other versions
CN114024841A (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.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software 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 Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202111247771.7A priority Critical patent/CN114024841B/zh
Publication of CN114024841A publication Critical patent/CN114024841A/zh
Application granted granted Critical
Publication of CN114024841B publication Critical patent/CN114024841B/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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

Abstract

本发明公开了一种服务器集群部署方法,适于在服务器中执行,服务器与一个或多个客户端通信连接,方法包括步骤:获取服务器的配置信息,根据配置信息生成主节点信息;对与服务器连接的每一个客户端进行网络设置,构建客户端的网络端口;根据客户端的网络端口设置客户端为从节点,并生成从节点信息;根据主节点信息和从节点信息构建以服务器为主节点,客户端为从节点的服务器集群。本发明还一并公开了一种服务器集群部署装置,一种计算设备和计算机可读存储介质。

Description

一种服务器集群部署方法、装置、计算设备及存储介质
本申请是2021年08月04日提交的发明专利的分案申请,原申请的申请号:2021108890942,发明名称:一种服务器集群部署方法、装置、计算设备及存储介质。
技术领域
本发明涉及云计算领域,特别涉及一种服务器集群部署方法、装置、计算设备及存储介质。
背景技术
随着计算机技术的发展,人们对计算机工作的要求也越来越高,很多环境下要求计算机保持长时间,无故障的不间断运行。除了提高单台计算机的可靠性以外,人们采用一组计算机作为一个整体向用户提供一组网络资源,从而提高整体服务的稳定性,减少服务中断的时间,服务器集群技术应用而生。
服务器集群是指如单系统一样地运行并支持计算机持续正常运行的一个主机群,它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。服务器集群中每台计算机为计算机集群中的一个节点。随着计算机集群的发展,其用途也越来越多,对单个节点的配置和操作也变得越来越复杂,造成配置和使用服务器集群的巨大障碍。
为此,需要一种新的服务器集群部署方法和装置。
发明内容
为此,本发明提供一种服务器集群部署方法,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种服务器集群部署方法,适于在服务器中执行,服务器与一个或多个客户端通信连接,方法包括步骤:获取服务器的配置信息,根据配置信息生成主节点信息;对与服务器连接的每一个客户端进行网络设置,构建客户端的网络端口;根据客户端的网络端口设置客户端为从节点,并生成从节点信息;根据主节点信息和从节点信息构建以服务器为主节点,客户端为从节点的服务器集群。
可选地,在根据本发明的方法中,服务器还存储有多种语言资源包,每种语言资源包对应一种语言,还包括步骤:向用户提供多种语言选项;根据用户选择的语言选项,加载相应语言对应的语言资源包进行服务器集群部署。
可选地,在根据本发明的方法中,获取服务器的配置信息,根据配置信息生成主节点信息包括步骤:获取服务器的IP地址,主机名和用户密码;根据IP地址,主机名和用户密码生成主节点信息。
可选地,在根据本发明的方法中,还包括步骤:根据与客户端的通信连接,对与服务器连接的每一个客户端进行连通性检查,若检查通过,则对客户端进行网络设置。
可选地,在根据本发明的方法中,对与服务器连接的每一个客户端进行网络设置,构建客户端的网络端口包括步骤:从客户端获取公钥文件;根据公钥文件对客户端的防火墙进行设置,构建客户端的网络端口。
可选地,在根据本发明的方法中,根据客户端的网络端口设置客户端为从节点,并生成从节点信息包括步骤:根据客户端的主机名进行从节点认证;认证通过后获取客户端的IP地址和主机名;根据IP地址和主机名生成从节点信息。
可选地,在根据本发明的方法中,服务器和与服务器连接的客户端预安装有集群管理软件,根据主节点信息和从节点信息构建以服务器为主节点,客户端为从节点的服务器集群包括步骤:将服务器的主节点信息和客户端的从节点信息在服务器中进行存储;根据所存储的主节点信息和从节点信息分别在服务器和客户端设置所安装集群管理软件开机自动启动,以创建并启动服务器集群。
可选地,在根据本发明的方法中,还包括步骤:向用户提供默认安装和高级安装的安装选项;当用户选择高级安装时,在客户端的安装和配置虚拟机,对客户端进行从节点设置。
可选地,在根据本发明的方法中,还包括步骤:在完成构建服务器集群后显示服务器集群信息。
根据本发明的另一方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的一种设备故障检测分类器训练方法的任一方法的指令。
根据本发明的还有一个方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当由计算设备执行时,使得计算设备执行根据本发明的一种服务器集群部署方法中的任一方法。
根据本发明的再一个方面,提供一种服务器集群部署装置,装置驻留在服务器中,服务器与一个或多个客户端通信连接,装置包括通信连接的前端模块和后端模块,前端模块适于获取服务器的配置信息,根据配置信息生成主节点信息;后端模块适于对与服务器连接的每一个客户端进行网络设置,构建客户端的网络端口;根据客户端的网络端口设置客户端为从节点,并生成从节点信息;根据主节点信息和从节点信息构建以服务器为主节点,客户端为从节点的服务器集群。
可选地,在根据本发明的装置中,存储有多种语言资源包,每种语言资源包对应一种语言前端模块,前端模块包括语言选择单元,语言选择单元适于向用户提供多种语言选项;根据用户选择的语言选项,加载相应语言对应的语言资源包进行服务器集群部署。
可选地,在根据本发明的装置中,前端模块包括集群节点配置单元,集群节点配置单元适于获取服务器的IP地址,主机名和用户密码;根据IP地址,主机名和用户密码生成主节点信息。
可选地,在根据本发明的装置中,后端模块还包括连通性检查单元,连通性检查单元适于根据与客户端的通信连接,对与服务器连接的每一个客户端进行连通性检查,若检查通过,则对客户端进行网络设置。
可选地,在根据本发明的装置中,后端模块还包括免密登陆设置单元,免密登陆设置单元适于从客户端获取公钥文件;根据公钥文件对客户端的防火墙进行设置,构建客户端的网络端口。
可选地,在根据本发明的装置中,后端模块还包括节点认证单元,节点认证单元适于根据客户端的主机名进行从节点认证;认证通过后获取客户端的IP地址和主机名;根据IP地址和主机名生成从节点信息。
可选地,在根据本发明的装置中,后端模块还包括资源包安装单元和集群创建单元,资源包安装单元适于预先在服务器和与服务器连接的客户端安装集群管理软件;集群创建单元适于将服务器的主节点信息和客户端的从节点信息在服务器中进行存储;根据所存储的主节点信息和从节点信息分别在服务器和客户端设置所安装集群管理软件开机自动启动,以启动服务器集群。
可选地,在根据本发明的装置中,前端模块还包括高级节点配置单元,高级节点配置单元适于向用户提供默认安装和高级安装的安装选项;当用户选择高级安装时,在客户端的安装和配置虚拟机,对客户端进行从节点设置。
可选地,在根据本发明的装置中,前端模块还包括高级节点配置单元,高级节点配置单元适于向用户提供默认安装和高级安装的安装选项;当用户选择高级安装时,在客户端的安装和配置虚拟机,并进行客户端的从节点设置,以便对客户端进行服务管理。
本发明中的服务器集群部署方法适于在服务器中执行,服务器与一台或多个客户端通信连接。首先获取服务器的配置信息,根据配置信息生成主节点信息;接着对与服务器连接的每一个客户端进行网络设置,构建客户端的网络端口,从而通过网络接口对客户端进行配置,方便构建服务器集群。接着根据客户端的网络端口设置客户端为从节点,并生成从节点信息,根据主节点信息和从节点信息构建以服务器为主节点,客户端为从节点的服务器集群。根据本发明的方法,可以快速构建服务器集群,实现快速部署,降低搭建集群环境的复杂度,提高集群服务上线速度。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个示范性实施例的服务器与客户端通信连接的示意图;
图2示出了根据本发明一个示范性实施例的计算设备200的结构框图;
图3示出了根据本发明一个示范性实施例的服务器集群部署方法300的流程示意图;
图4a示出了根据本发明一个示范性实施例的页面跳转流程示意图;
图4b示出了根据本发明一个示范性实施例的页面跳转架构示意图;
图5示出了根据本发明一个示范性实施例的构建客户端的网络端口的流程示意图;
图6示出了根据本发明一个示范性的创建服务器集群的流程示意图;
图7示出根据本发明一个示范性实施例的设置从节点的流程示意图;
图8示出了根据本发明一个示范性实施例的服务器集群部署装置的架构示意图;以及
图9示出了根据本发明一个示范性实施例的服务器集群部署装置的技术架构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个示范性实施例的服务器与客户端通信连接的示意图。如图1所示,服务器140连接有客户端110~130。图1所示的服务器140与客户端110~130的链接方式仅是示例性的,本发明对服务器140与客户端110~130的连接方式,以及服务器140所连接的客户端数量不做限制。服务器不仅对服务器自身进行主节点配置,也通过与客户端的统信连接,对客户端进行配置。
服务端140以及所连接的客户端110~130具体可实现为一种计算设备。图2示出了根据本发明一个示范性实施例的计算设备200的结构框图。如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个程序222以及程序数据228。在一些实施方式中,程序222可以布置为在操作系统上由一个或者多个处理器204利用程序数据228执行根据本发明的方法300的指令223。
计算设备200还可以包括储存接口总线234。储存接口总线234实现了从储存设备232(例如,可移除储存器236和不可移除储存器238)经由总线/接口控制器230到基本配置202的通信。操作系统220、程序222以及数据224的至少一部分可以存储在可移除储存器236和/或不可移除储存器238上,并且在计算设备200上电或者要执行程序222时,经由储存接口总线234而加载到系统存储器206中,并由一个或者多个处理器204来执行。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外围接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为以便经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,程序222包括服务器集群部署方法300的多条程序指令,这些程序指令可以指示处理器204执行本发明的计算设备200中运行的服务器集群部署方法300中的部分步骤,以便计算设备200中的各部分通过执行本发明的服务器集群部署训练方法300来实现部署服务器集群。。
计算设备200可以实现为服务器,例如文件服务器240、数据库250、服务器、应用程序服务器等,这些电子设备可以是诸如个人数字助理(PDA)、无线网络浏览设备、应用专用设备、或者可以包括上面任何功能的混合设备。可以实现为包括桌面计算机和笔记本计算机配置的个人计算机,也在一些实施例中,计算设备200被配置为执行服务器集群部署方法300。
图3示出了根据本发明的一个示范性实施例的服务器集群部署方法300的流程示意图。方法300适于在服务器140中执行,可具体实现为在计算设备200中执行。如图3所示,服务器集群部署方法300始于步骤S310,获取服务器的配置信息,根据配置信息生成主节点信息。下面以客户端110和服务器140为例,对方法300进行说明。本发明对服务器集群的类型不做限制,根据本发明的一个实施例,服务器集群可实现在基于pacemaker的服务器集群。
Pacemaker是Linux环境中使用最为广泛的开源集群资源管理器,Pacemaker利用集群基础架构(Corosync或者Heartbeat)提供的消息和集群成员管理功能,实现节点和资源级别的故障检测和资源恢复,从而最大程度保证集群服务的高可用性。从逻辑功能而言,Pacemaker在集群管理员所定义的资源规则驱动下,负责集群中软件服务的全生命周期管理,这种管理甚至包括整个软件系统以及软件系统彼此之间的交互。Pacemaker在实际应用中可以管理任何规模的集群,由于其具备强大的资源依赖模型,这使得集群管理员能够精确描述和表达集群资源之间的关系。同时,对于任何形式的软件资源,通过为其自定义资源启动与管理脚本,几乎都能作为资源对象而被Pacemaker管理。
根据本发明的一个实施例,服务器还存储有多种语言资源包,每种语言资源包对应一种语言,用以向使用者提供不同的语言,使用多种语言资源包便于使用不同语言的用户应用本发明方法300。方法300还包括步骤:向用户提供多种语言选项,根据用户选择的语言选项,加载相应语言对应的语言资源包进行服务器集群部署。
根据本发明的一个实施例,根据选择语言选项加载对应的语言资源包可通过执行如下代码实现:
根据本发明的一个实施例,在进行语言选择以及加载对应的语言资源包后,进行用户协议许可。用户协议许可与语言选择可实现在不同的窗口界面,窗口界面中包括相关的选项,渲染并展示给用户。执行本发明的方法300时,绘制多个窗口界面,将每一次项配置信息的设置安排在单独的窗口界面,进行下一项目的配置信息的设置时进行窗口界面的跳转。
不同窗口界面之间设置有跳转规则,规定了跳转顺序,即从当前窗口页面可以跳转到哪个目标窗口界面。每个窗口界面还可设置窗口界面的跳转按钮等,便于用户触发窗口界面的跳转。本发明对窗口界面的跳转按钮,以及用户触发窗口界面的跳转方式不做限制。跳转按钮可实现为“下一步”的样式等。
本发明在配置服务器集群时设置显示可视化的窗口界面,方便用户进行操作和检测配置过程,并且窗口界面的上述设置方式使服务器集群的配置信息的设置更加条理化和模块化,每个窗口界面的信息显示更加简洁,方便配置服务器集群。
根据本发明的一个实施例,为了配置服务器集群,设置有窗口界面1和窗口界面2,可分别进行语言选择和用户协议许可。图4a示出了根据本发明一个示范性实施例的页面跳转流程示意图。窗口界面1和窗口界面2可通过html或js编写得到,并且预先设置和存储有窗口界面1和窗口界面2的跳转规则,窗口界面1的下一个窗口界面为窗口界面2。窗口界面1中设置有“下一步”按钮,可由用户触发以跳转到窗口界面2。窗口界面2中设置有“上一步”按钮,可以由用户触发以回退到窗口界面1。
图4a示出了根据本发明一个示范性实施例的页面跳转流程示意图。在用户通过窗口界面1的“下一步”按钮窗口界面1要跳转到页面2时,窗口界面1将窗口界面1的配置信息进行保存。所保存的配置信息用来配置服务器集群。成功处理相关数据,设置完毕该窗口界面的配置信息后,窗口界面1发送跳转信号,显示下一页面:窗口界面2。若不能正常处理相关数据,不能正常设置该配置信息,则窗口界面1弹出错误提示窗。
用户协议许可作为一个单独的窗口界面,由语言选择界面跳转得到。进行用户协议许可时,提示使用相关软件执行本发明的方法300的使用者需要遵守相关的使用协议,只有同意并遵守使用协议才能够继续进执行本发明的方法300。本发明对使用协议的数量及其具体内容不做限制。
接着获取服务器的配置信息,根据配置信息生成主节点信息时,获取服务器的IP地址,主机名和用户密码,根据IP地址,主机名和用户密码生成主节点信息。将服务器配置为主节点时,需要配置主节点的IP地址,主机名和用户密码。获取配置信息时,可以从服务器的系统配置文件中获取,也可以由用户输入的获得。
在生成主节点信息时,还向用户提供本机是否作为集群节点的选项。当用户选择本机作为集群节点时,正常继续对本机进行服务器集群的配置。当用户需要将本机从服务器集群中注销,使其脱离服务器集群时,选择本机不作为集群节点的选项,即可实现从服务器集群中注册本机。
获取服务器的配置信息后,根据与客户端的通信连接,对与服务器连接的每一个客户端进行连通性检查,若检查通过,则对客户端进行网络设置。为了正常对客户端进行网络设置,预先对与每个客户端的连接进行测试,检查与客户端通信连接是否正常。在进行连通性检查时,对与服务器连接的每个客户端使用ping命令进行连通性检查,检查与客户端是否可以连接。
根据本发明的一个实施例,进行连通性检查可通过shell执行如下代码实现:
ping hostname
通过对ping结果判断集群节点是否可以连通。
随后,执行步骤S320,对与服务器连接的每一个客户端进行网络设置,构建客户端的网络端口。图5示出了根据本发明一个示范性实施例的构建客户端的网络端口的流程示意图。如图5所示,在进行连通性检查成功后进行构建客户端的网络端口。构建网络端口时,先进行免密登陆设置,对与服务器所连接的所有客户端进行免密配置,对后续步骤提供操作准备。进行免密登陆设置时从客户端获取公钥文件。公钥文件由客户端根据与服务器的统信连接生成。随后,服务器在获取到公钥文件后,根据公钥文件对客户端的防火墙进行设置,构建客户端的网络端口。根据本发明的一个实施例,当客户端使用Linux操作系统时还进行客户端的SElinux检查,关闭客户端的SElinux工具。SELinux为安全增强型Linux(Security-Enhanced Linux)简称,是一个Linux内核模块,也是Linux的一个安全子系统。关闭SElinux工具以便根据客户端的网络端口配置客户端。在执行每个步骤时,若执行成功直接则执行下一步,若执行失败,则显示错误信息提示。
根据本发明的一个实施例,进行免密登陆设置可通过shell执行如下代码实现:
对防火墙进行设置时,可通过shell执行如下代码实现:
systemctl restart firewalld&&firewall-cmd--add-port 3121/tcp--add-port 2224/tcp--permanent&&firewall-cmd--reload
selinux关闭设置:
setenforce 0&&sed-ir"s/^SELINUX=.*/SELINUX=disabled/"/etc/selinux/config
随后,执行步骤S330和步骤S340,以创建服务器集群。图6示出了根据本发明一个示范性的创建服务器集群的流程示意图。如图6所示,在进行创建服务器集群时,首先设置服务器集群的集群名称,接着进行集群管理软件的安装,在所有的节点上安装预先设定RPM包列表中的软件。集群管理软件为服务器集群构建和工作所需要的必要的软件。RPM为红帽软件包管理器,开发人员预先将需要安装的软件名称写入RPM包列表中。随后启动集群服务,通过命令systemctl start pcsd和systemctl enable pcsd命令启动所有节点上的pcsd服务并且使其开机启动。pcsd服务为客户端的个人通讯服务。接着进行客户端的HAcluster账户密码修改,通过命令id hacluster&&echo PASSWD|passwd--stdinHAcluster修改HAcluster账户密码。HAcluster账户密码为客户端作为从节点的高可用服务器集群的账户密码。
根据本发明的一个实施例,进行集群管理软件的安装可通过执行如下代码实现:
yum-y install pacemaker-remote resource-agents pcs
进行启动集群服务可通过执行如下代码实现:
systemctl restart pcsd&&systemctl enable pcsd
进行客户端的HAcluster账户密码修改可通过执行如下代码实现:
id hacluster&&echo PASSWD passwd--stdin hacluster
其中,PASSWD|为HAcluster账户密码;
随后进行服务器集群从节点的设置,执行步骤S330,根据客户端的网络端口设置客户端为从节点,并生成从节点信息。生成从节点信息时,根据客户端的主机名进行从节点认证,认证通过后获取客户端的IP地址和主机名,根据IP地址和主机名生成从节点信息。进行从节点的认证时,通过命令pcs host auth nodename对集群节点进行认证。其中pcshost auth nodename为从节点的主机名。
根据本发明的一个实施例,进行服务器集群从节点的设置可通过执行如下代码实现:
pcs host auth HOSTNAME
其中,HOSTNAME为从节点的主机名。
随后,执行步骤S340,根据主节点信息和从节点信息构建以服务器为主节点,客户端为从节点的服务器集群。具体的构建服务器集群时,将服务器的主节点信息和客户端的从节点信息在服务器中进行存储,根据所存储的主节点信息和从节点信息分别在服务器和客户端设置所安装集群管理软件开机自动启动,以创建并启动服务器集群。创建服务器集群时,通过命令pcs cluster setup nodename对集群进行创建。其中nodename为客户端作为服务器集群从节点的名称。启动服务器集群时,通过命令pcs cluster startclustername启动集群服务。随后通过命令pcs cluster enable clustername使得集群管理软件开机自动启动。其中clustername为服务器集群名称。
根据本发明的一个实施例,创建服务器集群时可通过执行如下代码实现:
pcs cluster setup CLUSTERNAME HOSTNAME--force
其中CLUSTERNAME为服务器集群的名称,HOSTNAME为客户端作为服务器集群从节点的名称。
启动集群服务并设置集群管理软件开机自动启动可通过执行如下代码实现:
pcs cluster start--all&&pcs cluster enable--all
根据本发明的一个实施例,启动集群服务并设置集群管理软件开机自动启动后,还向用户提供默认安装和高级安装的安装选项。当用户选择默认安装选项时,服务器集群创建成功后即完成整个创建流程。当用户选择高级安装时,在客户端的安装和配置虚拟机,对客户端进行从节点设置。对客户端进行从节点管理时,生成节点配置列表,包括节点IP地址、hostname名称、guest/remote选项。注销节点时,从节点配置列表中删除相关的节点信息。生成节点时,配置节点信息并写入节点配置列表。对从节点进行设置时,可分情况进行配置,包括从节点不存在虚拟机,已存在虚拟机和对从节点进行实体机设置。
图7示出根据本发明一个示范性实施例的设置从节点的流程示意图。如图7所示,若从节点中不存在虚拟机,则需要新建虚拟机。新建虚拟机需要设置如下项目:
(1)宿主机IP:搭建虚拟机的集群节点IP
(2)宿主机hostname:搭建虚拟机的集群节点在局域网内的名称;
(3)宿主机root password:搭建虚拟机的集群节点root用户密码;
(4)虚拟机名称:虚拟机在虚拟机管理界面的名称;
(5)镜像存放路径:用来存放虚拟机磁盘文件的绝对路径;
(6)内存大小:分配给虚拟机的内存,最小为1500M;
(7)CPU个数:分配给虚拟机的CPU个数;
(8)网络模式:虚拟机与宿主机的通信方式,默认为桥接;
(9)网卡选择:虚拟机与宿主机的通信渠道;
(10)虚拟机hostname:虚拟机在局域网内的名称;
(11)IP地址:虚拟机IP地址;
(12)子网掩码:虚拟机子网掩码,需填写为32位地址的形式,例如:
255.255.225.0;
(13)网关:虚拟机的网关;
(14)DNS:虚拟机的域名解析;
(15)节点选择:选择节点类型(guest/remote);
(16)虚拟域资源名:虚拟机资源在集群中的名称;
根据本发明的一个实施例,在从节点中新建虚拟机时,通过执行如下代码向用户呈现新建虚拟机的配置界面:
/>
/>
执行如下代码通过advancedclusternode.txt文件,使用配置信息调用shell进行虚拟机创建:
virt-install--connect qemu:///system--virt-type kvm--name KVMNAME--memory MEMSIZE--vcpus=CPUNUM--disk path=FILEPATH/uos-KVMNAME.qcow2,bus=virtio,format=qcow2,sparse--force--import&
其中,KVMNAME为虚拟机在切换机(KVM)中的名称;
MEMSIZE为虚拟机内存尺寸;
CPUNUM为虚拟机cpu个数;
FILEPATH为虚拟机镜像文件存放路径;
uos-KVMNAME.qcow2为虚拟机镜像文件名称,qcow2文件为KVM虚拟机磁盘拷贝文件,可用通过将KVM虚拟机安装系统分配的磁盘整体拷贝出来制作。
虚拟机的镜像文件本地挂载可通过执行如下代码实现:
guestmount-d KVMNAME-i MOUNTPATH
其中,KVMNAME为虚拟机在KVM中的名称;
MOUNTPATH为镜像文件挂载路径。
修改虚拟机IP地址可通过执行如下代码实现:
其中,IPADDRVALUE为IP地址值;
PREFIXVALUE为prefix值;
GATEWAYVALUE为网关值;
DNS1VALUE为DNS值。
设置KVM虚拟机hostname可通过执行如下代码实现:
echo IPADDRVALUE HOSTNAMEVALUE>>MOUNTPATH/etc/hosts
其中,IPADDRVALUE为IP地址值;
HOSTNAMEVALUE为设置的hostname值;
MOUNTPATH为镜像文件挂载路径。
虚拟机镜像卸载可通过执行如下代码实现:
guestunmount MOUNTPATH
其中,MOUNTPATH为挂载路径;
Guest为从节点注册过程:
制作虚拟机资源代理文件可通过执行如下代码实现:
virsh dumpxml KVMNAME>/etc/pacemaker/KVMNAME.xml
通过KVM虚拟机名称KVMNAME生成Pacemaker资源代理文件KVMNAME.xml,XML文件使用此名称主要目的是为了容易区分,也可以使用其他任意名称。
制作虚拟域资源可通过执行如下代码实现:
pcs resource create VMDOMAINNAME VirtualDomain config=/etc/pacemaker/KVMNAME.xml migration_transport=ssh meta allow-migrate=true
其中,VMDOMAINNAME为虚拟域资源名称;
KVMNAME为资源文件名称。
虚拟机资源代理文件和虚拟域资源用于设置guest节点和remote节点。
将虚拟域资源转换成guest节点可通过执行如下代码实现:
pcs cluster node add-guest HOSTNAMEVALUE VMDOMAINNAME
其中,HOSTNAMEVALUE为虚拟机hostname值;
VMDOMAINNAME为虚拟域资源名称。
高级安装模式节点rpm包安装可通过执行如下代码实现:
yum makecache-y
yum-y install pacemaker-remote resource-agents pcs
高级安装模式节点服务启动功能可通过执行如下代码实现:
systemctl restart pcsd&&systemctl enable pcsd
高级安装模式认证账户密码修改可通过执行如下代码实现:
id hacluster&&echo PASSWD|passwd--stdin hacluster
其中,PASSWD为hacluster认证账户的密码uos。
高级安装模式guest节点认证可通过执行如下代码实现:
pcs host auth HOSTNAME-u hacluster-p PASSWD
其中,HOSTNAME为高级模式配置的guest节点hostname名称。
高级安装模式remote节点认证方法可通过执行如下代码实现:
pcs host auth HOSTNAME-u hacluster-p PASSWD
其中,HOSTNAME为高级模式配置的guest节点hostname名称。
高级安装模式remote节点创建功能可通过执行如下代码实现:
pcs cluster node add-remote HOSTNAME
其中,HOSTNAME为高级安装模式remote节点配置的hostname值。
当从节点中已经有虚拟机时,进行如下项目的配置:
(1)宿主机IP:拥有虚拟机的实体机IP地址;
(2)宿主机hostname:实体机在局域网内的名称;
(3)宿主机root password:实体机root用户的登录密码;
(4)虚拟机名称:虚拟机在虚拟机管理界面的名称;
(5)虚拟机hostname:搭建的虚拟机在局域网内的名称;
(6)IP地址:虚拟机IP地址;
(7)root password:虚拟机root用户密码;
(8)节点选择:选择节点类型(guest/remote);
(9)虚拟域资源名:虚拟机在集群中的资源名;
根据本发明的一个实施例,当从节点中已存在虚拟机时,向用户显示相应配置界面,界面相关代码如下:
/>
当对从节点直接进行实体机设置时,实体机仅能进行remote节点设置,进行如下项目的配置:
(1)IP地址:添加进集群的实体机的IP地址;
(2)密码:实体机的root用户密码;
(3)主机名称:实体机在局域网中的名称;
根据本发明的一个实施例,对从节点直接进行实体机设置时,可通过执行如下代码向用户呈现实体机设置页面:
在配置从节点时,不能配置成功则会显示错误信息。
根据本发明的一个实施例,在完成构建服务器集群后显示服务器集群信息。服务器集群信息包括过程日志信息,具体为虚拟机的创建、guest/remote节点的设置以及对应节点安装的依赖文件。
当服务器集群的所有设置都成功完成后跳转到结束界面,可以根据需求选择退出安装程序或者打开Web UI后再退出安装程序。
本发明的方法300的各步骤可以通过程序,安装工具等媒介实现,图8示出了根据本发明一个示范性实施例的服务器集群部署装置的架构示意图。图8所示出的服务器集群部署装置仅为示例性,本发明对实施方法300的服务器集群部署装置的具体架构及其模块构成不做限制。服务器集群部署装置可驻留在服务器140中。如图8所示,服务器集群部署装置包括前端模块和后端模块,以及耦接前端模块和后端模块的中间件模块。前端模块获取服务器的配置信息,根据配置信息生成主节点信息,后端模块具体对服务器及其连接客户端进行相关设置,中间件模块进行前端模块和后端模块之间的数据传输。
根据本发明的一个实施例,服务器还存储有多种语言资源包,每种语言资源包对应一种语言,使用多种语言资源包便于服务器集群部署装置进行国际化,使装置与特定语言及地区进行脱钩,方便使用不同语言的用户。前端模块包括语言选择单元,语言选择单元向用户提供多种语言选项,根据用户选择的语言选项,加载相应语言对应的语言资源包进行服务器集群部署。
前端模块还包括协议许可单元,协议许可单元提示使用服务器集群构建装置的使用者需要遵守相关的使用协议,只有同意并遵守使用协议才能够继续使用服务器集群构建装置。本发明对使用协议的数量及其具体内容不做限制。
前端模块还包括第一跳转单元,中间件模块包括第二跳转单元。用户协议许可与语言选择可实现在不同的窗口界面,窗口界面中包括相关的选项,第二跳转单元将窗口界面渲染并展示给用户。第二跳转单元绘制多个窗口界面,将每一次项配置信息的设置安排在单独的窗口界面,进行下一项目的配置信息的设置时进行窗口界面的跳转。
前端模块的第一跳转单元接收用户对当前页面的操作,操作包括对当前窗口界面中显示的选项进行选择,以及触发的窗口界面的跳转等。每个窗口界面还可设置窗口界面的跳转按钮等,便于用户触发窗口界面的跳转。本发明对窗口界面的跳转按钮,以及用户触发窗口界面的跳转方式不做限制。跳转按钮可实现为“下一步”的样式等。
不同窗口界面之间设置有跳转规则,规定了跳转顺序,即从当前窗口页面可以跳转到哪个目标窗口界面。中间件的第二跳转单元存储窗口界面之间的跳转规则。前端模块的第一跳转单元接受到对用户操作后,中间件的第二跳转单元对用户操作进行处理,根据所存储的跳转规则确定目标窗口界面,随后对要跳转的目标窗口界面进行渲染并显示,实现窗口界面的跳转。
根据本发明的一个实施例,为了配置服务器集群,设置有窗口界面1和窗口界面2,可分别进行语言选择和用户协议许可。图4a示出了根据本发明一个示范性实施例的页面跳转流程示意图。窗口界面1和窗口界面2可通过html或js编写得到,并且预先设置和存储有窗口界面1和窗口界面2的跳转规则,窗口界面1的下一个窗口界面为窗口界面2。窗口界面1中设置有“下一步”按钮,可由用户触发以跳转到窗口界面2。窗口界面2中设置有“上一步”按钮,可以由用户触发以回退到窗口界面1。
图4b示出了根据本发明一个示范性实施例的页面跳转架构示意图。在用户通过窗口界面1的“下一步”按钮窗口界面1要跳转到页面2时,第一跳转单元将窗口界面1的配置信息传输到第二跳转单元。第二跳转单元对配置信息进行保存。所保存的配置信息用来配置服务器集群。第二跳转单元包括中间件和界面框架。成功处理数据,设置完毕该窗口界面的配置信息后,中间件向第一跳转单元所显示的窗口界面1发送处理成功的消息。中间件为负责向窗口页面传递配置相关消息的对接模块,中间件可实现为python中间件。随后,窗口界面1向界面框架发送跳转信号,界面框架根据接受到的跳转信号,以及预先存储的跳转规则,渲染显示窗口界面2,实现窗口界面的跳转。
前端模块还包括集群节点配置单元,集群节点配置单元获取服务器的配置信息,根据配置信息生成主节点信息,具体的获取服务器的IP地址,主机名和用户密码,根据IP地址,主机名和用户密码生成主节点信息。获取配置信息时,可以从服务器的系统配置文件中获取,也可以由用户输入的获得。
中间件模块还包括配置数据处理单元,负责处理用户在前端模块输入的数据,将其转发到后端模块的各个单元进行处理,并接收候后端模块的数据,转发到前端模块进行显示和处理。
在生成主节点信息时,集群节点配置单元还向用户提供本机是否作为集群节点的选项。当用户选择本机作为集群节点时,正常继续对本机进行服务器集群的配置。当用户需要将本机从服务器集群中注销,使其脱离服务器集群时,选择本机不作为集群节点的选项,即可实现从服务器集群中注销本机。
后端模块还包括连通性检查单元,连通性检查单元根据与客户端的通信连接,对与服务器连接的每一个客户端进行连通性检查,若检查通过,则对客户端进行网络设置。为了正常对客户端进行网络设置,连通性检查单元预先对与每个客户端的连接进行测试,检查与客户端通信连接是否正常。在进行连通性检查时,连通性检查单元对与服务器连接的每个客户端使用ping命令进行连通性检查,检查与客户端是否可以连接。
后端模块还包括免密登陆设置模块。免密登陆设置单元对与服务器连接的每一个客户端进行网络设置,构建客户端的网络端口。免密登陆设置单元进行免密登陆设置,防火墙设置和selinux设置功能。具体的免密登陆设置单元从客户端获取公钥文件。公钥文件由客户端根据与服务器的统信连接生成。随后根据公钥文件对客户端的防火墙进行设置,构建客户端的网络端口。根据本发明的一个实施例,当客户端使用Linux操作系统时免密登陆设置单元还进行客户端的SElinux检查,关闭客户端的SElinux工具。SELinux为安全增强型Linux(Security-Enhanced Linux)简称,是一个Linux内核模块,也是Linux的一个安全子系统。关闭SElinux工具以便根据客户端的网络端口配置客户端。免密登陆设置模块在执行每个步骤时,若执行成功直接则执行下一步,若执行失败,告知中间件模块显示错误信息提示。
中间件模块还包括调用shell单元。在免密登陆设置单元进行免密登陆设置时,通过中间件模块的调用shell单元调用shell执行如下代码实现:
在免密登陆设置单元进行防火墙设置时,通过中间件模块的调用shell单元调用shell执行如下代码实现:
systemctl restart firewalld&&firewall-cmd--add-port 3121/tcp--add-port 2224/tcp--permanent&&firewall-cmd--reload
selinux关闭设置:
setenforce 0&&sed-ir"s/^SELINUX=.*/SELINUX=disabled/"/etc/selinux/config
前端模块还包括集群名称设置单元,集群名称设置单元设置服务器集群的集群名称,向用户提供键入服务器集群名称的页面,便于设置服务器集群的集群名称。
后端模块还包括资源包安装包单元,资源包安装模块在所有的节点上安装预先设定RPM包列表中的软件。集群管理软件为服务器集群构建和工作所需要的必要的软件。RPM为红帽软件包管理器,开发人员预先将需要安装的软件名称写入RPM包列表中。
后端模块还包括服务启动单元,服务启动单元启动集群服务,通过命令systemctlstart pcsd和systemctl enable pcsd命令启动所有节点上的pcsd服务并且使其开机启动。pcsd服务为客户端的个人通讯服务。
后端模块还包括密码修改单元,密码修改单元进行客户端的HAcluster账户密码修改,通过命令id hacluster&&echo PASSWD|passwd--stdin HAcluster修改HAcluster账户密码。HAcluster账户密码为客户端作为从节点的高可用服务器集群的账户密码。
后端模块还包括节点认证单元。节点认证单元根据客户端的网络端口设置客户端为从节点,并生成从节点信息。节点认证单元生成从节点信息时,根据客户端的主机名进行从节点认证,认证通过后获取客户端的IP地址和主机名,根据IP地址和主机名生成从节点信息。节点认证单元进行从节点的认证时,通过命令pcs host auth nodename对集群节点进行认证。其中pcs host auth nodename为从节点的主机名。
后端模块还包括集群创建单元,集群创建单元根据主节点信息和从节点信息构建以服务器为主节点,客户端为从节点的服务器集群。具体的集群创建单元构建服务器集群时,将服务器的主节点信息和客户端的从节点信息在服务器中进行存储,根据所存储的主节点信息和从节点信息分别在服务器和客户端设置所安装集群管理软件开机自动启动,以创建并启动服务器集群。集群创建单元创建服务器集群时,通过命令pcs cluster setupnodename对集群进行创建。其中nodename为客户端作为服务器集群从节点的名称。集群创建单元启动服务器集群时,通过命令pcs cluster start clustername启动集群服务。随后通过命令pcs cluster enable clustername使得集群管理软件开机自动启动。其中clustername为服务器集群名称。
前端模块还包括高级节点配置单元,高级节点配置单元向用户提供默认安装和高级安装的安装选项。当用户选择默认安装选项时,服务器集群创建成功后即完成整个创建流程。当用户选择高级安装时,后端模块在客户端的安装和配置虚拟机,对客户端进行从节点设置。
后端模块还包括虚拟机安装单元,虚拟机安装单元在客户端的安装和配置虚拟机,对客户端进行从节点设置。虚拟机安装单元对客户端进行从节点管理时,生成节点配置列表,包括节点IP地址、hostname名称、guest/remote选项。虚拟机安装单元注销节点时,从节点配置列表中删除相关的节点信息。虚拟机安装单元生成节点时,配置节点信息并写入节点配置列表。虚拟机安装单元对从节点进行设置时,可分情况进行配置,包括从节点不存在虚拟机,已存在虚拟机和对从节点进行实体机设置。
虚拟机安装单元使用配置信息调用shell进行虚拟机创建:
virt-install--connect qemu:///system--virt-type kvm--name KVMNAME--memory MEMSIZE--vcpus=CPUNUM--disk path=FILEPATH/uos-KVMNAME.qcow2,bus=virtio,format=qcow2,sparse--force--import&
其中,KVMNAME为虚拟机在切换机(KVM)中的名称;
MEMSIZE为虚拟机内存尺寸;
CPUNUM为虚拟机cpu个数;
FILEPATH为虚拟机镜像文件存放路径;
uos-KVMNAME.qcow2为虚拟机镜像文件名称,qcow2文件为KVM虚拟机磁盘拷贝文件,可用通过将KVM虚拟机安装系统分配的磁盘整体拷贝出来制作。
后端模块还包括虚拟资源创建单元,虚拟资源创建单元通过执行如下代码制作虚拟机资源代理文件:
virsh dumpxml KVMNAME>/etc/pacemaker/KVMNAME.xml
通过KVM虚拟机名称KVMNAME生成Pacemaker资源代理文件KVMNAME.xml,XML文件使用此名称主要目的是为了容易区分,也可以使用其他任意名称。
虚拟资源创建单元通过执行如下代码制作虚拟域资源:
pcs resource create VMDOMAINNAME VirtualDomain config=/etc/pacemaker/KVMNAME.xml migration_transport=ssh meta allow-migrate=true
其中,VMDOMAINNAME为虚拟域资源名称;
KVMNAME为资源文件名称。
虚拟资源创建单元制作的虚拟机资源代理文件和虚拟域资源用于设置guest节点和remote节点。
后端模块还包括guest节点制作单元,guest节点制作单元将虚拟域资源转换成guest节点,并可通过执行如下代码实现:
pcs cluster node add-guest HOSTNAMEVALUE VMDOMAINNAME
其中,HOSTNAMEVALUE为虚拟机hostname值;
VMDOMAINNAME为虚拟域资源名称。
后端模块还包括remote节点制作单元,remote节点制作单元将虚拟域资源转换成remote节点。
后端模块还包括log日志输出单元,log日志输出单元生成服务器集群信息。服务器集群信息包括过程日志信息,具体为虚拟机的创建、guest/remote节点的设置以及对应节点需要安装的依赖文件。
中间件模块还包括log信息获取单元,log信息获取单元从后端模块的log日志输出单元获取服务器集群信息,将服务器集群信息转发到前端模块。
前端模块还包括log信息获取单元,log信息获取单元在完成构建服务器集群后显示从中间件模块获取的服务器集群信息。服务器集群信息包括过程日志信息,具体为虚拟机的创建、guest/remote节点的设置以及对应节点需要安装的依赖文件。
图9示出了根据本发明一个示范性实施例的服务器集群部署装置的技术架构示意图。如图9所示,服务器集群部署装置通过python webview作为窗口启动器,使用pythonflask框架支持的html、js、css语言设计的主体部分交互界面,由shell脚本通过配置参数完成具体的实现过程。
本发明中的服务器集群部署方法适于在服务器中执行,服务器与一台或多个客户端通信连接。首先获取服务器的配置信息,根据配置信息生成主节点信息;接着对与服务器连接的每一个客户端进行网络设置,构建客户端的网络端口,从而通过网络接口对客户端进行配置,方便构建服务器集群。接着根据客户端的网络端口设置客户端为从节点,并生成从节点信息,根据主节点信息和从节点信息构建以服务器为主节点,客户端为从节点的服务器集群。根据本发明的方法,可以快速构建服务器集群,实现快速部署,降低搭建集群环境的复杂度,提高集群服务上线速度。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如上面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组间可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组间组合成一个模块或单元或组间,以及此外可以把它们分成多个子模块或子单元或子组间。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的设备停机状态的判断方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (18)

1.一种服务器集群部署方法,适于在服务器中执行,所述服务器与一个或多个客户端通信连接,所述方法包括步骤:
获取服务器的配置信息,根据所述配置信息生成主节点信息;
对与所述服务器连接的每一个客户端进行网络设置,构建所述客户端的网络端口;
根据所述客户端的网络端口设置所述客户端为从节点,并生成从节点信息;
根据所述主节点信息和从节点信息构建以服务器为主节点,客户端为从节点的服务器集群;
设置所述客户端为从节点时,若用户选择高级安装的安装选项,在客户端安装和配置虚拟机,包括:
若所述客户端中不存在虚拟机,则在所述客户端中新建虚拟机;
构建虚拟域资源和虚拟机资源代理文件;
根据所述虚拟域资源和虚拟机资源代理文件设置所述虚拟机的节点类型,
所述虚拟机的节点类型包括guest节点和remote节点;
其中,所述服务器和与服务器连接的客户端预安装有集群管理软件,所述根据所述主节点信息和从节点信息构建以服务器为主节点,客户端为从节点的服务器集群包括步骤:
将所述服务器的主节点信息和客户端的从节点信息在服务器中进行存储;
根据所存储的主节点信息和从节点信息分别在服务器和客户端设置所安装集群管理软件开机自动启动,以创建并启动服务器集群。
2.如权利要求1所述的方法,其中,所述服务器还存储有多种语言资源包,每种语言资源包对应一种语言,所述方法还包括步骤:
向用户提供多种语言选项;
根据用户选择的语言选项,加载相应语言对应的语言资源包进行服务器集群部署。
3.如权利要求2所述的方法,其中,所述获取服务器的配置信息,根据所述配置信息生成主节点信息包括步骤:
获取所述服务器的IP地址,主机名和用户密码;
根据所述IP地址,主机名和用户密码生成主节点信息。
4.如权利要求3所述的方法,还包括步骤:
根据与所述客户端的通信连接,对与所述服务器连接的每一个客户端进行连通性检查,若检查通过,则对所述客户端进行网络设置。
5.如权利要求4所述的方法,其中,所述对与所述服务器连接的每一个客户端进行网络设置,构建所述客户端的网络端口包括步骤:
从所述客户端获取公钥文件;
根据所述公钥文件对所述客户端的防火墙进行设置,构建所述客户端的网络端口。
6.如权利要求5所述的方法,根据所述客户端的网络端口设置所述客户端为从节点,并生成从节点信息包括步骤:
根据所述客户端的主机名进行从节点认证;
认证通过后获取所述客户端的IP地址和主机名;
根据所述IP地址和主机名生成从节点信息。
7.如权利要求6所述的方法,还包括步骤:
向用户提供默认安装和高级安装的安装选项。
8.如权利要求1-7中任一项所述的方法,还包括步骤:
在完成构建服务器集群后显示服务器集群信息。
9.一种计算设备,包括:
一个或多个处理器;
存储器;以及
一个或多个装置,所述一个或多个装置包括用于执行根据权利要求1至8所述的方法中的任一方法的指令。
10.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1至8所述的方法中的任一方法。
11.一种服务器集群部署装置,所述装置驻留在服务器中,所述服务器与一个或多个客户端通信连接,所述装置包括通信连接的前端模块和后端模块,所述前端模块适于获取服务器的配置信息,根据配置信息生成主节点信息;
所述后端模块适于对与服务器连接的每一个客户端进行网络设置,构建客户端的网络端口;
根据客户端的网络端口设置客户端为从节点,并生成从节点信息;
根据主节点信息和从节点信息构建以服务器为主节点,客户端为从节点的服务器集群,设置所述客户端为从节点时,若用户选择高级安装的安装选项,在客户端安装和配置虚拟机,包括:
若所述客户端中不存在虚拟机,则在所述客户端中新建虚拟机;
构建虚拟域资源和虚拟机资源代理文件;
根据所述虚拟域资源和虚拟机资源代理文件设置所述虚拟机的节点类型,
所述虚拟机的节点类型包括guest节点和remote节点;
其中,所述后端模块还包括资源包安装单元和集群创建单元,资源包安装单元适于预先在服务器和与服务器连接的客户端安装集群管理软件;集群创建单元适于将服务器的主节点信息和客户端的从节点信息在服务器中进行存储;根据所存储的主节点信息和从节点信息分别在服务器和客户端设置所安装集群管理软件开机自动启动,以启动服务器集群。
12.如权利要求11所述的装置,其中,所述装置存储有多种语言资源包,每种语言资源包对应一种语言前端模块,所述前端模块包括语言选择单元,所述语言选择单元适于向用户提供多种语言选项;
根据用户选择的语言选项,加载相应语言对应的语言资源包进行服务器集群部署。
13.如权利要求11或12所述的装置,其中,所述前端模块包括集群节点配置单元,所述集群节点配置单元适于获取所述服务器的IP地址,主机名和用户密码;
根据所述IP地址,主机名和用户密码生成主节点信息。
14.如权利要求11或12所述的装置,其中,所述后端模块还包括连通性检查单元,所述连通性检查单元适于根据与所述客户端的通信连接,对与所述服务器连接的每一个客户端进行连通性检查,若检查通过,则对所述客户端进行网络设置。
15.如权利要求11或12中任一项所述的装置,其中,所述后端模块还包括免密登陆设置单元,所述免密登陆设置单元适于从所述客户端获取公钥文件;
根据所述公钥文件对所述客户端的防火墙进行设置,构建所述客户端的网络端口。
16.如权利要求15所述的装置,其中,所述后端模块还包括节点认证单元,所述节点认证单元适于根据所述客户端的主机名进行从节点认证;
认证通过后获取所述客户端的IP地址和主机名;
根据所述IP地址和主机名生成从节点信息。
17.如权利要求16所述的装置,其中,所述前端模块还包括高级节点配置单元,所述高级节点配置单元适于向用户提供默认安装和高级安装的安装选项。
18.如权利要求17所述的装置,其中,所述前端模块还包括信息展示模块,所述信息展示模块适于在完成构建服务器集群后显示服务器集群信息。
CN202111247771.7A 2021-08-04 2021-08-04 一种服务器集群部署方法、装置、计算设备及存储介质 Active CN114024841B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111247771.7A CN114024841B (zh) 2021-08-04 2021-08-04 一种服务器集群部署方法、装置、计算设备及存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111247771.7A CN114024841B (zh) 2021-08-04 2021-08-04 一种服务器集群部署方法、装置、计算设备及存储介质
CN202110889094.2A CN113347049B (zh) 2021-08-04 2021-08-04 一种服务器集群部署方法、装置、计算设备及存储介质

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202110889094.2A Division CN113347049B (zh) 2021-08-04 2021-08-04 一种服务器集群部署方法、装置、计算设备及存储介质

Publications (2)

Publication Number Publication Date
CN114024841A CN114024841A (zh) 2022-02-08
CN114024841B true CN114024841B (zh) 2023-09-19

Family

ID=77480583

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110889094.2A Active CN113347049B (zh) 2021-08-04 2021-08-04 一种服务器集群部署方法、装置、计算设备及存储介质
CN202111247771.7A Active CN114024841B (zh) 2021-08-04 2021-08-04 一种服务器集群部署方法、装置、计算设备及存储介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110889094.2A Active CN113347049B (zh) 2021-08-04 2021-08-04 一种服务器集群部署方法、装置、计算设备及存储介质

Country Status (1)

Country Link
CN (2) CN113347049B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111538590A (zh) * 2020-04-17 2020-08-14 姜海强 一种基于cs架构的分布式数据采集方法及系统
CN113938382B (zh) * 2021-10-15 2024-01-23 湖南麒麟信安科技股份有限公司 基于pacemaker的集群管理方法、系统及存储介质
CN115333944B (zh) * 2022-07-20 2023-08-11 苏州浪潮智能科技有限公司 虚拟机集群ip资源配置方法、系统、设备和存储介质
CN115314381B (zh) * 2022-10-11 2023-03-24 统信软件技术有限公司 一种自动部署方法、装置与计算设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3039024A1 (fr) * 2015-07-15 2017-01-20 Rizze Systeme et procede automatique de deploiement des services sur un noeud reseau
CN110493028A (zh) * 2019-06-28 2019-11-22 浪潮电子信息产业股份有限公司 一种集群部署方法、系统、装置及计算机可读存储介质
CN110519348A (zh) * 2019-08-15 2019-11-29 苏州浪潮智能科技有限公司 一种多服务分布式集群部署系统及方法
CN111538590A (zh) * 2020-04-17 2020-08-14 姜海强 一种基于cs架构的分布式数据采集方法及系统
CN113127009A (zh) * 2019-12-30 2021-07-16 航天信息股份有限公司 大数据管理平台的自动化部署方法和装置
CN113157823A (zh) * 2021-04-30 2021-07-23 中国建设银行股份有限公司 集群系统部署方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107295080B (zh) * 2017-06-19 2020-12-18 北京百度网讯科技有限公司 应用于分布式服务器集群的数据存储方法和服务器
CN108549580B (zh) * 2018-03-30 2023-04-14 平安科技(深圳)有限公司 自动部署Kubernetes从节点的方法及终端设备
CN109104318B (zh) * 2018-08-23 2022-04-12 广东轩辕网络科技股份有限公司 用于实现集群自适应部署的方法
CN112035435B (zh) * 2020-08-26 2024-04-30 浪潮云信息技术股份公司 MySQL主从集群安装部署方法及集群系统
CN112491606B (zh) * 2020-11-20 2022-05-24 湖南麒麟信安科技股份有限公司 一种基于ansible的自动化部署业务系统高可用集群的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3039024A1 (fr) * 2015-07-15 2017-01-20 Rizze Systeme et procede automatique de deploiement des services sur un noeud reseau
CN110493028A (zh) * 2019-06-28 2019-11-22 浪潮电子信息产业股份有限公司 一种集群部署方法、系统、装置及计算机可读存储介质
CN110519348A (zh) * 2019-08-15 2019-11-29 苏州浪潮智能科技有限公司 一种多服务分布式集群部署系统及方法
CN113127009A (zh) * 2019-12-30 2021-07-16 航天信息股份有限公司 大数据管理平台的自动化部署方法和装置
CN111538590A (zh) * 2020-04-17 2020-08-14 姜海强 一种基于cs架构的分布式数据采集方法及系统
CN113157823A (zh) * 2021-04-30 2021-07-23 中国建设银行股份有限公司 集群系统部署方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Ansible的自动化部署与运维;刘佳 等;《河南科技》;正文第15-16页 *

Also Published As

Publication number Publication date
CN114024841A (zh) 2022-02-08
CN113347049A (zh) 2021-09-03
CN113347049B (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
CN114024841B (zh) 一种服务器集群部署方法、装置、计算设备及存储介质
US9152446B2 (en) System and method for on-demand cloning of virtual machines
US7444621B2 (en) Method and system for providing a common operating system
US8055892B2 (en) Provision of remote system recovery services
US7788475B2 (en) Booting utilizing electronic mail
US9164749B2 (en) Differential software provisioning on virtual machines having different configurations
US8326972B2 (en) Methods and systems for managing network connections in a software provisioning environment
WO2017166785A1 (zh) 一种部署虚拟机的方法、宿主机及系统
US8612968B2 (en) Methods and systems for managing network connections associated with provisioning objects in a software provisioning environment
US8332490B2 (en) Method, apparatus and program product for provisioning a computer system
US9858105B1 (en) Service for managing custom virtual machine images
US20100306359A1 (en) Systems and methods for management of mainframe resources in pre-boot environment
US11226827B2 (en) Device and method for remote management of information handling systems
US20050278723A1 (en) System and method for remote administration from a windows client of computer systems running the Linux operating system
US11849003B2 (en) Persisting an HTTP connection between application components
US20220398116A1 (en) Application Virtualization System
US10409631B2 (en) Setup of management system in a virtualization system
AU2017202294B2 (en) Device based automated tool integration for lifecycle management platform
US11797329B2 (en) Pausing deployment of a virtual machine prior to a machine name dependency
Cisco Release Notes for CiscoWorks2000 CD One 3rd Edition on HP-UX
Cisco Release Notes for CiscoWorks2000 CD One 3rd Edition on AIX
JP2013021423A (ja) Vpn接続システム及びその接続方法、そのプログラム
Both NetworkManager
WO2021139261A1 (zh) 应用部署方法、装置及介质
Kushwaha et al. Infra for Automated Hypervisor Environment Set Up

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