VShadow 工具和示例

VShadow 是一个命令行工具,可用于创建和管理卷影副本。

注意

VShadow 包含在适用于 Windows Vista 及更高版本的 Microsoft Windows 软件开发工具包 (SDK) 中。 VSS 7.2 SDK 包含仅在 Windows Server 2003 上运行的 VShadow 版本。 有关下载 Windows SDK 和 VSS 7.2 SDK 的信息,请参阅 卷影复制服务

 

VShadow 工具使用命令行选项和可选标志来标识要执行的工作。 如果不使用任何命令行选项,VShadow 命令将创建新的卷影副本集。

VShadow 命令执行以下操作:

创建卷影复制集

vshadow [OptionalFlags] VolumeList

此命令创建新的卷影副本集。

VolumeList 是卷名称的列表。 VShadow 为列表中的每个卷创建一个卷影副本。 可以选择使用反斜杠 (\) 终止卷名称。 例如,C: 和 C:\是有效的卷名称。 还可以指定 (装载的文件夹,例如 C:\DirectoryName) 或卷 GUID 名称 (例如\?\Volume{edbed95e-7e8d-11d8-9d01-505054503030}) 。

OptionalFlags 是下表中可选标志值的位掩码。

可选标志值 说明
-广告
此可选标志指定差异硬件卷影副本。 此标志和 -ap 标志互斥。
注意: 此标志仅在 Windows 服务器操作系统上受支持。
-美联社
此可选标志指定 plex 硬件卷影副本。 此标志和 -ad 标志是互斥的。
注意: 此标志仅在 Windows 服务器操作系统上受支持。
-bc=File.xml
此可选标志指定不可传输的卷影副本,并将备份组件文档存储到指定文件中。 此文件可用于后续还原操作。 此标志和 -t 标志互斥。
注意: 此标志仅在 Windows 服务器操作系统上受支持。
-exec=Command
此可选标志在创建卷影副本后但在 VShadow 工具退出之前执行命令或脚本。 命令 可以指定可执行 shell 命令或 CMD 文件。 如果它指定 shell 命令,则不能指定任何命令参数。
注意: 出于安全原因和保持实现简单, -exec 可选标志将不接受要传递给命令或脚本的参数。 传递给 -exec 可选标志的整个字符串被视为单个 CMD 或 EXE 文件。 有关此限制的详细信息,请参阅 VShadow 源代码。
-forcerevert
此可选标志指定仅当可以还原所有磁盘签名时,才应完成卷影复制操作。
注意: 此标志仅在 Windows 服务器操作系统上受支持。
Windows Server 2003: 不支持。
-面具
此可选标志指定当卷影副本集损坏时,应从计算机屏蔽卷影复制 LUN。
注意: 此标志仅在 Windows 服务器操作系统上受支持。
Windows Server 2003: 不支持。
-nar
此可选标志指定不自动恢复的卷影副本。 有关此选项的详细信息,请参阅有关 _VSS_VOLUME_SNAPSHOT_ATTRIBUTES 枚举VSS_VOLSNAP_ATTR_NO_AUTORECOVERY 标志的文档。
-norevert
此可选标志指定不应还原磁盘签名。
注意: 此标志仅在 Windows 服务器操作系统上受支持。
Windows Server 2003: 不支持。
-西北
此可选标志指定卷影副本,而不涉及编写器。 有关没有编写器参与的卷影副本的详细信息,请参阅 卷影副本创建详细信息。 此标志和 -wi-wx 标志互斥。
-p
此可选标志指定 永久性卷影副本
注意: 此标志仅在 Windows 服务器操作系统上受支持。
-乌尔曼
此可选标志指定在卷影复制集损坏时,应使卷影复制 LUN 读/写。
注意: 此标志仅在 Windows 服务器操作系统上受支持。
Windows Server 2003: 不支持。
-scsf
此可选标志指定 客户端可访问的卷影副本
注意: 此标志仅在 Windows 服务器操作系统上受支持。
-script=File.cmd
此可选标志生成一个 CMD 文件,其中包含与创建的卷影副本相关的环境变量,例如卷影副本 ID 和卷影副本集 ID。
-t=File.xml
此可选标志指定可传输卷影副本,并将备份组件文档存储在 File.xml 参数指定的文件中。 此文件可用于后续导入和/或还原操作。 此标志和 -bc 标志互斥。
Windows Server 2003、Standard Edition 和 Windows Server 2003 Web Edition: 不支持可传输卷影副本。 具有 Service Pack 1 (SP1 的所有 Windows Server 2003 版本) 都支持可传输卷影副本。
-Tr
此可选标志指定应在创建卷影副本期间强制实施 TxF 恢复。
注意: 此标志仅在 Windows 服务器操作系统上受支持。
-跟踪
此可选标志生成可用于故障排除的详细输出。
-等
此可选标志会导致 VShadow 工具在退出之前等待用户确认。
-wi=Writer
此可选标志验证指定的编写器或组件是否包含在卷影副本中。 编写器 可以指定组件路径、编写器名称、编写器 ID 或编写器实例 ID。 此标志和 -nw 标志互斥。
-wx=Writer
此可选标志验证指定的编写器或组件是否已从卷影副本中排除。 编写器 可以指定组件路径、编写器名称、编写器 ID 或编写器实例 ID。 此标志和 -nw 标志互斥。

 

