CN102124437A - 包括虚拟盘的计算机的恢复 - Google Patents

包括虚拟盘的计算机的恢复 Download PDF

Info

Publication number
CN102124437A
CN102124437A CN2009801328006A CN200980132800A CN102124437A CN 102124437 A CN102124437 A CN 102124437A CN 2009801328006 A CN2009801328006 A CN 2009801328006A CN 200980132800 A CN200980132800 A CN 200980132800A CN 102124437 A CN102124437 A CN 102124437A
Authority
CN
China
Prior art keywords
virtual disk
volume
reduction
virtual
crucial
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
CN2009801328006A
Other languages
English (en)
Other versions
CN102124437B (zh
Inventor
A·斯里瓦斯塔瓦
R·卡拉赫
J·吴
D·哈利德斯
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102124437A publication Critical patent/CN102124437A/zh
Application granted granted Critical
Publication of CN102124437B publication Critical patent/CN102124437B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Abstract

描述了虚拟盘的备份和/或还原。一般而言,备份了元数据以供还原虚拟盘。为了还原该盘,创建物理盘,而虚拟盘被创建在该物理盘的一个分区上。描述了嵌套虚拟盘的备份和还原,包括块级还原。还描述了关键虚拟盘及其容器的备份,以及相对于基本盘和动态盘的虚拟盘备份。

Description

包括虚拟盘的计算机的恢复
背景技术
在当代基于
Figure BPA00001314876500011
Figure BPA00001314876500012
的操作系统中支持的虚拟机技术允许单个物理计算机器同时运行多个操作系统,诸如以提供多个服务器环境。在这一技术中,虚拟盘是可存储在物理盘驱动器上或另一虚拟盘驱动器上的文件,而采用允许该文件被用作(表现为)盘设备的格式。例如,虚拟盘可以是
Figure BPA00001314876500013
虚拟硬盘(VHD)格式,由此理解VHD格式的任何驱动器能够挂载VHD文件作为盘设备,即虚拟盘是通过使VHD驱动器挂载VHD文件来创建的盘设备。这样的虚拟盘还可以在物理机上运行的
Figure BPA00001314876500014
操作系统上被创建并且表面化。这些虚拟盘可用于存储关键操作系统文件(例如,引导卷)。
这样的操作系统还可诸如经由被称为ASR(自动化系统恢复)的技术来提供裸机恢复支持。这一技术允许在例如新的替换机器、用新盘修复的机器等不同物理机上重新创建备份的计算机系统数据(包括状态)。一般而言,ASR为备份/还原应用提供了备份和还原计算机的盘配置的能力。然而,现有ASR技术不适应虚拟盘。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些代表性的概念的选集。此概述摂并不打算标识所要求保护的主题的主要特点或基本特点,也不打算让此概述摂被用来以任何方式限制所要求保护的主题的范围。
简言之,文本描述的主题的各种方面针对可将计算设备的虚拟盘从备份的元数据中还原的技术。一般而言,还原虚拟盘包括创建物理盘,并且在物理盘的一个分区上创建虚拟盘。
在一个方面,虚拟盘可以被嵌套。为了还原这样的嵌套虚拟盘,较高级的虚拟级盘在任何较低嵌套级的虚拟盘之前被恢复。这提供了正规文件还原和块级还原。
在一个方面,还管理对虚拟盘的备份。备份涉及评估盘是否对于备份是关键的,如果是,则标记该盘的由于关键也需要被备份的任何容器。对于基本盘和动态卷,备份还区分虚拟盘备份。
通过下面的结合附图形对本发明进行的详细说明,其他优点可以变得显而易见。
附图简述
本发明是作为示例说明的,而不仅限于附图,在附图中,类似的附图标记表示类似的元素,其中:
图1是表示在包括用于备份和还原虚拟盘的备份和还原系统中的示例组件的框图。
图2是虚拟硬盘上单个卷的表示。
图3是虚拟硬盘上多个卷的表示。
图4是嵌套虚拟硬盘的表示。
图5是表示还原包括虚拟盘的计算机可采取的示例步骤的流程图。
图6示出可以将本发明的各方面并入其中的计算环境的说明性示例。
详细描述
本文描述的技术的各种方面通常针对提供备份和还原计算机的盘配置的能力的操作系统(或类似组件),包括当盘的一个或多个是存储在一个或多个物理盘上的虚拟盘的情况。为此并且如文本描述的,这通过在文件中存储在备份时间关于虚拟盘及其对物理盘或其他虚拟盘分区的依赖性的元数据信息来实现,在一个示例中,文件如“盘配置文件(disk-config-file)”。
在恢复时间,访问盘配置文件来重新创建盘布局。更具体地,首先创建物理盘。此后,创建虚拟盘。这一过程可进一步嵌套来处理虚拟盘包含其他虚拟盘的情形。具有虚拟盘的分区被挂载到与备份时可用的相同名字空间。这允许备份供应商等等在虚拟盘被创建并且挂载到相同名字空间之后将数据还原到虚拟盘。
换言之,一个示例过程创建物理盘和分区,并且创建物理盘的卷。随后,在第一嵌套级(1级)创建任何虚拟盘,之后该过程对1级虚拟盘分区并创建卷。如果存储在一个或多个2级虚拟盘,则创建它们,随后在对2级虚拟盘分区并创建卷,依次类推直到最深嵌套级。保存的元数据包含足以为虚拟盘的分层(逐级)重新创建找出每一虚拟盘的嵌套级的信息。虚拟盘的这一逐级重新创建允许如下所述的每一级中的块级操作。
转向图1,示出了包括用于对具有可包含一个或多个虚拟盘的盘104的计算机系统102进行裸机恢复的组件的示例框图。备份机制106包括虚拟盘备份机制108,如下所述,该虚拟盘备份机制108将特定文件和元数据备份到备份/还原介质110。
在某一稍后时间,如虚线所示,包括同样如下所述的虚拟盘还原机制114的还原机制112将文件和元数据还原到具有对应的重新创建的盘118的重新创建的计算机系统116。还原机制112使用元数据来创建物理盘,随后创建虚拟盘,包括任何嵌套的虚拟盘。
在一个基于
Figure BPA00001314876500031
的示例实现中,在自动化系统恢复ASR组件中提供备份机制106和还原机制112。然而,任何程序都可实现本文描述的技术,包括在其他环境中,和/或用其他文件格式和元数据。如此,本发明不仅限于此处所描述的任何特定实施例、方面、概念、结构、功能或示例。相反,在此所描述的实施例、方面、概念、结构、功能或示例中的任何一个都是非限制性的,并且本发明可以按一般在计算和数据存储/访问中提供益处和优点的各种方式来使用。
系统可具有多个虚拟盘。一个示例场景是当引导卷在虚拟盘上时的情况,该虚拟盘由位于系统分区(它是物理的)上的虚拟盘文件来支持。除了这一具体场景以外,一般存在由物理卷或虚拟盘的卷上的虚拟盘文件来支持的虚拟盘。如本文描述的备份和还原(例如,ASR)在这些场景中处理对盘布局的备份和还原。
图2-4描绘了各种示例场景。在表示虚拟盘上单个卷的图2中,E:是物理卷,该物理卷也是虚拟盘的容器(例如,VHD文件boot.vhd,在此示例中,它支持了引导卷,即卷C:)。C:卷还可具有安装在其上的一个或多个应用程序。
图3表示了在单个虚拟盘上的多个卷。在图3中,E:同样是虚拟盘文件(例如,boot.vhd)的容器,该虚拟盘文件包含C:(引导卷)和另一卷,卷D。
图4表示了嵌套虚拟盘。在图4中,E:同样是引导虚拟盘(例如,boot.vhd)的容器,该引导虚拟盘支持引导卷C:。引导虚拟盘还包含应用程序虚拟盘(例如,App.vhd),该应用程序虚拟盘支持卷D:,并且容纳一个或多个应用程序。
以下描述了在基于
Figure BPA00001314876500041
的环境中备份和还原的示例,其中自动化系统恢复(ASR)提供备份和还原机制。在此示例中,与虚拟盘相对应的文件以VHD格式来维护,带有为该格式获取并且维护的适当的元数据。然而,如可容易理解的,任何环境可受益于所例示的技术,和/或任何合适的文件格式可以与该格式的适当的元数据一起使用。
在示例中,术语“包”指的是盘组(盘的分组),盘组包含一个或多个动态盘,(其中动态盘是公知概念,通常与盘组相关联并且存储相同配置数据的副本)。
在一个ASR实现中,AsrSystem是负责备份和重新创建盘的分区布局以及基本卷的卷GUID的模块。AsrLdm是负责备份和重新创建包、包中动态盘、以及包中动态卷的模块。AsrFmt是负责备份卷、以及恢复并且格式化重新创建的卷的模块。
虚拟盘文件可包含多个(例如,VHD)文件。这诸如在新的虚拟盘需要基于现有虚拟盘而具有某些改变时是有用的。这被称为差异化;注意对于差异化虚拟盘,需要重新创建其整个链。
返回到ASR环境中的备份,ASR对虚拟盘进行备份。一般而言,备份包含足够的信息用于在还原期间可重新创建虚拟盘。在一个示例实现中,ASR使用以下win32 API和IOCTL在备份时间保存虚拟盘信息,并且在还原时间重新创建虚拟盘。
备份
1.获得存储依赖性信息(GetStorageDependencyInformation)。
a.这一API在备份期间使用,用于找出关于所挂载的虚拟盘的元数据信息。这一API返回这些信息,例如,虚拟盘文件(在差异化虚拟盘的情况下不止一个)的文件路径、以及虚拟盘的其他属性,诸如虚拟盘是否是稀疏的或固定的以及虚拟盘的块大小。
b.对于虚拟盘,这一API可返回附加信息,诸如虚拟盘标志以及差异盘链序列信息。
还原
2.创建虚拟盘(CreateVirtualDisk)。
a.这一API用于基于备份时“获取存储依赖性信息”所返回的信息来重新创建虚拟盘文件。
b.这一API用于重新创建每一虚拟盘文件。
3.表面虚拟盘(SurfaceVirtualDisk)。
a.一旦创建了虚拟盘文件,则这一AIP用于将虚拟盘文件表面化为盘。
4.在虚拟盘中重新创建卷。
对于备份VSS(卷阴影(副本)服务)组件,如同物理盘和卷一样,ASR写入器报告其中的虚拟盘和卷作为组件。虚拟盘的组件包含诸如“这是虚拟盘(This is a virtual disk)”或类似的说明,以便向查看ASR元数据的任何人传达有用的信息。在一个示例实现中,盘组件看起来如:
<COMPONENT logicalPath=″Disks″componentName=″harddisk0″componentType=″filegroup″caption=”This is a virtual disk”/>
对于ASR元数据,为了重新创建虚拟盘,可包括除了关于盘布局的信息以外诸如虚拟盘的文件路径等附加信息,并且需要虚拟盘类型。每一虚拟盘的布局存储在<MbrDisk>或<GptDisk>节点中,这与如何保存物理盘布局相同。供参考,这里再现了MBR节点;其格式中没有改变:
<MbrDisk>或<GptDisk>,这与如何保存物理盘布局相同。供参考,这里再现了MBR节点;其格式中没有改变:
<MbrDisk NumPartitions=″4″PartitionTableSize=″4″BusKey=″2″DeviceNumber=″1″IsCritical=″1″MbrSignature=″0x88eb9d23″...>
<MbrPartition PartitionIndex=″0″PartitionFlag=″0″BootFlag=″0″
PartitionType=″0x7″FileSystemType=″0x0″NumSymbolicNames=″2″PartitionOffset=″1048576″PartitionLength=″5368709120″IsCritical=″1″>
</MbrPartition>
...
</MbrDisk>
虚拟盘的附加信息存储在新节点<VirtualDisk>中,如下:
<AsrVhd NumDisks=”1”>
<VirtualDisk DeviceNumber=”1”>
<VhdInfo
File=”\\?\Volume{e77e0446-d428-11dc-815b-000000000000}\p1\p2\foo.vhd”
BlockSize=0x200000Flag=0x00000008
Sequence=0>
<VhdInfo
File=”\\?\Volume{e77e0446-d428-11dc-815b-000000000000}\p1\p2\foo1.vhd”
BlockSize=0x200000Flag=0x00000008
Sequence=1>
...
</VirtualDisk>
...
</AsrVhd>
注意,在一个实现中已经创建了新节点,通常用于简化测试和开发。<VirtualDisk>节点中DeviceNumber(设备号)属性用于在<MbrDisk>节点中查找其布局信息。此外,注意,具有序列0的VhdInfo节点是以VHD格式表示虚拟盘的VHD文件。具有序列大于0的VhdInfo节点表示此VHD链接到的差异VHD。标志值指示VHD的类型-动态或固定。块大小(BlockSize)是在VHD文件内部使用的数据块的大小。它是VHD格式的一部分。它以字节为单位。
发现虚拟盘信息如下:
打开到该盘的句柄。调用“获得存储依赖性信息”,InfoLevel设置为2,并且GetParents(获取父信息)设置为真。
如果返回的状态是STATUS_INVALID_DEVICE_REQUEST(状态无效设备请求),则不是虚拟盘,否则,如果成功,则是虚拟盘。
IOCTL返回STORAGE_QUERY_DEPENDENT_DISK_RESPONSE(依赖存储查询的盘响应),定义如下:
BOOL WINAPI
GetStorageDependencyInformation(
_in         HANDLE hFile,
_in       BOOL GetParents
_in        ULONG InfoLevel,
_inout_opt    LPVOID StorageDependency,
_inout      ULONG  *StorageDependencyLength
);
它包含了STORAGE_QUERY_DEPENDENT_DISK_LEV2_ENTRY(依赖存储查询的2级盘条目)结构的数组,每一差异盘一个:
typedef struct_STORAGE_DEPENDENCY_INFO_LEVEL2{
ULONG                 DependencyTypeFlags;
ULONG                 ProviderSpecificFlags;
VIRTUALDEVICETYPE          VirtualDeviceType;
GUID                  CallerContext;
GUID                  DiskContext;
LPWSTR                DependencyDeviceName;
LPWSTR                HostVolumeName;
LPWSTR                DependentVolumeName;
LPWSTR                DependentVolumeRelativePath;
}STORAGE_DEPENDENCY_INFO_LEVEL2,
*PSTORAGE_DEPENDENCY_INFO_LEVEL2;
这一API返回差异盘虚拟盘文件之间的序列信息。ASR将最远叶子的虚拟盘文件从例如在依赖图中所表示的差异链中的其它虚拟盘文件进行区分。
某些卷/盘被称为“关键的”,并且照此标记。当在物理盘的情况下,如果所挂载的虚拟盘内的卷是关键的,则虚拟盘和其所属的包被标记为关键的。此外,由于虚拟盘依赖于物理盘上或虚拟盘上的卷(虚拟盘文件驻留其中),也需要将父级被标记为关键的。
需要考虑两种情况,包括当父卷在基本盘上的情况以及当父卷是动态卷(例如,诸如具有软件RAID)的情况。当父卷在基本盘上时,所挂载的虚拟盘被标记为关键的,所挂载的分区同样如此;由于父卷在基本盘上,因此其父分区和父盘也被标记为关键的。
当父卷是动态卷时(例如,诸如具有软件RAID),所挂载的虚拟盘被标记为关键的,所挂载的分区同样如此。一般而言,动态父卷不具有与其相关联的分区。一般而言,与包含父卷的盘在相同的包的动态盘被标记为关键的;例如,关键卷信息被标记在<AsrLdm>节点中,其中包和卷的“IsCritical”被适当标记。
进一步注意,虚拟盘可依赖于排除在备份以外的盘;如果是并且虚拟盘是关键的,则备份失败。或者,即使在还原时间包括虚拟盘,但该虚拟盘被标记为被排除的并且在还原时间不被重新创建。
转向与还原有关的各方面,在还原期间,ASR首先重新创建虚拟盘,挂载该虚拟盘并且随后重新创建该虚拟盘中的卷。然而,在可完成这些之前,虚拟盘所依赖的盘、分区和卷需要被重新创建。这些依赖性可以是物理的或虚拟的。
结果,盘的重新创建需要逐层发生-从物理盘开始,随后重新创建仅依赖于物理盘的虚拟盘,随后重新创建仅依赖于所重新创建的盘的虚拟盘,依次类推等等。由此重新创建虚拟盘的整个过程中包括三个阶段:
a)从ASR元数据中提取虚拟盘的盘布局和依赖性信息。
b)使用依赖性信息来标识其依赖性已经被创建的虚拟盘。
c)重新创建步骤(b)中所标识的虚拟盘。
d)重新创建在步骤(c)中所创建的虚拟盘内的分区和卷。
重复步骤b、c和d直到所有VHD已经被重新创建或不再有VHD可被重新创建。在按图像还原卷(“块级还原”)的备份应用程序的情况下,在可为下一嵌套级重复步骤b、c和d之前,该应用程序需要在步骤(d)之后还原图像。
用于请求还原(请求者)的程序(或多个程序)可通过使用如下的设置还原选项(SetRestoreOptions)来选择跳过虚拟盘的重新创建:
IVssBackupComponents::SetRestoreOptions(asrWriterId,VSS_CT_FILEGROUP,NULL,L″ASR″,L”...RecreateVHD=0...”);
如果在还原选项串中存在“RecreateVHD=0”子串,则ASR不重新创建任何虚拟盘文件和任何虚拟盘。
转向提取用于还原的虚拟盘信息,如同其他盘,<MbrDisk>和<GptDisk>节点被去串行化,由此知道对于虚拟盘的布局信息。此后,<AsrVhd>节点可以被去串行化。将关于虚拟盘文件和任何父虚拟盘文件的信息作为附加信息来如下维护到现有结构体ASR_DISK_INFO(ASR盘信息)中:
struct ASR_VHD_INFO
{
BOOL  fVirtual;
//
//  \\?\卷{guid}\p1\p2\foo.vhd
//
//VDH文件名由<AsrVhd>中的“序列”来排序
//
WCHAR    **rgwszVHDFilenames;
DWORD    dwNumFiles;
DWORD    dwFlag;//vhd标志-稀疏的或固定的。
};
struct ASR_DISK_INFO
{
...
//
//如果盘不是虚拟的则为空。
//
ASR_VHD_INFO*  m_pVirtualDiskInfo;
};
只在已经创建了虚拟盘的全部依赖性的情况下才创建该虚拟盘。虚拟盘依赖于虚拟盘的虚拟盘文件所驻留的每一卷。如果已经重新创建了每个这样的卷,则重新创建虚拟盘。
虚拟盘的重新创建阶段在现有AsrSys、AsrLdm和AsrFmt预还原完成之后执行。这确保已经创建了虚拟盘文件所驻留的物理卷(基本或动态)。AsrSys已被修改成对于盘分配、重新创建、以及检查所有关键的卷都已被重新创建而言不考虑虚拟盘。
在虚拟盘的重新创建期间,可执行以下示例步骤:
a.对于表示虚拟盘的每一ASR_DISK_INFO pVhdDisk,进行
b.{
c.使用ASR_VHD_INFO::rgwszVHDFilenames从最后一虚拟盘文件开始,虚拟盘文件被重新创建,使得差异链被正确地重新创建。
·如果虚拟盘文件存在于被排除的盘上,则不重新创建该虚拟盘文件。
·如果虚拟盘文件存在,则首先卸载其对应的文件(例如,VHD),并且删除该虚拟盘文件。
d.使用差异链的叶ASR_VHD_INFO::rgwszVHDFilenames[0]来挂载虚拟盘。
e.一旦挂载虚拟盘,返回其设备路径。
f.使用该路径,新ASR_DISK_INFO对象,pAssignedVHD被创建、初始化且添加到还原期间系统上可用的盘的列表中(AsrSystem::m_pDiskListDuringRestore)。
g.由于已经为备份中一特定虚拟盘创建了虚拟盘,因此该机制直接执行盘分配:pVhdDisk->AssignedTo被设置为pAssignedVHD,并且pAssignedVHD->AssignedTo被设置为pVhdDisk。
h.像重新创建物理盘那样重新创建所挂载的虚拟盘。
i.如果虚拟盘是关键的,则此阶段期间的任何失败导致整个还原的失败。
j.}
以下API用于重新创建虚拟盘文件:
Typedef stmct_CREATE_VIRTUAL_DISK_PARAMETERS_LEVEL1{
VIRTUALDEVICETYPE    VirtualDeviceType;//VHD或ISO-VHD是
否用于ASR。
GUID            UniqueId;
LARGE_INTEGER    MaximumSize;//盘大小
ULONG          BlockSize;//在VHD格式中要使用的数据块
的大小。
ULONG          SectorSize;//512字节。
ULONG              ProviderSpecificFlags;
ULONG          Flags;//稀疏的或固定的
LPWSTR         ParentPath;//在差异盘的情况下的基VHD文
件路径
LPWSTR        SourcePath;
}            CREATE_VIRTUAL_DISK_LEVEL1_PARAMETERS,
*PCREATE_VIRTUAL_DISK_L
EVEL1_PARAMETERS;
BOOL WINAPI
CreateVirtualDisk(
_in        ULONG           ParameterLevel,
_in        LPWSTR          Path,//VHD文件的路径
_in_opt    LPVOID         Parameters,
_in_opt    PSECURITY_DESCRIPTOR  SecurityDescriptor,//所挂载的设备上的安全性。
in_opt   VIRTUAL_DISK_PROGRESSROUTINE ProgressRoutine,
_in_opt  LPVOID              ProgressRoutineContext
);
用于挂载(也称为表面化)虚拟盘的API-
typedef struct_SURFACE_VIRUTAL_DISK_LEVEL1_PARAMETERS{
GUID    CallerContext;
GUID    DiskContext;
PSECURITY_DESCRIPTOR SecurityDescriptor;
ULONG    Timeout;//在表面化的同时要指定的可任选的超时。
ULONG    Flags;//VHD or ISO
ULONG    ProviderSpecificFlags;
USHORT   OutputDeviceNameLength;//所挂载的设备路径
LPWSTR   OutputDeviceNameBuffer;
}         SURFACE_VIRUTAL_DISK_PARAMETERS_LEVEL1,
*PSURFACE_VIRUTAL_DISK_PARAMETERS LEVEL1;
BOOL WINAPI
SurfaceVirtualDisk(
_in    LPWSTR                Path,
_in    VIRTUALDEVICETYPE        VirtualDeviceType,
_in    ULONG                 ParameterLevel,
in_opt   PVOID            Parameters,
_in_opt  VIRTUAL_DISK_PROGRES SROUTINE  ProgressRoutine,
_in_opt  LPVOID    ProgressRoutineContext
);
对于卸载已经被挂载的虚拟盘,在重新创建虚拟盘之前,如果虚拟盘文件已经存在并且被挂载,则该设备和文件被移除。用于卸载虚拟盘的一个API是:
BOOL WINAPI
RemoveVirtualDisk(
_in    VIRTUALDEVICETYPE    VirtualDeviceType,
_in    GUID            CallerContext,
_in    GUID            DiskContext,
_in    ULONG            Flags
);
为了卸载设备,需要该设备的调用程序上下文(CallerContext)和盘上下文(DiskContext)。为此,ASR使用本机虚拟盘API,GetStorageDependencyInformation,以便枚举在给定卷上具有虚拟盘文件的所挂载的虚拟盘。
为每一虚拟盘进行卸载是低效的,因为每次都需要枚举所有挂载的虚拟盘。因此,出于效率,在重新创建虚拟盘之前将卸载虚拟盘作为一次操作来完成。如下进行:
编译需要被重新创建的虚拟盘文件所驻留的卷名的列表(列表中没有重复)。
1.对于每一卷,调用GetStorageDependencyInformation,GetParents=FALSE(假),并且InfoLevel=1。
2.对于所返回的每一STORAGE_DEPENDENCY_INFO_LEVEL1,使用其CallerContext和DiskContext来卸载虚拟盘。
3.出于确认,在虚拟盘重新创建阶段之后,ASR检查ASR元数据中存在的关键盘已经被重新创建。
在每一级虚拟盘都被创建并且分区之后且在下一级VHD文件可被创建之前,需要调用块级还原。
这些应用还可使用SkipVHDRe-creation(创建)选项来告诉ASR不尝试重新创任何虚拟盘。
转向嵌套虚拟盘的逐层重新创建,由于可存在多层虚拟盘,像在虚拟盘文件在另一虚拟盘或物理卷上的虚拟盘上,虚拟盘被逐级创建,如图5中以及如下通常表示的:
1)在物理盘上重新创建分区和卷(步骤501)。
2)重新创建级1虚拟盘(步骤503)-使用ASR元数据来寻找虚拟盘,这些虚拟盘将其所有文件展开到步骤1中所重新创建的卷上。
重新创建虚拟盘的文件(步骤504,针对级1),将虚拟盘文件表面化成虚拟盘,并且重新创建其上的分区和卷,并且对分区/卷进行格式化(步骤505,针对级1)。
3)重新创建级2虚拟盘(如果在步骤507块级还原正在发生,则步骤509增加级别,这发生在步骤508的块级还原之后)-寻找目前为止在所重新创建的卷上有虚拟盘文件的所有剩余虚拟盘。关于什么虚拟盘文件在哪一卷上的信息在ASR元数据中。
重新创建虚拟盘的文件(步骤504,针对级2),将虚拟盘文件表面化成虚拟盘,并且重新创建其上的分区和卷,并且对分区/卷进行格式化(步骤505,针对级2)。
4)重复3,直到没有新虚拟盘被重新创建(步骤502)。
如上所述,块级还原应用的逐层重新创建的一个优点是一次重新创建所有虚拟盘并不适于块级请求者。如果块级请求者也还原了在其上虚拟盘文件已经被重新创建的卷,则块级请求者不能避免破坏所重新创建的虚拟盘。
这通过将API添加到ASR写入器对象接口-HRESULTIVssAsrWriterRestoreEx::RecreateNextLayer(void),使用逐层重新创建来解决,这允许请求者告知ASR何时创建下一层。请求者不需要知晓虚拟盘及其依赖性。
请求者可交互式地与ASR一起操作,如以下所阐述的:
1.请求者调用IVssBackupComponents::PreRestore
2.ASR重新创建物理盘
请求者仅还原其已经备份的卷中的那些已经被重新创建的卷。可通过调用FindFirstVolume/findNextVolume来找出。
3.请求者调用IvssAsrWriterRestoreEx::RecreateNextLayer
ASR通过重新创建虚拟盘来重新创建更多的卷,如上述步骤2中提到的。如果不存在更多重新创建的卷,则返回S_FALSE
4.请求者再次重复步骤2和3,直到ASR返回S_FALSE。
对于分层虚拟盘重新创建期间动态卷的重新创建,一般而言,动态包可包括某些虚拟盘和某些物理盘或完全是虚拟盘。这些动态虚拟盘可位于其他虚拟盘上并且因此是嵌套的。在逐层重新创建期间,ASR中的以下附加逻辑也关顾及新创建动态盘和卷:
1.在物理盘重新创建照常使用AsrLdm来重新创建物理盘之后,有以下修改:
a.由于包的所有盘可能是虚拟盘,可能它们这时还不全可用,因此即使包中至少所有的物理盘都已经被重新创建也创建该包。
b.一旦一个层的所有虚拟盘都已经被标识、表面化并且分区,则查看该盘是否为动态盘(这可通过咨询ASR元数据来找出)。
2.如果虚拟盘是动态盘,
a.将虚拟盘添加到物理盘重新创建期间所重新创建的动态包
b.从AsrLdm元数据中找出包(尚未被重新创建)中的那些完全位于目前为止添加到包的盘集合的卷。重新创建并且格式化这些卷。
3.ASR继续的终止条件相同,即,如果没有重新创建新的卷,则终止盘的重新创建。
可以看出,由于虚拟化日益增长的使用,需要运行虚拟盘的机器的裸机恢复。这包括从虚拟盘引导的物理机器的裸机恢复,以及具有多级虚拟盘(虚拟盘中所挂载的虚拟盘)的物理机器的裸机恢复。
然而,备份和还原仅仅是本文描述的有关虚拟化技术的一个示例使用。可使用这一技术类似地执行虚拟环境到另一机器的迁移。此外,考虑主分区运行管理程序来监督作为客机的虚拟机。可以经由这一技术来执行这些主机的自动化系统恢复和/或迁移,例如,这些主机具有拥有虚拟盘的客机。
示例性操作环境
图6示出了其上可实现图1-5中表示的示例和/或实施例的合适的计算系统环境600的一个示例。计算系统环境600只是合适计算环境的一个示例,而非意在暗示对本发明的使用范围或功能有任何限制。也不应该将计算环境600解释为对示例性操作环境600中示出的任一组件或其组合有任何依赖性或要求。
本发明可用各种其他通用或专用计算系统环境或配置来操作。适用于本发明的公知计算系统、环境、和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持式或膝上型设备、平板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、微型计算机、大型计算机、包括任何以上系统或设备的分布式计算环境等等。
本发明可在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和/或远程计算机存储介质中。
参考图6,用于实现本发明的各方面的示例性系统可包括计算机610形式的通用计算设备。计算机610的组件可以包括但不限于:处理单元620、系统存储器630和将包括系统存储器在内的各种系统组件耦合至处理单元620的系统总线621。系统总线621可以是若干类型总线结构中的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构中的任一种的局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。
计算机610通常包括各种计算机可读介质。计算机可读介质可以是能由计算机610访问的任何可用介质,并包含易失性和非易失性介质以及可移动、不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块之类的信息或其他数据的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不仅限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可以被计算机610访问的任何其他介质。通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任一信息传送介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,如有线网络或直接线连接,以及诸如声学、射频(RF)、红外线及其他无线介质之类的无线介质。上述中的任意组合也应包括在计算机可读介质的范围之内。
系统存储器630包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)631和随机存取存储器(RAM)632。基本输入/输出系统633(BIOS)包括如在启动时帮助在计算机610内的元件之间传输信息的基本例程,它通常储存在ROM 631中。RAM 632通常包含处理单元620可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例而非限制,图6示出了操作系统634、应用程序635、其他程序模块636和程序数据637。
计算机610还可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图6示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器641,从可移动、非易失性磁盘652中读取或向其写入的磁盘驱动器651,以及从诸如CD ROM或其他光学介质等可移动、非易失性光盘656中读取或向其写入的光盘驱动器655。可以在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器641通常由不可移动存储器接口,诸如接口640连接至系统总线621,磁盘驱动器651和光盘驱动器655通常由可移动存储器接口,诸如接口650连接至系统总线621。
以上描述并在图6中示出的驱动器及其相关联的计算机存储介质为计算机610提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图6中,硬盘驱动器641被示为存储操作系统644、应用程序645、其他程序模块646和程序数据647。注意,这些组件可以与操作系统634、应用程序635、其他程序模块636和程序数据637相同,也可以与它们不同。操作系统644、应用程序645、其他程序模块646和程序数据647在这里被标注了不同的附图标记是为了说明至少它们是不同的副本。用户可通过诸如图形输入板或者电子数字化仪664、远程控制(R/C)663、键盘662和定点设备661(通常指的是鼠标、跟踪球或触摸垫)等输入设备向计算机610输入命令和信息。图6中未示出的其他输入设备可以包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其他输入设备通常由耦合至系统总线的用户输入接口660连接至处理单元620,但也可以由其他接口和总线结构,诸如并行端口、游戏端口或通用串行总线(USB)连接。监视器691或其他类型的显示设备也经由接口,诸如视频接口690连接至系统总线621。监视器691也可以与触摸屏面板等集成。注意,监视器和/或触摸屏面板可以在物理上耦合至其中包括计算设备610的外壳,诸如在平板型个人计算机中。此外,诸如计算设备610等计算机还可以包括其他外围输出设备,诸如扬声器695和打印机696,它们可以通过输出外围接口694等连接。
计算机610可使用至一个或多个远程计算机,如远程计算机680的逻辑连接在网络化环境中操作。远程计算机680可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点,并且通常包括许多或所有以上关于计算机610所描述的元件,尽管在图6中仅示出了存储器存储设备681。图6中所示的逻辑连接包括一个或多个局域网(LAN)671和一个或多个广域网(WAN)673,但也可以包括其他网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机610通过网络接口或适配器670连接至LAN 671。当在WAN联网环境中使用时,计算机610通常包括调制解调器672或用于通过诸如因特网等WAN 673建立通信的其他装置。可为内置或可为外置的调制解调器672可以经由用户输入接口660或其他合适的机制连接至系统总线621。诸如包括接口和天线的无线联网组件674可以通过诸如接入点或对等计算机等合适的设备耦合到WAN或LAN。在网络化环境中,相对于计算机610所描述的程序模块或其部分可被储存在远程存储器存储设备中。作为示例而非限制,图6示出远程应用程序685驻留在存储器设备681上。可以理解,所示的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其他手段。
辅助子系统699(例如,用于内容的辅助显示)可经由用户接口660连接,从而即使计算机系统的主要部分处于低功率状态中,也允许诸如程序内容、系统状态和事件通知等数据被提供给用户。辅助子系统699可连接至调制解调器672和/或网络接口670,从而在主处理单元620处于低功率状态中时,也允许在这些系统之间进行通信。
结论
尽管本发明可以具有各种修改和备选的结构,但是,在图形中示出了并在上文详细描述了某些示出实施例。然而,应了解,不打算将本发明只限于所公开的特定形式,相反地,可以涵盖本发明的精神和范围内的所有修改、替换性结构,以及等效内容。

