Crea uno snapshot del disco coerente con l'applicazione Windows

In Compute Engine, puoi utilizzare gli snapshot per il backup dei dati del disco. Poiché gli snapshot sono incrementali, puoi creandole con prestazioni superiori e costi di archiviazione totali inferiori rispetto creando immagini disco complete.

Gli snapshot coerenti con le applicazioni acquisiscono lo stato dei dati dell'applicazione l'ora del backup in cui tutte le transazioni relative alle richieste sono state completate e tutte le operazioni in sospeso con il flush del disco sul disco. Sulle VM Windows utilizzi la copia shadow del volume Servizio (VSS) per creare snapshot coerenti con l'applicazione senza prima essere arrestato l'istanza o lo scollegamento del disco dalla VM.

Prima di iniziare

  • Crea un'istanza Windows.
  • Consulta le best practice per la creazione di snapshot.
  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è Il processo di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Limitazioni

Gli snapshot dei dischi su Windows hanno le seguenti limitazioni:

  • Gli snapshot VSS funzionano solo su istanze Windows con immagine versione v20160810 e successive. Per le istanze con immagini meno recenti, creare uno snapshot senza utilizzare VSS.
  • Il disco collegato deve utilizzare un file system NTFS, exFAT o ReFS.
  • Gli snapshot VSS consentono di conservare i dati solo se esegui VSS-Aware applicazioni che possono coordinarsi per creare un backup coerente dei dati.
  • Se l'operazione di snapshot VSS non viene completata entro 300 secondi, lo snapshot non riesce e genera un errore di timeout.

Crea uno snapshot VSS di Windows

Puoi creare snapshot del servizio di copia shadow del volume (VSS) senza dover arrestare l'istanza o scollegare il disco dalla VM. Gli snapshot VSS sono destinati per scopi di backup e ripristino su sistemi con app VSS-aware.

Gli snapshot VSS hanno lo stesso prezzo dei normali Persistent Disk o gli snapshot Hyperdisk e addebita solo il costo le dimensioni totali dello snapshot.

Crea lo snapshot

Console

  1. Vai alla pagina Crea uno snapshot nella console Google Cloud.

    Vai alla pagina Crea un'istantanea
  2. Inserisci un Nome snapshot.
  3. Seleziona un tipo di snapshot. Il valore predefinito è uno snapshot STANDARD, ovvero l'opzione migliore per backup e ripristino di emergenza a lungo termine.

    Scegli Istantanea archiviazione per conservare i dati in modo più conveniente.

  4. (Facoltativo) Inserisci una descrizione dello snapshot.
  5. In Disco di origine, seleziona il disco esistente di cui vuoi creare uno snapshot.
  6. Nella sezione Posizione, scegli la tua istantanea posizione di archiviazione.

    La località predefinita o personalizzata definita nello snapshot viene selezionata automaticamente. Facoltativamente, puoi eseguire l'override le impostazioni degli snapshot e archiviarli in una posizione di archiviazione personalizzata nel seguente modo:

    1. Scegli il tipo di posizione di archiviazione per lo snapshot.

      • Scegli Più regioni per una maggiore disponibilità a un costo maggiore.
      • Scegli Snapshot regionali per avere un maggiore controllo sulla posizione fisica dei dati a un costo inferiore.
    2. Nel campo Seleziona località, seleziona la regione specifica oppure dall'area multiregionale che vuoi utilizzare. Per utilizzare una o più regioni più vicino al disco di origine, seleziona In base alla posizione del disco.
  7. Seleziona l'opzione Abilita snapshot coerente dell'applicazione.
  8. Fai clic su Crea per creare lo snapshot.

gcloud

Per creare uno snapshot VSS, utilizza il metodo Comando gcloud compute snapshots create e includi il flag --guest-flush.

Puoi creare lo snapshot nel criterio di località di archiviazione definita dal tuo impostazioni snapshot oppure utilizzando una posizione di archiviazione alternativa di tua scelta. Per ulteriori informazioni, vedi Scegli la località di archiviazione degli snapshot.

  • Per creare uno snapshot nella posizione predefinita o personalizzata configurato nelle impostazioni dello snapshot, utilizza Comando gcloud compute snapshots create.

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk-zone=SOURCE_ZONE \
        --source-disk=SOURCE_DISK_NAME \
        --snapshot-type=SNAPSHOT_TYPE \
        --guest-flush
    
  • In alternativa, per eseguire l'override delle impostazioni dello snapshot e creare uno snapshot in una posizione di archiviazione personalizzata, includi --storage-location per indicare dove archiviare lo snapshot.

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk-zone=SOURCE_ZONE \
        --source-disk=SOURCE_DISK_NAME \
        --snapshot-type=SNAPSHOT_TYPE \
        --storage-location=STORAGE_LOCATION \
        --guest-flush
    

    Sostituisci quanto segue:

    • SNAPSHOT_NAME: un nome per lo snapshot.
    • SOURCE_ZONE: la zona del disco di origine.
    • SOURCE_DISK_NAME: il nome del volume del disco da cui vuoi creare uno snapshot.
    • SNAPSHOT_TYPE: il tipo di snapshot, STANDARD o ARCHIVE. Se il tipo di snapshot non è specificato, viene creato uno snapshot STANDARD.
    • STORAGE_LOCATION: Facoltativo: il campo Cloud Storage (più regioni) o la regione di Cloud Storage in cui archiviare lo snapshot. Puoi specificare una sola località di archiviazione.

      Utilizza il parametro --storage-location solo quando vuoi eseguire l'override del località di archiviazione predefinita o personalizzata configurata nello snapshot impostazioni.

    Per creare uno snapshot VSS di un Persistent Disk a livello di regione, nell'esperienza precedente esempi sostituiscono --source-disk-zone= con --source-disk-region= e specifica la regione in cui la tua regione Persistent Disk in cui si trova.

    Google Cloud CLI attende che l'operazione restituisca lo stato READY, FAILED o raggiunge il timeout massimo e restituisce l'ultimo dettagli noti dello snapshot.

