一种基于SCST的存储高可用方法与流程

文档序号:13288441阅读:391来源:国知局
技术领域本发明涉及数据存储技术领域,特别涉及一种基于SCST的存储高可用方法。

背景技术:
SCST,Linux通用的SCSI目标子系统,是一个为LinuxSCSI目标子系统的另一种实现。它提供Linux内核之间和处理和SCSI目标驱动程序的统一、一致的接口,同时提供Linux内核与存储后端句柄连接,连接真实或模拟的存储后端与目标驱动程序。SCST允许创建复杂的存储设备,提供先进的功能,例如复制、自动精简配置、重复数据删除技术、高可用性、自动备份等。另一个类别的应用是虚拟磁带库(VTL)以及其他基于磁盘的备份解决方案。现有技术下,对于主要的故障处理部分是基于容错技术,容错技术是利用冗余硬件检测操作结果,当出现异常时就将故障部件进行隔离从而减少对用户影响的技术。由于实现了故障的隔离,从而提高了系统的强度和应用的重复性。但是容错技术更多的着重于硬件的技术,其应用范围受到了硬件条件的限制。同时随着硬件价格的降低,采用通用硬件平台,利用软件实现的高可用技术逐渐替代了容错技术,应用领域也逐渐扩大。一般来说,对于存储服务器集群来说,高可用技术关键技术包括LVS(负载均衡器)、心跳检测技术(HeartBeat、Corosync等)和应用服务器(MySQL、NFS、Apache等)。可以部署实现多种应用,但是底层存储服务可以基于SCST软件实现虚拟化存储,向上层平台提供了多种接口,实现不同应用上的服务要求。Pacemaker是一个集群资源管理器。它利用你喜欢的集群基础构件(OpenAIS、heartbeat或corosync)提供的消息和成员管理能力来探测并从节点或资源级别的故障中恢复,以实现群集服务(亦称资源)的最大可用性。LoadBalance,负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。

