Best practice per gli snapshot dei dischi di Compute Engine

Puoi creare snapshot di Persistent Disk e Google Cloud Hyperdisk in qualsiasi momento, ma puoi crea snapshot più rapidamente e con maggiore affidabilità se utilizzi le best practice riportate di seguito.

Considerazioni sulla sicurezza

Per evitare l'escalation involontaria dei privilegi, assicurati di concedere relativo a snapshot Autorizzazioni IAM per le entità che ritieni affidabile per leggere e ripristinare i dati degli snapshot o degli snapshot istantanei. La le seguenti autorizzazioni consentono agli utenti di leggere e ripristinare i dati dagli snapshot snapshot istantanei:

  • compute.snapshots.useReadOnly
  • compute.instantSnapshots.useReadOnly

Qualsiasi entità con una delle autorizzazioni precedenti può ripristinare i dati da o snapshot istantanei dal tuo progetto a un progetto controllato da loro; incluso un progetto che si trova in un'altra organizzazione. Ad esempio, se un errore ottenere un ruolo IAM snapshot nel tuo progetto, potrebbe ripristinare creare uno snapshot del proprio progetto personale e accedere ai dati contenuti senza dover creare uno snapshot.

Per scoprire come controllare le autorizzazioni di cui dispone un'entità, consulta Determina quali entità dispongono di determinati ruoli o autorizzazioni.

Preparazione per snapshot coerenti

Se crei uno snapshot del tuo Persistent Disk o Hyperdisk mentre l'applicazione è in esecuzione, lo snapshot potrebbe non acquisire le scritture in attesa in transito dalla memoria disco. A causa di queste incoerenze, l'istantanea potrebbe non riflettere il testo esatto lo stato desiderato dell'applicazione al momento dell'acquisizione dello snapshot. In questo lo snapshot è considerato coerente con arresti anomali perché acquisisce i dell'applicazione, come se la macchina si arrestasse in modo anomalo nel momento in cui viene creato lo snapshot. prese.

Facoltativamente, puoi mettere in pausa l'applicazione, in modo che transazioni completate e il sistema può cancellare tutte le scritture in sospeso dalla memoria su disco prima di acquisire lo snapshot. In questo scenario, lo snapshot considerata coerente con l'applicazione.

Creazione di snapshot coerenti con gli arresti anomali

Quando crei uno snapshot di un Persistent Disk o di un Hyperdisk, non è necessario eseguire eventuali passaggi aggiuntivi per rendere coerente l'arresto anomalo dello snapshot. In particolare, non è necessario mettere in pausa il carico di lavoro.

Se il carico di lavoro non può tollerare una pausa temporanea, considera quanto segue per creare snapshot coerenti con gli arresti anomali:

  1. Acquisisci uno snapshot mentre le applicazioni sono in esecuzione, supponendo che venga alcune incoerenze nei dati dell'applicazione.
  2. Verifica di poter ripristinare del carico di lavoro a uno stato accettabile dell'applicazione dallo snapshot.
  3. In base al passaggio precedente, conserva o elimina lo snapshot.

Gli snapshot coerenti con gli arresti anomali richiederanno probabilmente la riproduzione del file system e a livello di applicazione prima dell'uso. Pertanto, la qualità dello snapshot dipende dalla capacità dell'applicazione di ripristinare rapidamente la situazione dopo un arresto anomalo per ripristinare lo stato di pubblicazione.

Creazione di snapshot coerenti con l'applicazione

  • Utenti Windows Server: per i dischi collegati a Windows Le istanze server utilizzano gli snapshot VSS.
  • Utenti Linux: per ottenere la coerenza dell'applicazione per gli snapshot dei dischi collegate alle istanze Linux, crea la shell pre e post dello snapshot per preparare il sistema alla coerenza dell'applicazione. Quindi crea un snapshot con l'opzione guest-flush abilitata. In questo modo vengono eseguite le script prima e dopo l'acquisizione dell'istantanea. Per istruzioni, vedi Creazione di snapshot coerenti con le applicazioni Linux.

Creazione manuale di snapshot coerenti con l'applicazione

In alcuni scenari, potrebbe essere necessario mettere in pausa manualmente le applicazioni per o snapshot coerenti con le applicazioni.

