基于虚拟机实现软件定义存储的系统的制作方法

文档序号:11064832阅读:623来源:国知局
基于虚拟机实现软件定义存储的系统的制造方法与工艺

本发明涉及存储服务领域,具体地,涉及基于虚拟机实现软件定义存储的系统,尤其是在云环境下提供存储服务的技术方案。



背景技术:

在现有的云环境的存储解决方案中,已经有各种各样的软件定义存储的商用方案,但这些方案都有一个共同点,那就是都属于使用专用设备构建的相对封闭的解决方案。这导致现有技术存在着如下不足之处:

1、依赖厂商。一旦采用了某一厂商的存储解决方案,那么今后此方案的扩容,改进都需要厂商的支持。

2、成本过高。由于采用专用设备,所以设备本身的研发及制造成本就会比较高,再加上与厂商的绑定,整体采购及运营成本居高不下。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种基于虚拟机实现软件定义存储的系统。

根据本发明提供的一种基于虚拟机实现软件定义存储的系统,包括两个存储系统,这两个存储系统通过局域网形成互为主备的集群;

所述存储系统包括:嵌入式系统、x86虚拟机、x86主机;嵌入式系统安装在x86虚拟机中,x86虚拟机使用所在的x86主机的硬盘提供存储服务,嵌入式系统管理存储。

优选地,这两个存储系统的嵌入式系统分别使用各自所在的x86主机的硬盘,并通过HAST协议实现存储高可用;这两个存储系统中的一个存储系统作为主节点,主设备中的嵌入式系统在高可用存储资源上创建并管理文件系统,并实现文件系统的共享,再通过CARP协议实现存储共享访问高可用;用户通过网络访问存储服务的访问地址为:CARP协议配置的虚拟IP地址。

优选地,这两个存储系统分别作为主节点、备节点;主节点、备节点的配置均通过节点上的管理网IP访问节点控制台完成。

优选地,当节点重启或关机时,直接关闭该节点上的CARP服务;

主节点正常运行时,每个请求,都同步地在备节点内存中建立操作镜像;即,主节点所有没有写入磁盘的数据信息以及共享服务程序的上下文信息,都在备节点上有基于内存的备份;

当发生主节点故障时,备节点内存的备份直接接管主节点中的相关内存信息。

与现有技术相比,本发明具有如下的有益效果:

本发明通过整合通用软、硬件技术,从而提出一套存储解决方案,同时拥有商用存储解决方案的主要特性,最终使其能够承担在云环境下的存储服务。本发明可以依托开源免费软件,以及通用的x86硬件平台,组建出高效的软件定义存储环境,可以有效提高x86主机计算资源的使用率。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为基于x86虚拟机的软件定义存储高可用增强补丁包示意图。

图2为基于x86虚拟机的软件定义存储逻辑结构示意图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

具体地,根据本发明提供的一种基于虚拟机实现软件定义存储的系统,包括两个存储系统,这两个存储系统通过局域网形成互为主备的集群;所述存储系统包括:嵌入式系统、x86虚拟机、x86主机;嵌入式系统安装在x86虚拟机中,x86虚拟机使用所在的x86主机的硬盘提供存储服务,嵌入式系统管理存储。

这两个存储系统的嵌入式系统分别使用各自所在的x86主机的硬盘,并通过HAST协议实现存储高可用;这两个存储系统中的一个存储系统作为主节点,主设备 中的嵌入式系统在高可用存储资源上创建并管理文件系统,并实现文件系统的共享,再通过CARP协议实现存储共享访问高可用;用户通过网络访问存储服务的访问地址为:CARP协议配置的虚拟IP地址。

这两个存储系统分别作为主节点、备节点;主节点、备节点的配置均通过节点上的管理网IP访问节点控制台完成。当节点重启或关机时,直接关闭该节点上的CARP服务;主节点正常运行时,每个请求,都同步地在备节点内存中建立操作镜像;即,主节点所有没有写入磁盘的数据信息以及共享服务程序的上下文信息,都在备节点上有基于内存的备份;当发生主节点故障时,备节点内存的备份直接接管主节点中的相关内存信息。

更为具体地,本发明基于通用操作系统进行定制化,从而产出一个专用、精简、稳定的专门用于管理存储的嵌入式系统。将这个通用的嵌入式系统安装到通用的x86虚拟机中。x86虚拟机直接使用所在x86主机中的硬盘,用于提供存储服务。建立两个这样的系统,通过局域网形成互为主备的高可用集群。

