Ferramenta VShadow e exemplo

O VShadow é uma ferramenta de linha de comando que você pode usar para criar e gerenciar cópias de sombra de volume.

Observação

A ferramenta VShadow está incluída no SDK do Microsoft Windows para Windows Vista e versões posteriores. O SDK do VSS 7.2 inclui uma versão do VShadow que roda somente no Windows Server 2003. Para mais informações sobre como baixar o SDK do Windows e o SDK do VSS 7.2, consulte Serviço de cópias de sombra de volume.

A ferramenta VShadow usa opções de linha de comando e sinalizadores opcionais para identificar o trabalho a ser executado. Quando usado sem nenhuma opção de linha de comando, o comando VShadow cria um novo conjunto de cópias de sombra.

Os comandos VShadow executam as seguintes operações:

Criar um conjunto de cópias de sombra

vshadow [OptionalFlags] VolumeList

Esse comando cria um conjunto de cópias de sombra.

VolumeList é uma lista de nomes de volumes. O VShadow cria uma cópia de sombra para cada volume na lista. Opcionalmente, um nome de volume pode ser encerrado com uma barra invertida (\). Por exemplo, ambos e C: C:\ são nomes de volume válidos. Você também pode especificar pastas montadas (por exemplo, C:\DirectoryName) ou nomes GUID de volume (por exemplo, \\?\Volume{bbbbcccc-1111-dddd-2222-eeee3333ffff}).

OptionalFlags é uma máscara de bits de valores de sinalizadores opcionais da tabela abaixo.

Valor de sinalizador opcional Descrição
-ad Esse sinalizador opcional especifica cópias de sombra de hardware diferencial. Esse sinalizador e o sinalizador -ap são mutuamente exclusivos.
Observação: esse sinalizar só é compatível com sistemas operacionais de servidor Windows.
-ap Esse sinalizador opcional especifica cópias de sombra de hardware do tipo plex. Esse sinalizador e o sinalizador -ad são mutuamente exclusivos.
Observação: esse sinalizar só é compatível com sistemas operacionais de servidor Windows.
-bc=File.xml Esse sinalizador opcional especifica cópias de sombra não transportáveis e armazena o documento de componentes de backup no arquivo especificado. Esse arquivo pode ser usado em uma operação de restauração subsequente. Esse sinalizador e o sinalizador -t são mutuamente exclusivos.
Observação: esse sinalizar só é compatível com sistemas operacionais de servidor Windows.
-exec=<Command> Esse sinalizador opcional executa um comando ou script depois que as cópias de sombra são criadas, mas antes que a ferramenta VShadow seja encerrada. <Command> pode especificar um comando de shell executável ou um arquivo CMD. Se ele especificar um comando shell, nenhum parâmetro de comando poderá ser especificado.
Nota: Por motivos de segurança e para manter a implementação simples, o -exec sinalizador opcional não aceitará parâmetros a serem passados para o comando ou script. Toda a cadeia de caracteres passada para o -exec sinalizador opcional é tratada como um único arquivo CMD ou EXE. Para mais informações sobre essa limitação, consulte o código-fonte do VShadow.
-forcerevert Esse sinalizador opcional especifica que a operação de cópia de sombra deve ser concluída somente se todas as assinaturas de disco puderem ser revertidas.
Observação: esse sinalizar só é compatível com sistemas operacionais de servidor Windows.
Windows Server 2003: não há suporte.
-mask Esse sinalizador opcional especifica que os LUNs de cópia de sombra devem ser mascarados do computador quando o conjunto de cópias de sombra for interrompido.
Observação: esse sinalizar só é compatível com sistemas operacionais de servidor Windows.
Windows Server 2003: não há suporte.
-nar Esse sinalizador opcional especifica cópias de sombra sem recuperação automática. Para obter mais informações sobre essa opção, consulte a documentação do VSS_VOLSNAP_ATTR_NO_AUTORECOVERY sinalizador da enumeração _VSS_VOLUME_SNAPSHOT_ATTRIBUTES].
-norevert Esse sinalizador opcional especifica que as assinaturas de disco não devem ser revertidas.
Observação: esse sinalizar só é compatível com sistemas operacionais de servidor Windows.
Windows Server 2003: não há suporte.
-nw Esse sinalizador opcional especifica cópias de sombra sem envolver gravadores. Para mais informações sobre cópias de sombra sem participação do gravador, consulte Detalhes da criação de cópias de sombra. Este sinalizador e os -wi sinalizadores e -wx são mutuamente exclusivos.
-p Esse sinalizador opcional especifica cópias de sombra persistentes.
Observação: esse sinalizar só é compatível com sistemas operacionais de servidor Windows.
-rw Esse sinalizador opcional especifica que os LUNs de cópia de sombra devem ser lidos/gravados quando o conjunto de cópias de sombra for interrompido.
Observação: esse sinalizar só é compatível com sistemas operacionais de servidor Windows.
Windows Server 2003: não há suporte.
-scsf Esse sinalizador opcional especifica cópias de sombra acessíveis ao cliente.
Observação: esse sinalizar só é compatível com sistemas operacionais de servidor Windows.
-script=File.cmd Esse sinalizador opcional gera um arquivo CMD contendo variáveis de ambiente relacionadas às cópias de sombra criadas, como IDs de cópia de sombra e IDs de conjunto de cópias de sombra.
-t=File.xml Esse sinalizador opcional especifica cópias de sombra transportáveis e armazena o documento de componentes de backup no arquivo especificado pelo File.xml parâmetro. Esse arquivo pode ser usado em uma operação subsequente de importação e/ou restauração. Este sinalizador e o -bc sinalizador são mutuamente exclusivos.
Windows Server 2003, Standard Edition e Windows Server 2003, Web Edition: não há suporte para cópias de sombra transportáveis. Todas as edições do Windows Server 2003 com Service Pack 1 (SP1) oferecem suporte a cópias de sombra transportáveis.
-tr Esse sinalizador opcional especifica que a recuperação TxF deve ser imposta durante a criação da cópia de sombra.
Observação: esse sinalizar só é compatível com sistemas operacionais de servidor Windows.
-tracing Esse sinalizador opcional gera uma saída detalhada que pode ser usada para solução de problemas.
-wait Esse sinalizador opcional faz com que a ferramenta VShadow aguarde a confirmação do usuário antes de sair.
-wi=<Writer> Esse sinalizador opcional verifica se o gravador ou componente especificado está incluído na cópia de sombra. <Writer> pode especificar um caminho de componente, nome do gravador, ID do gravador ou ID da instância do gravador. Este sinalizador e o -nw sinalizador são mutuamente exclusivos.
-wx=<Writer> Esse sinalizador opcional verifica se o gravador ou componente especificado está excluído da cópia de sombra. <Writer> pode especificar um caminho de componente, nome do gravador, ID do gravador ou ID da instância do gravador. Este sinalizador e o -nw sinalizador são mutuamente exclusivos.

