一种虚拟存储方法和设备的制作方法

文档序号:6468897阅读:158来源:国知局
专利名称:一种虚拟存储方法和设备的制作方法
技术领域
本发明实施例涉及网络存储技术领域,特别涉及一种虚拟存储方法和设备。
背景技术
随着数据存储需求的不断增大,存储方式由服务器主机内置硬盘发展到
专有的存储设备即网络存储,网络存储的主流为SAN( Storage Attach Network,网络附加存储)这种存储架构,由SAN存储设备(存储;兹盘阵列)按照需要划分出LUN (Logical Unit,逻辑单元)映射给服务器主机使用。
由于主机架构的区别,操作系统的差异,并且存储设备没有统一的标准,因此在经过一段时间的使用以后,要对现有存储设备的逻辑环境重新规划是非常复杂的 一方面要保证较少中断甚至不中断现有生产数据的业务,另一方面要保证存储数据的安全,并且或许需要更多的设备、时间、网络带宽来完成数据的迁移。
在这种需求下,现有技术多采用存储虚拟化的解决方案,存储虚拟化设备位于SAN架构的网络层(服务器主机和SAN存储设备之间),接管原有的I(Input,输入)/0 ( Output,输出)流向,向上可以连接多台服务器主机,向下可以连接多台SAN存储设备,屏蔽服务器主机和存储磁盘阵列之间的差异。但是现有的存储虚拟化设备并不能屏蔽服务器主机的差异,以及不同系统平台巻管理方式的差异。

