构建基于分区管理的虚拟存储设备的计算机系统及方法

文档序号:6471035阅读:184来源:国知局
专利名称:构建基于分区管理的虚拟存储设备的计算机系统及方法
技术领域
本发明涉及一种计算机虚拟化技术,确切地说,涉及一种构建基于分区管 理的虚拟存储设备的计算机系统和方法,属于计算机存储虚拟化技术领域。
背景技术
目前,业界广泛应用的现代计算机的硬件都包含中央处理器(Central Processing Unit )、内存(Main Memory )和存储设备(Storage )。作为一种现 代计算机,采用x86中央处理器的计算机发展非常迅速,x86中央处理器现在 已经发展到了 64位(被称为x86_64或x64 )。这类计算机早已突破了个人使 用的范畴,大量进入数据中心和工业控制等产业领域。因为这类计算机都采用 x86 (含x64 )体系结构的中央处理器,人们将这类计算机称为x86计算机。本 发明也把这些计算机统称为x86计算机。
X86计算机中,最常见的存储设备是硬盘(Hard Disk Drive )。硬盘刚出现 时,采用柱面-磁头-扇区(Cylinder-Head-Sector )寻址方式。由于硬盘不断发展, 硬盘容量的不断增大,后来硬盘改进为采用以扇区为单位进行寻址,常用的是 逻辑块寻址(Logical Block Addressing )方式,这里不再赘述。x86计算机的硬盘是通过分区管理的,在一个硬盘上可以创建多个分区。 分区管理有很多优势,例如创建多个分区能够在不同的分区上安装相互独立 的操作系统,从而实现单机的多操作系统支持。分区管理还可以实现数据的分
区存放,在硬盘发生故障时,分区存放的数据可以降低数据损失的范围。
现在,业界已经对x86计算机上进行硬盘分区和在硬盘上记录分区信息形 成了标准,分区信息有固定的格式并记录在硬盘上的特定位置,在本发明中, 将这些标准称为分区管理规范。x86计算机的硬盘分区管理通常采用两种规范 基于主引导记录MBR( Master Boot Record )的分区管理规范和基于全球统一标 识符GUID ( Globally Universal Identifier )分区表GPT ( GUID Partition Table ) 的分区管理规范。其中,基于MBR的分区管理规范还可能使用扩展引导记录 EBR ( Extended Boot Record )来扩展硬盘支持的分区数量。本发明将只使用 MBR的分区管理和同时使用MBR与EBR的分区管理统一称为基于MBR或 MBR及EBR的分区管理。
参见图1 ,介绍最早获得业界普遍应用的、与x86计算机的基本输入输出 系统BIOS ( Basic Input Output System )搭配的基于MBR或MBR及EBR的分 区管理规范。MBR位于整个硬盘的0柱面0磁头1扇区(可视作硬盘的第一个 扇区)。MBR中的硬盘分区表(Disk Partition Table )有四个记录硬盘分区信息 的表项。硬盘的分区可以全是主分区,此时这四个表项最多可以记录四个主分 区的信息;或者硬盘可以含有一个扩展分区,那么这四个表项最多可以支持三 个主分区和一个扩展分区(如图1所示)。在扩展分区中使用EBR可以把该扩
展分区进一步划分为多个逻辑分区。在EBR中的扩展分区表也有四个表项,但 最多只用两个表项一个表项用于记录与本EBR对应的逻辑分区的信息,另一 个表项用于记录下一个EBR的信息;也就是说,多个EBR是链接成单向链表 结构的。
主分区表表项和扩展分区表表项的结构完全相同。每一个表项记录着对应 分区的各种属性,包括分区大小、分区起始偏移地址和分区类型等信息。主分 区表表项中的分区起始偏移地址用于表示该表项对应分区(主分区或扩展分区) 相对于整个硬盘起始位置的偏移地址;在扩展分区表中,记录对应逻辑分区信 息的表项中的分区起始偏移地址用于表示该表项对应的逻辑分区相对于本扩展 分区表所在的EBR起始位置的偏移地址,而记录下一个EBR信息的表项中的 分区起始偏移地址则表示下一个EBR相对于扩展分区起始位置的偏移地址。分 区表表项中的分区类型有多种,其中一些类型表示该分区是一个扩展分区,更 多的分区类型用于标识该分区上的文件系统类型,以便操作系统能够识别和访 问分区中的数据。有些类型表示分区是隐藏的,在此不做赘述。
基本输入输出系统和基于MBR或MBR及EBR的分区管理规范有很多局 限,近年来业界发展了可扩展固件接口 EFI ( Extensible Firmware Interface )来 替代基本输入输出系统,同时,作为可扩展固件接口标准一部分的基于GPT的 分区管理规范也有替代基于MBR或MBR及EBR的分区管理规范的趋势。
参见图2 ,简单介绍基于GPT的分区管理规范。基于GPT分区管理的硬盘 采用逻辑块寻址方式。硬盘的第一个扇区称为保护性主引导记录,其结构类似
于基于MBR或MBR及EBR分区管理的硬盘的第一个扇区,用于兼容原来的 MBR。 GPT包括一个分区表头和多个分区表表项(比如128个表项)。分区表 头用于记录该硬盘的相关信息包括硬盘的GUID、硬盘大小、分区表表项的 起始位置和CRC校验和等。GPT的每个分区表表项记录一个分区的信息。另 外,每个硬盘的GPT有两份主GPT和辅GPT。通常情况下,主GPT在硬盘 的开始部分,辅GPT则位于硬盘末尾作为主GPT的备份,以提高硬盘分区信 息的安全性。
GPT分区表表项的结构也与MBR分区表表项不同,GPT分区表表项包括 分区类型GUID、分区GUID、分区起始的逻辑块寻址号、分区结束的逻辑块寻 址号、属性标志以及分区名等。
需要说明的是,近年来,作为存储设备的固态硬盘(Solid State Disk)得到 了越来越广泛的使用。为了保持兼容性,固态硬盘通常也是采用如同传统硬盘 一样的分区管理规范。本发明不关心存储设备是什么具体种类,只要采用分区 管理的存储设备都在本发明的适用范围以内。
通常的计算机系统中,计算机硬件和操作系统是紧密关联的。操作系统在 启动以后,即拥有对所有计算机硬件资源的控制权;对于存储设备,操作系统 就可以访问其中的所有分区和数据。计算机虚拟化技术的出现打破了计算机硬 件和操作系统之间的强耦合关系。在计算机虚拟化技术中,被称为虚拟机监视 器(Virtual Machine Monitor )的软件可以虚拟出多个独立的虚拟机(Virtual Machine ),每个虚拟机都有自己的虚拟中央处理器、虚拟内存和虚拟存储设备,
并可以安装和运行操作系统,这种安装运行在虚拟机监视器上的操作系统称为
客操作系统(Guest Operating System )。现在,虚拟机监视器技术已经发展了 多种实现模型。下面,按照不同的体系结构,将其分为两类作简要说明。
参见图3 ,介绍第一种基于主操作系统(Host Operating System )的模型, 在计算机硬件上配设一个操作系统,它被称为主操作系统。虚拟机监视器运行 在该主操作系统上,并支撑着一个或多个虚拟机(图示结构只有一个虚拟机), 虚拟机上运行的操作系统被称为客操作系统。主操作系统可以是通用的操作系 统,例如现在广泛使用的Windows操作系统;在有些实现模型中,主操作系统 是一个专用的操作系统,其主要功能就是运行虚拟机监视器,人们把这种操作 系统和虚拟机监视器合称为超级监视器(Hypervisor )。
参见图4 ,介绍第二种虚拟机监视器直接运行在计算机硬件上的模型,在 虚拟机监视器上运行的特权的操作系统可以直接访问存储设备和其他计算机硬 件资源,这个操作系统被称为特权操作系统,虚拟机监视器之上运行的其他操 作系统不能直接访问存储设备,这些操作系统是客操作系统。
虽然上述两种模型在结构和实现方式上都有明显的不同,但是,在本发明 技术范畴内,不关心这些差异,而是将这两种模型的虚拟化计算机系统中的软 件都抽象为两种部件主域和客域。在第一种基于主操作系统的模型里,主操 作系统对计算机硬件执行控制,并管理存储设备,提供虚拟机以支撑运行客操 作系统;本发明将该主操作系统称为主域,将客操作系统称为客域。同样地, 在第二种模型中,特权操作系统和虚拟机监视器组合在一起作为主域,客操作
系统为客域。在图3和图4中,分别用粗虚线的方框划定了上述两种虚拟化计 算机系统模型中主域的结构部件组成范围。
在虚拟化的计算机系统中,主域通常用其自身管理的数据容器或数据容器 片段构成虚拟机的虚拟存储设备。所述数据容器是由主域管理的、用于存储数 据的实体,包括硬盘或固态硬盘等存储设备、存储设备分区、巻(Volume )、 设备文件或一般文件等。需要说明的是,数据容器(或数据容器片段)还能够 组合成复合数据容器。参见图5所示,主域下的四个独立的数据容器 一般文 件A、硬盘分区B、设备文件C、一般文件D,在图5中,A、 B、 C的中间片 段和D共同组成了一个用作虚拟存储设备的复合数据容器。诚然,复合数据容 器本身也是一种数据容器,可以继续参与组合,进而形成更为复杂的复合数据 容器。本发明把独立的数据容器和复合数据容器都统称为数据容器。
现代操作系统中,存储映射技术已经是一种比较成熟、并获得广泛应用的 实现复合数据容器的先进技术。例如,一般的GNU/Linux系统中的设备映射器 (Device Mapper )技术就是一种广泛使用的实现复合数据容器的映射技术。在 GNU/Linux系统的设备映射器技术中,除了能把数据容器或数据容器片段灵活 地映射组成新的复合数据容器之外,还可以在整个数据容器或数据容器片段上 使用写时拷贝(Copy-On-Write )或写时重定向(Redirect-On-Write )等技术, 用于实现数据容器或数据容器片段的快照(Snapshot),进而实现数据容器或 数据容器片段的备份、恢复和克隆等功能。因为设备映射器技术及其功能已经 为众所周知,在此不再赘述;需要说明的是,主域既可以把单个数据容器或数
据容器片段构建为虚拟机的虚拟存储设备,也可以根据需要把多个数据容器或
数据容器片段组合构建为虚拟机的虚拟存储设备(参见图5 ),并且,主域使 用快照作为数据容器或数据容器片段来构建虚拟存储设备也是可以的。
根据上述,可以看出虽然主域自身已可灵活构建虚拟机的虚拟存储设备, 但是,要真正实现主域灵活构建虚拟存储设备,还必须解决下面几个问题。
首先,在安装虚拟化的计算机系统时,通常先安装主域,然后安装客域。 具体地说,先在计算机硬件上安装主織即将主域的静态镜像保存于存储设备), 然后启动主域并在虚拟机监视器支撑的虚拟机上安装客域(即将客域的静态镜 像保存于虚拟存储设备)。例如在图5中,假设客域已经安装在虚拟存储设备 上,并在虚拟存储设备上建立了三个主分区(如图5所示),其中主分区1实 际存储在数据容器A和B上,主分区2实际存放在数据容器B和C上,而主 分区3实际存放在数据容器D上。此时,如果主域简单地把数据容器E直接放 到数据容器C和数据容器D之间形成新的虚拟存储设备时,就会产生问题,这 是因为原来的虚拟存储设备上记录的分区信息与原来的虚拟存储设备上的分区 结构是一致的,但是,它与增加数据容器E后重新生成的虚拟存储设备的分区 结构就不一致了。原来的虚拟存储设备上安装的客域就不能在该虚拟存储设备 被改变后的虚拟机上正常工作。
还有,现在的很多计算机系统通常都没有虚拟化,这种计算机系统上安装 的操作系统称为物理操作系统,物理操作系统启动后可访问整个存储设备。随 着虚拟化的流行, 一个重要的课题是如何在没有虚拟化的计算机上安装主域,
然后把存储设备上的物理操作系统直接变成客域。或者更准确地说,就是在主 域启动后,主域把含有物理操作系统的静态镜像的数据容器(通常是存储设备 分区或巻)直接或经数据容器的组合后作为虚拟机的虚拟存储设备,并且在虚
拟机里引导该镜像作为客域来运行。参见图9所示的范例,硬盘上安装了四个 主分区1、 2、 3和4 ,物理操作系统被安装在主分区1上,并使用主分区1、 2 和3。然后再将主域安装在硬盘的主分区4上,假如希望原来的物理操作系统 的镜像在虚拟机上作为客域运行时,仍然可以使用主分区l、 2和3而主分区4 是不可见的,那么主域只把原来的硬盘从开始的位置到主分区3结束位置的这 段数据容器片段作为虚拟存储设备是不够的,这是因为硬盘上MBR分区表中 的四个分区表表项中记录着四个主分区信息,这与主域构建的虚拟存储设备上 三个主分区的实际情况也是不一致的。
基于上述说明,可获悉如果主域的数据容器中已经含有了客域的数据(如 在图5示例中,主分区1、 2和3中的数据;在图9示例中,主分区1、 2和3 中的数据),那么主域在生成或改变虚拟存储设备时,就不能简单地只构成虚 拟存储设备,而必须使得虚拟存储设备中的分区信息与希望构建的虚拟存储设 备的分区结构相互一致,并且符合分区管理规范。例如在图5示例中,在把数 据容器E放到两个数据容器C和D之间构成新的虚拟存储设备的时候,就需要 在MBR的主分区表中,将记录主分区3的分区表表项中的分区起始偏移地址 进行修改,使其能够反映当前主分区3在新的虚拟存储设备中的位置。同样地,
在图9示例中,虚拟存储设备的分区表中的第四项应该设置为空,使得其分区 信息与虚拟存储设备中的三个主分区的分区结构保持一致。
总之,如何更好地解决主域能够方便、灵活地构建虚拟机的虚拟存储设备, 组成能够实际应用的虚拟化的计算机系统就成为业内科技人员关注的新焦点。

