一种电力系统云计算平台的自动化配置方法

文档序号:7554861阅读:168来源:国知局
专利名称:一种电力系统云计算平台的自动化配置方法
技术领域
本发明涉及一种电力系统云计算平台的自动化配置方法,属于自动化技术领域。
背景技术
随着电力自动化系统功能的不断增强,应用数目不断扩展,系统规模不断扩大,系统对海量数据的存储和处理的要求越来越高。云计算技术具有比较成熟的分布式存储和海量数据处理能力,已经开始应用于电力自动化系统。云计算系统往往由大量的服务器组成集群,以实现分布式存储和并行计算。如何让系统搭建人员以最少的时间搭建数量众多服务器组成的云计算平台已经成为迫切需要解决的问题。随着节点规模的扩展、应用数目的增加,系统的安装和稳定运行也成为了新的挑战。

发明内容
本发明所要解决的技术问题是克服现有技术的缺陷,提供一种电力系统云计算平台的自动化配置方法。本发明采用以下的技术方案来实现:
本发明主要包含3个步骤,
第一,自动化节点的发现以及远程节点的配置部署。将平台中操作系统的工作用户配置使用统一的登录密码,并开启FTP和SSH服务器。编写了 FTP指令脚本分发SSH需要的密钥,将系统中现有的机器配置成SSH无密码访问。配置过程不需要人工交互。只需人工启动安装脚本。可使用无密码的SSH服务器分发各个服务器需要的应用程序、数据集、配置文件等。分发过程不需要人工交互。第二,应用的自动化部署。电力系统云计算平台的服务程序是以应用为单位进行管理的。分发程序为服务器分发完程序、数据、配置文件后,会启动该服务器的启动进程。启动进程利用主机名以及自动化应用分布原则,动态启动本机所需的应用。应用部署过程不
需要人工干预。第三,应用的自动复制和迁移。在服务器数量有限的情况下,若某个应用的分布服务器个数为1,则自动进行应用复制,会在负载最小的服务器上启动一个完全相同的应用,使得应用个数变为2个以上,以实现冗余互备。应用部署的状态可根据服务器数量变化进行动态的改变,即应用可自动迁移。当系统中增加一台服务器时,新服务器会被自动检测至IJ,并启动应用。当增加的服务器达到一定数量,原服务器的部分应用会自动停止,迁移到新的服务器上,以实现负载均衡,即进行均衡迁移。当部分服务器故障时,故障服务器的应用会在仍然正常的服务器上重新启动,即进行故障迁移。迁移过程不需要人工干预。应用也可根据服务器的实时负载进行自动的迁移。当某台服务器的负载过高时,部分应用会自动迁移到负载最低的服务器上去,即进行超载迁移。迁移过程不需要人工干预。第一步是节点运行的前提,在节点上安装程序文件、配置文件、数据文件,保证该节点上的系统能够正常启动。第二步是节点系统启动,重点考虑在节点上自动启动哪些应用。第三步是自适应的应用管理,重点考虑应用未全部启动、应用无法保持冗余互备、以及应用出现故障等诸多状况下的自适应处理。下面,说明几个关于电力系统的重要概念:
(I)应用:电力自动化系统的一个重要概念,它是电力自动化系统中实现专项功能的一组进程的集合。这里需要说明的是,由于每个服务器都需要运行基础服务应用(BASE_SRV)、公共服务应用(PUBLIC),所以本方案中不考虑基础服务应用、公共服务应用的部署,本方案提到的应用也不包括这两种应用。本方案主要考虑以下5种应用:DATA_SRV、SCADA, PAS、FES、AGC。(2)应用优先级:赋予应用重要性的先后顺序。本方案所考虑应用的优先级从大到小依次是:DATA_SRV、SCADA, PAS、FES、AGC。(3)节点:电力系统云计算平台中的服务器或者工作站。(4)应用分布数:运行应用的节点数。一般情况下,每个应用都会运行在多个节点上,以实现冗余互备。(5)应用分布阀值:应用分布数的上限值。设置应用分布阀值是为了避免在太多的节点上运行相同的应用,防止资源浪费。如可在本方案中指定应用分布阀值=2。(6)负载:节点运行的应用数。(7)超载阀值:如果节点的负载 >=超载阀值,则认为节点超载。如可在本方案中指定超载阀值=4。(8)空载:节点运行的应用数为O。(9)故障迁移:让故障节点上的应用在系统中负载最小的节点上运行。(10)超载迁移:停止超载节点上部分应用,使其在系统中负载最小的节点上运行。(11)均衡迁移:停止系统中负载最大的节点上的部分应用,使其在空载节点上运行。本发明是一种电力系统云计算平台的自动化配置方法,其特征在于,包括以下步骤:
O自动发现云计算平台的节点
云计算平台的节点自动发现是云计算平台中的种子节点通过ping的方式自动识别其它节点存在的一种技术。种子节点通过执行自动化脚本,确认云平台的候选节点。其主要方法是:种子节点分析本机的IP地址和子网掩码,确定本节点所属网段。对所属网段的每个IP地址依次进行Ping处理,将响应成功的节点确认为云平台候选节点。
种子节点每发现一个候选节点,则对其进行ftp访问。访问成功的候选节点,则被确认为正式的云平台节点。接着对其进行后续的无密码访问配置,分发可执行文件、动态库、配置文件以及数据。最后,远程获取其资源信息,确定其为工作站或服务器,并远程执行相应的系统启动程序。2)配置计算节点间的无密码访问
ssh无密码访问一般是需要人工配置,而且过程非常繁琐。将用户名、密码、ftp命令置于脚本中;在一台服务器上生成.ssh目录,利用脚本将.SSh目录自动复制到其它机器。只需手动启动这个ftp脚本,脚本执行过程中不需要人工交互。
配置ssh无密码的一般方法是在每台机器上生成各自的公钥,然后汇总后再次分发。也就是说需要依次的登录每台服务器,人工或者ftp自动登录的次数非常多。本方案所述的自动化安装配置方案采用一种新的简便方法,是在一台服务器上生成一个.SSh目录,目录下包含:id_rsa, id_rsa.pub, authorized_keys等文件,直接将.ssh目录复制到其它机器即可实现网络内的各节点间ssh/scp无需口令:
3)分发平台程序文件、数据文件、配置文件,并修改配置
在ssh协议无密码访问配置成功的前提下,可使用scp命令拷贝文件到远程服务器,拷贝所有的文件完成后,使用远程执行ssh命令的方式,进行配置文件的远程替换或增量修改。整个过程不需要人工干预;
4)自动检测云计算平台的资源
在ssh协议无密码访问配置成功的前提下,种子节点可使用ssh命令远程获取各个节点的资源信息,最后形成的资源信息包括:IP地址、主机名、cpu个数、cpu频率、内存大小、磁盘大小、网卡个数。获取节点资源信息是为了确定其是工作站还是服务器,以执行对应的系统启动程序。5 )应用的自动化部署
以往自动化系统中需要在数据库中的系统应用分布信息表中进行每台服务器运行应用的配置。若采用应用的自动部署可在系统安装完成后直接启动系统,每台节点所启动的应用由该节点的系统启动程序自动决定。种子节点根据资源信息,特别是cpu个数、频率、内存大小确定节点为工作站还是服务器,并远程启动相应的系统启动程序。工作站系统启动程序,只启动基础服务应用;服务器除了要启动基础服务应用之夕卜,还需要启动其它应用。启动应用的前提是:云计算平台系统中该应用分布的节点数未超过其分布阀值,否则该应用不启动。启动应用需要遵循以下原则:
(a)根据主机名启动相应的应用:在调度自动化系统中每个节点的主机名通常具有一定的识别性,代表着本节点所启动的应用。通过主机名,启动该主机名代表的应用。(b)动态启动应用:当本机的主机名不代表任何应用的时候,系统启动程序将根据目前系统中的应用运行状态来动态确定需要启动的应用。若系统中还有待启动的应用,则选择未启动的那些应用中优先级最高的;若系统中已经启动了所有的应用,则本节点选择分布节点个数最少的应用。 6 )应用的自动化复制和迁移
应用自动化复制是指新增加的节点在自动化部署应用时,发现该应用未超过应用阀值,依旧会启动应用,保证应用的冗余互备。应用自动化迁移主要出现在服务器故障、以及服务器超载的情况下。当某个服务器出现故障(包括硬件故障、网络故障)时,负载最低的服务器将启动故障服务器上的所有应用,从而将故障服务器上的应用迁移到负载最低的服务器。同样,当服务器超载的时候,该服务器上负载最高的应用将被自动停止,负载最低的服务器将自动启动该应用。当服务器处于空载状态时,系统中负载上最高节点的部分应用会迁移到该服务器上。
本发明所达到的有益效果:
本发明主要包括三个部分:第一,自动化节点发现和远程配置。自动化节点发现和远程配置通过自动化脚本,自动发现新增节点,自动安装程序并配置,自动启动节点系统,实现了云计算平台节点的自动化安装;第二,自动化应用部署。自动化部署,无需人工干预,自动启动系统所需的应用,保证系统的正常运行;第三,应用复制和迁移。应用复制和迁移,是保证系统安全可靠的管理员,它保证了系统所需的应用全部启动,保证了系统中的每个应用都有备份,同时保证了节点故障下,应用的安全迁移。本发明从配置系统内服务器间的无密码访问开始,到系统程序、数据、配置文件的分发,配置修改,应用自动部署,到最后自动启动云计算系统。整个过程不需要人工干预,由自动化程序根据硬件资源的情况自动执行,可达到自动安装云计算平台的目的,保证了安装的便捷性,以及云计算平台上系统的开放性、安全性和可靠性。