发明内容
本发明实施例^^供一种虛拟存储方法和设备,以实现存储融合,屏蔽不同主机之间的差异性。
本发明实施例一方面提供一种虛拟存储方法,包括录在拼接数据中;
根据所述LUN和所述拼接数据构造虚拟LUN,将所述虛拟LUN映射给主才几进4于读写"i方问;
在接收到主机下发的输入/输出1/0数据包之后,根据所述拼接数据修改所述I/0数据包的目的地址,将所述I/0数据包下发到所述虛拟LUN,并根据所述拼接数据将下发到所述虛拟LUN的I/O数据包下发到存储阵列,所述1/0数据包下发到存储阵列的位置与所述1/0数据包修改前的目的地址相同。另一方面,本发明实施例一种虛拟化设备,包括获取模块,用于获取来自存储阵列的逻辑单元LUN的巻管理方式;记录模块,用于将所述获取模块获取的巻管理方式记录在拼接数据中;拼接模块,用于根据所述LUN和所述记录模块获得的拼接数据构造虚拟LUN,将所述虛拟LUN映射给主机进行读写访问;
1/0数据包处理模块,用于在接收到主机下发的1/0数据包之后,根据所述记录模块获得的拼接数据修改所述I/O数据包的目的地址,将所述I/O数据包下发到所述虛拟LUN,并根据所述拼接数据将下发到所述虚拟LUN的I/O数据包下发到存储阵列,所述I/O数据包下发到存储阵列的地址与所述I/O数据包修改前的目的地址相同。
与现有技术相比,本发明实施例具有以下优点通过本发明实施例,虚拟化设备将来自存储阵列的LUN的巻管理方式记录在拼接数据中,根据该LUN和该拼接凄t据构造虛拟LUN,将虚拟LUN映射给主机进行读写访问。在接收到主机下发的I/O数据包之后,根据拼接数据修改1/0数据包的目的地址,将I/O数据包下发到虛拟LUN,并根据拼接数据将下发到虛拟LUN的I/O数据包下发到存储阵列,该I/O数据包下发到存储阵列的地址与该I/O数据包修改前的目的地址相同。本发明实施例实现了存储融合,可以屏蔽不同主机、以及来自不同系统平台巻管理方式的差异性。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种虛拟存储方法的流程图;图2为不同操作系统的巻管理方式示意图;图3为本发明实施例I/O数据包处理示意图;图4为本发明实施例一种虛拟化设备的结构图;图5为本发明实施例另一种虚拟化设备的结构图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种虛拟存储方法,能够屏蔽不同主机、不同存储阵列之间的差异性,并能够保护用户原有的数据不改变原有数据内容,不改变原有数据的存放位置;把虛拟化设备从现有存储组网中拔出时可以回复原
有的组网形态和数据存储形式,不影响原有的存储环境,并且不需要在原有组网的服务器主机上安装其它功能性软件,不占用服务器主机的资源。
如图l所示,为本发明实施例一种虛拟存储方法的流程图,包括步骤S101,获取来自存储阵列的LUN的巻管理方式,将该巻管理方式记录在拼接数据中。
通常主流的服务器主机操作系统平台都提供了巻(磁盘)管理方式,不同操作系统的巻管理方式相互之间是不兼容的,如图2所示,其中Windows和Linux共用MBR ( Master Boot Record,主引导记录)的形式来管理巻(磁盘)、Solaris采用VTOC (Volume Table of Contents,目录巻表)的形式来管理巻(磁盘),上述操作系统的配置数据都存放在巻(磁盘)前端第一个扇区中;
6而AIX ( Avanced Interactive eXcutive,高级交互执行)、HP - UX等UNIX系统使用LVM ( Logical Volumn Manager,逻辑巻管理)的巻管理软件来管理巻(磁盘),上述UNIX操作系统将巻管理方式存放在巻(磁盘)的末尾。
本发明实施例中,当虚拟化设备发现了来自于存储阵列的一个LUN时,如果该LUN是一个已经被使用过的包含有数据的LUN,则虚拟化设备根据来自存储阵列的逻辑单元LUN的标志位,确定LUN的巻管理方式,根据不同的巻管理方式读取LUN的分区信息,根据LUN的分区信息获得该LUN的巻管理方式,并将该LUN的巻管理方式记录在拼接数据中。
步骤S102,根据LUN和拼接数据构造虛拟LUN,将该虛拟LUN映射给主#几进行读写访问。
其中,根据LUN和拼接数据构造虛拟LUN具体可以为(1 )读取来自存储阵列的LUN的标志位获得该LUN的分区信息;(2 )在虛拟化设备或存储阵列中分配用于保存拼接数据的存储空间;(3 )在拼接数据中写入需要持久化存储的数据结构,该数据结构包括
a、 配置信息;
b、 日志信息;
c、 版本信息;
d、 校验信息;
e、 来自存储阵列的LUN的特征码;
f、 拼接数据的大小;
g、 来自存储阵列的LUN的数据区域的大小;
h、 虛拟LUN的读写策略;
i、 备份信息,为了确保拼接数据的安全性,所有拼接数据都会同时
保存备份。
其中,将虛拟LUN映射给主机进行读写访问具体可以为在构造虛拟LUN之后,使用Target (目标)模块将该虚拟LUN映射给主机进行读写访问。Target斗莫块又名启动器,用于对SCSI( Small Computer SystemInterface,小型计算机系统接口 )协议进行封装,包括FC ( Fiber Channel,光纤4言道)Target和iSCSI (internet Small Computer System Interface,因净争网小 型计算机系统接口 ) Target两种。
步骤S103,在接收到主机下发的1/0数据包之后,根据拼接数据修改1/0 数据包的目的地址,将I/O数据包下发到所述虛拟LUN,并根据拼接数据将 下发到虚拟LUN的I/O数据包下发到存储阵列,该I/O数据包下发到存储阵 列的地址与该I/O数据包修改前的目的地址相同。其中,本发明实施例中的主 机可以为HP-UX小型机平台、AIX 'J、型机平台、Solaris d、型机平台或PC Server (服务器)等。
具体地,如图3所示,在接收到主机下发的I/0数据包之后,虚拟化设备根 据拼接数据修改I/0数据包的目的地址,将I/0数据包下发到虛拟LUN中,把对 原阵列上的访问虛拟化成对虚拟LUN的访问,该处理能够屏蔽不同主机平台 的巻管理方式带来的差异性。
在SAN (网络附加存储)存储架构中,I/O数据包途经网络层到达存储阵
行修改,实现了带内的1/0接管方式,1/0数据包通过主机发向网络交换设备, 再由网路交换设备发向虚拟化设备,再由虛拟化设备处理I/O数据包以后发向 存储阵列。从而可以实现对来自不同应用环境的LUN进行虛拟化管理。
本发明实施例中,拼接数据可以保存在存储阵列的LUN中,例如在存 储阵列中配置专门的LUN存放拼接数据;或者,将拼接数据保存在虛拟化设 备中。
上述虛拟存储方法,虚拟化设备将来自存储阵列的LUN的巻管理方式记 录在拼接数据中,才艮据该LUN和该拼接数据构造虚拟LUN,将虛拟LUN映 射给主机进行读写访问。在接收到主机下发的1/0数据包之后,根据拼接数据 修改I/0数据包的目的地址,将I/0数据包下发到虛拟LUN,并根据拼接数 据将下发到虛拟LUN的I/O数据包下发到存储阵列,该I/O数据包下发到存 储阵列的地址与I/O数据包修改前的目的地址相同。本发明实施例实现了存储 融合,可以屏蔽不同主机、以及来自不同系统平台巻管理方式的差异性。
如图4所示,为本发明实施例一种虚拟化设备的结构图,包括
8获取模块41,用于获取来自存储阵列的LUN的巻管理方式; 记录模块42,用于将获取模块41获取的巻管理方式记录在拼接数据中; 拼接模块43,用于根据LUN和记录模块42获得的拼接数据构造虚拟 LUN,将虛拟LUN映射给主机进行读写访问;
1/0数据包处理模块44,用于在接收到主机下发的1/0数据包之后,根据 记录模块42获得的拼接数据修改I/O数据包的目的地址,将I/O数据包下发 到拼接模块43构造的虚拟LUN,并根据拼接数据将下发到虛拟LUN的I/O 数据包下发到存储阵列,该I/O数据包下发到存储阵列的地址与I/O数据包修 改前的目的地址相同。
上述拼接模块43具体用于读取来自存储阵列的LUN的标志位获得该 LUN的分区信息,在虚拟化设备或存储阵列中分配用于保存拼接数据的存储 空间,并在所述拼接数据中写入需要持久化存储的数据结构,构造虚拟LUN。 然后,拼接模块43使用Target模块将上述虛拟LUN映射给主机进行读写访 问。
其中,如图5所示,获取模块41可以包括
读取子模块411 ,用于根据来自存储阵列的LUN的标志位,读取LUN的 分区信息;
巻管理方式获得子模块412,用于根据读取子模块411读取的分区信息获 得LUN的巻管理方式。
该虛拟化设备还可以包括
保存模块45,用于保存记录模块42获得的拼接数据。 上述虛拟化设备,记录模块42将获取模块41获取的来自存储阵列的LUN 的巻管理方式记录在拼接数据中,拼接模块43根据该LUN和该拼接数据构 造虛拟LUN,将虛拟LUN映射给主机进行读写访问。1/0数据包处理模块44 在接收到主机下发的1/0数据包之后,根据拼接数据修改I/0数据包的目的地 址,将I/O数据包下发到虛拟LUN,并根据拼接数据将下发到虛拟LUN的I/O 数据包下发到存储阵列,该1/0数据包下发到存储阵列的地址与1/0数据包修
改前的目的地址相同。该处理能够屏蔽不同主机平台的巻管理方式带来的差
9异性,从而可以实现对来自不同应用环境的LUN进行虚拟化管理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可以通过硬件实现,也可以可借助软件加必要的通用硬件平台的方式来实 现基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该
软件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动 硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的 模块或流程并不 一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述 进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一 个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆 分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此, 任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种虚拟存储方法,其特征在于,包括获取来自存储阵列的逻辑单元LUN的卷管理方式,将所述卷管理方式记录在拼接数据中;根据所述LUN和所述拼接数据构造虚拟LUN,将所述虚拟LUN映射给主机进行读写访问;在接收到I/O数据包之后,根据所述拼接数据修改所述I/O数据包的目的地址,将所述I/O数据包下发到所述虚拟LUN,并根据所述拼接数据将下发到所述虚拟LUN的I/O数据包下发到存储阵列,所述I/O数据包下发到存储阵列的地址与所述I/O数据包修改前的目的地址相同。
2、 如权利要求l所述的方法,其特征在于,所述获取来自存储阵列的逻 辑单元LUN的巻管理方式包括根据来自存储阵列的逻辑单元LUN的标志位,.读取所述LUN的分区信自.根据所述分区信息获得所述LUN的巻管理方式。
3、 如权利要求2所述的方法,其特征在于,所述根据来自存储阵列的逻 辑单元LUN的标志位,读取所述LUN的分区信息具体包括确定所述来自存储阵列的LUN包含有数据,根据所述LUN的标志位, 确定所述LUN的巻管理方式;根据所述LUN的巻管理方式读取所述LUN的分区信息。
4、 如权利要求l所述的方法,其特征在于,所述拼接数据保存在存储阵 列的LUN中;或者,所述拼接数据保存在虚拟化设备中。
5、 如权利要求1或4所述的方法,其特征在于,所述根据LUN和拼接 数据构造虛拟LUN具体包括读取所述来自存储阵列的LUN的标志位获得所述LUN的分区信息,在在所述拼接数据中写入需要持久化存储的数据结构,构造所述虛拟LUN。
6、 如权利要求1所述的方法,其特征在于,所述将所述虚拟LUN映射 给主机进行读写访问具体包括使用目标Target模块将所述虚拟LUN映射给主机进行读写访问。
7、 一种虚拟化设备,其特征在于,包括获取模块,用于获取来自存储阵列的逻辑单元LUN的巻管理方式; 记录模块,用于将所述获取模块获取的巻管理方式记录在拼接数据中; 拼接模块,用于根据所述LUN和所述记录模块获得的拼接数据构造虛拟 LUN,将所述虚拟LUN映射给主机进行读写访问;1/0数据包处理模块,用于在接收到主机下发的I/0数据包之后,根据所述记录模块获得的拼接数据修改所述I/O数据包的目的地址,将所述I/O数据 包下发到所述虛拟LUN,并根据所述拼接数据将下发到所述虛拟LUN的I/O 数据包下发到存储阵列,所述I/O数据包下发到存储阵列的地址与所述I/O数 据包修改前的目的地址相同。
8、 如权利要求7所述虚拟化设备,其特征在于,所述获取模块包括 读取子模块,用于根据来自存储阵列的LUN的标志位,读取所述LUN的分区信息;巻管理方式获得子模块,用于根据所述读取子模块读取的分区信息获得 所述LUN的巻管理方式。
9、 如权利要求7所述虚拟化设备,其特征在于,还包括 保存模块,用于保存所述记录模块获得的拼接数据。
全文摘要
本发明实施例公开了一种虚拟存储方法和设备,所述虚拟存储方法包括获取来自存储阵列的逻辑单元LUN的卷管理方式,将所述卷管理方式记录在拼接数据中;根据所述LUN和所述拼接数据构造虚拟LUN,将所述虚拟LUN映射给主机进行读写访问;在接收到主机下发的输入I/输出O数据包之后,根据所述拼接数据修改所述I/O数据包的目的地址,将所述I/O数据包下发到所述虚拟LUN,并根据所述拼接数据将下发到所述虚拟LUN的I/O数据包下发到存储阵列,所述I/O数据包下发到存储阵列的位置与所述I/O数据包修改前的目的地址相同。本发明实施例实现了存储融合,可以屏蔽不同主机、以及来自不同系统平台卷管理方式的差异性。
文档编号G06F3/06GK101477444SQ200810188018
公开日2009年7月8日 申请日期2008年12月29日 优先权日2008年12月29日
发明者李熠斌 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1