CN103516755A - 虚拟存储方法及设备 - Google Patents

虚拟存储方法及设备 Download PDF

Info

Publication number
CN103516755A
CN103516755A CN201210215699.4A CN201210215699A CN103516755A CN 103516755 A CN103516755 A CN 103516755A CN 201210215699 A CN201210215699 A CN 201210215699A CN 103516755 A CN103516755 A CN 103516755A
Authority
CN
China
Prior art keywords
block device
memory
virtual disk
read
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201210215699.4A
Other languages
English (en)
Other versions
CN103516755B (zh
Inventor
徐亚力
邹现军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210215699.4A priority Critical patent/CN103516755B/zh
Publication of CN103516755A publication Critical patent/CN103516755A/zh
Application granted granted Critical
Publication of CN103516755B publication Critical patent/CN103516755B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种虚拟存储方法及设备,方法包括:接收客户端根据映射关系表生成的块设备读写请求,所述块设备读写请求中包含块设备标识、块设备中的存储位置和读写内容;根据所述块设备标识定位块设备,并根据所述块设备中的存储位置定位数据位置,并完成对所述读写内容的操作。根据本发明的虚拟存储的方法及设备,通过建立存储节点与虚拟磁盘之间的映射关系,使得客户端在访问虚拟磁盘时直接访问存储节点,提高虚拟存储性能。

Description

虚拟存储方法及设备
技术领域
本发明涉及信息存储技术,尤其涉及一种虚拟存储方法及设备。
背景技术
随着网络技术的飞速发展,网络数据存储量迅速增加,具有集中性和高效性的虚拟存储系统将替代传统的直接附加存储方式,成为虚拟存储系统的主体。虚拟存储为通过对存储系统或存储服务的内部功能进行抽象、隐藏或隔离,使存储或数据的管理与应用、服务器、网络资源的管理分离,从而实现应用和网络的独立管理。
随着实际生活中虚拟存储需求的大量增加,如何有效实现虚拟存储成为亟需解决的问题。
发明内容
本发明提供一种虚拟存储方法及设备,以有效实现虚拟存储。
本发明第一个方面提供一种虚拟存储方法,包括:
存储节点接收客户端根据映射关系表生成的块设备读写请求,所述块设备读写请求中包含块设备标识、块设备中的存储位置和读写内容;
存储节点根据所述块设备标识定位块设备,并根据所述块设备中的存储位置定位数据位置,并完成对所述读写内容的操作。
本发明另一个方面提供一种虚拟存储方法,包括:
接收用户对于虚拟磁盘的读写操作,并根据所述虚拟磁盘读写操作和映射关系表生成块设备读写请求,所述块设备读写请求包括所所述块设备标识、块设备的存储位置和读写内容;
向所述块设备所在存储节点发送所述块设备读写请求,使得存储节点能够根据所述块设备读写请求中的设备标识定位所述块设备,并依据块设备读写请求中的存储位置和读写内容完成读写内容的操作。
本发明再一个方面提供一种虚拟存储方法,包括:
根据客户端的虚拟磁盘标识与块设备的块设备标识以及所述虚拟磁盘存储位置对应于所述块设备中的存储位置建立映射关系表;
向所述客户端返回所述映射关系表,以使所述客户端在需要读写所述块设备时,通过所述虚拟磁盘和所述映射关系表生成读写请求。
本发明再一个方面提供一种存储节点,包括:
第一接收模块,用于接收客户端根据映射关系表生成的块设备读写请求,所述块设备读写请求中包含块设备标识、块设备中的存储位置和读写内容;
第一处理模块,用于根据所述块设备标识定位块设备,并根据所述块设备中的存储位置定位数据位置,并完成对所述读写内容的操作。
本发明又一个方面提供一种客户端,包括:
第二接收模块,用于接收用户对于虚拟磁盘的读写操作;
第二处理模块,用于根据所述虚拟磁盘读写操作和所述映射关系表生成块设备读写请求;
发送模块,用于向所述块设备所在存储节点发送所述块设备读写请求。本发明另一个方面提供一种主空制节点,包括:
建立映射关系表模块,用于根据客户端的虚拟磁盘标识与块设备的块设备标识以及所述虚拟磁盘存储位置对应于所述块设备中的存储位置建立映射关系表;
发送映射关系表模块,用于向所述客户端返回所述映射关系表,以使所述客户端在需要读写所述块设备时,通过所述虚拟磁盘和所述映射关系表生成读写请求。
本发明的又一方面提供一种虚拟存储系统,包括上述任一项所述的存储节点、客户端以及主控制节点。
由上述技术方案可知,本发明提供的虚拟存储方法及设备,通过建立虚拟磁盘与块设备之间的映射关系表,并将该映射关系表存储在客户端,使得客户端在访问虚拟磁盘时,直接通过包含虚拟磁盘标识和块设备标识的映射关系的映射关系表访问块设备,这样,不仅能够使客户端无需经过中间层次直接与存储节点进行交互,提高虚拟存储性能,还能够以较低的成本实现虚拟存储。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明一实施例的虚拟存储方法的流程示意图;
图2为根据本发明另一实施例的虚拟存储方法的流程示意图;
图3为根据本发明又一实施例的虚拟存储方法的流程示意图;
图4为根据本发明再一实施例的存储节点的结构示意图;
图5为根据本发明再一实施例的存储节点的结构示意图;
图6为根据本发明另一实施例的客户端的结构示意图;
图7为根据本发明另一实施例的主控制节点的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供一种虚拟存储方法,其适用于的虚拟存储架构包括实际存储数据的存储节点中的块设备、客户端的虚拟磁盘以及管理块设备和虚拟磁盘的主控制节点。本实施例的虚拟存储方法,将所有存储节点中的块设备利用起来,构成一个大的存储池,主控制节点根据客户端的创建虚拟磁盘的创建请求将块设备按需分配,并在建立虚拟磁盘与块设备的映射关系后,使得客户在访问虚拟磁盘时不需要再通过主控制节点,而是利用映射关系直接访问实际存储数据的存储节点。存储节点、主控制节点和客户端均可以为计算机或服务器。本实施例的虚拟存储方法的执行主体为存储节点。需要指出的是,客户端为虚拟磁盘的宿主机。
如图1所示,为根据本实施例的虚拟存储方法的流程示意图。
步骤101,存储节点接收客户端根据映射关系表生成的块设备读写请求,块设备读写请求中包含块设备标识、块设备中的存储位置和读写内容。
读写内容在不同的操作环境下代表了不同的含义,具体为:在读操作时,读写内容为所要读取的数据的大小;在写操作时,读写内容为所要写入存储设备的数据内容。
该块设备标识可以是由以下至少任意一种形式组成的:数字、英文字母、或字符,用以标识块设备。一个存储节点中可以包含一个或多个块设备,具体举例来说,当存储节点为一台计算机时,块设备可以是c盘,当然还可以是d盘或e盘等。用户可以根据实际需要自行定义该块设备,例如只将存储节点中的c盘作为块设备,或者是将c盘中的一部分作为块设备,具体可以根据需要自行设定。
块设备信息包括块设备大小、块设备名称、块设备的存储位置和块设备所在的存储节点的IP(Intemet Protocol,网络之间互连的协议)地址,还可以包括块设备所在的存储节点的MAC(Media Access Control)地址、块设备所在的存储节点的端口地址、块设备所在的存储节点的监听端口信息。主控制节点可以是计算机或服务器,用于为块设备和虚拟磁盘分配标识,建立块设备和虚拟磁盘之间的映射关系。主控制节点在接收到块设备的注册请求之后,就根据块设备信息为块设备分配块设备标识。
步骤102,存储节点根据块设备标识定位块设备,并根据块设备中的存储位置定位数据位置,并完成对读写内容的操作。
该步骤一种具体地实现方式可以是,当存储节点接收到块设备读写请求后,针对该块设备读写请求生成块设备读写响应,并发送至客户端,当客户端接收到该块设备读写响应后,就根据映射关系表直接对该块设备进行访问,执行读写操作。
客户端在接收到虚拟磁盘读写请求后,根据自身存储的虚拟磁盘与块设备的对应关系以及块设备的存储位置,可以直接向存储节点发送块设备读写请求,块设备读写请求中包括块设备的标识和块设备的存储位置,可选地,映射关系表还可以包括块设备的其它信息,例如块设备大小以及块设备所归属的存储节点的IP地址等,这样客户端根据该块设备标识可以获取与该块设备标识对应的所有块设备信息。客户端直接访问块设备的方式为远程登录技术,为现有技术,在此不再赘述。
根据本实施例的虚拟存储方法,通过为块设备分配块设备标识,以便在客户端进行读写操作时,直接通过包含虚拟磁盘标识和块设备标识的映射关系的映射关系表访问块设备,这样,不仅能够使客户端无需经过中间层次直接与存储节点进行交互,提高虚拟存储性能,还能够以较低的成本实现虚拟存储。
实施例二
本实施例基于实施例一提供一种虚拟存储方法。
具体地,当存储节点启动时,本实施例的虚拟存储方法还包括:
步骤11a:存储节点获取自身的配置文件。
步骤11b:根据配置文件,判断是第一次连接主控制节点,则向主控制节点发送注册请求,否则向主控制节点发送激活请求。
具体地,存储节点的配置文件中存在一标识信息,该标识信息用于表示该存储节点是否为第一次启动,例如当该标识信息为“0”时表示该存储节点为第一次启动,并在该存储节点第一次启动之后,修改该标识信息,以便以后该存储节点重新启动时,能够通过配置文件中的该标识信息识别出该存储节点不是第一次启动,例如将该标识信息修改为“1”。
本实施例中,存储节点向主控制节点发送注册请求是在其启动时进行发送的。存储节点启动,可能包括两种情况,一种情况是存储节点第一次启动,就说明该存储节点没有向主控制发送过注册请求,此时在启动后需要向注册节点发送注册请求,所述注册请求中包含了请求类型、主控制节点的IP地址(还可以包括主控制节点的MAC地址和/或端口号)和存储节点中所包含的块设备信息等,例如发送http格式的注册请求请求,具体为“http://namenode/datanode?action=register&ip=10.71.99.74&port=8081& data_ransfer_port=8082&mac=00-18-82-83-36-4c&target.file.1=/home/xyl/block_device&target.size.1=74&target.mac.1=00-18-82-83-36-4c”,以使主控制节点为该存储节点中的各块设备分配块设备标识,例如主控制节点返回Json格式的响应消息“{″node_id″:2,″result″:true,″targetlist″:[{″index″:1,″targetid″:3}]},其中,″node_id″:2代表存储节点标识为2,result表示返回结果,具体地,true表示注册成功返回,false表示注册失败,″targetlist″代表目标块设备列表,index代表目标块设备的索引号,“1”表示第1个块设备,″targetid″:3代表该存储节点的块设备标识为3。这样,上述响应消息就代表与标识为“2”的存储节点中的第1个块设备的标识为“3”。
其中,块设备标识可以是根据块设备所在的存储节点的地址生成的,这样客户端在获取到块设备标识时,也就同时获取到了块设备所在的存储节点的地址,该地址可以是存储节点的IP地址。具体举例来说,块设备标识为“202.118.16.28-c”,这样就表示块设备是IP地址为“202.118.16.28”的存储节点中的c盘,即存储节点标识为202.118.16.28。块设备标识和存储节点标识都是整个网络中唯一的标识,即不会出现网络中的两个存储节点具有相同的存储节点标识的情况,也不会出现两个块设备具有相同的块设备标识的情况。这样,客户端在获取了块设备标识和块设备的存储位置之后,也同样就知道了该块设备位于哪一个存储节点,能够准确找到所要访问的块设备。
能够想到,获取块设备标识的同时还可以获得其它信息,例如块设备大小、块设备名称和块设备所在的存储节点的IP地址(Intemet Protocol,网络之间互连的协议),此外还可以包括块设备所在的存储节点的MAC(Media Access Control)地址、块设备所在的存储节点的端口地址、块设备所在的存储节点的监听端口信息、和/或块设备所在的存储节点的大小及名称,上述信息均可以包含在映射关系表中。本发明各实施例中均以获取块设备标识为例进行说明,所述块设备标识为块设备中各种信息里的一种。
另外一种存储节点启动的情况是:存储节点在出现问题并解决后重新启动,此时可以判断该存储节点已经向主控制节点发送过注册请求,此时就不要再重新发送注册请求,而是发送激活请求以使主控制节点得知该存储节点重新运行或者由主控制节点根据该激活请求激活存储节点,激活请求具体可以发送http请求,例如http://namenode/datanode?action=register&node_id=2”。
还可以是,在注册请求和激活请求中都包括配置文件的标识,例如,注册请求中包括标识“0”,激活请求中包括标识“1”,主控制节点根据请求中的标识,就可以判断该请求是注册请求还是激活请求,再根据判断结果执行相应的操作。
根据本实施例的虚拟存储方法,当存储节点启动时,通过存储节点的配置文件判断是否需要重新向网络发送注册请求,这样能够避免存储节点重复发送注册请求,增加主控制节点的负担。
优选地,在通过激活请求或注册请求建立完存储节点和主控制节点之间的连接后,本实施例的虚拟存储方法还包括:
每隔预设时间,检测存储节点与主控制节点之间是否保持通信,使得存储节点出现异常无法完成存储时候,由主控制节点更新客户端的映射关系表,分配能够完成存储功能的其它存储节点。
这里的预设时间可以根据实际需要自行设定,例如1分钟、5分钟或者1小时。检测存储节点与主控制节点之间是否保持通信具体可以是:向主控制节点发送检测消息,如果在规定时间内接收到主控制节点根据检测信息作出的检测响应,则存储节点与主控制节点之间保持通信,否则,需要重新启动存储节点,以使存储节点向主控制节点发送激活请求,保持存储节点向主控制节点之间的通信。这样,通过周期性地检测存储节点与主控制节点之间是否保持通信,能够提高系统的可靠性,并能排除主控制节点在不知情的情况下发送指令给已经意外故障的存储节点。
本实施例的虚拟存储方法,还可以包括以下所描述的迁移操作。具体地,
步骤12a,存储节点接收主控制节点发送的迁移指令,该迁移指令包括源块设备标识、源块设备的存储位置、目的块设备标识、目的块设备的存储位置和源块设备中迁移的数据大小。
。迁移指令可以采用http方式,例如“http://datanodeIP:port/migrate?action=migrate_block &src_targetid=1&src_offset=1&dst_targetid=2&dst offset=3&dst_ip=10.71.99.77&dst_port=8082”,涉及到不同存储节点之间的数据迁移时,所述迁移指令中还要包含目的块设备所在存储节点地址如dst_ip=10.71.99.77,src_targetid和src_ofset分别对应迁移指令中的源块设备的标识和源块设备的存储位置,dst_targetid和dst_offset分别对应迁移指令中的目的块设备的标识和目的块设备的存储位置。本步骤的迁移命令可以是由主控制节点直接发起的,也可以是由客户端向主控制节点发起一迁移请求,再由主控制节点根据该迁移请求生成迁移命令并发送至源块设备。
步骤12b,源块设备所在的存储节点根据迁移指令降源块设备中的数据复制到目的块设备中。
复制方法可以采用建立TCP(Transmission Control Protocol,传输控制协议)套接字连接,从源块设备中的源文件中读取数据并存储到缓冲区中,然后写入到目的块设备中。复制完成后,可以发送迁移成功响应告知主控制节点完成迁移指令,例如“http://namenode:port/ maintenance?action=block_migrate_notification& taskid=1&result=success”。
可选地,在步骤12b之后,还可以包括:释放源块设备中的数据。释放数据即意味着清除源块设备中的数据,这样可以确保整个网络中仅有一份该数据即可,避免存储空间的浪费。
可选地,在步骤12b之后还包括:在复制操作完成后,向主控制节点发送迁移完成消息,以使主控制节点得知迁移操作已经完成,更新映射关系表。主控制节点更新映射关系表,除了将源块设备标识对应的虚拟磁盘标识与源块设备标识的对应关系改为虚拟磁盘标识与目的块设备标识的对应关系,还要建立虚拟磁盘的存储位置与目的块设备的存储位置的对应关系。
另外,在迁移操作进行时,如果此时有客户端向源块设备进行写操作,此时源块设备所在的源存储节点也响应客户端发送的块设备写请求,在目的块设备的存储位置基础上计算增加迁移的数据大小后的迁移后目的块设备的存储位置,并根据迁移后的目的块设备的存储位置执行块设备写请求。
根据本实施例的虚拟存储方法,通过对存储节点的块设备进行迁移操作,能够有效管理存储节点的存储空间,优化存储节点的性能。
实施例三
本实施例提供一种虚拟存储方法,其适用于的虚拟存储架构包括实际存储数据的存储节点中的的块设备、客户端的虚拟磁盘以及管理块设备和虚拟磁盘的主控制节点。本实施例的虚拟存储方法,将所有存储节点中的块设备利用起来,构成一个大的存储池,根据客户端的创建虚拟磁盘的创建请求将块设备按需分配,并通过建立虚拟磁盘与块设备的映射关系,使得客户在访问虚拟磁盘时直接访问实际存储数据的块设备,其中,“块设备”指的是存储节点中被用于虚拟存储的部分。存储节点、主控制节点和客户端均可以为计算机或服务器。本实施例的虚拟存储方法的执行主体为客户。本实施例中块设备的存储位置主要通过地址偏移量来体现。需要指出的是,客户端为虚拟磁盘的宿主机。
如图2所示,为根据本实施例的虚拟存储方法的流程示意图,该虚拟存储方法包括:
步骤201,客户端接收用户对于虚拟磁盘的读写操作。
可选地,在步骤201之前还包括虚拟磁盘的创建的过程,具体地:
步骤200a:客户端向主控制节点发送创建虚拟磁盘的创建请求。这里的创建请求可以包括:客户端的IP地址、客户端的MAC地址和/或虚拟磁盘的大小。
该步骤中虚拟磁盘的信息包括虚拟磁盘的大小、虚拟磁盘的存储位置、虚拟磁盘的MAC地址、IP地址等等,还可以包括虚拟磁盘的分片单位,每一个分片单位可以对应一个块设备。如表1所示,为映射关系表中的一部分。
表1
TargetOffset(2字节) targetMac(6字节) targetId(4字节)
存储节点的target偏移量 存储节点mac地址 存储节点的targetId
步骤200b:客户端接收并保存主控制节点返回的虚拟磁盘信息和映射关系表,虚拟磁盘信息包括虚拟磁盘标识以及与虚拟磁盘标识对应的虚拟磁盘具体内容;
映射关系表包括客户端的虚拟磁盘标识与块设备标识的映射关系以及虚拟磁盘存储位置对应于块设备中的存储位置的映射关系。
其中,块设备标识可以是根据块设备所在的存储节点的地址生成的,这样客户端在获取到块设备标识时,也就同时获取到了块设备所在的存储节点的地址,该地址可以是存储节点的IP地址。当然,还可以根据块设备标识在映射关系表中查询与块设备标识对应的块设备所在的存储节点的地址。
步骤200c:客户端根据虚拟磁盘信息创建虚拟磁盘。
步骤202,客户端根据虚拟磁盘读写请求和映射关系表生成块设备读写请求。
这个虚拟磁盘读写请求,可以是客户端上应用发送过来的IO(in/out)读写请求,该虚拟磁盘读写请求包括虚拟磁盘标识和虚拟磁盘读写长度,还可以包括虚拟磁盘的存储位置。客户端根据虚拟磁盘读写请求以及映射关系表就能够获取所要读写的实际存储节点的块设备标识以及块设备的存储位置,根据该块设备标识、块设备读写长度和块设备的存储位置生成块设备读写请求,并向存储节点中的块设备发送,在接收到块设备的响应后直接访问块设备。其中,块设备读写长度可以根据虚拟磁盘读写长度直接得出,即块设备读写长度=虚拟磁盘读写长度。具体地,该块设备读写请求可以是AOE(Advanced TechnologyAttachment over Ethernet)读写请求。块设备接收到该读写请求后进行响应,客户端直接访问块设备进行读写操作。
步骤203,客户端向块设备所在存储节点发送块设备读写请求。
步骤203具体为:客户端向块设备发送块设备读写请求,并在接收到块设备对块设备读写请求的块设备读写响应后,根据映射关系表直接对块设备进行读写操作。
块设备的读写响应为针对块设备读写请求所做的响应,具体实现方式与上述实施例一致,在此不作赘述。客户端接收到块设备读写响应后,就直接访问块设备进行读写操作。该过程相当于远程登录过程,为现有技术,在此不再过度赘述。
根据本实施例的虚拟存储方法,通过向主控制节点发送创建请求,并接收主控制节点分配的虚拟磁盘标识,创建虚拟磁盘,在后续客户进行读写操作时,直接通过包含虚拟磁盘标识和块设备标识的映射关系的映射关系表访问块设备,这样,不仅能够使客户端无需经过中间层次直接与存储节点进行交互,提高虚拟存储性能,还能够以较低的成本实现虚拟存储。
实施例四
本实施例对实施例三的虚拟存储方法做进一步补充说明。
具体地,本实施例对实施例三的主要对步骤203做进一步说明,具体地,接收用户对于虚拟磁盘的读写操作,并根据虚拟磁盘读写操作和映射关系表生成块设备读写请求包括:
判断读写操作是否指向不同的块设备,如果是,则根据读写操作和映射关系表生成不同块设备的读写请求。
在响应客户端的虚拟磁盘读写请求之后,先对虚拟磁盘读写请求进行分析,由于虚拟磁盘读写请求中包括虚拟磁盘标识和虚拟磁盘读写长度,可以根据这些信息判断出是否需要将虚拟磁盘读写请求分为各子虚拟磁盘读写请求。当虚拟磁盘读写请求指向不同的块设备时,就需要将虚拟磁盘读写请求分为与块设备相对应的各子虚拟磁盘读写请求。然后,根据各子虚拟磁盘读写请求与映射关系表产生各块设备读写请求,分别向各子块设备发送,以使各块设备响应各块设备读写请求。其中,块设备读写请求中包括块设备标识、块设备的存储位置以及块设备读写长度。这样,通过对虚拟磁盘读写请求进行分析,并当虚拟磁盘读写请求指向不同的块设备时,向不同的块设备发送相应的块设备读写请求,以完成该虚拟磁盘读写请求。
可选地,本步骤的虚拟存储方法还包括:
步骤22a:客户端接收主控制节点发送删除虚拟磁盘的删除指令,并根据删除指令删除虚拟磁盘,删除指令中包括虚拟磁盘标识和客户端地址标识。
由于主控制节点用于管理并建立虚拟磁盘与块设备的映射关系,当主控制节点发现一个或多个虚拟磁盘的利用率不高,或者需要对虚拟磁盘进行整理并重新创建虚拟磁盘时,可以主动发送删除指令指示客户端删除该虚拟磁盘;同样,当客户端根据实际需求需要删除虚拟磁盘时,可以向主控制节点发送删除虚拟磁盘的删除请求,由主控制节点根据删除请求生成虚拟磁盘的删除指令再向客户端进发送,以指示客户端删除相应的虚拟磁盘。删除请求中包含虚拟磁盘标识和客户端地址标识(即客户端的MAC地址)。
步骤22b,更新客户端中存储的映射关系表。
该步骤的一种实现方式可以是,主控制节点在发送删除指令的同时,还可以根据删除指令更新映射关系表,并将更新后的映射关系表发送至客户端,以使客户端接收并替换原始的映射关系表。优选地,主控制节点发送更新后的映射关系表是在接收到客户端的删除成功响应之后发送的,该删除成功响应代表客户端已经根据删除指令成功的删除了虚拟磁盘,这样可以保证虚拟磁盘与块设备映射关系的准确性,避免存在虚拟磁盘未删除成功而该虚拟磁盘又没有对应的块设备的情况存在;该步骤的另一种实现方式可以是,客户端在根据删除指令成功的删除了虚拟磁盘之后,自行更新映射关系表,这里所谓的更新映射关系表即清除被删除的虚拟磁盘信息标识。这样,通过删除客户端的虚拟磁盘并更新映射关系表,能够有效管理客户端的虚拟磁盘,优化虚拟磁盘的使用。
实施例五
本实施例提供一种虚拟存储方法。本实施例的虚拟存储方法的执行主体为主控制节点,该主控制节点可以是上述任一实施例中的主控制节点。所适用的网络架构与前述实施例一致,在此不再赘述。
如图3所示,为根据本实施例的虚拟存储方法的流程示意图,该虚拟存储方法包括:
步骤301,根据客户端的虚拟磁盘标识与块设备的块设备标识以及虚拟磁盘存储位置对应于块设备中的存储位置建立映射关系表。
主控制节点建立块设备标识与虚拟磁盘标识之间的映射关系。具体地,主控制节点可以根据块设备信息和虚拟磁盘信息合理地建立两者之间的映射关系,例如,将同一虚拟磁盘尽量与多个块设备进行映射,将相同大小的块设备与虚拟磁盘进行映射等等,具体可以根据实际需要进行安排,在此不再赘述。其中,块设备标识可以是根据块设备所在的存储节点的地址生成的,这样客户端在获取到块设备标识时,也就同时获取到了块设备所在的存储节点的地址,该地址可以是存储节点的IP地址。当然,还可以是根据块设备标识在映射关系表中查询与块设备标识对应的块设备所在的存储节点的地址。
可选地,在该步骤301之前,还包括为客户端分配虚拟磁盘标识,以及为块设备分配块设备标识,具体可如步骤3a和步骤3b:
步骤3a:接收客户端创建虚拟磁盘的创建请求,该创建请求中包含虚拟磁盘信息,并根据该创建请求为客户端分配虚拟磁盘信息和虚拟磁盘标识。
接收客户端创建虚拟磁盘的创建请求,以根据创建请求为虚拟磁盘分配虚拟磁盘标识和与虚拟磁盘对应的块设备的存储位置。创建请求为上述任一实施例中的创建请求,具体包括客户端的IP地址、客户端的MAC地址和/或虚拟磁盘的大小。虚拟磁盘标识可以与上述任一实施例中所描述的一致。
虚拟磁盘信息是由客户指定,并通过客户端发送给主控制节点,包括:虚拟磁盘名、虚拟磁盘容量、虚拟磁盘文件格式等等。主控制节点在接收到创建请求后,就可以根据创建请求中包含的虚拟磁盘信息为客户端分配虚拟磁盘标识。
步骤3b:接收存储节点发送的注册请求或激活请求,并当接收到注册请求时,为存储节点中的块设备分配块设备标识。
该注册请求为上述任一实施例中的注册请求,具体包括存储节点中各块设备的块设备信息。块设备信息具体包括块设备大小、块设备和块设备所在的存储节点的IP地址,还可以包括块设备所在的存储节点的MAC地址、块设备所在的存储节点的端口地址、块设备所在的存储节点的监听端口信息。主控制节点接收到存储节点发送的注册请求之后,就根据注册请求为存储节点中的块设备分配块设备标识。块设备标识为整个网络中的唯一标识,即不会出现两个块设备具有相同的块设备标识的情况。同样,激活请求也为上述实施例所描述的激活请求,在此不再赘述。具体如何生成块设备标识与上述实施例一致,例如该块设备标识是根据块设备所在的存储节点的地址生成的,在此不再赘述。
需要指出的是,步骤3a和步骤3b并无先后顺序,例如步骤3b还可以在步骤3a的前面。
步骤302,向客户端返回映射关系表,以使客户端在需要读写块设备时,通过虚拟磁盘和映射关系表生成读写请求。
主控制节点向客户端返回映射关系表,所述映射关系表仅包含了所述客户端虚拟磁盘对应的映射关系,客户端在接收到该映射关系表后进行保存,接下来,当客户端接收到虚拟磁盘读写请求时,就根据虚拟磁盘读写请求中的虚拟磁盘标识获取其对应的块设备标识,并在块设备响应其发送的块设备读写请求后直接访问块设备,即相当于直接访问实际的存储节点。能够想象到是,映射关系表中存储着块设备信息,根据块设备标识同时也就知道了块设备的其它信息,例如块设备的存储位置,因此,可以直接访问实际的存储节点。根据本实施例的虚拟存储方法,通过建立存储节点的块设备与虚拟磁盘的映射关系,能够使得在访问虚拟磁盘时直接通过映射关系访问到块设备进行读写操作,而无需经过中间层次,提高了虚拟存储的能力。
实施例六
本实施例对实施例五的虚拟存储方法做进一步补充说明。
本实施例中的虚拟存储方法还包括:对存储节点进行迁移操作,或者接收客户端的迁移请求并根据迁移请求生成迁移指令并对存储节点进行迁移操作。
所述迁移操作包括:
向源块设备发送迁移指令,迁移指令包括源块设备标识、源块设备的存储位置和目标块设备标识和目的块设备的存储位置,以指示源块设备将所源块设备中的数据复制到目标块设备中。当主控制节点发现当前虚拟磁盘与块设备的映射关系不合理时,例如,存储空间较大的块设备与较小的虚拟磁盘对应,而存储空间较小的块设备与较大的虚拟磁盘对应,或者是主控制节点想将某个块设备上所存储的数据合并到另一个块设备上时,就可以向数据当前所在的源块设备发送迁移指令,源块设备所在的存储节点当接收到该迁移指令时,就可以根据迁移指令中的目的块设备标识将数据复制到目的块设备上。
具体地,迁移指令可以采用Json格式,例如{“result”:trne,“task_list”:[{“src_tid”:2,“src_offset”:2,“dst_tid”:3,“dst_offset”:7}其中,result表示迁移任务分配是否成功,具体得,true表示成功,false表示失败,src_tid表示源块设备标识,src_offset标识偏移量,dst_tid表示目标块设备标识,dstoffet表示迁移的块在目标块设备中的偏移量。具体存储节点如何进行迁移操作与上述实施例一致,在此不再赘述。迁移操作完成后,主控制节点向客户端发送更新指令,以使客户端根据该更新指令更新映射关系表,或者由主控制节点直接将修改后的映射关系表发送给客户端,客户端存储该映射关系表,并删除或覆盖原有的映射关系表。
可选地,本实施例的虚拟存储方法还包括:
向客户端发送删除指令,删除指令中包括虚拟磁盘的标识和客户端MAC地址,以指示客户端删除虚拟磁盘并更新映射关系表。
具体客户端如何进行删除操作与上述实施例一致,在此不再赘述。
根据本实施例的虚拟存储方法,通过对块设备中的数据进行迁移能够对块设备中的数据实行有效管理,以提高整个虚拟存储的性能。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
实施例七
本实施例提供一种存储节点,用于执行实施例一或实施二的虚拟存储方法
如图4所示,为根据本实施例的存储节点的结构示意图。本实施例的存储节点400具体包括:第一接收模块401和第一处理模块402。
其中,第一接收模块401用于接收客户端440根据映射关系表生成的块设备读写请求,块设备读写请求中包含块设备标识、块设备中的存储位置和读写内容;第一处理模块402与第一接收模块401连接,用于根据块设备标识定位块设备,并根据块设备中的存储位置定位数据位置,并完成对读写内容的操作。映射关系表具体包括:客户端的虚拟磁盘标识与块设备标识的映射关系以及虚拟磁盘存储位置对应于块设备中的存储位置的映射关系。
本实施例的存储节点400的具体操作方法与实施例一所描述的一致,在此不再赘述。块设备标识的生成方式与上述实施例一致,在此不再赘述。
根据本实施例的存储节点400,通过为块设备分配块设备标识,以便在客户端440进行读写操作时,直接通过包含虚拟磁盘标识和块设备标识的映射关系的映射关系表访问块设备,这样,不仅能够使客户端440无需经过中间层次直接与存储节点400进行交互,提高虚拟存储性能,还能够以较低的成本实现虚拟存储。
实施例八
本实施例对实施例七的存储节点做进一步补充说明。
如图5所示,本实施例的存储节点400还包括判断模块501、发送注册请求模块502和发送激活请求模块503。其中,判断模块501用于当存储节点400启动时,获取存储节点400的配置文件,并根据配置文件判断是否第一次连接主控制节点430,当判断结果为是时,触发发送注册请求模块502,当判断结果为否时,触发发送激活请求模块503;发送注册请求模块502与判断模块501连接,用于向主控制节点430发送注册请求;发送激活请求模块503与判断模块502连接用于向主控制节点430发送激活请求。
可选地,本实施例的存储节点400还包括:
第一接收模块401还用于接收主控制节点430发送的迁移指令,迁移指令包括源块设备的标识、源块设备的存储位置、目的块设备的标识、目的块设备的存储位置和源块设备中迁移的数据大小
第一处理模块402还用于根据迁移指令将源块设备中的数据复制到目的块设备中。
可选地,本实施例的存储节点400还包括释放模块(图中未示出),该释放模块用于释放源块设备中的数据。
可选地,本实施的存储节点还包括检测模块506,该检测模块506用于每隔预设时间,检测与主控制节点430之间是否保持通信,使得存储节点400出现异常无法完成存储时候,由主控制节点430更新客户端440的映射关系表,分配能够完成存储功能的其它存储节点。
本实施例的存储节点的具体执行方法与实施例二中所描述的一致,在此不再赘述。
根据本实施例的虚拟存储方法,在存储节点400启动时判断是否需要向主控制节点430发送注册消息,有效地避免重复发送注册消息的情况,减轻了主控制节点430的负担,另外,还可以通过对存储节点400的块设备进行迁移操作,能够有效管理存储节点400的存储空间,优化存储节点400的性能。
实施例九
本实施例提供一种客户端,用于执行上述任一实施例所描述的虚拟存储方法。
如图6所示,为根据本实施例的客户端的结构示意图。该客户端440包括第二接收模块601、第二处理模块602和发送模块603。
其中,第二接收模块601用于接收用户对于虚拟磁盘的读写操作;第二处理模块602与第二接收模块601连接,用于根据虚拟磁盘读写操作和映射关系表生成块设备读写请求;发送模块603与第二处理模块602连接,用于向块设备所在存储节点400发送块设备读写请求。
可选地,该客户端440还包括创建模块604和存储模块605用于创建虚拟磁盘。具体地,发送模块601还用于向主控制节点430发送虚拟磁盘的创建请求;第二接收模块602还用于接收主控制节点430返回的虚拟磁盘信息和映射关系表,虚拟磁盘信息包括虚拟磁盘标识以及与虚拟磁盘标识对应的虚拟磁盘具体内容;创建模块604与第二接收模块602连接,用于根据虚拟磁盘信息创建虚拟磁盘;存储模块605与第二接收模块602连接,用于保存主控制节点430返回的虚拟磁盘信息和映射关系表。
更为具体地,第二处理模块602包括判断子模块620和生成子模块621。其中,判断子模块620用于判断读写操作是否指向不同的块设备,如果是,则触发生成子模块621;生成子模块621与判断子模块620连接,用于根据读写操作和映射关系表生成不同块设备的读写请求。
本实施例的客户端440的操作具体与上述实施例一致,在此不再赘述。块设备标识的生成方式与上述实施例一致,在此不再赘述。根据本实施例的客户端440,通过接收主控制节点430分配的虚拟磁盘标识,创建虚拟磁盘,在后续客户进行读写操作时,直接通过包含虚拟磁盘标识和块设备标识的映射关系的映射关系表访问块设备,这样,能够使客户端440无需经过中间层次直接与存储节点进行交互,提高虚拟存储性能。
可选地,该客户端440还包括删除模块609和更新模块610。其中,删除模块609用于接收主控制节点430发送删除虚拟磁盘的删除指令,并根据删除指令删除虚拟磁盘,删除指令中包括虚拟磁盘标识和客户端地址;;更新模块610用于更新映射关系表,客户端440可以自行更新该映射关系表,也可以根据主控制节点430发送的更新后的映射关系表进行更新。
实施例十
本实施例提供一种主控制节点,用于执行上述任一实施例所描述的虚拟存储方法。
如图7所示,为根据本实施例的主控制节点的结构示意图。该主控制节点430包括建立映射关系表模块703和发送映射关系表模块704。
其中,建立映射关系表模块703用于根据客户端440的虚拟磁盘标识与块设备的块设备标识以及虚拟磁盘存储位置对应于块设备中的存储位置建立映射关系表;发送映射关系表模块704用于向客户端440返回映射关系表,以使客户端440在需要读写块设备时,通过虚拟磁盘和映射关系表生成读写请求。
可选地,本实施例的主控制节点430还包括迁移模块705和发送模块706,该迁移模块705用于生成包括源块设备标识、源块设备的存储位置、目标块设备标识和目的块设备的存储位置的迁移指令;发送模块706与迁移模块705连接,用于向源块设备发送迁移指令,以指示源块设备将所源块设备中的数据复制到目标块设备中。
可选地,该主控制节点430还包括生成删除指令模块707,该生成删除指令模块707与发送模块706连接,用于生成包含虚拟磁盘的标识和客户端MAC地址的删除指令;发送模块706还用于向客户端440发送删除指令,以指示客户端440删除虚拟磁盘并更新映射关系表。
可选地,本实施例的主控制节点430的还包括第三接收模块(图中未示出),该第三接收模块用于接收客户端创建虚拟磁盘的创建请求,该创建请求中包含虚拟磁盘信息,并根据该创建请求为客户端分配虚拟磁盘信息和虚拟磁盘标识。该第三接收模块还可以用于接收存储节点发送的注册请求或激活请求,并当接收到注册请求时,为存储节点中的块设备分配块设备标识。具体如何分配虚拟磁盘信息、虚拟磁盘标识和块设备标识与上述实施例一致,在此不再赘述。
本实施例的主控制节点430的具体操作方式与上述实施例一致,在此不再赘述。块设备标识的生成方式与上述实施例一致,在此不再赘述。
根据本实施例的主控制节点430,通过建立存储节点400的块设备与虚拟磁盘的映射关系,能够使得客户端440在访问虚拟磁盘时直接通过映射关系访问到块设备进行读写操作,而无需经过中间层次,提高了虚拟存储的能力。
本实施例还提供一种虚拟存储系统,包括根据以上任一实施例的存储节点、根据以上任一实施例的客户端以及根据以上任一实施例的主控制节点。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (31)

1.一种虚拟存储方法,其特征在于,包括:
存储节点接收客户端根据映射关系表生成的块设备读写请求,所述块设备读写请求中包含块设备标识、块设备中的存储位置和读写内容;
存储节点根据所述块设备标识定位块设备,并根据所述块设备中的存储位置定位数据位置,并完成对所述读写内容的操作。
2.根据权利要求1所述的虚拟存储方法,其特征在于,所述映射关系表具体包括:
所述客户端的虚拟磁盘标识与所述块设备标识的映射关系;
还包括所述虚拟磁盘存储位置对应于块设备中的存储位置的映射关系。
3.根据权利要求1或2所述的虚拟存储方法,其特征在于,当所述存储节点启动时,所述方法还包括:
获取所述存储节点的配置文件;
根据所述配置文件,判断是第一次连接所述主控制节点,则向所述主控制节点发送注册请求,否则向所述主控制节点发送激活请求。
4.根据权利要求3所述虚拟存储方法,其特征在于,在向所述主控制节点发送注册请求之后,还包括:
接收所述主控制节点为所述存储节点中的块设备分配的块设备标识。
5.根据权利要求3所述虚拟存储方法,其特征在于,
所述激活请求中包含存储节点标识,以使所述主控制节点根据所述存储节点标识重新获取自身存储的对应块设备信息。
6.根据权利要求1~5任一所述的虚拟存储方法,其特征在于,所述方法还包括:
所述存储节点接收所述主控制节点发送的迁移指令,所述迁移指令包括源块设备的标识、源块设备的存储位置、目的块设备的标识、目的块设备的存储位置和源块设备中迁移的数据大小;
所述存储节点根据所述迁移指令降所述源块设备中的数据复制到所述目的块设备中。
7.根据权利要求6所述的虚拟存储方法,其特征在于,存储节点在执行所述迁移指令过程中,收到客户端的块设备写请求时,还包括:
所述存储节点响应块设备写请求;
在所述目的块设备的存储位置基础上计算增加迁移的数据大小后的迁移后的存储位置,并根据所述迁移后的存储位置执行所述块设备写请求。
8.根据权利要求1~7中任一项所述的虚拟存储方法,其特征在于,在存储节点建立完与主控制节点连接后,还包括:
每隔预设时间,检测与所述主控制节点之间是否保持通信,使得所述存储节点出现异常无法完成存储时候,由所述主控制节点更新所述客户端的映射关系表,分配能够完成存储功能的其它存储节点。
9.一种虚拟存储方法,其特征在于,包括:
接收用户对于虚拟磁盘的读写操作,并根据所述虚拟磁盘读写操作和映射关系表生成块设备读写请求,所述块设备读写请求包括所所述块设备标识、块设备的存储位置和读写内容;
向所述块设备所在存储节点发送所述块设备读写请求,使得存储节点能够根据所述块设备读写请求中的设备标识定位所述块设备,并依据块设备读写请求中的存储位置和读写内容完成读写内容的操作。
10.根据权利要求9所述的虚拟存储方法,其特征在于,所述虚拟磁盘的由用户申请创建,其创建过程具体包括:
向主控制节点发送虚拟磁盘的创建请求;
接收并保存所述主控制节点返回的虚拟磁盘信息和所述映射关系表;
根据所述虚拟磁盘信息创建所述虚拟磁盘。
11.根据权利要求9所述的虚拟存储方法,其特征在于,所述接收用户对于虚拟磁盘的读写操作,并根据所述虚拟磁盘读写操作和所述映射关系表生成块设备读写请求具体包括:
判断所述读写操作是否指向不同的块设备,如果是,则根据所述读写操作和映射关系表生成不同块设备的读写请求。
12.根据权利要求9~11中任一项所述的虚拟存储方法,其特征在于,所述方法还包括:
接收所述主控制节点发送删除虚拟磁盘的删除指令,并根据所述删除指令删除所述虚拟磁盘,所述删除指令中包括虚拟磁盘标识和客户端地址标识;
更新客户端中存储的所述映射关系表。
13.根据权利要求10~12任一所述的虚拟存储方法,其特征在于,所述创建清求包括所述客户端的IP地址、客户端的MAC地址和/或所述虚拟磁盘的大小。
14.一种虚拟存储方法,其特征在于,包括:
根据客户端的虚拟磁盘标识与块设备的块设备标识以及所述虚拟磁盘存储位置对应于所述块设备中的存储位置建立映射关系表;
向所述客户端返回所述映射关系表,以使所述客户端在需要读写所述块设备时,通过所述虚拟磁盘和所述映射关系表生成读写请求。
15.根据权利要求14所述的虚拟存储方法,其特征在于,还包括,
对所述存储节点进行迁移操作,或者接收所述客户端的迁移请求并根据所述迁移请求生成迁移指令并对所述存储节点进行迁移操作;
所述迁移操作包括:
向源块设备发送迁移指令,所述迁移指令包括源块设备标识、源块设备的存储位置、目标块设备标识和目的块设备的存储位置,以指示所述源块设备将所源块设备中的数据复制到所述目标块设备中。
16.根据权利要求14或15所述的虚拟存储方法,其特征在于,所述映射关系表中还包括所述块设备所在存储节点的IP地址、存储节点的MAC地址、存储节点中各块设备的块设备名称和/或块设备大小。
17.根据权利要求14~16中任一项所述的虚拟存储方法,其特征在于,还包括:
向所述客户端发送删除指令,所述删除指令中包括虚拟磁盘的标识和客户端MAC地址,以指示所述客户端删除所述虚拟磁盘并更新所述映射关系表。
18.根据权利要求14~17中任一项所述的虚拟存储方法,其特征在于,在所述根据所述客户端的虚拟磁盘标识与所述块设备标识以及所述虚拟磁盘存储位置对应于块设备中的存储位置建立映射关系表之前,还包括:
为所述块设备分配所述块设备标识,所述块设备标识是根据所述块设备所在的存储节点的地址生成的。
19.一种存储节点,其特征在于,包括:
第一接收模块,用于接收客户端根据映射关系表生成的块设备读写请求,所述块设备读写请求中包含块设备标识、块设备中的存储位置和读写内容;
第一处理模块,用于根据所述块设备标识定位块设备,并根据所述块设备中的存储位置定位数据位置,并完成对所述读写内容的操作。
20.根据权利要求19所述的存储节点,其特征在于,所述映射关系表具体包括:
所述客户端的虚拟磁盘标识与所述块设备标识的映射关系以及所述虚拟磁盘存储位置对应于块设备中的存储位置的映射关系。
21.根据权利要求19或20所述的存储节点,其特征在于,所述存储节点还包括:
判断模块,用于当所述存储节点启动时,获取所述存储节点的配置文件,并根据所述配置文件判断是否第一次连接所述主控制节点,当判断结果为是时,触发发送注册请求模块,当判断结果为否时,触发发送激活请求模块;
所述发送注册请求模块,用于向所述主控制节点发送注册请求;
所述发送激活请求模块,用于向所述主控制节点发送激活请求。
22.根据权利要求19~21中任一项所述的存储节点,其特征在于,还包括:
所述第一接收模块,还用于接收所述主控制节点发送的迁移指令,所述迁移指令包括源块设备的标识、源块设备的存储位置、目的块设备的标识、目的块设备的存储位置和源块设备中迁移的数据大小;
所述第一处理模块,还用于根据所述迁移指令将所述源块设备中的数据复制到所述目的块设备中。
23.根据权利要求19~22中任一项所述的存储节点,其特征在于,还包括:
检测模块,用于每隔预设时间,检测与所述主控制节点之间是否保持通信,使得存储节点出现异常无法完成存储时候,由主控制节点更新客户端的映射关系表,分配能够完成存储功能的其它存储节点。
24.一种客户端,其特征在于,包括:
第二接收模块,用于接收用户对于虚拟磁盘的读写操作;
第二处理模块,用于根据所述虚拟磁盘读写操作和所述映射关系表生成块设备读写请求;
发送模块,用于向所述块设备所在存储节点发送所述块设备读写请求。
25.根据权利要求24所述的客户端,其特征在于,所述客户端还包括创建模块和存储模块用于创建虚拟磁盘,包括:
所述发送模块,还用于向主控制节点发送虚拟磁盘的创建请求;
所述第二接收模块,还用于接收主控制节点返回的虚拟磁盘信息和映射关系表,所述虚拟磁盘信息包括所述虚拟磁盘标识以及与所述虚拟磁盘标识对应的虚拟磁盘具体内容;
存储模块,用于保存所述主控制节点返回的虚拟磁盘信息和所述映射关系表;
创建模块,用于根据所述虚拟磁盘信息创建所述虚拟磁盘。
26.根据权利要求24所述的客户端,其特征在于,所述客户端还包括删除模块和更新模块,其中:
删除模块,用于接收所述主控制节点发送删除虚拟磁盘的删除指令,并根据所述删除指令删除所述虚拟磁盘,所述删除指令中包括虚拟磁盘标识和客户端地址;
更新模块,用于更新所述映射关系表。
27.根据权利要求24~26中任一项所述的客户端,其特征在于,所述第二处理模块包括:
判断子模块,用于判断所述读写操作是否指向不同的块设备,如果是,则触发所述生成子模块;
生成子模块,用于根据所述读写操作和映射关系表生成不同块设备的读写请求。
28.一种主控制节点,其特征在于,包括:
建立映射关系表模块,用于根据客户端的虚拟磁盘标识与块设备的块设备标识以及所述虚拟磁盘存储位置对应于所述块设备中的存储位置建立映射关系表;
发送映射关系表模块,用于向所述客户端返回所述映射关系表,以使所述客户端在需要读写所述块设备时,通过所述虚拟磁盘和所述映射关系表生成读写请求。
29.根据权利要求28所述的主控制节点,其特征在于,所述主控制节点还包括迁移模块和发送模块,其中:
迁移模块,用于生成包括源块设备标识、源块设备的存储位置、目标块设备标识和目的块设备的存储位置的迁移指令;
发送模块,用于向所述源块设备发送迁移指令,以指示所述源块设备将所源块设备中的数据复制到所述目标块设备中。
30.根据权利要求28或29所述的主控制节点,其特征在于,所述主控制节点还包括删除指令模块,其中:
生成删除指令模块,用于生成包含虚拟磁盘的标识和客户端MAC地址的删除指令;
所述发送模块,还用于向所述客户端发送删除指令,以指示所述客户端删除所述虚拟磁盘并更新所述映射关系表。
31.一种虚拟存储系统,包括根据权利要求20~23任一项所述的存储节点、根据权利要求24~27任一项所述的客户端以及根据权利要求28~30任一项所述的主控制节点。
CN201210215699.4A 2012-06-27 2012-06-27 虚拟存储方法及设备 Active CN103516755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210215699.4A CN103516755B (zh) 2012-06-27 2012-06-27 虚拟存储方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210215699.4A CN103516755B (zh) 2012-06-27 2012-06-27 虚拟存储方法及设备

Publications (2)

Publication Number Publication Date
CN103516755A true CN103516755A (zh) 2014-01-15
CN103516755B CN103516755B (zh) 2017-07-14

Family

ID=49898782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210215699.4A Active CN103516755B (zh) 2012-06-27 2012-06-27 虚拟存储方法及设备

Country Status (1)

Country Link
CN (1) CN103516755B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017107886A1 (zh) * 2015-12-23 2017-06-29 华为技术有限公司 一种ip硬盘之间传输数据的方法和装置
CN104020961B (zh) * 2014-05-15 2017-07-25 深信服科技股份有限公司 分布式数据存储方法、装置及系统
WO2018137217A1 (zh) * 2017-01-25 2018-08-02 华为技术有限公司 一种数据处理的系统、方法及对应装置
CN108733402A (zh) * 2018-05-17 2018-11-02 云宏信息科技股份有限公司 快速制作vdisk文件的方法及装置
CN109146189A (zh) * 2018-08-30 2019-01-04 上海与德科技有限公司 增加储物信息处理方法、电子设备以及计算机可读存介质
CN109274721A (zh) * 2018-08-24 2019-01-25 南京壹进制信息技术股份有限公司 一种基于虚拟磁盘映射的LAN-free传输方法及系统
CN109885403A (zh) * 2019-01-29 2019-06-14 努比亚技术有限公司 一种数据管理方法、移动终端和计算机可读存储介质
CN110602072A (zh) * 2019-08-30 2019-12-20 视联动力信息技术股份有限公司 一种虚拟磁盘访问方法及装置
CN112511634A (zh) * 2020-12-02 2021-03-16 北京邮电大学 一种数据获取方法、装置、电子设备及存储介质
CN112684978A (zh) * 2020-12-23 2021-04-20 北京浪潮数据技术有限公司 一种存储设备的存储路径选择方法、系统及装置
CN113641467A (zh) * 2021-10-19 2021-11-12 杭州优云科技有限公司 一种虚拟机的分布式块存储实现方法
WO2024045407A1 (zh) * 2022-09-02 2024-03-07 麒麟软件有限公司 虚拟磁盘安全存储方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101692239A (zh) * 2009-10-19 2010-04-07 浙江大学 一种分布式文件系统元数据分配方法
US20100274969A1 (en) * 2009-04-23 2010-10-28 Lsi Corporation Active-active support of virtual storage management in a storage area network ("san")
CN102014158A (zh) * 2010-11-29 2011-04-13 北京兴宇中科科技开发股份有限公司 一种云存储服务客户端高效细粒度数据缓存系统与方法
CN101296238B (zh) * 2008-06-17 2011-04-20 杭州华三通信技术有限公司 一种保持安全套接层会话持续性的方法及设备
CN102084360A (zh) * 2008-04-06 2011-06-01 弗森-艾奥公司 用于确认从数据存储设备读取正确的数据段的装置、系统和方法
CN102255962A (zh) * 2011-07-01 2011-11-23 成都市华为赛门铁克科技有限公司 一种分布式存储方法、装置和系统
CN102685123A (zh) * 2012-05-04 2012-09-19 安科智慧城市技术(中国)有限公司 一种基于云存储发布流媒体的装置、系统及方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102084360A (zh) * 2008-04-06 2011-06-01 弗森-艾奥公司 用于确认从数据存储设备读取正确的数据段的装置、系统和方法
CN101296238B (zh) * 2008-06-17 2011-04-20 杭州华三通信技术有限公司 一种保持安全套接层会话持续性的方法及设备
US20100274969A1 (en) * 2009-04-23 2010-10-28 Lsi Corporation Active-active support of virtual storage management in a storage area network ("san")
CN101692239A (zh) * 2009-10-19 2010-04-07 浙江大学 一种分布式文件系统元数据分配方法
CN102014158A (zh) * 2010-11-29 2011-04-13 北京兴宇中科科技开发股份有限公司 一种云存储服务客户端高效细粒度数据缓存系统与方法
CN102255962A (zh) * 2011-07-01 2011-11-23 成都市华为赛门铁克科技有限公司 一种分布式存储方法、装置和系统
CN102685123A (zh) * 2012-05-04 2012-09-19 安科智慧城市技术(中国)有限公司 一种基于云存储发布流媒体的装置、系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王伟: "《存储的进化:云存储解决方案》", 《通信世界》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104020961B (zh) * 2014-05-15 2017-07-25 深信服科技股份有限公司 分布式数据存储方法、装置及系统
WO2017107886A1 (zh) * 2015-12-23 2017-06-29 华为技术有限公司 一种ip硬盘之间传输数据的方法和装置
US11489919B2 (en) 2017-01-25 2022-11-01 Huawei Technologies Co., Ltd. Method, apparatus, and data processing system including controller to manage storage nodes and host operations
WO2018137217A1 (zh) * 2017-01-25 2018-08-02 华为技术有限公司 一种数据处理的系统、方法及对应装置
CN108701004A (zh) * 2017-01-25 2018-10-23 华为技术有限公司 一种数据处理的系统、方法及对应装置
CN108733402A (zh) * 2018-05-17 2018-11-02 云宏信息科技股份有限公司 快速制作vdisk文件的方法及装置
CN109274721A (zh) * 2018-08-24 2019-01-25 南京壹进制信息技术股份有限公司 一种基于虚拟磁盘映射的LAN-free传输方法及系统
CN109274721B (zh) * 2018-08-24 2021-03-16 南京壹进制信息科技有限公司 一种基于虚拟磁盘映射的LAN-free传输方法及系统
CN109146189A (zh) * 2018-08-30 2019-01-04 上海与德科技有限公司 增加储物信息处理方法、电子设备以及计算机可读存介质
CN109885403A (zh) * 2019-01-29 2019-06-14 努比亚技术有限公司 一种数据管理方法、移动终端和计算机可读存储介质
CN110602072A (zh) * 2019-08-30 2019-12-20 视联动力信息技术股份有限公司 一种虚拟磁盘访问方法及装置
CN112511634A (zh) * 2020-12-02 2021-03-16 北京邮电大学 一种数据获取方法、装置、电子设备及存储介质
CN112684978A (zh) * 2020-12-23 2021-04-20 北京浪潮数据技术有限公司 一种存储设备的存储路径选择方法、系统及装置
CN112684978B (zh) * 2020-12-23 2024-02-13 北京浪潮数据技术有限公司 一种存储设备的存储路径选择方法、系统及装置
CN113641467A (zh) * 2021-10-19 2021-11-12 杭州优云科技有限公司 一种虚拟机的分布式块存储实现方法
CN113641467B (zh) * 2021-10-19 2022-02-11 杭州优云科技有限公司 一种虚拟机的分布式块存储实现方法
WO2024045407A1 (zh) * 2022-09-02 2024-03-07 麒麟软件有限公司 虚拟磁盘安全存储方法

Also Published As

Publication number Publication date
CN103516755B (zh) 2017-07-14

Similar Documents

Publication Publication Date Title
CN103516755A (zh) 虚拟存储方法及设备
US11340672B2 (en) Persistent reservations for virtual disk using multiple targets
US10769024B2 (en) Incremental transfer with unused data block reclamation
US8090917B2 (en) Managing storage and migration of backup data
US9170892B2 (en) Server failure recovery
CN101799743B (zh) 用于逻辑卷管理的方法和装置
US10013166B2 (en) Virtual tape library system
CN105516230B (zh) 一种数据处理方法及装置
JP2007219611A (ja) バックアップ装置及びバックアップ方法
CN102202087A (zh) 一种标识存储设备的方法及系统
CN105095103A (zh) 用于云环境下的存储设备管理方法和装置
CN105573872B (zh) 数据存储系统的硬盘维护方法和装置
CN113505027B (zh) 业务系统备份方法、装置、设备及存储介质
CN103856511A (zh) 数据包上传方法、客户端、节点、信息服务器及系统
US20170220258A1 (en) Resilient implementation of client file operations and replication
CN110321077B (zh) 一种集中存储文件的管理方法及装置
CN107038094A (zh) 一种数据备份方法及装置
US8533539B2 (en) Fault handling systems and methods
JP4994128B2 (ja) ストレージシステムとストレージシステムにおける管理方法
CN106559439B (zh) 一种业务处理方法及设备
US10691369B2 (en) Pool partner based replication
JP5982826B2 (ja) 環境構築装置、環境登録装置、環境切替装置、環境構築方法、環境登録方法、環境切替方法、環境構築プログラム、環境登録プログラム、及び環境切替プログラム
JP6891603B2 (ja) バックアップシステム、ストレージ装置、データ転送方法及びプログラム
WO2019220480A1 (ja) 監視装置、監視方法及びプログラム
CN115065630B (zh) 虚拟路由器的迁移方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant