一种存储区域网络的控制方法及装置与流程

文档序号:12908311阅读:468来源:国知局
一种存储区域网络的控制方法及装置与流程

本发明涉及网络存储技术领域,尤其涉及一种存储区域网络的控制方法及装置。



背景技术:

nas(networkattachedstorage,网络附接存储)是指通过nfs(networkfilesystem,网络文件系统)、cifs(commoninternetfilesystem,通过网络文件系统)或dafs(directaccessfilesystem,直接访问文件系统)共享文件的计算机(或设备)。它具有提供以太网络数据访问的传统。它的模型主要源于网络文件服务器的概念。san(storageareanetwork,存储区域网络)就是两个或者多个设备通过串行scsi(smallcomputersysteminterface,小型计算机系统接口)协议进行通信,比如(fibrechannel,光纤通道)或者iscsi(internetsmallcomputersysteminterface,互联网小型计算机接口)。它是一种新存储连接拓扑结构,代表了一种将数据由数据处理系统传输到数据存储系统的新方法。

nas和san作为两种不同的存储模式占据了存储市场的绝大部分份额。但是两者并没有太直接的正面争锋,因为nas主要是针对中小企业用户,而san虽然性能出众但价格却十分昂贵,对于中小企业来说无疑是属于奢侈品了。而nas产品由于技术得到迅速发展,价格又不是很高,因此受到了中小企业的广泛青睐,在中低端存储市场上成为主流。

nas可以很经济地解决存储容量不足的问题,但难以获得满意的性能,对于关键事务应用而言,它必须使用专用的宽带网络。因此,如果公司的发展将需要大量的nas设备或是网络带宽需求超过千兆以太网,就应该考虑最高端的存储解决方案san。而现实客户需求中,可能会对文件系统级和块级存储方式同时做要求,由于目前nas和san是单独在不同的设备上实现的,因此如果同时够买nas和san设备的话,成本付出会比较大。



技术实现要素:

有鉴于此,本发明提供一种存储区域网络的控制方法,能够减少器件和缆线等耗材。通过虚拟机技术在存储区域网络的每一个节点实现网络附接存储的功能,满足了用户对文件系统级和块级存储方式的同时要求,由无需购买两种设备,降低了成本。

本发明提供了一种存储区域网络的控制方法,所述方法包括:

构建至少两个可实现网络附接存储服务的虚拟机;

基于所有所述虚拟机建立互联网络。

优选地,所述构建至少两个可实现网络附接存储功能的虚拟机包括:

在至少两个宿主机上分别构建虚拟机;

分别映射每个所述宿主机的互联网小型计算机接口卷为与所述宿主机上的所述虚拟机的小型计算机系统接口块设备;

基于每个所述小型计算机系统接口块设备向用户端开放网络附接存储服务。

优选地,所述基于所有所述虚拟机建立互联网络包括:

基于所有所述虚拟机建立高空用集群;

配置所有所述虚拟机间的心跳ip;

配置每个宿主机的保护ip。

优选地,所述方法还包括:

控制所有所述虚拟机相互发送心跳信号;

当所述虚拟机接收到的所述心跳信号满足第一预设条件时,控制所述虚拟机重启;

当所述虚拟机接收到的所述心跳信号满足第二预设条件时,控制所述虚拟机关机。

优选地,所述方法还包括:

采集所述虚拟机的硬件资源使用率;

当所述硬件资源使用率满足预设阈值时,生成警告信号;

基于所述警告信号执行警告操作。

一种存储区域网络的控制装置,所述装置包括:

虚拟机构建模块,所述虚拟机构建模块用于构建至少两个可实现网络附接存储服务的虚拟机;

互联网络构建模块,所述互联网络构建模块用于基于所有所述虚拟机建立互联网络。

优选地,所述虚拟机构建模块包括:

虚拟机构建单元,所述虚拟机构建单元用于在至少两个宿主机上分别构建虚拟机;

映射单元,所述映射单元用于分别映射每个所述宿主机的互联网小型计算机接口卷为与所述宿主机上的所述虚拟机的小型计算机系统接口块设备;

服务单元,所述服务单元用于基于每个所述小型计算机系统接口块设备向用户端开放网络附接存储服务。

优选地,所述互联网络构建模块包括:

集群构建单元,所述集群构建单元用于基于所有所述虚拟机建立高空用集群;