Claims (20)

1.一种在计算环境中的方法包括,还原(504、505、508)虚拟盘,包括创建物理盘(501)以及在所述物理盘的分区上创建所述虚拟盘。
2.如权利要求1所述的方法,其特征在于,还原虚拟盘包括确定所述虚拟盘与第一嵌套级相关联,并且基于每一虚拟盘的相关联的级按照分层顺序来还原所述虚拟盘和在第二嵌套级的另一虚拟盘。
3.如权利要求2所述的方法,其特征在于,所述虚拟盘被配置成块级还原,并且还原虚拟盘包括在第一嵌套级执行块级还原。
4.如权利要求1所述的方法,其特征在于,还原虚拟盘包括在分层操作中对所述虚拟盘进行表面化和分区。
5.如权利要求4所述的方法,其特征在于,所述分层操作重新创建任何物理盘,重新创建仅依赖于物理盘的任何虚拟盘,以及重新创建依赖所重新创建的盘的虚拟盘。
6.一种在计算环境中的方法包括,备份(108)虚拟盘(104)以供后续还原,包括维护用于重新创建所述虚拟盘的元数据(110)。
7.如权利要求6所述的方法,其特征在于,所述元数据包括依赖性信息,或所述元数据包括等级信息,或包括依赖性信息和等级信息两者。
8.如权利要求6所述的方法,其特征在于,还包括确定卷或盘是关键的,并且将所述卷或盘标记为关键的。
9.如权利要求6所述的方法,其特征在于,还包括确定所挂载的虚拟盘内的卷是否为关键的,并且如果是,则将所述虚拟盘及其所属的包标记为关键的。
10.如权利要求6所述的方法,其特征在于,还包括确定虚拟盘是否依赖于卷或依赖于其虚拟盘文件所驻留的虚拟盘,并且如果是,则将该虚拟盘的父卷标记为关键的。
11.如权利要求6所述的方法,其特征在于,还包括确定所述父卷是否在基本盘上,并且如果是,则将所挂载的虚拟盘标记为关键的,将所挂载的分区标记为关键的,将父分区标记为关键的,以及将父盘标记为关键的。
12.如权利要求6所述的方法,其特征在于,还包括确定所述父卷是否是动态卷,并且如果是,则将所挂载的虚拟盘标记为关键的,将所挂载的分区标记为关键的,以及将与包含所述父卷的盘在相同的包的任何动态盘标记为关键的。
13.如权利要求6所述的方法,其特征在于,还包括确保被标记为关键的虚拟盘不依赖于备份所排除的盘。
14.一种在具有计算设备的计算环境中的系统包括,还原机制(112),包括基于在所述计算设备(102)的备份时间所维护的元数据(110)来重新创建物理盘的机制(114),以及在所述物理盘(118)上重新创建虚拟盘的机制。
15.如权利要求14所述的系统,其特征在于,还包括在所述备份时间将包括虚拟盘元数据的所述元数据备份到由所述还原机制访问的介质的备份机制。
16.如权利要求14所述的系统,其特征在于,所述计算设备包括由所述还原机制还原的多个虚拟盘。
17.如权利要求15所述的系统,其特征在于,所述计算设备包括由所述还原机制还原的虚拟盘上的引导卷,其中所述虚拟盘与在物理系统分区上的虚拟盘文件相关联。
18.如权利要求15所述的系统,其特征在于,所述计算设备包括由所述还原机制还原的物理卷,其中所述物理卷包含支持引导卷的虚拟盘。
19.如权利要求15所述的系统,其特征在于,所述计算设备包括由所述还原机制还原的单个虚拟盘上的多个卷,所述多个卷包括作为包含多个卷的虚拟盘文件的容器卷。
20.如权利要求15所述的系统,其特征在于,所述计算设备包括由还原机制还原的嵌套虚拟盘,所述嵌套虚拟盘包括物理卷,所述物理卷包含支持引导卷的引导虚拟盘以及支持另一卷的另一虚拟盘。
CN2009801328006A 2008-08-20 2009-08-18 包括虚拟盘的计算机的恢复 Active CN102124437B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN2026/CHE/2008 2008-08-20
IN2026CH2008 2008-08-20
US12/242,933 US8150801B2 (en) 2008-08-20 2008-10-01 Recovery of a computer that includes virtual disks
US12/242,933 2008-10-01
PCT/US2009/054221 WO2010022099A2 (en) 2008-08-20 2009-08-18 Recovery of a computer that includes virtual disks