REST

Quando crei uno snapshot, per indicare che vuoi creare un VSS includi la proprietà guestFlush nell'istantanea del corpo della richiesta POST alla Metodo compute.snapshots.insert.

Puoi creare lo snapshot nel criterio di località di archiviazione definita dal tuo impostazioni snapshot oppure utilizzando una posizione di archiviazione alternativa di tua scelta. Per ulteriori informazioni, vedi Scegli la località di archiviazione degli snapshot.

  • Per creare uno snapshot nella posizione predefinita o personalizzata configurato nelle impostazioni dello snapshot, effettua una richiesta POST Metodo snapshots.insert:

    POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/global/snapshots
    {
      "name": "SNAPSHOT_NAME",
      "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME",
      "snapshotType": "SNAPSHOT_TYPE",
      "guestFlush": true,
    }
    
  • In alternativa, per eseguire l'override delle impostazioni dello snapshot e creare uno snapshot in una posizione di archiviazione personalizzata, effettua una richiesta POST snapshots.insert e includi la proprietà storageLocations nella tua richiesta:

    POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/global/snapshots
    {
      "name": "SNAPSHOT_NAME",
      "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME",
      "snapshotType": "SNAPSHOT_TYPE",
      "storageLocations": [
          "STORAGE_LOCATION"
      ],
      "guestFlush": true,
    }
    

Sostituisci quanto segue:

  • DESTINATION_PROJECT_ID: l'ID del progetto in cui vuoi creare lo snapshot.
  • SNAPSHOT_NAME: un nome per lo snapshot.
  • SOURCE_PROJECT_ID: l'ID del progetto del disco di origine.
  • SOURCE_ZONE: la zona del disco di origine.
  • SOURCE_DISK_NAME: il nome del disco da cui vuoi per creare uno snapshot.
  • SNAPSHOT_TYPE: il tipo di snapshot, STANDARD o ARCHIVE. Se il tipo di snapshot non è specificato, viene creato uno snapshot STANDARD.
  • STORAGE_LOCATION: Facoltativo: il campo Cloud Storage (più regioni) o la regione di Cloud Storage in cui archiviare lo snapshot. Puoi specificare una sola località di archiviazione.

    Utilizza il parametro storageLocations solo quando vuoi eseguire l'override del località di archiviazione predefinita o personalizzata configurata nello snapshot impostazioni.

Per creare uno snapshot VSS di un Persistent Disk a livello di regione, nelle richieste POST come mostrato in precedenza, sostituisci la seguente riga:

"sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME",
Utilizza questa riga invece quando crei uno snapshot di un Persistent Disk a livello di regione:
"sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME",

(Facoltativo) Contrassegna il disco come disponibile per la lettura e la scrittura

Quando crei uno snapshot VSS, Windows Server contrassegna il volume nello snapshot di sola lettura. Quando crei un nuovo disco dallo snapshot VSS, il disco è impostato in modalità di sola lettura.

Ciò potrebbe causare problemi. Ad esempio, se crei un'istanza VM con un nuovo da uno snapshot VSS di un disco di avvio esistente, il flag di sola lettura il nuovo disco di avvio impedisce il corretto avvio della VM.

