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左右大小的任意文件test1到D盘。(因为E盘默认会预先分配300M空间用于卷影存储,所以拷贝的文件需要足够大)。
B.在D创建一个卷影副本。
C.把D盘上的文件test1改名为test2,并拷贝一个1G左右大小但不同的文件test2到D盘,这是系统会提示时候覆盖,选择是,也就是用不同的文件替换掉原来的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左右大小的任意文件test1到D盘。(因为E盘默认会预先分配300M空间用于卷影存储,所以拷贝的文件需要足够大)。
B.在D创建一个卷影副本。
C.把D盘上的文件test1改名为test2,并拷贝一个1G左右大小但不同的文件test2到D盘,这是系统会提示时候覆盖,选择是,也就是用不同的文件替换掉原来的test1文件。这样做的目的就是强制系统使用相同的块来保存test2。
D.这个时间点如果通过共享访问D盘,应该可以通过B中创建的卷影副本找到以前的test1文件。
E.在存储服务器中强制移除E所在的磁盘,重新扫描磁盘管理器,确保E盘已消失。
F. 把D盘上的文件test2改名为test3,并拷贝一个1G左右大小但不同的文件test3到D盘,这是系统会提示时候覆盖,选择是。
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 list providers |
枚举所有注册的卷影副本提供程序(providers). |
枚举所有存在的卷影副本. |
|
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”后本地磁盘中的所有快照都会被删除,因此,使用该命令时一定要慎重。另外,需要说明的是删除所有卷影副本就等于禁止了卷上的卷影副本服务。