Publications (2)

Publication Number Publication Date
CN102124437A true CN102124437A (zh) 2011-07-13
CN102124437B CN102124437B (zh) 2013-12-11

Family

ID=41697311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801328006A Active CN102124437B (zh) 2008-08-20 2009-08-18 包括虚拟盘的计算机的恢复

Country Status (7)

Country Link
US (2) US8150801B2 (zh)
EP (1) EP2335144B1 (zh)
JP (1) JP5572163B2 (zh)
KR (1) KR101591550B1 (zh)
CN (1) CN102124437B (zh)
CA (1) CA2730094C (zh)
WO (1) WO2010022099A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662783A (zh) * 2012-03-20 2012-09-12 浪潮电子信息产业股份有限公司 一种桌面云环境下修复虚拟机的方法
CN102902601A (zh) * 2011-09-12 2013-01-30 微软公司 高效数据恢复
CN103838639A (zh) * 2012-11-23 2014-06-04 华为技术有限公司 一种恢复虚拟磁盘元数据的方法、装置及系统

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8099391B1 (en) 2009-03-17 2012-01-17 Symantec Corporation Incremental and differential backups of virtual machine files
US8397046B2 (en) * 2009-03-26 2013-03-12 Hitachi, Ltd. Method and apparatus for deploying virtual hard disk to storage system
US8943203B1 (en) * 2009-07-10 2015-01-27 Netapp, Inc. System and method for storage and deployment of virtual machines in a virtual server environment
US9032243B2 (en) * 2010-01-27 2015-05-12 International Business Machines Corporation Target operating system and file system agnostic bare-metal restore
US8627000B2 (en) * 2010-02-08 2014-01-07 Microsoft Corporation Virtual disk manipulation operations
US8413142B2 (en) * 2010-03-30 2013-04-02 Citrix Systems, Inc. Storage optimization selection within a virtualization environment
US9767274B2 (en) * 2011-11-22 2017-09-19 Bromium, Inc. Approaches for efficient physical to virtual disk conversion
US8694745B2 (en) * 2010-09-15 2014-04-08 Symantec Corporation Physical to virtual disks creation (P2V) method, by harvesting data from critical sectors
US9037547B1 (en) * 2010-09-15 2015-05-19 Symantec Corporation Backup time deduplication of common virtual disks from virtual machine backup images
US8666944B2 (en) 2010-09-29 2014-03-04 Symantec Corporation Method and system of performing a granular restore of a database from a differential backup
US8417672B2 (en) * 2010-10-11 2013-04-09 Microsoft Corporation Item level recovery
US8799337B2 (en) 2010-12-15 2014-08-05 Microsoft Corporation System reset and system restore
US9182982B1 (en) * 2011-05-06 2015-11-10 Symantec Corporation Techniques for creating an encrypted virtual hard disk
US9069467B2 (en) * 2011-06-01 2015-06-30 Microsoft Technology Licensing, Llc Isolation of virtual machine I/O in multi-disk hosts
US8819090B2 (en) * 2012-04-23 2014-08-26 Citrix Systems, Inc. Trusted file indirection
US8819369B1 (en) * 2012-06-26 2014-08-26 Netapp, Inc. Restoring a virtual machine
US20140250077A1 (en) * 2013-03-01 2014-09-04 Storagecraft Technology Corporation Deduplication vault storage seeding
US9218251B1 (en) * 2013-03-11 2015-12-22 Emc Corporation Method to perform disaster recovery using block data movement
US9411394B2 (en) 2013-03-15 2016-08-09 Seagate Technology Llc PHY based wake up from low power mode operation
US9335809B2 (en) 2013-03-15 2016-05-10 Seagate Technology Llc Volatile memory storing system data during low power mode operation and monitoring the voltage supplied to the memory during low power mode
US8766707B1 (en) 2013-03-15 2014-07-01 Seagate Technology Llc Integrated always on power island for low power mode operation
US9805068B1 (en) * 2013-08-30 2017-10-31 Veritas Technologies Llc Systems and methods for facilitating features of system recovery environments during restore operations
KR101649909B1 (ko) * 2014-09-25 2016-08-22 한국전자통신연구원 가상 머신 취약점 점검과 복구 방법 및 장치
US9798567B2 (en) 2014-11-25 2017-10-24 The Research Foundation For The State University Of New York Multi-hypervisor virtual machines
CN105808152B (zh) * 2014-12-29 2018-11-27 曙光云计算集团有限公司 一种优化raid全局元数据读写性能的方法
US9569138B2 (en) * 2015-06-15 2017-02-14 International Business Machines Corporation Copying virtual machine flat tires from a source to target computing device based on matching disk layout
US10126983B2 (en) 2015-06-24 2018-11-13 Vmware, Inc. Methods and apparatus to enforce life cycle rules in a modularized virtualization topology using virtual hard disks
US10097534B2 (en) * 2015-08-28 2018-10-09 Dell Products L.P. System and method to redirect hardware secure USB storage devices in high latency VDI environments
CN106445730B (zh) * 2016-07-22 2019-12-03 平安科技(深圳)有限公司 一种提高虚拟机性能的方法和终端
US10310949B1 (en) 2016-12-22 2019-06-04 EMC IP Holding Company LLC Disaster restore of big data application with near zero RTO
US10152387B1 (en) * 2016-12-23 2018-12-11 EMC IP Holding Company LLC Instant start of virtual machine from archive copy on backup media
US11016798B2 (en) 2018-06-01 2021-05-25 The Research Foundation for the State University Multi-hypervisor virtual machines that run on multiple co-located hypervisors
US10976959B2 (en) * 2018-07-23 2021-04-13 EMC IP Holding Company LLC Method and system for accessing virtual machine state while virtual machine restoration is underway
CN109358988A (zh) * 2018-12-10 2019-02-19 郑州云海信息技术有限公司 一种云备份数据的恢复方法、装置、系统及可读存储介质
US11847030B2 (en) * 2020-02-19 2023-12-19 EMC IP Holding Company LLC Prioritizing virtual machines for backup protection at a virtual machine disk level
US11586391B2 (en) 2020-12-16 2023-02-21 Nutanix, Inc. Technique for efficient migration of live virtual disk across storage containers of a cluster
US11487467B1 (en) 2021-05-28 2022-11-01 Microsoft Technology Licensing, Llc Layered memory mapped file technology

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047294A (en) * 1998-03-31 2000-04-04 Emc Corp Logical restore from a physical backup in a computer storage system
US20020095557A1 (en) * 1998-06-22 2002-07-18 Colin Constable Virtual data storage (VDS) system
US20030014585A1 (en) * 2001-01-05 2003-01-16 Liren Ji Method for regenerating partition using virtual drive, data processor and data storage device
US7330932B2 (en) * 2003-11-19 2008-02-12 Hitachi, Ltd. Disk array with spare logic drive created from space physical drives

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6820214B1 (en) * 1999-07-26 2004-11-16 Microsoft Corporation Automated system recovery via backup and restoration of system state
US7433948B2 (en) * 2002-01-23 2008-10-07 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network
US7093086B1 (en) * 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
AU2003282361A1 (en) * 2002-11-20 2004-06-15 Filesx Ltd. Fast backup storage and fast recovery of data (fbsrd)
US7440965B1 (en) * 2004-02-11 2008-10-21 Network Appliance, Inc. Method and system for generating and restoring a backup image
US7293272B1 (en) * 2004-02-26 2007-11-06 Veritas Operating Corporation Device driver processing for automated system restores
US20060112313A1 (en) * 2004-11-12 2006-05-25 Tripp Thomas M Bootable virtual disk for computer system recovery
US7669020B1 (en) * 2005-05-02 2010-02-23 Symantec Operating Corporation Host-based backup for virtual machines
CA2954888C (en) 2005-06-24 2019-06-04 Catalogic Software, Inc. System and method for high performance enterprise data protection
US7434218B2 (en) * 2005-08-15 2008-10-07 Microsoft Corporation Archiving data in a virtual application environment
US7165158B1 (en) * 2005-08-17 2007-01-16 Hitachi, Ltd. System and method for migrating a replication system
JP4702000B2 (ja) 2005-11-10 2011-06-15 パナソニック株式会社 電気湯沸かし器
JP4544146B2 (ja) * 2005-11-29 2010-09-15 株式会社日立製作所 障害回復方法
US7441092B2 (en) * 2006-04-20 2008-10-21 Microsoft Corporation Multi-client cluster-based backup and restore
US7653794B2 (en) * 2006-05-08 2010-01-26 Microsoft Corporation Converting physical machines to virtual machines
JP2008009485A (ja) * 2006-06-27 2008-01-17 Fujitsu Ltd 仮想ストレージ制御装置及び仮想ストレージ制御プログラム
JP2008181271A (ja) * 2007-01-24 2008-08-07 Hitachi Ltd 仮想ボリュームに記憶されたデータをバックアップする記憶制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047294A (en) * 1998-03-31 2000-04-04 Emc Corp Logical restore from a physical backup in a computer storage system
US20020095557A1 (en) * 1998-06-22 2002-07-18 Colin Constable Virtual data storage (VDS) system
US20030014585A1 (en) * 2001-01-05 2003-01-16 Liren Ji Method for regenerating partition using virtual drive, data processor and data storage device
US7330932B2 (en) * 2003-11-19 2008-02-12 Hitachi, Ltd. Disk array with spare logic drive created from space physical drives

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902601A (zh) * 2011-09-12 2013-01-30 微软公司 高效数据恢复
CN102902601B (zh) * 2011-09-12 2015-05-20 微软公司 高效数据恢复
CN102662783A (zh) * 2012-03-20 2012-09-12 浪潮电子信息产业股份有限公司 一种桌面云环境下修复虚拟机的方法
CN103838639A (zh) * 2012-11-23 2014-06-04 华为技术有限公司 一种恢复虚拟磁盘元数据的方法、装置及系统
CN103838639B (zh) * 2012-11-23 2018-04-27 华为技术有限公司 一种恢复虚拟磁盘元数据的方法、装置及系统