Per risolvere il problema, rimuovi il flag di sola lettura da ogni nuovo disco crea da uno snapshot VSS seguendo questi passaggi:

  1. Assicurati che il disco sia collegato a una VM:

    • Se il disco che hai creato dallo snapshot VSS è un disco dati non di avvio, puoi collegarlo a qualsiasi VM nuova o esistente.
    • Se il disco creato dallo snapshot VSS è un disco di avvio e per avviare una VM, devi collegare temporaneamente su una VM esistente separata. Dopo aver completato i seguenti passaggi passaggi, puoi scollegare il disco da quella VM e utilizzarlo avviare una nuova istanza VM.
  2. Accedere alla VM Windows a cui è collegato il disco.

  3. Apri un prompt dei comandi di PowerShell ed esegui lo strumento diskpart.

    PS C:\> diskpart
    
  4. Identifica il disco che vuoi montare.

    DISKPART> list disk
    
  5. Usa il comando select disk per selezionare il disco.

    DISKPART> select disk DISK_NUMBER
    

    Sostituisci DISK_NUMBER con il numero del disco che hai che vuoi montare.

  6. Monta il disco.

    DISKPART> online disk
    
  7. Elenca tutti i volumi presenti nel disco.

    DISKPART> list volume
    
  8. Seleziona il nuovo volume.

    DISKPART> select volume VOLUME_NUMBER
    

    Sostituisci VOLUME_NUMBER con il numero del volume da e configurarle in lettura e scrittura.

  9. Cancella il flag di sola lettura.

    DISKPART> attr volume clear readonly hidden nodefaultdriveletter shadowcopy
    
  10. Esci dallo strumento diskpart.

    DISKPART> exit
    
  11. Se il disco è un disco di avvio per un'altra VM, sincronizza i file del disco di avvio con la nuova firma del disco.

    PS C:\> bcdboot DRIVE_LETTERWindows /s DRIVE_LETTER
    

    Sostituisci DRIVE_LETTER con la lettera dell'unità per il volume da sincronizzare. Ad esempio, F per F:\.

Crea uno snapshot senza utilizzare VSS

In alcune situazioni potrebbe essere utile creare snapshot di dischi collegate alle VM Windows senza utilizzare VSS.

Per creare uno snapshot del disco su una VM Windows senza utilizzare VSS, segui questi passaggi:

  1. Prepara il sistema per ottenere uno snapshot pulito.
  2. Crea lo snapshot.
  3. Rimonta il disco
  4. Contrassegna il disco come disponibile per la lettura/scrittura

Prepara il sistema per uno snapshot pulito

Prima di creare uno snapshot del disco, assicurati di acquisire una che sia coerente con lo stato desiderato per il disco. Se crei uno snapshot del tuo disco in un ambiente "sporco" potrebbe forzare un controllo del disco e potrebbe causare la perdita di dati. Valuta la possibilità di sincronizzare e smontare del file system.

Sincronizzare il file system

Se non è possibile smontare il disco, ad esempio in scenari in cui se un'applicazione sta scrivendo dati sul disco, puoi sincronizzare il tuo file system per svuotare i buffer del disco. Per sincronizzare il file system:

  1. Accedi alla VM Windows.
  2. Scarica e installa Sincronizza di Microsoft.
  3. Impedisci alle applicazioni di scrivere sul disco.
  4. Apri una finestra del prompt dei comandi con privilegi elevati.
  5. Nella finestra della riga di comando, esegui:

    PS C:\> sync DRIVE_LETTER
    

    Sostituisci DRIVE_LETTER con la lettera dell'unità per il volume da sincronizzare. Ad esempio, F per F:\.

Smonta il disco

  1. Accedi alla VM Windows.

  2. Apri un prompt dei comandi di PowerShell ed esegui lo strumento diskpart.

    PS C:\> diskpart
    
  3. Identifica il disco che vuoi smontare e creare uno snapshot.

    DISKPART> list disk
    
  4. Quindi, seleziona il disco utilizzando il numero che hai appena trovato.

    DISKPART> select disk DISK_NUMBER
    

    Sostituisci DISK_NUMBER con il numero del disco che hai che vuoi rimontare.

  5. Smonta il disco.

    DISKPART> offline disk
    

Crea uno snapshot

Rimonta il disco

  1. Accedi alla VM Windows.

  2. Apri un prompt dei comandi di PowerShell ed esegui lo strumento diskpart.

    PS C:\> diskpart
    
  3. Identifica il disco che vuoi montare.

    DISKPART> list disk
    
  4. Usa il comando select disk per selezionare il disco.

    DISKPART> select disk DISK_NUMBER
    

    Sostituisci DISK_NUMBER con il numero del disco che hai che vuoi montare.

  5. Monta il disco.

    DISKPART> online disk
    

Rimuovi il flag di sola lettura dal disco

  1. Se necessario, completa questi passaggi:

    1. Accedi alla VM Windows.

    2. Apri un prompt dei comandi di PowerShell ed esegui lo strumento diskpart.

      PS C:\> diskpart
      
  2. Elenca tutti i volumi presenti nel disco.

    DISKPART> list volume
    
  3. Seleziona il nuovo volume.

    DISKPART> select volume VOLUME_NUMBER
    

    Sostituisci VOLUME_NUMBER con il numero del volume con che vuoi configurare per la lettura e la scrittura.

  4. Cancella il flag di sola lettura.

    DISKPART> attr volume clear readonly hidden nodefaultdriveletter shadowcopy
    
  5. Esci dallo strumento diskpart.

    DISKPART> exit
    
  6. Se il disco è un disco di avvio per un'altra istanza VM, nella sezione al prompt dei comandi, sincronizza i file del disco di avvio con la nuova firma del disco.

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

    Sostituisci DRIVE_LETTER con la lettera dell'unità per il volume da sincronizzare. Ad esempio, F per F:\.

Passaggi successivi