专利名称:一种高可用集群对于存储池资源的应用方法
技术领域:
本发明涉及虚拟化技术领域,具体的说是一种高可用集群对于存储池资源的应用方法。
背景技术:
高可用集群系统是指能够保证业务24小时不中断,在系统发生问题或者应用软件发生问题时,能够快速恢复业务,尽可能将宕机时间控制在分钟级别的系统。高可用集群系统由下至上主要包括以下几个模块:心跳模块、资源监控模块、资源管理模块、分布式控制台模块和web服务模块。其中,资源管理模块负责业务组及组资源的操作管理,用于操作和监控业务组资源,保证其可用性和可靠性。虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。存储池资源是虚拟化技术中必不可少的部分,其可以达到扩充硬件容量,共享存储的作用。虚拟化技术中的高可用集群,往往使用双机热备的模式,即1+1。当一台服务器出现故障时,两一台机器及时接管,保证存储池资源正常对外提供服务,使得用户层面看起来始终保持正常状态。存储池正常对外提供服务首先需要target和stmf服务的支持,保证远端与存储池建立映射关系;其次需要在启动,停止或切换存储池时执行相应的脚本,来进行阻塞IO和建立通信链路等操作。如何解决在启动,停止及切换存储池时,两端IO写入的同步,数据不丢失,成为难点。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种高可用集群对于存储池资源的应用方法。本发明的技术方案是按以下方式实现的,该一种高可用集群对于存储池资源的应用方法,存储池服务所需资源分为三个业务组:
服务组,保证远端与存储池建立映射关系;存储池组,包含存储池资源和存储池脚本资源,存储池脚本负责建立和断开服务器端与存储池之间的链路,并依赖于存储池资源,存储池组依赖于服务组的存在;脚本组,包含一个脚本组脚本,负责断开和恢复服务器与远端用户的IO连接,脚本组依赖于存储池组;
通过上述三个业务组启动存储池组的详细过程为:
步骤1: DC节点收到控制台发过来的启动存储池组命令,判断其依赖组服务组是否处于启动状态,如果已经启动,跳到步骤3,如果未启动,跳到步骤2;
步骤2:DC节点向两节点发出启动服务组命令,两端执行启动同步组命令,启动服务
组;
步骤3:DC节点获取到服务组处于启动状态,向双节点发送启动存储池组命令;
步骤4:节点接收到启动存储池组命令,如果是存储池启动所在节点,跳到步骤5,如果不是存储池启动所在节点,跳到步骤6 ;
步骤5:根据启动类型及存储池名称等参数设置临时环境变量,在本地启动存储池资源,启动后,根据设置好的临时环境变量启动存储池脚本资源,创建存储池与服务器之间的链路,执行成功后返回DC节点;
步骤6:根据启动类型及存储池名称等参数设置临时环境变量,执行成功后返回DC节
占.步骤7:DC节点收到存储池组启动成功的消息,向双节点发送启动脚本同步组命令;步骤8:节点收到启动脚本同步组命令,根据设置好的临时环境变量,启动脚本组脚本,建立服务器与远端用户之间的10,执行成功后返回DC节点;
步骤9:DC节点收到启动脚本组成功返回,判定存储池组启动成功。通过上述三个业务组停止存储池组的详细过程为:
步骤1:DC节点收到控制台发送的停止存储池组命令,首先向双节点发送停止脚本组命令;
步骤2:节点收到停止脚本组命令,根据停止类型及存储池名称设置临时环境变量,停止脚本组,进行执行脚本动作,阻断服务器与远端用户的10,成功返回DC节点;
步骤3:DC节点收到双节点成功停止脚本组返回,向存储池启动所在点发送停止存储池组命令;
步骤4:节点接收到停止存储池组命令后,根据临时环境变量停止存储池脚本,断开服务器与存储池之间的链路,然后停止存储池资源,成功后返回DC节点;
步骤5:DC节点收到返回后确认成功。上述服务组和脚本组为同步组,每一次启动或停止都要在两台服务器上同时执行,且上述三个组的启动或停止都遵循依赖关系。本发明与现有技术相比所产生的有益效果是:
本发明的一种高可用集群对于存储池资源的应用方法解决在启动,停止及切换存储池时服务器两端IO写入的同步,并且切换过程中,保证不会两端同时对存储池进行读写操作,一面破坏数据。
附图1是本发明的启动存储池组流程图。附图2是本发明的停止存储池组流程图。
具体实施例方式下面结合附图对本发明的一种高可用集群对于存储池资源的应用方法作以下详细说明。如附图1、图2所示,现提供一种高可用集群对于存储池资源的应用方法,本发明要解决的技术问题是如何保证在启动,停止及切换存储池时,如何保证两端IO写入的同步,并保证数据不丢失。现将存储池服务所需的资源分为三个业务组:服务组,包含,target和stmf两个服务资源,保证远端与存储池建立映射关系;存储池组,包含存储池资源和存储池脚本资源,存储池脚本负责建立和断开服务器端与存储池之间的链路,并依赖于存储池资源,存储池组依赖于服务组的存在;脚本组,包含一个脚本组脚本,负责调用集成控制模块vicm断开和恢复服务器与远端用户的IO连接,脚本组依赖于存储池组。服务组和脚本组为同步组,每一次启动或停止都要在两台服务器上同时执行。这三个组在启动或停止时都要遵循依赖关系,保证依赖组的启动或被依赖组的停止状态。通过上述三个业务组启动存储池组的详细过程为:
步骤1: DC节点收到控制台发过来的启动存储池组命令,判断其依赖组服务组是否处于启动状态,如果已经启动,跳到步骤3,如果未启动,跳到步骤2 ;
步骤2:DC节点向两节点发出启动服务组命令,两端执行启动同步组命令,启动服务
组;
步骤3:DC节点获取到服务组处于启动状态,向双节点发送启动存储池组命令;
步骤4:节点接收到启动存储池组命令,如果是存储池启动所在节点,跳到步骤5,如果不是存储池启动所在节点,跳到步骤6 ;
步骤5:根据启动类型及存储池名称等参数设置临时环境变量,在本地启动存储池资源,启动后,根据设置好的临时环境变量启动存储池脚本资源,创建存储池与服务器之间的链路,执行成功后返回DC节点;
步骤6:根据启动类型及存储池名称等参数设置临时环境变量,执行成功后返回DC节
占.步骤7:DC节点收到存储池组启动成功的消息,向双节点发送启动脚本同步组命令;步骤8:节点收到启动脚本同步组命令,根据设置好的临时环境变量,启动脚本组脚本,建立服务器与远端用户之间的10,执行成功后返回DC节点;
步骤9:DC节点收到启动脚本组成功返回,判定存储池组启动成功。通过上述三个业务组停止存储池组的详细过程为:
步骤1:DC节点收到控制台发送的停止存储池组命令,首先向双节点发送停止脚本组命令;
步骤2:节点收到停止脚本组命令,根据停止类型及存储池名称设置临时环境变量,停止脚本组,进行执行脚本动作,阻断服务器与远端用户的10,成功返回DC节点;
步骤3:DC节点收到双节点成功停止脚本组返回,向存储池启动所在点发送停止存储池组命令;
步骤4:节点接收到停止存储池组命令后,根据临时环境变量停止存储池脚本,断开服务器与存储池之间的链路,然后停止存储池资源,成功后返回DC节点;
步骤5:DC节点收到返回后确认成功。上述服务组和脚本组为同步组,每一次启动或停止都要在两台服务器上同时执行,且上述三个组的启动或停止都遵循依赖关系。至此,存储池组的停止和启动流程已经完成,整个过程中最重要是在存储池进行异常切换时,保证服务器两端数据保持同步,并且切换过程中,保证不会两端同时对存储池进行读写操作,一面破坏数据。
权利要求
1.一种高可用集群对于存储池资源的应用方法,其特征在于:存储池服务所需资源分为三个业务组: 服务组,保证远端与存储池建立映射关系;存储池组,包含存储池资源和存储池脚本资源,存储池脚本负责建立和断开服务器端与存储池之间的链路,并依赖于存储池资源,存储池组依赖于服务组的存在;脚本组,包含一个脚本组脚本,负责断开和恢复服务器与远端用户的IO连接,脚本组依赖于存储池组; 通过上述三个业务组启动存储池组的详细过程为: 步骤1: DC节点收到控制台发过来的启动存储池组命令,判断其依赖组服务组是否处于启动状态,如果已经启动,跳到步骤3,如果未启动,跳到步骤2; 步骤2:DC节点向两节点发出启动服务组命令,两端执行启动同步组命令,启动服务组; 步骤3:DC节点获取到服务组处于启动状态,向双节点发送启动存储池组命令; 步骤4:节点接收到启动存储池组命令,如果是存储池启动所在节点,跳到步骤5,如果不是存储池启动所在节点,跳到步骤6 ; 步骤5:根据启动类型及存储池名称等参数设置临时环境变量,在本地启动存储池资源,启动后,根据设置好的临时环境变量启动存储池脚本资源,创建存储池与服务器之间的链路,执行成功后返回DC节点; 步骤6:根据启动类型及存储池名称等参数设置临时环境变量,执行成功后返回DC节占.步骤7:DC节点收到存储池组启动成功的消息,向双节点发送启动脚本同步组命令;步骤8:节点收到启动脚本同步组命令,根据设置好的临时环境变量,启动脚本组脚本,建立服务器与远端用户之间的10,执行成功后返回DC节点; 步骤9:DC节点收到启动脚本组成功返回,判定存储池组启动成功。
2.通过上述三个业务组停止存储池组的详细过程为: 步骤1:DC节点收到控制台发送的停止存储池组命令,首先向双节点发送停止脚本组命令; 步骤2:节点收到停止脚本组命令,根据停止类型及存储池名称设置临时环境变量,停止脚本组,进行执行脚本动作,阻断服务器与远端用户的10,成功返回DC节点; 步骤3:DC节点收到双节点成功停止脚本组返回,向存储池启动所在点发送停止存储池组命令; 步骤4:节点接收到停止存储池组命令后,根据临时环境变量停止存储池脚本,断开服务器与存储池之间的链路,然后停止存储池资源,成功后返回DC节点; 步骤5:DC节点收到返回后确认成功。
3.根据权利要求1所述的一种高可用集群对于存储池资源的应用方法,其特征在于:上述服务组和脚本组为同步组,每一次启动或停止都要在两台服务器上同时执行,且上述三个组的启动或停止都遵循依赖关系。
全文摘要
本发明提供一种高可用集群对于存储池资源的应用方法,包括服务组,保证远端与存储池建立映射关系;存储池组,包含存储池资源和存储池脚本资源,存储池脚本负责建立和断开服务器端与存储池之间的链路,并依赖于存储池资源,存储池组依赖于服务组的存在;脚本组,负责断开和恢复服务器与远端用户的IO连接,脚本组依赖于存储池组;上述服务组和脚本组为同步组,每一次启动或停止都要在两台服务器上同时执行。该一种高可用集群对于存储池资源的应用方法和现有技术相比,解决在启动,停止及切换存储池时服务器两端IO写入的同步,并且切换过程中,保证不会两端同时对存储池进行读写操作,一面破坏数据。
文档编号G06F9/455GK103152405SQ20131005318
公开日2013年6月12日 申请日期2013年2月19日 优先权日2013年2月19日
发明者孟宪伟 申请人:浪潮电子信息产业股份有限公司