图1是本发明中表示计算节点间的无密码访问配置流程 图2是本发明中表示自动化节点发现以及远程节点配置部署流程 图3是本发明中表示应用自动化配置流程 图4是本发明中表示应用自动复制和迁移流程 图5是本发明中应用自动化配置过程 图6是本发明中应用复制过程 图7是本发明中应用迁移过程图。
具体实施例方式下面结合附图对本发明的电力系统云计算平台的自动化部署作进一步的说明。在进行具体实施过程的说明之前,先概要介绍本专利关键的实现流程,即图1至图4指示的流程。图1是本发明中计算节点间的无密码访问配置流程图,它是图2的一个子流程。首先,在种子节点上生成.ssh的配置文件,包括id_rsa, id_rsa.pub, authorized_keys等。然后,直接通过ftp脚本,将.ssh目录复制到其它机器。由于,初装操作系统时,已经将ssh_config配置好,实现了 scp/ssh访问无密码。图2是本发明自动化节点发现以及远程节点部署流程图。首先,种子节点根据本节点IP地址以及网络掩码,获取本节点的所属网段地址。接着,对本网段的所有IP地址进行Ping处理,以发现本平台内的其它节点。然后,按照图1的流程进行ssh/scp无密码访问配置。随后,将程序文件、数据文件、配置文件分发到远程节点上。接着,根据该节点的物理配置,如cpu个数、频率、内存大小,确认其为工作站还是服务器,并执行相应的系统启动程序。图3是本发明中应用自动化部署流程图,它主要负责本节点需要启动哪些应用。如果是工作站,只启动基础服务应用;如果是服务器,除了基础服务应用和公共服务应用,还要启动其它应用。首先,通过服务器的主机名,来判断需要启动的应用。若主机名不代表应用名,则需要进行动态判断。动态判断的方法是,如果有未启动的应用,则选择其中优先级最高的。如果都启动了,则选择分布节点数最少的应用,并查看该应用在系统中的个数是否超过应用分布阀值。如果没有,则启动;否则,不启动。图4是本发明中表示应用自动复制和迁移流程图。自动复制和迁移,首先查看系统中是否有未启动的应用,有则启动,直到将待启动的应用全部启动为止;接着,查看系统中是否出现应用未备份的情况,有则复制该应用,保证所有应用都有备份;最后,查看是否有节点故障、节点超载、节点空载,有则需要进行相应的故障迁移、超载迁移、均衡迁移。主要的实施过程,见图5至图7。图5中是本发明应用自动化部署过程图。图5 (a),(b),(c)分别说明了节点个数是1,2,4时,应用自动化部署的情况。(a)中,node_l是种子节点,根据图2的流程,生成ssh配置文件,启动本机系统。根据图3流程,由于DATA_SRV应用是待启动应用中优先级最大的,node_l启动DATA_SRV应用。(b)中,node_l启动DATA_SRV应用后,node_l发现了 node_2,根据图2的流程,node_l远程设置无密码登陆,并分发程序文件、数据文件、配置文件,启动node_2系统。根据图3流程,由于DATA_SRV应用已经启动,SCADA应用是待启动应用中优先级最高的,node_2启动了 SCADA应用。(c)中,node_l根据图2流程,生成ssh配置文件,启动本机系统,根据图3流程,在本机启动DATA_SRV应用;接着根据图2流程,node_l依次发现node_2,node_3, node_4,分别对它们进行无密码登陆配置,并发程序文件、数据文件、配置文件,并启动它们的系统。node_2,node_3,node_4分别根据图3流程,启动SCADA应用、PAS应用、FES应用。图6是本发明应用自动化复制的过程图。图6 Ca)是节点个数是I时,应用自动化部署的情况。图6 (b)是根据图4流程,发现系统中还有未启动的应用:SCADA、PAS、FES、AGC,在node_l上启动这些进程。图6 (c)是系统新增加node_2后,应用自动化复制的过程。首先,node_l发现node_2,根据图2流程,配置node_2无密码访问,并分发程序文件、数据文件、配置文件,根据图3流程,node_2进行应用自动化部署启动DATA_SRV应用,最后根据流程4,发现系统中SCADA、PAS、FES、AGC的分布个数为1,执行自动化应用复制,在node_2上启动这些应用。图7是本发明应用自动化迁移的过程图。图7(a)是两个节点自动化部署的情况,此时node_l,node_2都运行了 5个应用,已经超载。图7 (b)新增两个节点,node_3, node_4。node_l作为种子节点,根据图2流程,将node_3配置成远程访问无密码,并将程序、数据、配置文件分发到node_3。node_3根据图3流程,DATA_SRV应用是需要启动的应用,但是DATA_SRV应用的个数已经等于应用分布阀值,不启动DATA_SRV应用。根据图4流程,node_l超载,将DATA_SRV应用停止,并迁移到node_3上。此时,node_2是系统中负载最高的超载节点,根据相同的流程,node_2上的SCADA应用也迁移到node_3。同样,node_4被自动发现。最终超载节点node_l将SCADA应用迁移到node_4,超载节点2将DATA_SRV应用迁移到节点4。图7(c)新增了 4个节点。node_l作为种子节点,根据图2流程,将node_5配置成远程访问无密码,并将程序、数据、配置文件分发到node_5。node_5根据图3流程,DATA_SRV应用是需要启动的应用,但是DATA_SRV应用的个数已经等于应用分布阀值,不启动DATA_SRV应用。根据图4流程,node_5空载,node_l上的PAS应用迁移到node_5。同样,node_2上的PAS应用迁移到node_6,node_l上的FES应用迁移到node_7,node_2上的FES应用迁移到node_8。图7 (d)出现了 node_8故障。根据图4流程,发现node_8只运行FES应用。由于node_8故障,目前FES应用的分布节点个数等于1,因此要进行故障迁移。确定负载最小的节点是node_l,将FES应用迁移到node_l上。本发明按照优选实施例进行了说明,应当理解,但上述实施例不以任何形式限定本发明,凡采用等同替换或等效变换的形式所获得的技术方案,均落在本发明的保护范围之内。
权利要求
1.一种电力系统云计算平台的自动化配置方法,其特征在于,包括以下步骤: 步骤I)云计算平台节点的发现以及远程节点的配置部署:首先确定正式的云平台节点;接着对云平台节点进行无密码访问配置,使用ftp命令脚本自动化配置SSh无密码访问;分发可执行文件、动态库、配置文件以及数据;最后,远程获取云平台节点的资源信息,确定其为工作站或服务器,并远程执行相应的系统启动程序; 步骤2)应用的自动启动:每台节点所启动的应用由该节点的系统启动程序自动决定;工作站系统启动程序,只启动基础服务应用;服务器除了要启动基础服务应用之外,还启动其它设定的应用; 步骤3)应用的自动复制和迁移:在服务器数量有限的情况下,若某个应用的分布服务器个数为I,则自动进行应用复制,在负载最小的服务器上启动一个完全相同的应用,使应用个数变为2个以上,实现冗余互备; 当系统中检测到增加服务器时,新服务器自动启动应用;当增加的服务器达到一定数量,原服务器的部分应用自动停止,迁移到新的服务器上,进行均衡迁移,实现负载均衡; 应用根据服务器的实时负载进行自动的迁移,当某台服务器的负载超过超载阀值时,部分应用自动迁移到负载最低的服务器上,即进行超载迁移。
2.根据权利要求1所述的电力系统云计算平台的自动化配置方法,其特征在于:步骤O中,确定正式的云平台节点的步骤为: 云计算平台中的种子节点通过Ping的方式自动识别其它节点的存在,种子节点通过执行自动化脚本,确认云平台的候选节点; 种子节点每发现一个候选节点,则对其进行ftp访问;访问成功的候选节点,则被确认为正式的云平台节点。
3.根据权利要求2所述的电力系统云计算平台的自动化配置方法,其特征在于:确定云平台候选节点的过程:所述种子节点分析本机的IP地址和子网掩码,确定本节点所属网段;对所属网段的每个IP地址依次进行Ping处理,将响应成功的节点确认为云平台候选节点。
4.根据权利要求1所述的电力系统云计算平台的自动化配置方法,其特征在于:步骤I)中,云平台节点的无密码访问的配置步骤为: 将用户名、密码、ftp命令置于脚本中;在一台服务器上生成.ssh目录,利用脚本将.ssh目录自动复制到其它机器。
5.根据权利要求1所述的电力系统云计算平台的自动化配置方法,其特征在于:步骤O中,分发平台程序文件、数据文件、配置文件的步骤为: 在ssh协议无密码访问配置成功的前提下,使用scp命令拷贝文件到远程服务器,拷贝所有的文件完成后,使用远程执行ssh命令的方式,进行配置文件的远程替换或增量修改。
6.根据权利要求1所述的电力系统云计算平台的自动化配置方法,其特征在于:步骤I)中还包含自动检测云计算平台资源的步骤: 在ssh协议无密码访问配置成功的前提下,种子节点使用ssh命令远程获取各个节点的资源信息,通过获取节点资源信息确定其是工作站还是服务器,并执行对应的系统启动程序。
7.根据权利要求6所述的电力系统云计算平台的自动化配置方法,其特征在于:节点的资源信息包括:IP地址、主机名、cpu个数、cpu频率、内存大小、磁盘大小、网卡个数。
8.根据权利要求6所述的电力系统云计算平台的自动化配置方法,其特征在于:步骤2)中,种子节点根据资源信息,确定节点为工作站还是服务器,并远程启动相应的系统启动程序;且启动应用的前提是:云计算平台系统中该应用分布的节点数未超过其分布阀值,否则该应用不启动。
9.根据权利要求1所述的电力系统云计算平台的自动化配置方法,其特征在于:步骤2)中,自动启动应用的过程为: (a)根据主机名启动相应的应用:通过主机名,启动该主机名代表的应用; (b )动态启动应用:当本机的主机名不代表任何应用的时候,系统启动程序根据目前系统中的应用运行状态动态确定需要启动的应用;若系统中还有待启动的应用,则选择未启动的那些应用中优先级最高的;若系统中已经启动了所有的应用,则本节点选择分布节点个数最少的应用。
10.根据权利要求6所述的电力系统云计算平台的自动化配置方法,其特征在于:步骤3)中, 当某服务器故障时,负载最低的服务器启动故障服务器上的所有应用,将故障服务器上的应用迁移到负载最低的服务器; 当某服务器超载时,停止该服务器上负载最高的应用,在负载最低的服务器上启动该应用; 当某服务器处于空载状态时,负载上最高节点的部分应用会迁移到该服务器上。
全文摘要
本发明公开了一种电力系统云计算平台的自动化配置方法,主要包括三个步骤第一,自动化节点发现和远程配置。自动化节点发现和远程配置通过自动化脚本,自动发现新增节点,自动安装程序并配置,自动启动节点系统,实现了云计算平台节点的自动化安装;第二,自动化应用部署。第三,应用复制和迁移。应用复制和迁移,它保证了系统所需的应用全部启动,保证了系统中的每个应用都有备份,同时保证了节点故障下,应用的安全迁移。以上所有过程都不需要人工干预,保证了安装的便捷性,以及云计算平台上系统的开放性、安全性和可靠性。
文档编号H04L29/08GK103200036SQ201310119339
公开日2013年7月10日 申请日期2013年4月8日 优先权日2013年4月8日
发明者顾文杰, 高原, 沙一川, 任升, 刘杰 申请人:国电南瑞科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1