Also Published As

Publication number Publication date
EP2335144B1 (en) 2013-08-14
WO2010022099A2 (en) 2010-02-25
EP2335144A2 (en) 2011-06-22
JP2012509516A (ja) 2012-04-19
US9081732B2 (en) 2015-07-14
US8150801B2 (en) 2012-04-03
CA2730094C (en) 2016-11-01
EP2335144A4 (en) 2012-06-13
CA2730094A1 (en) 2010-02-25
JP5572163B2 (ja) 2014-08-13
KR101591550B1 (ko) 2016-02-04
US20100049750A1 (en) 2010-02-25
CN102124437B (zh) 2013-12-11
KR20110050452A (ko) 2011-05-13
WO2010022099A3 (en) 2010-05-06
US20120159240A1 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
CN102124437B (zh) 包括虚拟盘的计算机的恢复
CN102473089B (zh) 用于双操作系统的文件系统
CN1822004B (zh) 使用文件系统将文件自动备份为世代文件的系统和方法
US8577845B2 (en) Remote, granular restore from full virtual machine backup
AU2006262046B2 (en) System and method for virtualizing backup images
CN101460930B (zh) 维护数据库与文件系统之间的链接级一致性
US8489552B1 (en) Generic granular restore of application data from a volume image backup
CN101283330B (zh) 从关闭状态快速引导操作系统的方法和系统
CN102576322B (zh) Nas设备上虚拟磁盘镜像文件的代理备份
CN103210395B (zh) 与客户端虚拟机交互的技术
US20120060048A1 (en) Recovering a system that has experienced a fault
CN102520991A (zh) 高效的虚拟应用更新
CN101523358A (zh) 文件系统目录的快速、可靠同步
US6944789B2 (en) Method and apparatus for data backup and recovery
US20070250673A1 (en) Computer backup system
JP2005196747A (ja) 不揮発性ストレージにカスタム・ソフトウェア・イメージ・アップデートを適用するフェイルセーフな方法
CN103493011A (zh) 与库操作系统的应用兼容性
CN107479922A (zh) 一种闪存数据管理方法、装置及计算机可读存储介质
EP2454670B1 (en) Operating system restoration using remote backup system and local system restore function
US7383466B2 (en) Method and system of previewing a volume revert operation
CN104040525A (zh) 通过网络连接访问覆盖介质
US8745345B2 (en) Backup copy enhancements to reduce primary version access
US8504869B2 (en) Kernel swapping systems and methods for recovering a network device
US9971532B2 (en) GUID partition table based hidden data store system
US9619332B2 (en) Method and system for efficiently managing content on an information handling device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150422

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150422

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.