心跳配置单元,所述心跳配置单元用于配置所有所述虚拟机间的心跳ip;

ip配置单元,所述ip配置单元用于配置每个宿主机的保护ip。

优选地,所述装置还包括:

心跳发送模块,所述心跳发送模块用于控制所有所述虚拟机相互发送心

跳信号;

虚拟机重启模块,所述虚拟机重启模块用于当所述虚拟机接收到的所述心跳信号满足第一预设条件时,控制所述虚拟机重启;

虚拟机关机模块,所述虚拟机关机模块用于当所述虚拟机接收到的所述心跳信号满足第二预设条件时,控制所述虚拟机关机。

优选地,所述装置还包括:

采集模块,所述采集模块用于采集所述虚拟机的硬件资源使用率;

生成模块,所述生成模块用于当所述硬件资源使用率满足预设阈值时,生成警告信号;

警告模块,所述警告模块用于基于所述警告信号执行警告操作。

综上所述,本发明公开了一种存储区域网络的控制方法,方法包括构建至少两个可实现网络附接存储服务的虚拟机,基于所有虚拟机建立互联网络。通过虚拟机技术在存储区域网络的每一个节点实现网络附接存储的功能,满足了用户对文件系统级和块级存储方式的同时要求,由无需购买两种设备,降低了成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明公开的一种存储区域网络的控制方法的实施例1的流程图;

图2为本发明公开的另一种存储区域网络的控制方法的实施例2的流程图;

图3为本发明公开的另一种存储区域网络的控制方法的实施例3的流程图;

图4为本发明公开的一种存储区域网络的控制装置的实施例1的结构示意图;

图5为本发明公开的另一种存储区域网络的控制装置的实施例2的结构示意图;

图6为本发明公开的另一种存储区域网络的控制装置的实施例3的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

如图1所示,为本发明公开的一种存储区域网络的控制方法的实施例1的流程图,所述方法包括:

s101、构建至少两个可实现网络附接存储服务的虚拟机;

在每个节点上构建用于实现nas的虚拟机,使得用户可以通过此虚拟机实现读取或存储文件等nas功能。

s102、基于所有虚拟机建立互联网络;

在所有节点间建立虚拟机的互联网络,从而将所有节点构成一个实现san功能的网络。

综上所述,本发明公开了一种存储区域网络的控制方法,方法包括构建至少两个可实现网络附接存储服务的虚拟机,基于所有虚拟机建立互联网络。通过虚拟机技术在存储区域网络的每一个节点实现网络附接存储的功能,满足了用户对文件系统级和块级存储方式的同时要求,由无需购买两种设备,降低了成本。

如图2所示,为本发明公开的另一种存储区域网络的控制方法的实施例2的流程图,本实施例为实施例1的一种具体实现方式,所述方法包括:

s201、在至少两个宿主机上分别构建虚拟机;

构建虚拟机可使用的软件有许多种,本实施例中通过具体软件进行举例说明,但虚拟机的构建,并不仅限于使用本实施例中的软件。存储的每个节点上都运行虚拟化软件qeum及kvm虚拟机的管理工具libvirt,并且在系统内核中运行kvm内核模块。

s202、分别映射每个宿主机的互联网小型计算机接口卷为与宿主机上的虚拟机的小型计算机系统接口块设备;

虚拟机的操作系统为centos系统,运行iscsiinitiator软件,iscsiinitiator软件用于连接存储的iscsitarget(位于iscsi服务器上的存储资源),将宿主机上的iscsi卷映射为虚拟机内的scsi块设备;

s203、基于每个小型计算机系统接口块设备向用户端开放网络附接存储服务;

基于虚拟机内的scsi块设备创建zfs文件系统,在虚拟机上运行nas文件共享软件,例如cifs及nfs,使用文件共享软件对外提供nas服务;

s204、基于所有虚拟机建立高空用集群;

在所有节点的虚拟机上安装pacemaker软件,使用pacemaker软件为所有虚拟机提供ha集群高可用服务;

s205、配置所有虚拟机间的心跳ip;

使用pacemaker软件配置虚拟机之间的心跳ip,使虚拟机形成互联网络。

s206、配置每个宿主机的保护ip;

在各个节点上配置fenceip(保护ip),还可通过调用libvirt命令管理所有虚拟机。

