计划是创建一个相当大的、I/O 繁重的卷的卷影副本。它是 350GB,包含一个基于文件系统的全文索引,该索引组织在数百个文件夹和数十万个需要处于一致状态才能成功还原的小文件中。
当前索引器停止,备份任务运行,然后索引器重新启动。这会导致索引在备份期间数小时不可用。我想通过卷影副本进行一致的备份,理想情况下根本不必停止索引器。
因此,我为该卷打开了卷影复制,并将其配置为每晚制作一次快照到不同的卷。
现在我有点不知所措 - 我怎样才能访问整个卷影副本,以便我可以进行备份?我设想一个只读驱动器包含上次快照时的文件,但也许事情完全不同。
操作系统为 Windows Server 2003 SP2,备份软件为 CommVault Galaxy 7.0。
编辑:请注意 - 同时 - 已经创建了两个答案,它们以脚本的形式实现了必要的功能:
- VBScript(我自己)
- PowerShell(约翰·荷马)
因此,本着重新发明轮子的精神,我向您展示了 Tomalak 的出色脚本(见上文),但完全用Powershell重写!我这样做的主要原因是宣传 Powershell 的强大功能,但也因为我整个人都鄙视 vbscript。
它主要是功能相同的功能,但由于各种原因,我确实实现了一些不同的东西。调试输出肯定更详细。
需要注意的一件非常重要的事情是,此版本会检测操作系统版本和位数,并调用适当版本的 vshadow.exe。我在下面提供了一个图表,以显示要使用的 vshadow.exe 版本、获取它们的位置以及命名它们的名称。
以下是使用信息:
这是脚本:
以下是要使用的 vshadow.exe 版本:
所以……我一直在研究一个小的 VBScript,它可以:
它依赖于
vshadow.exe
(文档),它是Microsoft 提供的Volume Shadow Copy Service SDK 7.2的一部分。我一直在使用这个版本:“ VSHADOW.EXE 2.2 - 卷影复制示例客户端,版权所有 (C) 2005 Microsoft Corporation。 ”基本上,它是对这四个 vshadow 命令的一个简洁的包装:
这是它的帮助屏幕:
这里有一些示例输出:
这是脚本本身。通常的免责声明适用:软件按原样提供,我不做任何保证,使用风险自负,如果出现问题,唯一的责任就是你自己。不过,我已经对其进行了非常彻底的测试,并且对我来说效果很好。随时通过下面的评论通知我任何错误。
我希望这对某人有所帮助。随意按照cc-by-sa使用它。我只要求您保留指向此处的链接完好无损。
vssadmin list shadows
列出所有可用的卷影副本。你会得到这样的输出......记下
Shadow Copy Volume
您想要的卷影副本的名称(对剪贴板最简单)。挂载卷影副本
在 Windows 2003...
如果您还没有2003 的资源工具包工具,则需要下载它。
输入命令...
... where
c:\shadow
是您希望显示卷影副本的路径,并且\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy69
是您在上面复制的名称。请注意,您必须在卷影副本名称的末尾添加反斜杠!在 Windows 2008 及更高版本上...
输入命令...
... where
c:\shadow
是您希望显示卷影副本的路径,并且\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy69
是您在上面复制的名称。请注意,您必须在卷影副本名称的末尾添加反斜杠!XCOPY
)从c:\shadow
.您误解了 VSS 如何与文件系统一起工作(它与数据库的工作方式完全不同)。在文件系统上,VSS 用于实现“以前的版本”功能,该功能仅用于在预定义的时间点对文件和文件夹的更改进行快照,以便通过客户端中的“以前的版本”选项卡进行恢复。然后,这些更改将与卷上的数据合并以构建恢复集。因此,它依赖于仍然存在的原始卷才能执行恢复,换句话说,这对于正确的备份和恢复是无用的。
我认为你需要从你想要做的事情中退后一步,重新思考你想要做什么。
350 GB 的数据实际上并不算多,我敢打赌,每天被积极使用的数据的百分比非常低。您是否考虑过仅在周末使用完整备份进行夜间差异备份?或者使用预定的 DFS 复制到备用存储以获得“快照”(然后备份)?
希望这是你想要的:
diskshadow -s vssbackup.cfg
vssbackup.cfg:
使用 VSS API,可以拍摄卷的“快照”。然后,您必须挂载该快照才能从中复制。我熟悉一个现在已经死掉的产品,它使用这种技术来复制数据,尽管文件是由实时文件系统中的其他进程专门打开的。如果 VSS 快照中的文件是由未与 VSS API 集成的应用程序编写的,则可能会提出有关 VSS 快照中的文件是否自洽的有效问题。可能还有其他产品提供类似的功能。
简短的回答:你不能。
稍微长一点的答案:卷影复制服务可以通过其 API 以编程方式使用,以允许备份打开的文件,但该服务不会创建系统的完整快照,只会创建部分快照。