其中,x86虚拟机是x86主机通过安装通用的虚拟化软件得到的,从而能在x86主机之上虚拟出x86虚拟主机。x86虚拟主机可以直接使用其所在x86主机中安装的存储设备。

使用NAS4Free作为管理存储的嵌入式系统,ESXi和vCenter作为x86主机的虚拟化及管理软件。其中,NAS4Free是基于FreeBSD平台定制的开源嵌入式的管理存储的专用系统。vCenter和ESXi是商用的主机虚拟化软件,也可以使用其它主机虚拟化软件代替,如XenServer。

以主节点为例(图2的M标识的节点),在x86虚拟机(图2的x86VM)中的NAS4Free系统(图2的M-NAS4Free)安装在宿主主机(图2的M-x86Server)的本地硬盘(图2的M-disk0,使用方法为used)上。安装完毕后,首先在主、备节点(图2的S标识的节点为备节点)的NAS4Free直接使用其宿主主机的硬盘(主节点为图2的M-disk1和M-disk2,备节点为图2的S-disk1和S-disk2,使用方法为passthrough),并且通过HAST协议实现存储高可用(图2的HAST-disk1和HAST-disk2)。然后主节点上的NAS4Free(图2的M-NAS4Free)在高可用存储资源上使用ZFS创建并管理文件系统,并通过NFS/CIFS/iSCSI实现文件系统的共享。最后NAS4Free再通过CARP协议实现存储共享访问高可用。用户通过网络访问存储服务,访问地址为:CARP协议配置的虚拟IP地址(图2的192.168.1.203)

另外,主、备节点的配置均通过节点上的管理网IP访问节点控制台完成。主节点为192.168.1.201,备节点为192.168.1.202。

其中,HAST是FreeBSD中提供的通用的高可用存储协议,CARP是FreeBSD中提供的通用的网络地址高可用协议。ZFS是一个开源的文件管理系统,可以实现RAID功能,同时可以实现存储资源的虚拟化管理。并对存储数据具有压缩,除重等高级功能。由于两个节点用于存储数据的硬盘通过HAST协议进行了高可用配置,所以通过主节点的一切数据操作都会实时的同步到备节点的存储上。NFS/CIFS/iSCSI是通过网络提供存储的协议。

用于提供存储服务的机柜的硬件配置,将和用于提供计算服务的机柜一样,只需要通用的x86服务器以及连接服务器的交换机。由于主机的计算资源提供给了NAS4Free所在的虚拟机,根据现有的计算密度,根本用不完。所以还可以在这些计算资源上继续创建其它虚拟机,用于其它的用途。

进一步地,软件定义存储的方法在实际使用中,存在以下三个主要问题:

第一:当主节点正常重启或关机时,会出现挂死现象,并且挂死过程中,主节点还是主节点,不能自动正常切换;

第二:主节点异常重启或宕机后,备节点能立即切换成主节点,但这时主节点上的NFS文件共享服务会挂死,正在进行中的读写操作会中断,新的读写操作请求也没有响应;

第三:当NFS文件共享服务不挂死时,也会了出现正在进行中的读写操作会被强制中断。

以上三个问题都会导致这个方案无法提供完整的高可用存储服务。因此,通过一个自主开发的高可用增强补丁包来解决这些问题。补丁包解决问题的思路如下:当节点重启或关机时,直接关闭该节点上的CARP服务(经测试,是CARP服务导致第一个问题的)。主节点正常运行时,每个请求,都同步的在备节点内存中建立操作镜像。即主节点所有没有写入磁盘的数据信息(如图1中的“读写序列数据”)以及共享服务程序的上下文信息(如图1中的“共享协议进程数据”,支持NFS/CIFS/iSCSI。),都在备节点上有基于内存的备份。当发生主节点故障时,备节点内存的备份会直接接管主节点中的相关内存信息,这时就能解决第二个与第三个问题。

在本发明的一个优选的具体实施方式中,按照上述方案部署完成后,正常情况下,存储服务通过CARP配置的虚拟IP地址对外服务,服务协议支持NFS/CIFS/iSCSI。并且 服务的所有负载都落到主节点上,备节点只做数据的实时同步。当主节点出现故障时,CARP首先会自动调用脚本,使备节点上的存储变成主存储,从而使备节点变成主节,接着让存储服务的负载导向新的主节点并对外提供服务。这时,原来的主节点可以完全离线进行维修。等其维修好后,可以作为备节点加入集群,从新的主节点处实时同步数据。为下次主节点故障做好高可用准备。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1