Importar um conjunto de cópias de sombra

vshadow [OptionalFlags] -i=File.xml

A -i opção de linha de comando importa um conjunto de cópias de sombra transportável.

Observação

Essa opção de linha de comando tem suporte apenas em sistemas operacionais Windows Server.

O File.xml arquivo deve ser um arquivo de documento de componentes de backup para um conjunto de cópias de sombra transportável que foi criado com o -t sinalizador ou -bc opcional.

Um conjunto de cópias de sombra será uma cópia de sombra persistente se tiver sido criado com o -p sinalizador opcional. Se o conjunto de cópias de sombra transportável não for persistente, ele aparecerá por um curto período de tempo enquanto o comando de criação de cópia de sombra estiver em execução e será excluído automaticamente quando o comando retornar. Você pode importar cópias de sombra não persistentes somente durante a criação da cópia de sombra, criando o conjunto de cópias de sombra usando o -exec sinalizador opcional para executar um arquivo CMD que chama VShadow -i.

A -i opção de linha de comando não pode ser combinada com outras opções de linha de comando.

OptionalFlags é uma máscara de bits de valores de sinalizador opcionais da tabela a seguir.

Valor de sinalizador opcional Descrição
-exec=<Command> Esse sinalizador opcional executa um comando ou script depois que as cópias de sombra são importadas mas antes que a ferramenta VShadow seja encerrada. <Command> pode especificar um comando de shell executável ou um arquivo CMD. Se ele especificar um comando shell, nenhum parâmetro de comando poderá ser especificado.
-tracing Esse sinalizador opcional gera uma saída detalhada que pode ser usada para solução de problemas.
-wait Esse sinalizador opcional faz com que a ferramenta VShadow aguarde a confirmação do usuário antes de sair.

