Como criar um snapshot de disco permanente do Windows


No Compute Engine, é possível usar snapshots para fazer backup dos dados de discos permanentes. Como os snapshots são incrementais, é possível criá-los com maior desempenho e menor carga total de armazenamento em comparação à criação de imagens de discos permanentes completas.

Antes de começar

Como criar um snapshot do VSS do Windows

É possível criar snapshots do VSS sem ter que interromper a instância ou remover o disco permanente. Os snapshots do VSS destinam-se a backup e recuperação de sistemas com apps compatíveis com VSS.

O valor cobrado pelos snapshots do VSS é igual ao dos snapshots de discos permanentes comuns e corresponde somente ao tamanho total do snapshot.

Restrições

  • Os snapshots do VSS funcionam apenas em instâncias do Windows com a versão de imagem v20160810 e mais recentes. Para instâncias com imagens mais antigas, crie um snapshot comum.
  • É preciso que o disco permanente use o sistema de arquivos NTFS, exFAT ou ReFS.
  • Os snapshots do VSS ajudam a preservar seus dados apenas quando você executa aplicativos compatíveis com VSS que se coordenam para criar um backup consistente de seus dados.
  • Se a operação de snapshot do VSS não for concluída em 300 segundos, o snapshot falhará com um erro de tempo limite.

Criar o snapshot

Console

  1. Acesse a página Criar um snapshot.
  2. Digite um Nome de snapshot.
  3. Como opção, digite uma Descrição para o snapshot.
  4. Em Disco de origem, selecione um disco atual a partir do qual você quer criar um instantâneo.
  5. Pule esta etapa para usar o local padrão de armazenamento de instantâneos. Caso contrário, para usar um local não padrão de armazenamento, faça o seguinte:

    1. Em Local, selecione se quer armazenar seu snapshot em um local Multirregional ou Regional.
    2. Selecione qual região ou multirregião específica você quer usar. Para usar a região ou a multirregião mais próxima de seu disco de origem, selecione Com base no local do disco.
  6. Marque a opção Ativar VSS para indicar que esse snapshot precisa usar o serviço de cópia de sombra de volume.

  7. Clique em Criar.

gcloud

Para criar um snapshot do VSS, use o comando gcloud compute disks snapshot e inclua a sinalização --guest-flush.

gcloud compute disks snapshot [DISK_NAME] --guest-flush
  • Substitua [DISK_NAME] pelo nome do disco permanente zonal do qual você quer criar um snapshot.

Para criar um snapshot do VSS de um disco permanente regional, anexe --region [REGION] ao comando acima, substituindo [REGION] pela região em que o disco permanente está localizado.

A ferramenta de linha de comando gcloud aguarda até que um status READY ou FAILED seja retornado ou retorna os últimos detalhes conhecidos do snapshot após o tempo limite máximo ter se esgotado.

API

Ao criar um snapshot, inclua o parâmetro ?guestFlush=true para indicar que você quer criar um snapshot VSS.

  • Para criar um snapshot do VSS de um disco permanente zonal, faça uma solicitação POST para o método compute.disks.createSnapshot:

    POST  https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/createSnapshot?guestFlush=true
    

    em que:

    • [PROJECT_ID] é o ID do projeto.
    • [ZONE] é a zona em que seu disco permanente zonal está localizado.
    • [DISK_NAME] é o nome do disco permanente zonal do qual você quer criar um snapshot do VSS.
  • Como alternativa, para criar um snapshot do VSS de um disco permanente regional, faça uma solicitação POST para o método compute.regionDisk.createSnapshot:

    POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]/createSnapshot?guestFlush=true
    

    em que:

    • [PROJECT_ID] é o ID do projeto.
    • [REGION] é a região em que seu disco permanente regional está localizado.
    • [DISK_NAME] é o nome do disco permanente regional do qual você quer criar um snapshot do VSS.

Opcional: marque o disco como disponível para leitura e gravação

Quando você cria um snapshot do VSS, o Windows Server marca o volume no snapshot como "Somente leitura". Quando você cria um novo disco permanente com base no snapshot do VSS, esse disco também é definido como "Somente leitura".

Isso pode causar problemas. Por exemplo, se você criar uma instância de VM com um novo disco de inicialização com base em um snapshot do VSS de um disco de inicialização existente, a sinalização "Somente leitura" no novo disco de inicialização impedirá que a instância de VM seja inicializada corretamente.