Ad esempio, utilizza questa opzione se hai bisogno della coerenza dell'applicazione tra e più volumi Persistent Disk o Hyperdisk. In questo caso, devi bloccare tutti i file system su ciascun disco e completare tutti gli snapshot per questi dischi prima di ripristinare le app.

Non è necessario arrestare le VM. La pausa dell'applicazione può comportare: ad esempio congelando e smontando il file system. Dopo aver messo in pausa manualmente le tue applicazioni, riprendi i carichi di lavoro solo dopo raggiunge UPLOADING .

Quando richiedi uno snapshot, controlla lo stato dell'operazione chiamando il metodo Metodo globalOperations.get. La tabella seguente mostra la relazione tra lo stato dello snapshot e lo stato della risorsa snapshot.

Stato operazione Stato risorsa snapshot
PENDING Non esiste ancora nessuna risorsa snapshot.
RUNNING CREATING o UPLOADING

CREATING: la creazione dello snapshot non è ancora completa.
UPLOADING: lo snapshot è stato creato, ma non è ancora stato salvato in di archiviazione ideale in Cloud Storage.
DONE FAILED o READY.

Limiti di frequenza degli snapshot

Esistono dei limiti alla frequenza con cui puoi creare uno snapshot di un disco.

Creazione di snapshot da Persistent Disk o Hyperdisk

Puoi creare snapshot dei dischi al massimo una volta ogni 10 minuti. Se vuoi emettere per creare uno snapshot dei tuoi dischi, puoi inviare al massimo 6 richieste tra 60 minuti.

Se il limite viene superato, l'operazione non riesce e restituisce il seguente errore:

"code": "RESOURCE_OPERATION_RATE_EXCEEDED",
"message": "Operation rate exceeded for resource 'projects/project-id/zones/zone-id/disks/disk-name'.
Too frequent operations from the source resource."

Questo limite si applica alle seguenti operazioni:

Questo limite non si applica alle seguenti operazioni:

Come best practice, crea uno snapshot del disco una volta all'ora. Evita di prendere di snapshot molto spesso. Il modo più semplice per raggiungere questo obiettivo è impostare un la pianificazione di snapshot.

Creazione di nuovi dischi a livello di zona da snapshot

Puoi creare un nuovo Persistent Disk o Hyperdisk a livello di zona da un uno snapshot specificato per zona target al massimo una volta ogni 10 minuti. La zona target si riferisce alla posizione di archiviazione del nuovo disco creato dallo snapshot. Google Cloud non garantisce che sarai in grado di creare dischi da un a una velocità maggiore, anche se potresti essere in grado di creare dischi più spesso se non hai creato dischi dallo snapshot nell'ultima ora.

Tieni presente che vengono presi in considerazione più snapshot degli stessi dischi snapshot distinti in relazione a questo limite di frequenza.

Se questo limite viene superato, l'operazione non riesce e restituisce il seguente errore:

"code": "RESOURCE_OPERATION_RATE_EXCEEDED",
"message": "Operation rate exceeded for resource 'projects/project-id/global/snapshots/snapshot-name'.
Too frequent operations from the source resource."

Questo limite si applica alle seguenti operazioni:

Questo limite non si applica alle seguenti operazioni:

  • Creazione di nuovi dischi permanenti a livello di regione da uno snapshot.
  • Creazione di nuovi dischi permanenti a livello di zona o di regione utilizzando un'immagine come origine.

Per creare più dischi da uno snapshot, utilizza lo snapshot per creare un'immagine quindi crea i tuoi dischi dall'immagine:

  1. Crea un'immagine dall'istantanea.
  2. Crea dischi dall'immagine.

Per i dischi non di avvio, segui le istruzioni per crea un disco permanente dall'immagine e segui questi passaggi:

  • Nella console Google Cloud, seleziona Immagine come Tipo di origine del disco.
  • Con gcloud CLI, utilizza Flag image.
  • Se utilizzi REST, utilizza Parametro sourceImage.

Usa gli snapshot esistenti come base per gli snapshot successivi