Consultar propriedades de cópia de sombra

vshadow -q

vshadow -qx=<ShadowCopySetId>

vshadow -s=<ShadowCopyId>

A -q opção de linha de comando lista as propriedades de todas as cópias de sombra no computador.

A -qx opção de linha de comando lista as propriedades de todas as cópias de sombra no conjunto de cópias de sombra cuja ID é especificada por <ShadowCopySetId>.

A -s opção de linha de comando lista as propriedades da cópia de sombra cuja ID é especificada por <ShadowCopyId>.

Essas opções de linha de comando usam uma combinação de IVssBackupComponents::Query e IVssBackupComponents::GetSnapshotProperties para obter as propriedades de um dado conjunto de cópias de sombra..

As -qopções , -qxe de -s linha de comando são mutuamente exclusivas e não podem ser combinadas com outras opções de linha de comando.

Excluir cópias de sombra

vshadow** -da

vshadow -do

vshadow -dx=<ShadowCopySetId>

vshadow -ds=<ShadowCopyId>

O -da comando exclui todas as cópias de sombra no computador.

Observação

A -da opção de linha de comando requer confirmação do usuário.

A -do opção de linha de comando exclui a cópia de sombra mais antiga no computador.

A -dx opção de linha de comando exclui todas as cópias de sombra no conjunto de cópias de sombra cuja ID é especificada por <ShadowCopySetId>.

A -ds opção de linha de comando exclui a cópia de sombra cuja ID é especificada por <ShadowCopyId>.

Essas opções de linha de comando devem ser usadas apenas com cópias de sombra persistentes. As cópias de sombra não persistentes não precisam ser excluídas explicitamente, pois são excluídas automaticamente quando o comando de criação VShadow é encerrado.

As -daopções , -do, -dxe -ds de linha de comando são mutuamente exclusivas e não podem ser combinadas com outras opções de linha de comando.

Dividir um conjunto de cópias de sombra

vshadow -b=<ShadowCopySetId>

vshadow -bw=<ShadowCopySetId>

A -b=<ShadowCopySetId> opção de linha de comando converte cada cópia de sombra no conjunto de cópias de sombra em um volume autônomo somente leitura.

A -bw=<ShadowCopySetId> opção de linha de comando converte cada cópia de sombra no conjunto de cópias de sombra em um volume gravável autônomo.

Observação

As -b opções de linha de comando e -bw são suportadas apenas em sistemas operacionais Windows Server.

Para informações sobre como quebrar um conjunto de cópias de sombra, consulte Dividir cópias de sombra.

Depois que o conjunto de cópias de sombra é quebrado, o conjunto de cópias de sombra e as cópias de sombra individuais não existem mais e não podem ser gerenciadas usando comandos VSS.

Um conjunto de cópias de sombra será persistente se tiver sido criado com o -p sinalizador opcional. Se o conjunto de cópias de sombra transportável não for persistente, ele aparecerá por um curto período de tempo enquanto o comando de criação de cópia de sombra estiver em execução e será excluído automaticamente quando o comando retornar. Você pode interromper conjuntos de cópias de sombra não persistentes somente durante a criação da cópia de sombra, criando o conjunto de cópias de sombra usando o sinalizador -exec opcional para executar um arquivo CMD que chama vshadow -b ou vshadow -bw.

As -b opções de linha de comando e -bw são mutuamente exclusivas e não podem ser combinadas com outras opções de linha de comando.

Dividir um conjunto de cópias de sombra usando o método BreakSnapshotSetEx

vshadow -bex

A -bex opção de linha de comando quebra um conjunto de cópias de sombra de acordo com as opções especificadas pelos sinalizadores opcionais -mask, -rw, -forcerevert, e -norevert . Essa opção de linha de comando é semelhante às -b opções de linha de comando e -bw . A -bex opção de linha de comando usa o método IVssBackupComponentsEx2::BreakSnapshotSetEx , enquanto as -b opções de linha de comando e -bw usam o método IVssBackupComponents::BreakSnapshotSet .

Para informações sobre como quebrar um conjunto de cópias de sombra, consulte Dividir cópias de sombra.

Observação

A -bex opção de linha de comando é suportada apenas em sistemas operacionais Windows Server.

vshadow -bex -mask