导入卷影副本集

vshadow [OptionalFlags] -i=File.xml

-i 命令行选项导入可传输卷影副本集。

注意

此命令行选项仅在 Windows 服务器操作系统上受支持。

 

File.xml 文件必须是使用 -t-bc 可选标志创建的可传输卷影副本集的备份组件文档文件。

卷影复制集是使用 -p 可选标志创建的,则为永久性卷影副本。 如果可传输的卷影副本集是非持久性的,则在运行卷影复制创建命令时,它会在短时间内显示,并在命令返回时自动删除。 只能在创建卷影副本期间导入非持久性卷影副本,方法是使用 -exec 可选标志创建卷影副本集,以执行调用 VShadow -i 的 CMD 文件。

-i 命令行选项不能与其他命令行选项组合使用。

OptionalFlags 是下表中可选标志值的位掩码。

可选标志值 说明
-exec=Command
此可选标志在导入卷影副本后但在 VShadow 工具退出之前执行命令或脚本。 命令 可以指定可执行 shell 命令或 CMD 文件。 如果它指定 shell 命令,则不能指定任何命令参数。
-跟踪
此可选标志生成可用于故障排除的详细输出。
-等
此可选标志会导致 VShadow 工具在退出之前等待用户确认。

 

查询卷影复制属性

vshadow-q

vshadow **-qx=**ShadowCopySetId

vshadow **-s=**ShadowCopyId

-q 命令行选项列出了计算机上所有卷影副本的属性。

-qx 命令行选项列出其 ID 由 ShadowCopySetId 指定的卷影副本集中所有卷影副本的属性。

-s 命令行选项列出了其 ID 由 ShadowCopyId 指定的卷影副本的属性。

这些命令行选项结合使用 IVssBackupComponents::QueryIVssBackupComponents::GetSnapshotProperties 来获取给定的卷影副本集的属性。

-q-qx-s 命令行选项互斥,不能与其他命令行选项组合使用。

删除卷影副本

vshadow-da

vshadow-do

vshadow **-dx=**ShadowCopySetId

vshadow **-ds=**ShadowCopyId

-da 命令将删除计算机上的所有卷影副本。

注意

-da 命令行选项需要用户确认。

 

-do 命令行选项将删除计算机上最早的卷影副本。

-dx 命令行选项删除其 ID 由 ShadowCopySetId 指定的卷影副本集中的所有卷影副本。

-ds 命令行选项删除 ID 由 ShadowCopyId 指定的卷影副本。

这些命令行选项仅用于 永久性卷影副本 。 不需要显式删除非永久卷影副本,因为它们会在 VShadow 创建命令退出时自动删除。

-da-do-dx-ds 命令行选项互斥,不能与其他命令行选项结合使用。

中断卷影副本集

vshadow **-b=**ShadowCopySetId

vshadow **-bw=**ShadowCopySetId

**-b=**ShadowCopySetId 命令行选项将卷影副本集中的每个卷影副本转换为独立只读卷。

**-bw=**ShadowCopySetId 命令行选项将卷影副本集中的每个卷影副本转换为独立可写卷。

注意