Se disponi di snapshot esistenti di un disco (Persistent Disk o Hyperdisk), il sistema li utilizza automaticamente come base per qualsiasi snapshot successivo che crei dallo stesso disco.

  • Crea un nuovo snapshot da un disco prima di eliminare quello precedente lo snapshot dallo stesso disco. Il sistema può creare il nuovo snapshot più rapidamente se può utilizzare lo snapshot precedente e legge solo i dati nuovi o modificati dal disco.
  • Attendi il completamento dei nuovi snapshot prima di acquisire snapshot successivi dalla sullo stesso disco. Se esegui due snapshot contemporaneamente sulla stessa il disco, entrambi partono dalla stessa base di riferimento e dallo stesso sforzo. Se aspetti il completamento del nuovo snapshot, gli snapshot successivi verranno eseguiti di più rapidamente perché ottengono solo i dati che sono cambiati dall'ultima snapshot completato.

Pianificare gli snapshot al di fuori delle ore di punta

Se pianifichi snapshot regolari per i tuoi dischi (Persistent Disk o Hyperdisk), puoi ridurre il tempo necessario per il completamento ogni snapshot creandoli al di fuori delle ore di punta, se possibile.

  • Pianificare gli snapshot automatici durante la giornata lavorativa nella zona in cui in cui si trova il disco. La creazione di snapshot solitamente raggiunge il picco alla fine il giorno lavorativo.
  • Pianifica gli snapshot automatici la mattina presto nella zona in cui non si trova immediatamente a mezzanotte. Istantanea La creazione di solito raggiunge il picco a mezzanotte.

Organizza i dati su dischi separati

Se crei lo snapshot di un disco (Persistent Disk o Hyperdisk), qualsiasi dato archiviato sul sia incluso nello snapshot. Maggiore è il volume di dati, che costano di più e richiedono più tempo per la creazione. Per assicurarti di creare un'istantanea dei soli dati di cui hai bisogno, organizza i dati in i dischi permanenti.

  • Archivia i dati critici su un disco secondario, o dati, anziché sul disco di avvio. Ciò ti consente di creare uno snapshot dei tuoi dischi di avvio solo quando necessario o in una programmazione meno frequente.
  • Se crei snapshot dei tuoi dischi di avvio, archivi partizioni di scambio, file di paging, file della cache e log non critici su un disco separato. Questi file e queste partizioni cambiano di frequente e il processo di snapshot viene li identifichi come dati modificati che devono essere inclusi in un snapshot incrementale.
  • Riduci il numero di snapshot che devi creare conservando dati simili su un unico disco. Mantieni il tuo sistema operativo e i dati volatili dai dati di cui vuoi creare uno snapshot, ma non è necessario di distribuire i dati critici su più dischi, come si farebbe di una macchina fisica. Un disco di grandi dimensioni è in grado di ottenere le prestazioni di più dischi più piccoli della stessa dimensione totale.

Abilita l'opzione discard o esegui fstrim sul tuo disco

Sulle istanze Linux, se non hai formattato e montato i dischi (Persistent Disk o Hyperdisk) con ignora, esegui il comando fstrim sull'istanza prima di creare senza dover creare uno snapshot. Il comando rimuove i blocchi non più necessari dal file system, in modo che il sistema possa creare lo snapshot più rapidamente e con dimensioni inferiori. Per scoprire come configurare l'opzione di eliminazione sui dischi, consulta Formatta e monta un disco non di avvio su una VM Linux.

Crea un'immagine di uno snapshot utilizzato di frequente

Se utilizzi ripetutamente uno snapshot nella stessa zona per creare (Persistent Disk o Hyperdisk), risparmia sui costi di networking utilizzando lo snapshot una sola volta e creando un'immagine di quell'istantanea. Archivia questa immagine e per creare il tuo disco e avviare un'istanza VM. Per istruzioni, vedi Creazione di un'immagine personalizzata.

Come best practice, crea uno snapshot del disco una volta all'ora. Evita di prendere di snapshot molto spesso. Il modo più semplice per raggiungere questo obiettivo è impostare un pianificazione degli snapshot.

Altre best practice

  • Utilizzare file system di journaling come ext4 per ridurre il rischio che i dati vengano memorizzati nella cache senza essere vengono scritte sul disco permanente.
  • Crea uno snapshot dei tuoi dati con una pianificazione regolare per ridurre al minimo la perdita di dati a causa di un errore imprevisto.

Passaggi successivi