O -mask sinalizador especifica que o LUN de cópia de sombra será mascarado do host. Se o -mask sinalizador for especificado, os -rwsinalizadores , -forcereverte -norevert e não poderão ser especificados.

vshadow -bex -rw

O -rw sinalizador especifica que o LUN de cópia de sombra será exposto ao host como um volume de leitura/gravação.

vshadow -bex -forcerevert

O -forcerevert sinalizador especifica que os identificadores de disco de todos os LUNs de cópia de sombra serão revertidos para os dos LUNs originais. No entanto, se qualquer um dos LUNs originais estiver presente no sistema, a operação falhará e nenhum dos identificadores será revertido. Este sinalizador e o -norevert sinalizador são mutuamente exclusivos.

vshadow -bex -norevert

O -norevert sinalizador especifica que nenhum dos identificadores de disco LUN de cópia de sombra será revertido. Este sinalizador e o -forcerevert sinalizador são mutuamente exclusivos.

Expor uma cópia de sombra localmente

vshadow -el=<ShadowCopyId>,<LocalEmptyDirectory>

vshadow -el=<ShadowCopyId>,<UnusedDriveLetter>

A -el opção de linha de comando atribui uma pasta montada ou uma letra de unidade a uma cópia de sombra persistente. Observe que o conteúdo do volume permanecerá somente leitura, a menos que você chame vshadow -bw posteriormente para interromper o conjunto de cópias de sombra.

Observação

Cópias de sombra não persistentes e cópias de sombra acessíveis ao cliente não podem ser expostas localmente.

Por exemplo, se {bbbbcccc-1111-dddd-2222-eeee3333ffff} for o GUID de uma cópia de sombra persistente existente e X: for uma letra de unidade não utilizada, o comando a seguir expõe a cópia de sombra em X::

vshadow -el={bbbbcccc-1111-dddd-2222-eeee3333ffff},x:

O exemplo a seguir mostra como expor a mesma cópia de sombra na pasta C:\ShadowCopies\June23montada:

mkdir c:\ShadowCopies\June23

vshadow -el={bbbbcccc-1111-dddd-2222-eeee3333ffff},c:\ShadowCopies\June23

A -el opção de linha de comando não pode ser combinada com outras opções de linha de comando.

Expor uma cópia de sombra remotamente

vshadow -er=<ShadowCopyId>,<UnusedShareName>

vshadow -er=<ShadowCopyId>,<UnusedShareName>,<PathFromRootOnShadow>

A -er opção de linha de comando atribui um nome de compartilhamento somente leitura ao diretório raiz (ou a um subdiretório) da cópia de sombra. Observe que o conteúdo do compartilhamento permanecerá somente leitura, a menos que você chame vshadow -bw posteriormente para interromper o conjunto de cópias de sombra.

Observação

As cópias de sombra acessíveis ao cliente não podem ser expostas remotamente.

Por exemplo, se {bbbbcccc-1111-dddd-2222-eeee3333ffff} for o GUID de uma cópia de sombra persistente existente e share_123 for um nome de compartilhamento não utilizado, o comando a seguir expõe a cópia de sombra em share_123:

vshadow -er={bbbbcccc-1111-dddd-2222-eeee3333ffff},share_123

O exemplo a seguir mostra como expor apenas uma subárvore (chamada Folder1\Folder2) da mesma cópia de sombra no mesmo compartilhamento:

vshadow -er={bbbbcccc-1111-dddd-2222-eeee3333ffff},share_123,Folder1\Folder2

A -er opção de linha de comando não pode ser combinada com outras opções de linha de comando.

Status e metadados do gravador de listagem

vshadow -ws

vshadow -wm

vshadow -wm2

vshadow -wm3

A -ws opção de linha de comando enumera os gravadores VSS que estão em execução no computador e descreve seu estado. Esse comando é o equivalente ao comando Vssadmin list writers. Existem seis valores de estado possíveis: Stable, Failed, Unknown, Waiting for freezeFrozen, e Waiting for completion.

A -wm opção de linha de comando lista um resumo dos metadados do gravador, incluindo os volumes afetados.

A -wm2 opção de linha de comando lista todos os metadados do gravador.

A -wm3 opção de linha de comando lista todos os metadados do gravador no formato XML bruto.

Windows Vista e Windows Server 2003: não há suporte para a -wm3 opção de linha de comando.

Você pode usar essas informações para determinar quais volumes incluir no conjunto de cópias de sombra de volume.

