其實卷影副本(Shadow Copies)並不是Windows Server 才有的功能但是對於Windows Server 這樣的Server系統平台卷影副本的使用更有重要意義通過卷影副本功能管理員可以在指定的卷上創建備份的副本我們可以將這些備份的副本看成時間快照可以根據需要將文件恢復以前的某個版本因此它可以極大地保證服務器數據的安全不過基於圖形界面的控制台下卷影副本管理過程比較繁瑣也不夠高效而命令行下的操作就快捷高效多了所以命令行下的卷影副本管理技術是管理員們必須掌握的希望本文能夠幫助大家做到這一點
vssadmin工具簡介
vssadmin是Windows Server 中用來管理卷影副本的工具通過vssadmin我們不僅能夠對本地系統中的卷影副本進行管理而且可以通過遠程桌面登錄到遠程服務器對其上的卷進行配置管理
啟用卷影副本
默認情況下Windows Server 系統的各卷是啟用卷影副本的如果因為人為因素或者其他原因關閉了卷影副本功能我們可以通過命令行快速啟動它啟用卷影副本的命令格式是vssadmin add shadowstorage /for=ForVolumeSpec /on=OnVolumeSpec 其中/for=ForVolumeSpec指定要啟用卷影副本的本地卷而/on=OnVolumeSpec則指定將指定卷的副本保存在那個卷上當然要啟用卷影副本的卷和保存副本的卷可以是一個卷不過筆者建議將其隔離的做法更科學一些
下面我們舉一個例子如果要啟用本地C盤的卷影副本功能並且將該卷的副本保存到D盤上我們可以在命令行下執行命令vssadmin add shadowstorage /for=c: /on=d:即可如果執行命令vssadmin add shadowstorage /for=e: /on=e:則啟動了E盤的卷影副本並且其副本也保存在E盤(圖)
啟用卷影副本
禁用卷影副本
要禁用某個卷上的卷影副本可以直接使用vssadmin delete shadowstorage不過需要注意的是在目標卷上所有保存的快照映像被刪除之前是無法在該卷上禁用卷影副本的因此我們首先需要刪除該卷上保存的所有快照映像然後在該卷上再執行禁用卷影副本操作其命令格式是vssadmin delete shadowstorage /for=forvolumespec其中/for=forvolumespec指定要禁用卷影副本的本地驅動器比如我們要對C盤禁用卷影副本可以執行命令vssadmin delete shadowstorage /for=c:即可(圖)
禁用卷影副本
自定義卷影副本最大存儲容量
在啟用了磁盤的卷影副本後默認情況下其使用可用的最大容量作為副本的存儲空間毫無疑問這會造成磁盤空間的極大浪費而且對於服務器系統來說無節制的侵占磁盤空間造成磁盤空間告急會影響其它服務的正常運行因此筆者建議大家一定要對卷影副本所占的最大磁盤空間進行限制在此我們要用到vssadmin工具的/maxsize參數該參數接收類似KBMBGBTB等存儲單位不過這個值指定的最小值不能低於MB
我們舉一個例子在命令行下執行vssadmin add shadowstorage /for=d: /on=e: /maxsize=GB命令執行後在D盤啟用卷影副本在E盤保存其副本數據並且將可用的副本保存空間上限定制為GB有的時候我們定義的卷影副本存儲空間不夠或者有太多冗余此時我們可以通過Resize Shadow命令來重新調整空間的大小這個命令接收與add命令一樣的參數同時必須在同一個關聯的存儲中進行也就是說如果C盤的卷影副本存儲使用了D盤那麼就只能用下面的命令vssadmin add shadowstorage /for=c: /on=d: /maxsize=GB來更改卷影副本存儲空間的大小(圖)
自定義卷影副本最大存儲容量
查看卷影副本信息
對於服務器來說本地磁盤中保存了很多卷影副本我們如何快速獲取其詳細信息呢?同樣非常簡單vssadmin工具為我們提供了list shadows和list shadowstorage兩個命令其中list shadows可顯示卷上現有的卷影副本默認情況下卷上所有的卷影副本都會顯示出來為了縮小范圍我們可以添加/for=forvolumespec參數僅列出指定的卷信息或者使用/shadow=shadowld參數僅列出特定卷影副本信息通常情況下我們只需執行命令vssadmin list shadows即可list shadowstorage命令更加強大它可以列出關聯到該系統上的所有卷影副本的存儲信息同樣的我們可以添加參數/for=forvolumespec和/on=onvolumespec以指定目標卷或者目標卷影副本以限制輸出的信息(圖)
查看卷影副本信息
手工創建快照
在啟用卷影副本後共享文件夾的快照就會根據默認的計劃自動創建不過有的時候我們需要手工創建快照此時我們可以使用create shadow命令命令格式是vssadmin create shadow /for=forvolumespec其中forvolumespec是要創建快照的本地卷例如我們執行命令vssadmin create shadow /for=D:就會為D盤上的共享文件創建快照有的時候我們會遇到卷影副本服務非常繁忙而造成創建快照延遲或者失敗此時我們可以調用/autoretry參數在其後指定一個時間間隔這樣就能夠在這個時間間隔之後重新創建比如我們將上面的命令變成vssadmin create shadow /for=d: /autoretry=這樣如果創建失敗就會在秒之後重新執行快照創建操作(圖)
手工創建快照
快速恢復卷
如果要將整個卷恢復到較早期的快照狀態我們可以使用revert shadow命令需要說明的時要指定恢復到的快照必須使用對應的卷影標識符這時使用/shadow=shadowID即可其中/shadow=shadowID的目標快照映像的全局唯一標識符還有包括{}例如如果希望使用ID為{cfefdadcddd}的快照映像進行恢復C盤執行命令vssadmin revert shadow /shadow={cfefdadcddd}即可不過一定要輸入正確的標識符如果ID錯誤會提示錯誤命令成功執行後會提升輸入Y這樣vssadmin就執行恢復操作需要主要的是如果目標卷上有打開的文件vssadmin恢復操作將會無法進行不過我們可以通過命令/forceDismount強制進行恢復卷在恢復過程中我們可執行命令vssadmin query reverts查看恢復操作的狀態(圖)
快速恢復卷
刪除快照映像
在卷影副本管理中我們有時需要刪除某個卷上的特定快照這如果要在控制台中完成簡直是太麻煩了不過利用vssadmin工具的delete shadows命令可輕易實現其命令格式是vssadmin delete shadows /for=forvolumespec /oldest其中/for=forvolumespec指定用於存儲快照的本地卷比如我們在C盤上配置了卷影副本如果要刪除其中最早的快照執行命令vssadmin delete shadows /for=C: /oldest在輸入Y確認後就會報告刪除成功(圖)
刪除快照映像
當然我們也可以提供卷影標識來刪除快照其命令參數是/shadow=shadowID這裡的shadowID是要刪除的快照映像對應的全局唯一標識符使用時要包含{}比如我們要刪除ID為{abdeafabdceadfc}的快照可以執行命令vssadmin delete shadows /shadow={abdeafabdceadfc}即可這種快照刪除方法直指目標非常快捷不過如果你輸入了不存在的ID後會提升錯誤信息除了針對性的快照刪除如果我們要刪除所有的快照該如何操作呢?同樣非常簡單利用vssadmin工具的delete shadows /add就可以了執行命令vssadmin delete shadows /add後本地磁盤中的所有快照都會被刪除因此這些該命令時一定要慎重另外需要說明的是刪除所有快照並等於禁止了卷上的卷影副本 (圖)
刪除快照映像
總結本文基於實例比較全面地解析了在Windows Server 平台上利用vssadmin工具進行卷影副本管理的個方面應該說這個方面囊括了卷影副本管理的最主要方面希望本文對於大家提高卷影副本管理效率有幫助
From:http://tw.wingwit.com/Article/os/xtgl/201311/9232.html