Para contornar esse problema, remova a sinalização "Somente leitura" de qualquer disco novo criado com base em um snapshot do VSS seguindo as seguintes etapas:

  1. Verifique se o disco está anexado a uma instância de VM.

    • Se o disco criado com base no snapshot do VSS for um disco de dados que não é de inicialização, conecte-o a qualquer instância nova ou existente da VM.
    • Se o disco criado a partir do snapshot do VSS for um disco de inicialização e você quiser usá-lo para inicializar uma instância de VM, anexe temporariamente o disco a uma instância de VM separada já existente. Depois de concluir as etapas a seguir, desconecte o disco dessa instância de VM existente e use-o para inicializar uma nova instância de VM.
  2. Faça login na instância de VM do Windows anexada ao disco.

  3. Abra um prompt de comando do PowerShell e execute a ferramenta diskpart:

    PS C:\\> diskpart
    
  4. Identifique o disco que você quer ativar:

    DISKPART> list disk
    
  5. Use o comando select disk para selecionar o disco:

    DISKPART> select disk [DISK_NUMBER]
    

    Substitua [DISK_NUMBER] pelo disco que você quer ativar.

  6. Monte o disco.

    DISKPART> online disk
    
  7. Liste todos os volumes no disco:

    DISKPART> list volume
    
  8. Selecione o novo volume:

    DISKPART> select volume [VOLUME_NUMBER]
    

    em que [VOLUME_NUMBER] é o volume que você precisa configurar para leitura/gravação.

  9. Limpe a sinalização "Somente leitura":

    DISKPART> attr volume clear readonly hidden nodefaultdriveletter shadowcopy
    
  10. Saia da ferramenta diskpart:

    DISKPART> exit
    
  11. Se for um disco de inicialização de outra instância, sincronize os arquivos dele com a nova assinatura do disco.

    PS C:\\> bcdboot [DRIVE_LETTER]Windows /s [DRIVE_LETTER]
    

    Substitua [DRIVE_LETTER] pela letra da unidade do volume que você quer sincronizar. Por exemplo, "F:".

Como criar um snapshot sem usar VSS

Em algumas situações, pode ser útil criar snapshots de discos anexados a instâncias do Windows sem usar VSS.

Para criar um snapshot do Windows sem usar VSS, faça o seguinte:

  1. Prepare o sistema para um snapshot limpo.
  2. Crie o snapshot
  3. remontar o disco.
  4. Marque o disco como disponível para leitura/gravação

Preparar o sistema para criar um snapshot limpo

Antes de criar um instantâneo do disco permanente, verifique se essa ação é compatível com o estado do seu disco. Se você captura um snapshot de um disco permanente em estado "com erros", isso pode provocar uma verificação de disco e possível perda de dados. Sincronize e desconecte o sistema de arquivos.

Sincronizar o sistema de arquivos

Em cenários em que não é possível desmontar o disco permanente, por exemplo, quando um aplicativo está gravando dados no disco, sincronize o sistema de arquivos para limpar os buffers do disco. Para fazer isso, siga estas etapas:

  1. Faça login na instância do Windows.
  2. Faça o download e instale a ferramenta Sync.
  3. Interrompa a gravação de dados dos aplicativos no disco permanente.
  4. Execute um prompt de comando como administrador. Para isso, clique com o botão direito no ícone prompt de comando e selecione Executar como administrador.
  5. No terminal de linha de comando, execute:

    PS C:\\> sync [DRIVE_LETTER]
    

    Substitua [DRIVE_LETTER] pela letra da unidade do volume que você quer sincronizar. Por exemplo, F:\.

Desconectar o disco

  1. Faça login na instância do Windows.

  2. Abra um prompt de comando do PowerShell e execute a ferramenta diskpart:

    PS C:\\> diskpart
    
  3. Identifique o disco que você quer desconectar e criar um snapshot dele:

    DISKPART> list disk
    
  4. Depois selecione o disco usando o número que acabou de encontrar:

    DISKPART> select disk [DISK_NUMBER]
    

    Substitua [DISK_NUMBER] pelo disco que você quer reativar.

  5. Por fim, desative o disco:

    DISKPART> offline disk
    

Criar um snapshot

remontar o disco.

  1. Faça login na instância do Windows.

  2. Abra um prompt de comando do PowerShell e execute a ferramenta diskpart:

    PS C:\\> diskpart
    
  3. Identifique o disco que você quer ativar:

    DISKPART> list disk
    
  4. Use o comando select disk para selecionar o disco:

    DISKPART> select disk [DISK_NUMBER]
    

    Substitua [DISK_NUMBER] pelo disco que você quer ativar.

  5. Monte o disco.

    DISKPART> online disk
    

Remover a sinalização "Somente leitura" do disco

  1. Liste todos os volumes no disco:

    DISKPART> list volume
    
  2. Selecione o novo volume:

    DISKPART> select volume [VOLUME_NUMBER]
    

    Substitua [VOLUME_NUMBER] pelo volume que você precisa configurar para leitura/gravação.

  3. Limpe a sinalização "Somente leitura":

    DISKPART> attr volume clear readonly hidden nodefaultdriveletter shadowcopy
    
  4. Saia da ferramenta diskpart:

    DISKPART> exit
    
  5. Se for um disco de inicialização de outra instância, sincronize os arquivos dele com a nova assinatura do disco.

    PS C:\\> bcdboot [DRIVE_LETTER]Windows /s [DRIVE_LETTER]
    

    Substitua [DRIVE_LETTER] pela letra da unidade do volume que você quer sincronizar. Por exemplo, F:\.

A seguir