VShadow 是一种命令行工具,可用于创建和管理卷影副本。
备注
VShadow 包含在适用于 Windows Vista 及更高版本的 Microsoft Windows 软件开发工具包 (SDK) 中。 VSS 7.2 SDK 包含仅在 Windows Server 2003 上运行的 VShadow 版本。 有关下载 Windows SDK 和 VSS 7.2 SDK 的信息,请参阅卷影复制服务。
VShadow 工具使用命令行选项和可选标志来标识要执行的操作。 在没有任何命令行选项的情况下使用时,VShadow 命令将创建新的卷影复制集。
VShadow 命令执行以下操作:
- 创建卷影复制集
- 导入卷影复制集
- 查询卷影副本属性
- 删除卷影副本
- 中断卷影副本集
- 使用 BreakSnapshotSetEx 方法中断卷影副本集
- 在本地公开卷影副本
- 远程公开卷影副本
- 列出编写器状态和元数据
- 执行还原操作
- 还原到以前的卷影副本
- 重新同步 LUN
创建卷影复制集
vshadow [OptionalFlags] VolumeList
此命令将创建新的卷影复制集。
VolumeList
是卷名称的列表。 VShadow 为列表中的每个卷创建一个卷影副本。 卷名称可以选择用反斜杠 (\
) 终止。 例如,两者都是C:
C:\
有效的卷名称。 还可以指定装载的文件夹(例如 C:\DirectoryName
)或卷 GUID 名称(例如, \\?\Volume{bbbbcccc-1111-dddd-2222-eeee3333ffff}
)。
OptionalFlags 是下表中可选标志值的位掩码。
可选标志值 | 说明 |
---|---|
-ad |
此可选标志指定差异硬件卷影副本。 此标志和 -ap 标志互斥。 注意:此标志仅在 Windows 服务器操作系统上受支持。 |
-ap |
此可选标志指定 plex 硬件卷影副本。 此标志和 -ad 标志互斥。 注意:此标志仅在 Windows 服务器操作系统上受支持。 |
-bc=File.xml |
此可选标志指定不可传输的卷影副本,并将备份组件文档存储到指定的文件中。 此文件可用于后续还原操作。 此标志和 -t 标志互斥。 注意:此标志仅在 Windows 服务器操作系统上受支持。 |
-exec=<Command> |
此可选标志在创建卷影副本之后但在 VShadow 工具退出之前执行命令或脚本。 <Command> 可以指定可执行 shell 命令或 CMD 文件。 如果它指定 shell 命令,则无法指定任何命令参数。注意: 出于安全原因并保持实现简单, -exec 可选标志不接受要传递给命令或脚本的参数。 传递给可选标志的 -exec 整个字符串被视为单个 CMD 或 EXE 文件。 有关此限制的详细信息,请参阅 VShadow 源代码。 |
-forcerevert |
此可选标志指定仅当可以还原所有磁盘签名时,才应完成卷影复制操作。 注意:此标志仅在 Windows 服务器操作系统上受支持。 Windows Server 2003:不支持 |
-mask |
此可选标志指定当卷影复制集被损坏时,应从计算机屏蔽卷影副本 LUN。 注意:此标志仅在 Windows 服务器操作系统上受支持。 Windows Server 2003:不支持 |
-nar |
此可选标志指定不带自动恢复的卷影副本。 有关此选项的详细信息,请参阅_VSS_VOLUME_SNAPSHOT_ATTRIBUTES] 枚举标志的文档VSS_VOLSNAP_ATTR_NO_AUTORECOVERY 。 |
-norevert |
此可选标志指定不应还原磁盘签名。 注意:此标志仅在 Windows 服务器操作系统上受支持。 Windows Server 2003:不支持 |
-nw |
此可选标志指定卷影副本,而不涉及编写器。 有关没有编写器参与的卷影副本的详细信息,请参阅卷影副本创建详情。 此标志和-wi -wx 标志互斥。 |
-p |
此可选标志指定永久性卷影副本。 注意:此标志仅在 Windows 服务器操作系统上受支持。 |
-rw |
此可选标志指定当卷影副本集断开时,应读取/写入卷影副本 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 版本:不支持可传输卷影副本。 Windows Server 2003 Service Pack 1 (SP1) 的所有版本都支持可传输的卷影副本。 |
-tr |
此可选标志指定应在创建卷影复制期间强制实施 TxF 恢复。 注意:此标志仅在 Windows 服务器操作系统上受支持。 |
-tracing |
此可选标志生成可用于故障排除的详细输出。 |
-wait |
此可选标志会导致 VShadow 工具在退出之前等待用户确认。 |
-wi=<Writer> |
此可选标志验证指定的编写器或组件是否包含在卷影副本中。 <Writer> 可以指定组件路径、编写器名称、编写器 ID 或编写器实例 ID。 此标志和 -nw 标志互斥。 |
-wx=<Writer> |
此可选标志验证指定的编写器或组件是否从卷影副本中排除。 <Writer> 可以指定组件路径、编写器名称、编写器 ID 或编写器实例 ID。 此标志和 -nw 标志互斥。 |
导入卷影复制集
vshadow [OptionalFlags] -i=File.xml
-i
命令行选项导入可传输的卷影复制集。
备注
此命令行选项仅在 Windows 服务器操作系统上受支持。
该文件File.xml
必须是使用或-bc
可选标志创建的可传输卷影副本集的-t
备份组件文档文件。
卷影复制集是使用可选标志创建的-p
永久性卷影副本。 如果可传输的卷影复制集是非持久性的,则它在卷影复制创建命令运行时出现短暂的时间,并在命令返回时自动删除。 只能在创建卷影复制期间导入非持久性卷影副本,方法是使用 -exec
可选标志创建卷影副本集来执行调用 VShadow -i
的 CMD 文件。
-i
命令行选项不能与其他命令行选项组合使用。
OptionalFlags
是下表中可选标志值的位掩码。
可选标志值 | 说明 |
---|---|
-exec=<Command> |
此可选标志在导入卷影副本之后但在 VShadow 工具退出之前执行命令或脚本。 <Command> 可以指定可执行 shell 命令或 CMD 文件。 如果它指定 shell 命令,则无法指定任何命令参数。 |
-tracing |
此可选标志生成可用于故障排除的详细输出。 |
-wait |
此可选标志会导致 VShadow 工具在退出之前等待用户确认。 |
查询卷影副本属性
vshadow -q
vshadow -qx=<ShadowCopySetId>
vshadow -s=<ShadowCopyId>
-q
命令行选项列出了计算机上所有卷影副本的属性。
-qx
命令行选项列出其 ID 由<ShadowCopySetId>
其 ID 指定的卷影副本集中所有卷影副本的属性。
-s
命令行选项列出其 ID 由<ShadowCopyId>
其 ID 指定的卷影副本的属性。
这些命令行选项结合使用 IVssBackupComponents::Query 和 IVssBackupComponents::GetSnapshotProperties 来获取给定卷影副本集的属性。
-q
和-qx
-s
命令行选项互斥,不能与其他命令行选项组合使用。
删除卷影副本
vshadow** -da
vshadow -do
vshadow -dx=<ShadowCopySetId>
vshadow -ds=<ShadowCopyId>
该 -da
命令将删除计算机上的所有卷影副本。
备注
-da
命令行选项需要用户确认。
-do
命令行选项删除计算机上最早的卷影副本。
-dx
命令行选项删除影子副本集中的所有卷影副本,其 ID 由<ShadowCopySetId>
其指定。
-ds
命令行选项将删除 ID 由<ShadowCopyId>
其 ID 指定的卷影副本。
这些命令行选项仅用于持久卷影副本。 非持久卷影副本不需要显式删除,因为它们在 VShadow 创建命令退出时会自动删除。
-da
、-do
和-dx
-ds
命令行选项互斥,不能与其他命令行选项组合使用。
中断卷影副本集
vshadow -b=<ShadowCopySetId>
vshadow -bw=<ShadowCopySetId>
-b=<ShadowCopySetId>
命令行选项将卷影副本集中的每个卷影副本转换为独立的只读卷。
-bw=<ShadowCopySetId>
命令行选项将卷影副本集中的每个卷影副本转换为独立的可写卷。
备注
-b
-bw
命令行选项仅在 Windows 服务器操作系统上受支持。
有关中断卷影复制集的信息,请参阅中断卷影副本。
卷影副本集损坏后,卷影副本集和单个卷影副本不再存在,并且无法使用 VSS 命令进行管理。
如果使用可选标志创建 -p
卷影复制集,则其持久性。 如果可传输的卷影复制集是非持久性的,则它在卷影复制创建命令运行时出现短暂的时间,并在命令返回时自动删除。 只能在创建卷影复制期间中断非持久性卷影复制集,方法是使用 -exec
可选标志创建卷影副本集来执行调用 vshadow -b
或 vshadow -bw
的 CMD 文件。
-b
-bw
命令行选项是互斥的,不能与其他命令行选项组合使用。
使用 BreakSnapshotSetEx 方法中断卷影副本集
vshadow -bex
-bex
命令行选项根据可选-mask
、-rw
和-forcerevert
-norevert
标志指定的选项中断卷影副本集。 此命令行选项类似于 -b
命令行选项和 -bw
命令行选项。 -bex
命令行选项使用 IVssBackupComponentsEx2::BreakSnapshotSetEx 方法,而-bw
-b
命令行选项则使用 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
来破坏卷影复制集,否则卷内容将保持只读状态。
备注
无法在本地公开非持久性卷影副本和客户端可访问的卷影副本。
例如,如果 {bbbbcccc-1111-dddd-2222-eeee3333ffff}
现有永久性卷影副本的 GUID,并且 X:
是未使用的驱动器号,则以下命令将公开下面的卷影副本 X:
:
vshadow -el={bbbbcccc-1111-dddd-2222-eeee3333ffff},x:
以下示例演示如何在装载的文件夹 C:\ShadowCopies\June23
下公开相同的卷影副本:
mkdir c:\ShadowCopies\June23
vshadow -el={bbbbcccc-1111-dddd-2222-eeee3333ffff},c:\ShadowCopies\June23
-el
命令行选项不能与其他命令行选项组合使用。
远程公开卷影副本
vshadow -er=<ShadowCopyId>,<UnusedShareName>
vshadow -er=<ShadowCopyId>,<UnusedShareName>,<PathFromRootOnShadow>
-er
命令行选项从卷影副本将只读共享名称分配给根目录(或子目录)。 请注意,除非随后调用 vshadow -bw
破坏卷影复制集,否则共享内容将保持只读状态。
备注
无法远程公开客户端可访问的卷影副本。
例如,如果 {bbbbcccc-1111-dddd-2222-eeee3333ffff}
现有永久性卷影副本的 GUID,并且 share_123
是未使用的共享名称,以下命令将公开下面的 share_123
卷影副本:
vshadow -er={bbbbcccc-1111-dddd-2222-eeee3333ffff},share_123
以下示例演示如何仅公开同一共享下同一卷影副本的子树(已命名 Folder1\Folder2
):
vshadow -er={bbbbcccc-1111-dddd-2222-eeee3333ffff},share_123,Folder1\Folder2
-er
命令行选项不能与其他命令行选项组合使用。
列出编写器状态和元数据
vshadow -ws
vshadow -wm
vshadow -wm2
vshadow -wm3
-ws
命令行选项枚举当前在计算机上运行的 VSS 编写器并描述其状态。 此命令等效于 Vssadmin 列表编写器命令。 有六个可能的状态值:Stable
、、Failed
Unknown
、Waiting for freeze
、 Frozen
和Waiting for completion
。
-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
必须是使用或-bc
可选标志创建的卷影复制集的-t
备份组件文档文件。
-r
-rs
命令行选项是互斥的,不能与其他命令行选项组合使用。
OptionalFlags
是下表中可选标志值的位掩码。
可选标志值 | 说明 |
---|---|
-wi=<Writer> |
此可选标志验证指定的编写器或组件是否包含在还原中。 <Writer> 可以指定组件路径、编写器名称、编写器 ID 或编写器实例 ID。 |
-wx=<Writer> |
此可选标志验证指定的编写器或组件是否被排除在还原之外。 <Writer> 可以指定组件路径、编写器名称、编写器 ID 或编写器实例 ID。 |
-exec=<Command> |
此可选标志在发送到编写器的还原前事件和还原后事件之间执行命令或脚本。 <Command> 可以指定可执行 shell 命令或 CMD 文件。 如果它指定 shell 命令,则无法指定任何命令参数。 |
-tracing |
此可选标志生成可用于故障排除的详细输出。 |
还原到以前的卷影副本
vshadow -revert=<ShadowCopyId>
备注
此命令行选项仅在 Windows 服务器操作系统上受支持。
Windows Server 2008 和 Windows Server 2003:不支持。
命令行选项将 -revert
卷还原到其 ID 由 <ShadowCopyId>
其 ID 指定的上一卷卷。
-revert
命令行选项不能与其他命令行选项组合使用。
重新同步 LUN
vshadow** -addresync=<ShadowCopyId> -resync=<BCDFileName> [OptionalResyncFlags]
vshadow -addresync=<ShadowCopyId>, <TargetVolumeDriveLetter> -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:不支持。 |