发明内容
有鉴于此,本发明的目的是提供一种构建基于分区管理的虚拟存储设备的 计算机系统及方法。在本发明系统中,主域对存储设备和数据容器进行管理, 根据需要灵活地设置数据容器或数据容器片段作为虚拟机的虚拟存储设备,并 设置虚拟机的虚拟存储设备上的分区信息,使其与虚拟存储设备的分区结构一 致,从而较好地解决了现有技术的缺陷。
为了达到上述目的,本发明提供了一种构建基于分区管理的虚拟存储设备 的计算机系统,该系统包括计算机硬件装置和在该计算机硬件装置上运行的 软件单元,所述计算机硬件装置至少设有一个基于分区管理的存储设备,所述
软件单元包括主域和客域,其中主域含有虚拟机监视器,该虚拟机监视器支撑 的虚拟机包含有虚拟存储设备;主域直接运行于计算机硬件装置上,并对存储 设备进行管理,客域运行于主域的虚拟机监视器所支撑的虚拟机上,并对虚拟 存储设备进行访问;其特征在于该系统的主域中设有虚拟存储设备构建模块, 该虚拟存储设备构建模块利用主域管理的数据容器和/或数据容器片段构成虚 拟存储设备,并负责对虚拟存储设备或构成虚拟存储设备的数据容器和/或数据
容器片段设置基于分区管理规范的分区信息,使得该虚拟存储设备具有特定的 分区管理结构。。
所述计算机硬件装置中的存储设备是硬盘或固态硬盘。
所述虚拟存储设备构建模块对其构建的所述虚拟存储设备设置符合分区管
理规范的分区信息时,有两种方案
所述虚拟存储设备构建模块在构成虚拟存储设备后,直接在该虚拟存储设 备上设置分区信息;或者直接在构成虚拟存储设备的数据容器和/或数据容器片 段的相应位置上设置分区信息,使得该虚拟存储设备的相应位置上具有相应的 分区信息。
所述虚拟存储设备构建模块对虚拟存储设备设置的分区信息与所述计算机 硬件装置的存储设备的分区信息采用相同的分区管理规范,即当所述存储设备 的分区信息是基于MBR或MBR及EBR的分区管理规范时,虚拟存储设备构 建模块对虚拟存储设备设置的分区信息也是符合基于MBR或MBR及EBR的 分区管理规范的;当所述存储设备的分区信息是基于GPT的分区管理规范时, 虚拟存储设备构建模块对虚拟存储设备设置的分区信息也是符合基于GPT的 分区管理规范的。
所述主域利用存储映射技术把数据容器和/或数据容器片段构成虚拟存储 设备,并且在构成虚拟存储设备的数据容器和/或数据容器片段上能够使用快 照。
为了达到上述目的,本发明还提供了一种采用上述计算机系统构建基于分
区管理的虚拟存储设备的方法,其特征在于在构建基于分区管理的虚拟存储 设备的计算机系统上,虚拟存储设备构建模块先读取计算机硬件装置中存储设 备的分区信息,生成相应的虚拟存储设备辅助文件,并将该虚拟存储设备辅助 文件与含有存储设备分区数据的数据容器和/或数据容器片段组合构成虚拟存 储设备;虚拟存储设备构建模块再对该虚拟存储设备设置符合分区管理规范的 分区信息,且要使该分区信息与所构建的虚拟存储设备上的分区结构相互一致, 并符合管理规范。
所述方法包括下列操作步骤
(1 )虚拟存储设备构建模块读取计算机硬件装置中存储设备的分区信息, 该分区信息包括分区在所述存储设备上的位置信息;
(2 )虚拟存储设备构建模块生成虚拟存储设备辅助文件;
(3 )虚拟存储设备构建模块把虚拟存储设备辅助文件和含有存储设备分区 数据的数据容器和/或数据容器片段组合构成虚拟存储设备。
所述步骤(2 )中,虚拟存储设备构建模块在虚拟存储设备辅助文件中直接 设置分区信息,以使在步骤(3 )中生成的虚拟存储设备上的分区信息与虚拟存 储设备上的分区结构保持一致。
所述步骤(3 )中,所述虚拟存储设备构建模块是在生成虚拟存储设备后, 再在虚拟存储设备上设置分区信息,使得分区信息与虚拟存储设备上的分区结 构保持一致。
所述方法中设置的分区信息是符合基于MBR或MBR及EBR的分区管理 规范的,或者是符合GPT的分区管理规范的。
总之,本发明提供了一种能够适用于多种虚拟化计算机系统的方便、灵活 地构建虚拟存储设备的计算机系统和方法,在本发明系统中,主域对存储设备 和数据容器进行管理时,能够根据需要灵活设置数据容器或数据容器片段作为 虚拟机的虚拟存储设备,并对虚拟机的虚拟存储设备设置分区信息,使该分区 信息与虚拟存储设备的分区结构一致,从而较好地解决了现有技术的缺陷。因 此,本发明能够大大提高客域的可管理性,具有很好的推广应用前景。