在本实施中,虚拟机的构建过程中,需要注意的是:虚拟机操作系统的镜像依附于存储系统镜像,在存储系统安装完成之后,需要划分出特定路径和大小的分区供虚拟机操作系统使用。虚拟机的操作系统采用与存储同源的centos操作系统镜像,加入kvm内核模块支持,qemu虚拟化软件、libvirt虚拟机管理软件、iscsiinitiator软件、zfs文件系统安装软件、pacemaker集群管理软件、cifs或nfs文件共享软件等。此外,虚拟机系统升级不做为独立的模块进行升级,虚拟机所有的升级和补丁将和存储系统集成,以存储系统升级包为载体进行相关功能和软件包的升级。

虚拟机的具体配置过程包括:(1)系统启动:存储系统启动之后,libvirt管理软件自启动,宿主机上运行适配脚本,在虚拟机启动之前之前会查询存储系统资源(cpu核数和内存大小)的数量,根据资源适配分配表分配给虚拟机特定的cpu个数和内存大小。然后虚拟机根据分配的资源启动,虚拟机上相关软件随之启动。(2)系统关机:存储系统关机之前,需要先停止nas服务,卸载文件系统,断开iscsi连接,然后关闭虚拟机,最后才执行存储的关机流程。(3)虚拟机后端网络配置:存储启动之后,运行libvirt虚拟机管理软件,libvirt会在存储系统创建虚拟网桥virbr,虚拟网桥通过脚本配置ip地址,ip地址会在存储ietd进程会把该ip地址添加到iscsitarget3260端口的监听中,作为iscsiinitiator连接iscsitarget的目标地址,进行iscsi的连接。(4)虚拟机前端网络配置:这部分配置需要结合nas命令行实现。前端网络主要包括nas服务网络,虚拟机互联和ha网络。nas服务网络由用户配置,选择存储的物理网卡eth并配置业务ip、集群节点心跳ip、集群ha的fenceip。配置流程根据用户选择的网卡,创建macvtap桥,然后虚拟机中创建虚拟网卡vnic,并将vnic和eth桥接到macvtap桥上,用户配置的集群心跳ip配置到vnic上,集群fenceip配置到物理网卡eth上,nas业务ip也配置到vnic上。

如图3所示,为本发明在实施例的基础上公开的另一种存储区域网络的控制方法的实施例3的流程图,所述方法包括:

s301、控制所有虚拟机相互发送心跳信号;

所有虚拟机会向与其相连的虚拟机发送心跳信号(心跳信号是每隔一段时间向互联的另一方发送一个很小的数据包,通过对方回复情况判断互联的双方之间的通讯链路是否已经断开的方法),在本实施例中以四节点结构及双节点结构举例。

s302、当虚拟机接收到的心跳信号满足第一预设条件时,控制虚拟机重启;

对于四节点结构来说,当一个节点a收不到另外一个节点b的心跳信号时,首先要根据pacemaker配置的仲裁看另外两个节点c、d是否也收不到节点b的心跳,如果另外两个节点中至少一个收不到节点b的心跳时,此时,集群会认为节点b是死亡的,a、c、d节点中具有节点b最高优先级的节点对节点b发送fence命令,通过节点b所在的宿主机重启虚拟机也就是节点b。对于双节点结构来说,当节点都收不到对端节点的心跳信号时,首先会检查自己所在的宿主机上用于本节点fence的物理网卡的链路是否是up(在线)的,如果是up的,就认为对端节点是死亡的,会对对端节点进行fence操作,通过节点上的libvirt对虚拟机进行重启。

s303、当虚拟机接收到的心跳信号满足第二预设条件时,控制虚拟机关机;

在四节点结构中,如果一个节点同时收不到其他三个节点的心跳信号,首先会检查自己节点的宿主机上的物理网卡是否是up的,如果是up的,将会对自己进行重启。如果是down(离线)的,本节点将释放资源,并进行关机操作。在双节点结构中,当节点都收不到对端节点的心跳信号时,首先会检查自己所在的宿主机上用于本节点fence的物理网卡的链路是否是up的,如果网卡的物理链路是down的,将会对自己节点进行资源释放,进行关机操作。

通过上述步骤可以实现当一个虚拟机挂机之后,另外一个虚拟机可以接管当前虚拟机的业务,保证业务数据不中断及数据一致性。

为进一步优化上述技术方案,所述方法还包括:

s304、采集虚拟机的硬件资源使用率;

