wbadmin与vssadmin

wbadmin作为应用程序,在备份的时候调用vssadmin进行卷影副本备份。

创建分区还原点也是利用了vssadmin。

试验:

1.通过wsb对一个文件夹进行备份,备份完成后在wsb中会有一个副本存在

2.运行vssadmin list shadows,可以看到wsb的备份时间点的卷影副本

3.运行vssadmin delete shadows /shadow=ShadowID删除该卷影副本,会提示出错:

   

 

======================================================================

 参考文章:

 1.From:http://blog.sina.com.cn/s/blog_6fed14220100qq7g.html

为方便起见,举例说明,假设本地有C,D,E三个卷,其中C为系统盘,D为数据盘,启用D盘的卷影副本功能,并把E盘专用于D盘的存储区域。

1. 如果D盘已创建卷影副本,那么E盘用于卷影技术的存储空间是动态增加的。可以这么验证

A.拷贝一个1G左右大小的任意文件test1D盘。(因为E盘默认会预先分配300M空间用于卷影存储,所以拷贝的文件需要足够大)。

B.在D创建一个卷影副本。

C.把D盘上的文件test1改名为test2,并拷贝一个1G左右大小但不同的文件test2D盘,这是系统会提示时候覆盖,选择是,也就是用不同的文件替换掉原来的test1文件。这样做的目的就是强制系统使用相同的块来保存test2

D.查看E盘的使用情况,在文件覆盖其间,它的大小应该是一直在增大。

2. 微软的卷影副本采用的是写时拷贝技术,沿用1中的例子,如果D,E分别在磁盘0和磁盘1上,那么在文件覆盖其间,用sysinternals上的DiskMon工具可以看到对磁盘0的读,对磁盘1的写,对磁盘0的写这些请求是交错的,也就是在覆盖文件到D盘时,卷影副本模块会先从D盘对应块把数据读出来,然后写到E上,并把新的文件数据更新到D盘。

3. 2中我们可以看出,微软的卷影副本是基于最新的D盘数据,而不是刚对D盘启用卷影副本的数据,这可以从一个实例来论证,假定D,E分别在磁盘0和磁盘1上,并且E盘来自SAN存储服务器:

A.拷贝一个1G左右大小的任意文件test1D盘。(因为E盘默认会预先分配300M空间用于卷影存储,所以拷贝的文件需要足够大)。

B.在D创建一个卷影副本。

C.把D盘上的文件test1改名为test2,并拷贝一个1G左右大小但不同的文件test2D盘,这是系统会提示时候覆盖,选择是,也就是用不同的文件替换掉原来的test1文件。这样做的目的就是强制系统使用相同的块来保存test2

D.这个时间点如果通过共享访问D盘,应该可以通过B中创建的卷影副本找到以前的test1文件。

E.在存储服务器中强制移除E所在的磁盘,重新扫描磁盘管理器,确保E盘已消失。

F D盘上的文件test2改名为test3,并拷贝一个1G左右大小但不同的文件test3D盘,这是系统会提示时候覆盖,选择是。

G  从存储服务器中重新挂接E所在磁盘。会发现B中创建的卷影副本已消失。

4. 微软的卷影副本是基于卷级而不是文件级的,可用一个实例论证,仅使用磁盘碎片整理工具对启用卷影副本功能的D卷进行碎片整理,如果碎片够多,会发现卷影存储使用空间也就是E盘使用空间一直在增大。

5. 微软的卷影副本有一个默认存储空间限制值,如果触发这个限制,首先会依次删除最老的卷影快照数据,若还不能满足这个条件,删除所有快照,这样就没有使用任何存储空间了。

 

2. From:http://blog.csdn.net/ziliaobeifun/article/details/6177266

 

VssAdmin工具使用详解

 

VssAdmin是Windows Server 2008 及 Windows 7系统提供的VSS的管理工具。它可以用于创建或删除卷影副本,列出卷影副本的信息(只能管理系统Provider创建的卷影副本)。还可以用于显示所有安装的所有卷影副本写入程序(writers)和提供程序(providers),以及改变卷影副本存储空间(即所谓的“diff 空间”)的大小等。

 

下表对所有命令行参数一一进行概要介绍。

 

表1  命令参数列表

 

        

            

Vssadmin add shadowstorage

添加卷影副本存储关联.

Vssadmin create shadow

新建一个卷影副本

Vssadmin delete shadows

删除卷影副本

Vssadmin delete shadowstorage

删除卷影副本存储关联.

Vssadmin list providers

枚举所有注册的卷影副本提供程序(providers).

Vssadmin list shadows

枚举所有存在的卷影副本.

Vssadmin list shadowstorage

枚举所有卷影副本存储关联.

Vssadmin list volumes

枚举所有可做卷影副本的卷.

Vssadmin list writers

枚举所有注册的卷影副本写入程序(writers).

Vssadmin resize shadowstorage

修改卷影副本存储空间的大小.

 

 

 

下面对常用命令做下详细介绍,未尽之处请参考官网Vssadmin

 

1.添加卷影副本存储关联(启用卷影副本)

 

默认情况下,Windows Server 2008系统的各卷是启用卷影副本的。如果因为人为因素或者其他原因关闭了卷影副本功能,我们可以通过命令行快速启动它。启用卷影副本就是添加一个卷影副本存储关联,其命令格式是“vssadmin add shadowstorage /for=ForVolumeSpec /on=OnVolumeSpec”。其中“/for=ForVolumeSpec”指定要启用卷影副本的本地卷,而“/on=OnVolumeSpec”则指定卷影副本的保存卷。当然,启用卷影副本的卷和保存副本的卷可以是一个卷。不过,还是建议指定不同的卷,将其隔离的做法更科学一些。

 