技术实现要素:
为了解决现有技术的问题,本发明提供了一种基于SCST的存储高可用方法,其可以用于虚拟化存储,实现了资源的动态分配,同时提供了接口用于管理端的负载均衡。本发明所采用的技术方案如下:一种基于SCST的存储高可用方法,包括以下步骤:A、客户端数据首先通过网络将数据传输到接收服务器;B、存储服务器根据已经设置LoadBalance规则对到达的客户端数据进行负载均衡处理,选择一台与接入网络中负载较小的接收服务器,并将数据的格式转化为分布式文件系统格式;C、利用Peacemaker软件,根据已设置的规则进行消息管理、冗余管理,并在宕机后进行故障接管与恢复;D、然后数据客户端数据写入虚拟节点中,虚拟节点为内存虚拟出的存储节点;E、利用SCST软件将写入虚拟节点的数据转化为SCSI命令,并将SCSI命令提交至硬盘进行客户端数据的写入。不同客户端数据的数据前端使用了LoadBalance软件对不同的请求进行了划分,实现请求的负载均衡。本发明的一种基于SCST的存储高可用方法,通过SCST软件将底层物理磁盘转化为虚拟存储节点;虚拟存储节点通过Pacemaker软件将若干存储服务器汇聚为统一的存储资源池;然后在资源池进行资源的分配,通过将分配的存储资源格式化为不同的文件系统;适应了不同数据的存储需求。方法还包括:实现主存储删冗系统的方法,所述的主存储删冗系统是在主存储中实现数据的单一备份,保证数据在正常写入设备的同时,将数据中重复的部分删除,还要保证数据的完整性。在完成主存储删冗系统后,通过在虚拟存储节点进行写入,同时配置通过不同的主机进行写入,实现数据的多副本存储。本发明提供的技术方案带来的有益效果是:本发明通过VRRP协议实现前端的负载均衡,避免了单点故障,当多台服务器运行时,共同采用同一虚拟IP地址,但是存在主服务器和备份服务器。当主服务出现故障的时候可以通过备用服务器接管IP,提供服务,提高了可用性。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明的一种基于SCST的存储高可用方法的实施系统整体框图;图2为本发明的一种基于SCST的存储高可用方法的控制端和客户端对应关系图;图3为本发明的一种基于SCST的存储高可用方法的方法流程图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本实施例的一种基于SCST的存储高可用方法,其具体实施方法如下:1:在存储服务器安装SCST软件2:将SCST映射出的虚拟节点映射到Client端(客户端);3:在Client端部署上PaceMaker和LoadBalance等软件,进行配置。同时在Client端部署OpenStack客户端。4:在Control端(控制端)部署OpenStack控制端进行资源配置、调度和监测。本实施例包含以下三部分内容:1、系统总体设计系统整体示意图如图1所示,其中底层Disk为物理磁盘,通过SCST软件将物理磁盘转化为虚拟存储节点(VirtualDiskNode)。该过程也包括了虚拟化技术,将不同接口、不同结构的存储设备映射为统一的虚拟存储节点。虚拟存储节点可以通过Pacemaker可以将若干存储服务器汇聚为统一的存储资源池,方便了系统的使用和调度。然后在资源池进行资源的分配,通过将分配的存储资源格式化为不同的文件系统(例如OCFS2等),适应了不同的存储需求,例如MySQL需要数据块小,高度分散的结构,但是流媒体应用需要大数据块的结构。数据前端使用了LoadBalance对不同的请求进行了划分,请求的负载均衡。控制端和客户端对应关系如图2所示,通过OpenStack控制Pacemaker和LoadBalance实现对同一地址池和负载均衡器的配置,通过Web实现对SCST的配置。然后控制端可以查看各软件的运行状态信息,统一调度。2、虚拟化存储当存储服务器加入一块磁盘时,意味着磁盘进入存储资源池(diskgroup)中,存储软件自动将该磁盘按照相同的大小分成块(例如1MB),创建的diskgroup就是一个统一的存储空间,每个小块称为一个存储粒。这种从物理磁盘分散再组合的方式中,可以屏蔽掉底层空间的真实情况,为上层软件提供了一个统一的存储视角,将存储空间变成了一个统一的资源池或者超级硬盘空间,然后对资源池进行分割。3、多副本存储为了实现多副本存储技术,需要实现主存储删冗系统,在主存储中实现数据的单一备份,保证数据在正常写入设备的同时,将数据中重复的部分删除,还要保证数据的完整性。在完成了主存储删冗系统,可以通过在虚拟存储节点进行写入,同时配置通过不同的主机进行写入实现了数据的多副本存储。这样可以避免单存储节点失效问题,同时在读取数据的时候可以从多个接地同时读取,大大的提高了数据的读取速度。配合一致性Hash算法,更可以避免数据的无效写入等。本实施例中,管理者通过Web修改SCST的配置文件,对于不同的硬盘进行权限管理与容量管理等,将存储资源分配给不同的用户群。同时通过OpenStack控制Pacemaker和LoadBalance实现对同一地址池和负载均衡器的配置,完成如下配置后,服务器端将可以为用户提供存储服务。如图3所示,下面以一组数据从客户端发出到存储服务器完成存储过程为例,详细解释其过程。客户端数据首先通过网络(包括光纤网络、Inifiband网络或以太网)将数据传输到接收服务器。存储服务器根据已经设置LoadBalance规则对到达的数据进行负载均衡处理,选择一台与接入网络中负载较小的接收服务器,并将数据的格式转化为分布式文件系统格式。Peacemaker根据已设置的规则进行消息管理(通过Web反馈管理者)、冗余管理(如果数据已经存在,那么不再重复存储),并在宕机后进行故障接管与恢复。然后数据可以写入虚拟节点中,虚拟节点为内存虚拟出的存储节点。SCST将写入虚拟节点的数据转化为SCSI命令,并将SCSI命令提交至硬盘进行数据写入。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1