图1是采用基于MBR或MBR及EBR的分区管理规范的存储设备分区结 构示意图。
图2是采用基于GPT的分区管理规范的存储设备分区结构示意图。 图3是基于主操作系统实现的虚拟化计算机系统结构示意图。 图4是基于虚拟机监视器实现的虚拟化计算机系统结构示意图。 图5是由主域组成复合数据容器并构建虚拟存储设备的实施例示意图。 图6是本发明构建基于分区管理的虚拟存储设备的计算机系统的组成结构 示意图。
图7是本发明构建基于分区管理的虚拟存储设备的计算机系统中客域对计 算机硬件的存储设备进行访问的过程示意图。
图8是本发明计算机系统构建基于分区管理的虚拟存储设备的方法的操作 步骤流程图。
图9是基于MBR的分区管理方式下,通过虚拟存储设备辅助文件和存储 设备片段构建虚拟存储设备的实施例示意图。
图10是基于GPT的分区管理方式下,通过虚拟存储设备辅助文件和存储 设备片段构建虚拟存储设备实现的实施例示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作 进一步的详细描述。
参见图6 ,介绍本发明构建基于分区管理的虚拟存储设备的计算机系统, 该系统包括两个部分计算机硬件装置和在该计算机硬件装置上运行的软件单 元,其中计算机硬件装置300至少设有中央处理器301、内存302和一个基于 分区管理的存储设备303 (如硬盘或固态硬盘)。软件单元包括主域200和客 域100两部分。主域200直接运行在计算机硬件300装置上,主域200含有虚 拟机监视器204 ,该虚拟机监视器204支撑运行着虚拟机400。虚拟机400至少 含有虚拟中央处理器401、虚拟内存402和基于分区管理的虚拟存储设备403 , 主域200对存储设备303进行管理。客域100运行在主域的虚拟机监视器204 支撑的虚拟机400上,并对虚拟存储设备403进行访问。
本发明系统的创新之处是该系统的主域200中除了设有存储映射访问模 块202和数据容器访问模块203以外,还设有虚拟存储设备构建模块201。其 中存储映射访问模块202负责根据数据容器到虚拟存储设备的映射构成规则, 将客域对虚拟存储设备的访问请求中的访问地址转换为相对应的数据容器的相 应位置后,将该请求和地址信息一起转给数据容器访问模块,以便由数据容器 访问模块203对该相应位置的数据进行访问。虚拟存储设备构建模块201用于 根据需要通过存储映射技术把主域200上的数据容器和/或数据容器片段组建构 成为虚拟机400的虚拟存储设备403 ,并负责对虚拟存储设备403或构成虚拟 存储设备403的数据容器和/或数据容器片段设置基于分区管理规范的分区信 息,使得该虚拟存储设备403具有特定的分区结构。
虚拟存储设备构建模块201在用数据容器和/或数据容器片段来生成虚拟存 储设备403时,还要把数据容器和/或数据容器片段到虚拟存储设备的构成规则 通知给存储映射访问模块202。这样,存储映射访问模块202就能够根据虚拟 存储设备构建模块201定义的数据容器和/或数据容器片段到虚拟存储设备的映 射构成规则实现虚拟存储设备403到数据容器和/或数据容器片段的存储映射, 从而将客域100对虚拟存储设备403的访问请求中的访问地址转换为相对应的 数据容器和/或数据容器片段的相应位置后,将该请求和地址信息一起转给数据 容器访问模块203 ,以便由数据容器访问模块203对该相应位置的数据进行访 问。例如(参见图7所示),客域100对虚拟存储设备403上某个存储单元404 的访问请求,就会由存储映射访问模块202将其转换为对主域200管理的数据
容器的访问,并进而通过数据容器访问模块203访问到存储设备303上的存储 单元304 ,再依次经数据容器访问模块203、存储映射访问模块202返回访问结
本发明系统中的客域100是通用的操作系统。它运行在主域200的虚拟机 监视器204所支撑的虚拟机400上。每个客域100内设有应用101和子系统102 , 应用101是包括编辑应用、图像处理应用,游戏等的普通应用程序,子系统102 是操作系统的内核子系统。应用101和子系统102都可以对虚拟存储设备403 发起访问请求,以访问虚拟存储设备403上存储的数据。
需要说明的是,本发明中的计算机硬件装置是包括大型计算机、小型计算 机、服务器、工作站和个人计算机的各种计算机。本发明涉及的基于分区管理 的计算机硬件装置中的存储设备是硬盘或固态硬盘。另外,上述图6和图7中, 都是基于主操作系统的虚拟化模型来描述本发明构建基于分区管理的虚拟存储 设备的计算机系统,这只是便利于说明,其他计算机的虚拟化模型都在本发明 的适用范围内。
虚拟存储设备构建模块201在对其构建的虚拟存储设备403设置基于分区 管理规范的分区信息时,有两种方案 一种是虚拟存储设备构建模块201在构 成虚拟存储设备403后,直接在该虚拟存储设备403上设置分区信息;另一种 是直接在数据容器或数据容器片段上的相应位置设置分区信息,使得该数据容 器或数据容器片段构成的虚拟存储设备403的相应位置上有设置的分区信息。
通常来说,当计算机硬件装置的存储设备303是基于MBR或MBR及EBR 的分区管理规范进行分区管理时,则虚拟存储设备构建模块201对虚拟存储设 备403设置的分区信息也是符合基于MBR或MBR及EBR的分区管理规范的。
而当计算机硬件装置的存储设备303采用基于GPT规范进行分区管理时, 虚拟存储设备构建模块201对虚拟存储设备403设置的分区信息也是符合基于 GPT的分区管理规范的。
客域100对虚拟存储设备403的分区管理通常与虚拟存储设备构建模块 201设置的分区信息采用相同的分区管理规范。如果虚拟存储设备构建模块201 设置的分区信息是基于MBR或MBR及EBR的分区管理规范,那么客域通常 也采用基于MBR或MBR及EBR的分区管理;如果虚拟存储设备构建模块设 置的分区信息是基于GPT的分区管理规范的,那么客域也采用基于GPT的分 区管理。
下面介绍本发明适用的一个典型情形。计算机硬件装置的存储设备通常设 有多个分区,人们希望把这些分区中的一部分让客域访问,并且客域只能访问 这些分区。 一个非常方便的构建虚拟存储设备的方案是这样的构建虚拟存储 设备的数据容器包括虚拟存储设备辅助文件和存储设备片段。这里的虚拟存储 设备辅助文件是一般文件并被映射到虚拟存储设备上非分区的位置比如在基 于MBR或MBR及EBR的分区管理的情况下,虚拟存储设备辅助文件可以映 射到虚拟存储设备上MBR、 EBR的位置上或虚拟存储设备上空闲未被使用的 位置上;比如在基于GPT的分区管理的情况下,虚拟存储设备辅助文件可以映
射到虚拟存储设备上保护性主引导记录、主GPT、辅GPT或虚拟存储设备上空 闲未被使用的位置上。存储设备片段含有一个或多个分区。虚拟存储设备构建 模块是把虚拟存储设备辅助文件和存储设备片段(当然还可包括其他数据容器 和/或数据容器片段、或者是使用存储设备片段的快照)组合在一起构成虚拟存 储设备,并按照分区管理规范设置虚拟存储设备上的分区信息,使得每个存储 设备片段上的分区都在虚拟存储设备上有其对应的分区。
针对这种使用虚拟存储设备辅助文件和存储设备片段构建虚拟存储设备的 情形,本发明还提供了一种采用上述计算机系统构建基于分区管理的虚拟存储 设备的方法在构建基于分区管理的虚拟存储设备的计算机系统上,虚拟存储 设备构建模块先读取其硬件装置存储设备的分区信息,生成相应的虚拟存储设 备辅助文件,并将该虚拟存储设备辅助文件与含有存储设备分区架构的数据容 器和/或数据容器片段组合构成虚拟存储设备;虚拟存储设备构建模块还要对该 虚拟存储设备设置符合分区管理规范的分区信息,且要使该分区信息与所构建 的虚拟存储设备上的分区组成结构相互一致,并符合管理规范。
所述方法包括下列操作步骤
步骤1、虚拟存储设备构建模块读取计算机硬件装置中的存储设备的分区 信息,该分区信息包括分区在所述存储设备上的位置信息。
步骤2、虚拟存储设备构建模块生成虚拟存储设备辅助文件; 在步骤(2 )中,虚拟存储设备构建模块在虚拟存储设备辅助文件中直接设 置分区信息,以使在步骤(3 )中生成的虚拟存储设备上的分区信息与虚拟存储 设备上的分区结构保持一致。
步骤3、虚拟存储设备构建模块把虚拟存储设备辅助文件和含有存储设备 分区的数据容器组合成虚拟存储设备。
在步骤(3 )中,所述虚拟存储设备构建模块是在生成虚拟存储设备后,再 在虚拟存储设备上设置分区信息,使得分区信息与虚拟存储设备上的分区结构 保持一致。
本发明方法中设置的分区信息有两种 一种是基于MBR或MBR及EBR 的分区管理规范的,另一种是基于GPT的分区管理规范的。
本发明已经进行了实施试验,下面简要说明该实施例的试验情况。 参见图9 ,图中左侧是未虚拟化的计算机系统的存储设备A。该存储设备A 采用基于MBR的分区管理的分区结构。在存储设备A上配置了四个分区主 分区l、 2、 3和4 ,并且物理操作系统使用了其中的主分区1、 2和3。实施例 是把存储设备上的主分区1、 2和3完整地作为虚拟存储设备的主分区1、 2和 3 ,并且对主分区1、 2和3的大小、分区起始地址、分区类型和分区中的数据 都保持不变。在该实施例的试验中,在存储设备的主分区4上安装了主域。然 后由虚拟存储设备构建模块读取存储设备所示的存储设备的分区信息,生成了 一个虚拟存储设备辅助文件,该虚拟存储设备辅助文件与存储设备A上从开始 到主分区1之前的数据相对应,再设置虚拟存储设备辅助文件中的分区信息内
容,使得其分区信息与虚拟存储设备B上含有的主分区1、 2和3的分区结构 相互一致;然后把虚拟存储设备辅助文件、主分区1、 2和3 —起组合为一个复 合数据容器,将其作为图中右侧的虚拟存储设备B。实施例的实验结果是客 域启动成功,且能够正常访问虚拟存储设备B中的三个主分区中的数据。
此外,申请人还在主分区1上建立了快照试验。即把虚拟存储设备辅助文 件、主分区1的快照、主分区2和主分区3 —起组合成一个符合数据容器作为 客域的虚拟存储设备。其实验结果是客域也是正常启动、并成功访问三个主 分区上的数据。
参见图10 ,本发明还在基于GPT分区管理的存储设备上进行类似的试 验。与图9的试验相类似,试验中虚拟存储设备构建模块读取GPT信息, 并生成了两个虚拟存储设备辅助文件。第一个虚拟存储设备辅助文件中对应 着虚拟存储设备中从开始到分区1之前的数据(包括保护性主分区记录和主 GPT ),另一个虚拟存储设备辅助文件对应着虚拟存储设备的末尾(包括辅 GPT ),设置主GPT和辅GPT中的分区表信息使得与虚拟存储设备上两个 分区的结构一致。该实施例的试验也是成功的。
权利要求
1、一种构建基于分区管理的虚拟存储设备的计算机系统,该系统包括计算机硬件装和在该计算机硬件装上运行的软件单元,所述计算机硬件装至少设有一个基于分区管理的存储设备,所述软件单元包括主域和客域,其中主域有虚拟机监视器,并且该虚拟机监视器支撑的虚拟机包含有虚拟存储设备;主域接运行于计算机硬件装上,并对存储设备进行管理,客域运行于主域的虚拟机监视器所支撑的虚拟机上,并对虚拟存储设备进行访问;其特征在于该系统的主域中设有虚拟存储设备构建模块,该虚拟存储设备构建模块利用主域管理的数据容器和/或数据容器片段构成虚拟存储设备,并负责对虚拟存储设备或构成虚拟存储设备的数据容器和/或数据容器片段设符合分区管理规范的分区信息,使得该虚拟存储设备具有特定的分区结构。
2、 根据权利要求1所述的计算机系统,其特征在于所述计算机硬件装置 中的存储设备是硬盘或固态硬盘。
3、 根据权利要求1所述的计算机系统,其特征在于所述虚拟存储设备构 建模块对其构建的所述虚拟存储设备设置符合分区管理规范的分区信息时,有 两种方案所述虚拟存储设备构建模块在构成虚拟存储设备后,直接在该虚拟存储设 备上设置分区信息;或者直接在构成虚拟存储设备的数据容器和/或数据容器片段的相应位置上设置分区信息,使得该虚拟存储设备的相应位置上具有相应的 分区信息。
4、 根据权利要求1所述的计算机系统,其特征在于所述虚拟存储设备构 建模块对虚拟存储设备设置的分区信息与所述计算机硬件装置的存储设备的分 区信息采用相同的分区管理规范,即当所述存储设备的分区信息是基于MBR 或MBR及EBR的分区管理规范时,虚拟存储设备构建模块对虚拟存储设备设 置的分区信息也是符合基于MBR或MBR及EBR的分区管理规范的;当所述 存储设备的分区信息是基于GPT的分区管理规范时,虚拟存储设备构建模块对 虚拟存储设备设置的分区信息也是符合基于GPT的分区管理规范的。
5、 根据权利要求1所述的计算机系统,其特征在于所述主域利用存储映 射技术用数据容器和/或数据容器片段构成虚拟存储设备,并且在构成虚拟存储 设备的数据容器和/或数据容器片段上能够使用快照。
6、 一种采用权利要求1所述的计算机系统构建基于分区管理的虚拟存储设 备的方法,其特征在于在构建基于分区管理的虚拟存储设备的计算机系统上, 虚拟存储设备构建模块先读取计算机硬件装置中存储设备的分区信息,生成相 应的虚拟存储设备辅助文件,并将该虚拟存储设备辅助文件与含有存储设备分 区数据的数据容器和/或数据容器片段组合构成虚拟存储设备;虚拟存储设备构 建模块还对该虚拟存储设备设置符合分区管理规范的分区信息,且要使该分区 信息与所构建的虚拟存储设备上的分区结构相互一致。
7、 根据权利要求6所述的方法,其特征在于所述方法包括下列操作步骤 (1 )虚拟存储设备构建模块读取计算机硬件装置中存储设备的分区信息,该分区信息包括分区在所述存储设备上的位置信息;(2 )虚拟存储设备构建模块生成虚拟存储设备辅助文件;(3 )虚拟存储设备构建模块把虚拟存储设备辅助文件和含有存储设备分区数据的数据容器和/或数据容器片段组合构成虚拟存储设备。
8、 根据权利要求6所述的方法,其特征在于所述步骤(2 )中,虚拟存 储设备构建模块在虚拟存储设备辅助文件中直接设置分区信息,以使在步^( 3 ) 中生成的虚拟存储设备上的分区信息与虚拟存储设备上的分区结构保持一致。
9、 根据权利要求6所述的方法,其特征在于所述步骤(3 )中,所述虚 拟存储设备构建模块是在生成虚拟存储设备后,再在虚拟存储设备上设置分区 信息,使得分区信息与虚拟存储设备上的分区结构保持一致。
10、 根据权利要求6所述的方法,其特征在于所述方法中设置的分区信 息是符合基于MBR或MBR及EBR的分区管理规范的,或者是符合基于GPT 的分区管理规范的。
全文摘要
一种构建基于分区管理的虚拟存储设备的计算机系统,该系统包括计算机硬件装置和在计算机硬件装置上运行的软件单元,软件单元包括主域和客域,主域直接运行于计算机硬件装置上,主域含有虚拟机监视器,虚拟机监视器支撑着含有虚拟存储设备的虚拟机;客域运行于主域的虚拟机监视器所支撑的虚拟机上,并对虚拟存储设备进行访问;其创新之处是该系统的主域中设有虚拟存储设备构建模块,该虚拟存储设备构建模块负责用主域管理的数据容器和/或数据容器片段构成虚拟存储设备,并对虚拟存储设备设置分区信息,以符合管理规范。本发明还提供一种构建基于分区管理的虚拟存储设备的方法。本发明能够灵活构建虚拟存储设备,提高了客域的可管理性。
文档编号G06F12/08GK101387989SQ20081022524
公开日2009年3月18日 申请日期2008年10月29日 优先权日2008年10月29日
发明者庄小凡, 瑞 张, 张玉昆 申请人:北京世纪红山科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1