-b-bw 命令行选项仅在 Windows 服务器操作系统上受支持。

 

有关中断卷影副本集的信息,请参阅 中断卷影副本

卷影复制集断开后,卷影副本集和单个卷影副本不再存在,并且无法使用 VSS 命令进行管理。

如果卷影复制集是使用 -p 可选标志创建的,则它是永久性的。 如果可传输的卷影副本集是非持久性的,则在运行卷影复制创建命令时,它会在短时间内显示,并在命令返回时自动删除。 只能在创建卷影复制期间中断非持久性卷影复制集,方法是使用 -exec 可选标志创建卷影副本集,以执行调用 vshadow-bvshadow-bw 的 CMD 文件。

-b-bw 命令行选项互斥,不能与其他命令行选项结合使用。

使用 BreakSnapshotSetEx 方法中断卷影副本集

vshadow-bex

-bex 命令行选项根据可选 -mask-rw-forcerevert-norevert 标志指定的选项中断卷影复制集。 此命令行选项类似于 -b-bw 命令行选项。 -bex 命令行选项使用 IVssBackupComponentsEx2::BreakSnapshotSetEx 方法,而 -b和 -bw 命令行选项使用 IVssBackupComponents::BreakSnapshotSet 方法。

有关中断卷影副本集的信息,请参阅 中断卷影副本

注意

-bex 命令行选项仅在 Windows 服务器操作系统上受支持。

 

vshadow-bex-mask

-mask 标志指定将从主机屏蔽卷影复制 LUN。 如果指定 了 -mask 标志,则无法指定 -rw-forcerevert-norevert 标志。

vshadow-bex-rw

-rw 标志指定卷影复制 LUN 将作为读/写卷公开给主机。

vshadow-bex-forcerevert

-forcerevert 标志指定所有卷影副本 LUN 的磁盘标识符将还原为原始 LUN 的磁盘标识符。 但是,如果系统上存在任何原始 LUN,则操作将失败,并且不会还原任何标识符。 此标志和 -norevert 标志互斥。

vshadow-bex-norevert

-norevert 标志指定不会还原任何卷影复制 LUN 磁盘标识符。 此标志和 -forcerevert 标志互斥。

在本地公开卷影副本

vshadow **-el=ShadowCopyId,**LocalEmptyDirectory

vshadow **-el=ShadowCopyId,**UnusedDriveLetter

-el 命令行选项将装载的文件夹或驱动器号分配给永久性卷影副本。 请注意,除非你随后调用 vshadow-bw 来中断卷影复制集,否则卷内容将保持只读状态。

注意

无法在本地公开非持久性卷 影副本和客户端可访问的卷影副本

 

例如,如果 {edbed95e-7e8d-11d8-9d01-505054503030} 是现有永久性卷影副本的 GUID,而 X: 是未使用的驱动器号,则以下命令将公开 X 下的卷影副本:

vshadow-el={edbed95e-7e8d-11d8-9d01-505054503030},x:

以下示例演示如何在装载的文件夹 C:\ShadowCopies\June23 下公开相同的卷影副本:

mkdir c:\ShadowCopies\June23

vshadow-el={edbed95e-7e8d-11d8-9d01-505054503030},c:\ShadowCopies\June23

-el 命令行选项不能与其他命令行选项结合使用。

远程公开卷影复制

vshadow **-er=ShadowCopyId,**UnusedShareName

vshadow **-er=ShadowCopyIdUnusedShareName,**PathFromRootOnShadow

-er 命令行选项将只读共享名称分配给根目录 (或卷影副本中的子目录) 。 请注意,共享内容将保持只读状态,除非你随后调用 vshadow-bw 来中断卷影复制集。

注意

无法远程公开客户端可访问的卷影副本

 

例如,如果 {edbed95e-7e8d-11d8-9d01-505054503030} 是现有永久性卷影副本的 GUID,并且 share_123 是未使用的共享名称,则以下命令在 share_123 下公开卷影副本:

vshadow-er={edbed95e-7e8d-11d8-9d01-505054503030},share_123