Observação

Se o estado do gravador for Estável ou Aguardando conclusão, o gravador poderá ser considerado em um estado estável, pronto para o próximo backup.

As -wsopções , -wm, -wm2e -wm3 de linha de comando são mutuamente exclusivas e não podem ser combinadas com outras opções de linha de comando.

Executar operações de restauração

vshadow [OptionalFlags] -r=File.xml

vshadow [OptionalFlags] -rs=File.xml

A -r opção de linha de comando executa uma operação de restauração.

A -rs opção de linha de comando executa uma operação de restauração simulada.

O File.xml arquivo deve ser um arquivo de documento de componentes de backup para um conjunto de cópias de sombra que foi criado com o -t sinalizador ou -bc opcional.

As -r opções de linha de comando e -rs são mutuamente exclusivas e não podem ser combinadas com outras opções de linha de comando.

OptionalFlags é uma máscara de bits de valores de sinalizador opcionais da tabela a seguir.

Valor de sinalizador opcional Descrição
-wi=<Writer> Esse sinalizador opcional verifica se o gravador ou componente especificado está incluído na cópia de restauração. <Writer> pode especificar um caminho de componente, nome do gravador, ID do gravador ou ID da instância do gravador.
-wx=<Writer> Esse sinalizador opcional verifica se o gravador ou componente especificado está excluído da cópia de restauração. <Writer> pode especificar um caminho de componente, nome do gravador, ID do gravador ou ID da instância do gravador.
-exec=<Command> Esse sinalizador opcional executa um comando ou script entre os eventos de pré-restauração e pós-restauração que são enviados aos gravadores. <Command> pode especificar um comando de shell executável ou um arquivo CMD. Se ele especificar um comando shell, nenhum parâmetro de comando poderá ser especificado.
-tracing Esse sinalizador opcional gera uma saída detalhada que pode ser usada para solução de problemas.

Reverter para uma cópia de sombra anterior

vshadow -revert=<ShadowCopyId>

Observação

Essa opção de linha de comando tem suporte apenas em sistemas operacionais Windows Server.

Windows Server 2008 e Windows Server 2003: sem suporte.

A -revert opção de linha de comando reverte um volume para a cópia de sombra anterior cuja ID é especificada por <ShadowCopyId>.

A -revert opção de linha de comando não pode ser combinada com outras opções de linha de comando.

Ressincronizar LUNs

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

vshadow -addresync=<ShadowCopyId>, <TargetVolumeDriveLetter> -resync=<BCDFileName> [OptionalResyncFlags]

A -addresync opção de linha de comando especifica os volumes a serem incluídos em uma operação de ressincronização de LUN. O <ShadowCopyId> parâmetro especifica o identificador da cópia de sombra. O parâmetro opcional <TargetVolumeDriveLetter> especifica o volume de destino em que o conteúdo do volume de cópia de sombra deve ser copiado.

A -resync opção de linha de comando inicia uma operação de ressincronização de LUN. Após a conclusão da operação, a assinatura de cada LUN de destino deve ser idêntica à do LUN de volume de destino. O <BCDFileName> parâmetro especifica o nome do arquivo XML que contém o documento do componente de backup.

Observação

As -addresync opções de linha de comando e -resync são suportadas apenas em sistemas operacionais Windows Server.

Windows Server 2008 e Windows Server 2003: sem suporte.

OptionalResyncFlags é uma máscara de bits de valores de sinalizador opcionais da tabela a seguir.

Valor de sinalizador opcional Descrição
-revertsig Esse sinalizador opcional especifica que, após a conclusão da operação, a assinatura de cada LUN de destino deve ser idêntica à do LUN original usado para criar a cópia de sombra, não o LUN do volume de destino.
Observação: o -revertsig sinalizador é suportado apenas em sistemas operacionais Windows Server.
Windows Server 2008 e Windows Server 2003: sem suporte.
-novolcheck Esse sinalizador opcional especifica que o serviço VSS não deve verificar se há volumes não selecionados que seriam substituídos pela operação de ressincronização do LUN.
Observação: o -novolcheck sinalizador é suportado apenas em sistemas operacionais Windows Server.
Windows Server 2008 e Windows Server 2003: sem suporte.

Confira também

Serviço de Cópias de Sombra de Volume

Referência da API de cópia de sombra de volume