采集虚拟机的硬件资源使用率,包括cpu及内存的使用率。

s305、当硬件资源使用率满足预设阈值时,生成警告信号;

s306、基于警告信号执行警告操作;

上述用于避免虚拟机占用资源过度从而导致整个互联网络的瘫痪。

综上所述,本发明采用iscsi协议将san技术和nas技术融合到一起,nas与san集成即可解决nas单点失败问题,也可以解决san块级数据访问问题。有较高的io速度,实现数据备份和远程容灾,提供较高可靠性,因此,适合很多大中型企业,不仅可应用于关键业务,也可以实现文件级和块级数据访问。

如图4所示,为本发明公开的一种存储区域网络的控制装置的实施例1的结构示意图,所述装置包括:

虚拟机构建模块101,虚拟机构建模块101用于构建至少两个可实现网络附接存储服务的虚拟机;

在每个节点上构建用于实现nas的虚拟机,使得用户可以通过此虚拟机实现读取或存储文件等nas功能。

互联网络构建模块102,互联网络构建模块102用于基于所有虚拟机建立互联网络;

在所有节点间建立虚拟机的互联网络,从而将所有节点构成一个实现san功能的网络。

综上所述,本发明公开了一种存储区域网络的控制装置,所述装置的工作原理为构建至少两个可实现网络附接存储服务的虚拟机,基于所有虚拟机建立互联网络。通过虚拟机技术在存储区域网络的每一个节点实现网络附接存储的功能,满足了用户对文件系统级和块级存储方式的同时要求,由无需购买两种设备,降低了成本。

如图5所示,为本发明公开的另一种存储区域网络的控制装置的实施例2的结构示意图,在所述装置中,所述虚拟机构建模块包括:

虚拟机构建单元201,虚拟机构建单元201用于在至少两个宿主机上分别构建虚拟机;

构建虚拟机可使用的软件有许多种,本实施例中通过具体软件进行举例说明,但虚拟机的构建,并不仅限于使用本实施例中的软件。存储的每个节点上都运行虚拟化软件qeum及kvm虚拟机的管理工具libvirt,并且在系统内核中运行kvm内核模块。

映射单元202,映射单元202用于分别映射每个宿主机的互联网小型计算机接口卷为与宿主机上的虚拟机的小型计算机系统接口块设备;

虚拟机的操作系统为centos系统,运行iscsiinitiator软件,iscsiinitiator软件用于连接存储的iscsitarget(位于iscsi服务器上的存储资源),将宿主机上的iscsi卷映射为虚拟机内的scsi块设备;

服务单元203,服务单元203用于基于每个小型计算机系统接口块设备向用户端开放网络附接存储服务;

基于虚拟机内的scsi块设备创建zfs文件系统,在虚拟机上运行nas文件共享软件,例如cifs及nfs,使用文件共享软件对外提供nas服务;

互联网络构建模块包括:

集群构建单元204,集群构建单元204用于基于所有虚拟机建立高空用集群;

在所有节点的虚拟机上安装pacemaker软件,使用pacemaker软件为所有虚拟机提供ha集群高可用服务;

心跳配置单元205,心跳配置单元205用于配置所有虚拟机间的心跳ip;

使用pacemaker软件配置虚拟机之间的心跳ip,使虚拟机形成互联网络。

ip配置单元206,ip配置单元206用于配置每个宿主机的保护ip;

在各个节点上配置fenceip(保护ip),还可通过调用libvirt命令管理所有虚拟机。

在本实施中,虚拟机的构建过程中,需要注意的是:虚拟机操作系统的镜像依附于存储系统镜像,在存储系统安装完成之后,需要划分出特定路径和大小的分区供虚拟机操作系统使用。虚拟机的操作系统采用与存储同源的centos操作系统镜像,加入kvm内核模块支持,qemu虚拟化软件、libvirt虚拟机管理软件、iscsiinitiator软件、zfs文件系统安装软件、pacemaker集群管理软件、cifs或nfs文件共享软件等。此外,虚拟机系统升级不做为独立的模块进行升级,虚拟机所有的升级和补丁将和存储系统集成,以存储系统升级包为载体进行相关功能和软件包的升级。