以下示例演示如何在同一共享下仅公开同一卷影副本 ) 名为“Folder1\Folder2”的子树 (:

vshadow-er={edbed95e-7e8d-11d8-9d01-505054503030},share_123,Folder1\Folder2

-er 命令行选项不能与其他命令行选项组合使用。

列出编写器状态和元数据

vshadow-ws

vshadow-wm

vshadow-wm2

vshadow-wm3

-ws 命令行选项枚举计算机上当前运行的 VSS 编写器并描述其状态。 此命令等效于 Vssadmin 列表编写器 命令。 有六种可能的状态值:稳定、失败、未知、等待冻结、冻结和等待完成。

-wm 命令行选项列出了编写器元数据的摘要,包括受影响的卷。

-wm2 命令行选项列出所有编写器元数据。

-wm3 命令行选项以原始 XML 格式列出所有编写器元数据。

Windows Vista 和 Windows Server 2003:不支持 -wm3 命令行选项。

可以使用此信息来确定卷影副本集中要包含的卷。

注意

如果编写器状态为“稳定”或“正在等待完成”,则可以认为编写器处于稳定状态,可供下一次备份使用。

 

-ws-wm-wm2-wm3 命令行选项互斥,不能与其他命令行选项结合使用。

执行还原操作

vshadow [OptionalFlags] -r=File.xml

vshadow [OptionalFlags] -rs=File.xml

-r 命令行选项执行还原操作。

-rs 命令行选项执行模拟还原操作。

File.xml 文件必须是使用 -t-bc 可选标志创建的卷影副本集的备份组件文档文件。

-r-rs 命令行选项互斥,不能与其他命令行选项结合使用。

OptionalFlags 是下表中可选标志值的位掩码。

可选标志值 说明
**-wi=**Writer
此可选标志验证指定的编写器或组件是否包含在还原中。 编写器 可以指定组件路径、编写器名称、编写器 ID 或编写器实例 ID。
**-wx=**Writer
此可选标志验证指定的编写器或组件是否已从还原中排除。 编写器 可以指定组件路径、编写器名称、编写器 ID 或编写器实例 ID。
**-exec=**Command
此可选标志在发送给编写器的还原前事件和还原后事件之间执行命令或脚本。 命令 可以指定可执行 shell 命令或 CMD 文件。 如果它指定 shell 命令,则不能指定任何命令参数。
-跟踪
此可选标志生成可用于故障排除的详细输出。

 

还原到以前的卷影副本

vshadow **-还原=**ShadowCopyId

注意

此命令行选项仅在 Windows 服务器操作系统上受支持。

 

Windows Server 2008 和 Windows Server 2003: 不支持。

-还原 命令行选项将卷还原到上一个卷影副本,其 ID 由 ShadowCopyId 指定。

-还原 命令行选项不能与其他命令行选项组合使用。

重新同步 LUN

vshadow **-addresync=**ShadowCopyId **-resync=**BCDFileName [OptionalResyncFlags]

vshadow-addresync=ShadowCopyIdTargetVolumeDriveLetter **-resync=**BCDFileName [OptionalResyncFlags]

-addresync 命令行选项指定要包含在 LUN 重新同步操作中的卷。 ShadowCopyId 参数指定卷影副本的标识符。 可选的 TargetVolumeDriveLetter 参数指定要在其中复制卷影副本卷内容的目标卷。

-resync 命令行选项启动 LUN 重新同步操作。 操作完成后,每个目标 LUN 的签名应与目标卷 LUN 的签名相同。 BCDFileName 参数指定包含备份组件文档的 XML 文件的名称。

注意

-addresync-resync 命令行选项仅在 Windows 服务器操作系统上受支持。

 

Windows Server 2008 和 Windows Server 2003: 不支持。

OptionalResyncFlags 是下表中可选标志值的位掩码。

可选标志值 说明
-revertsig
此可选标志指定在操作完成后,每个目标 LUN 的签名应与用于创建卷影副本的原始 LUN 的签名相同,而不是目标卷 LUN。
注意:-revertsig 标志仅在 Windows 服务器操作系统上受支持。
Windows Server 2008 和 Windows Server 2003: 不支持。
-novolcheck
此可选标志指定 VSS 服务不应为 LUN 重新同步操作将覆盖的未选定卷检查。
注意:-novolcheck 标志仅在 Windows 服务器操作系统上受支持。
Windows Server 2008 和 Windows Server 2003: 不支持。