下面举一个例子,如果要启用本地C盘的卷影副本功能,并且将该卷的副本保存到E盘上,卷影副本存储空间的大小设置为900mb。我们可以在命令行下执行命令“vssadmin add shadowstorage /for=c: /on=e: /maxsize=900mb”即可(注:“/maxsize”参数接收类似KB、MB、GB、TB等存储单位,不过,这个值指定的最小值不能低于100MB。另windows 7中不支持该命令)

 

 

 

2.删除卷影副本存储关联(禁用卷影副本)

 

要禁用某个卷上的卷影副本,可以使用“vssadmin delete shadowstorage”。不过需要注意的是,需要先删除该卷上保存的所有卷影副本,才能在该卷上执行禁用卷影副本服务操作。其命令格式是“vssadmin delete shadowstorage /for=forvolumespec”,其中“/for=forvolumespec”指定要禁用卷影副本的本地驱动器。比如我们要对C盘禁用卷影副本,可以执行命令“vssadmin delete shadowstorage /for=c:”即可(注:windows 7中不支持该命令)。

 

3.查看卷影副本信息

 

vssadmin工具提供了“list shadows”和“list shadowstorage”两个命令来查看卷影副本信息。其中“list shadows”可显示卷上现有的卷影副本,默认情况下,卷上所有的卷影副本都会显示出来。为了缩小范围,可以指定“/for=forvolumespec”参数以便仅列出指定的卷信息,或者使用“/shadow=shadowld”参数仅列出特定卷影副本信息。通常情况下,我们只需执行命令“vssadmin list shadows”即可。“list shadowstorage”命令更加强大,它可以列出关联到该系统上的所有卷影副本的存储信息。同样的,我们可以指定参数“/for=forvolumespec”和“/on=onvolumespec”以指定目标卷或者目标卷影副本以限制输出的信息。

 

4.创建卷影副本(创建快照)

 

在启用卷影副本后,共享文件夹的快照就会根据默认的计划自动创建。不过,有的时候我们需要手工创建快照。此时,我们可以使用“create shadow”命令。命令格式是“vssadmin create shadow /for=forvolumespec”,其中“forvolumespec”是要创建快照的本地卷。例如我们执行命令“vssadmin create shadow /for=c:”,就会为C盘上的共享文件创建快照。有的时候,我们会遇到卷影副本服务非常繁忙,而造成创建快照延迟或者失败。此时,我们可以调用“/autoretry”参数,在其后指定一个时间间隔,这样就能够在这个时间间隔之后重新创建。比如我们将上面的命令变成“vssadmin create shadow /for=c: /autoretry=60”,这样如果创建失败就会在60秒之后重新执行快照创建操作。

 

5.恢复卷(还原快照)

 

如果要将整个卷恢复到较早期的状态,我们可以使用“revert shadow”命令。需要说明的是,要指定恢复到的卷影副本,必须使用对应的卷影标识符,这时使用“/shadow=shadowID”即可。其中shadowID是卷影副本的全局唯一标识符,还有包括“{}”。例如,如果希望使用ID为{07076c30-bda7-43d0-968a-8a9764a3f1be}的卷影副本来恢复C盘,我们可以执行命令“vssadmin revert shadow /shadow={07076c30-bda7-43d0-968a-8a9764a3f1be}”。不过,一定要输入正确的标识符,如果ID错误,会提示错误。命令成功执行后,会提示输入“Y”,这样vssadmin就执行恢复操作。需要注意的是,如果目标卷上有打开的文件vssadmin恢复操作将会无法进行。不过,我们可以通过命令“/forceDismount”强制进行恢复卷。在恢复过程中,我们可执行命令“vssadmin query reverts”查看恢复操作的状态。

 

 

 

6.删除卷影副本(删除快照)

 

在卷影副本管理中,我们有时需要删除某个卷上的特定卷影副本,可以利用vssadmin工具的“delete shadows”命令轻易实现。其命令格式是“vssadmin delete shadows /for=forvolumespec /oldest”,其中“/for=forvolumespec”指定用于存储快照的本地卷。比如我们在C盘上配置了卷影副本,如果要删除其中最早的快照,执行命令“vssadmin delete shadows /for=C: /oldest”,在输入“Y”确认后就会报告删除成功。

 

当然,我们也可以提供卷影标识来删除卷影副本,例如,我们要删除ID为{3a9bdea8-88f8-488a-b7d6-19c519ea6dfc}的快照,可以执行命令“vssadmin delete shadows /shadow={3a9bdea8-88f8-488a-b7d6-19c519ea6dfc}”。这种快照删除方法直指目标,非常快捷,不过如果你输入了不存在的ID后,会提示错误信息。除了针对性的快照删除,如果我们要删除所有的快照该如何操作呢?同样非常简单,利用vssadmin工具的“delete shadows /all”就可以了。执行命令“vssadmin delete shadows /all”后本地磁盘中的所有快照都会被删除,因此,使用该命令时一定要慎重。另外,需要说明的是删除所有卷影副本就等于禁止了卷上的卷影副本服务。

 

posted on 2013-11-23 23:54  momingliu11  阅读(3699)  评论(1编辑  收藏  举报