虚拟机的具体配置过程包括:(1)系统启动:存储系统启动之后,libvirt管理软件自启动,宿主机上运行适配脚本,在虚拟机启动之前之前会查询存储系统资源(cpu核数和内存大小)的数量,根据资源适配分配表分配给虚拟机特定的cpu个数和内存大小。然后虚拟机根据分配的资源启动,虚拟机上相关软件随之启动。(2)系统关机:存储系统关机之前,需要先停止nas服务,卸载文件系统,断开iscsi连接,然后关闭虚拟机,最后才执行存储的关机流程。(3)虚拟机后端网络配置:存储启动之后,运行libvirt虚拟机管理软件,libvirt会在存储系统创建虚拟网桥virbr,虚拟网桥通过脚本配置ip地址,ip地址会在存储ietd进程会把该ip地址添加到iscsitarget3260端口的监听中,作为iscsiinitiator连接iscsitarget的目标地址,进行iscsi的连接。(4)虚拟机前端网络配置:这部分配置需要结合nas命令行实现。前端网络主要包括nas服务网络,虚拟机互联和ha网络。nas服务网络由用户配置,选择存储的物理网卡eth并配置业务ip、集群节点心跳ip、集群ha的fenceip。配置流程根据用户选择的网卡,创建macvtap桥,然后虚拟机中创建虚拟网卡vnic,并将vnic和eth桥接到macvtap桥上,用户配置的集群心跳ip配置到vnic上,集群fenceip配置到物理网卡eth上,nas业务ip也配置到vnic上。

如图6所示,为本发明在实施例的基础上公开的另一种存储区域网络的控制装置的实施例3的结构示意图,所述装置还包括:

心跳发送模块302,心跳发送模块302用于控制所有虚拟机相互发送心跳信号;

所有虚拟机会向与其相连的虚拟机发送心跳信号(心跳信号是每隔一段时间向互联的另一方发送一个很小的数据包,通过对方回复情况判断互联的双方之间的通讯链路是否已经断开的方法),在本实施例中以四节点结构及双节点结构举例。

虚拟机重启模块301,虚拟机重启模块301用于当虚拟机接收到的心跳信号满足第一预设条件时,控制虚拟机重启;

对于四节点结构来说,当一个节点a收不到另外一个节点b的心跳信号时,首先要根据pacemaker配置的仲裁看另外两个节点c、d是否也收不到节点b的心跳,如果另外两个节点中至少一个收不到节点b的心跳时,此时,集群会认为节点b是死亡的,a、c、d节点中具有节点b最高优先级的节点对节点b发送fence命令,通过节点b所在的宿主机重启虚拟机也就是节点b。对于双节点结构来说,当节点都收不到对端节点的心跳信号时,首先会检查自己所在的宿主机上用于本节点fence的物理网卡的链路是否是up(在线)的,如果是up的,就认为对端节点是死亡的,会对对端节点进行fence操作,通过节点上的libvirt对虚拟机进行重启。

虚拟机关机模块303,虚拟机关机模块303用于当虚拟机接收到的心跳信号满足第二预设条件时,控制虚拟机关机;

在四节点结构中,如果一个节点同时收不到其他三个节点的心跳信号,首先会检查自己节点的宿主机上的物理网卡是否是up的,如果是up的,将会对自己进行重启。如果是down(离线)的,本节点将释放资源,并进行关机操作。在双节点结构中,当节点都收不到对端节点的心跳信号时,首先会检查自己所在的宿主机上用于本节点fence的物理网卡的链路是否是up的,如果网卡的物理链路是down的,将会对自己节点进行资源释放,进行关机操作。

通过上述步骤可以实现当一个虚拟机挂机之后,另外一个虚拟机可以接管当前虚拟机的业务,保证业务数据不中断及数据一致性。

为进一步优化上述技术方案,方法还包括:

采集模块304,采集模块304用于采集虚拟机的硬件资源使用率;

采集虚拟机的硬件资源使用率,包括cpu及内存的使用率。

生成模块305,生成模块305用于当硬件资源使用率满足预设阈值时,生成警告信号;

警告模块306,警告模块306用于基于警告信号执行警告操作;

上述用于避免虚拟机占用资源过度从而导致整个互联网络的瘫痪。

综上所述,本发明采用iscsi协议将san技术和nas技术融合到一起,nas与san集成即可解决nas单点失败问题,也可以解决san块级数据访问问题。有较高的io速度,实现数据备份和远程容灾,提供较高可靠性,因此,适合很多大中型企业,不仅可应用于关键业务,也可以实现文件级和块级数据访问。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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