Puoi creare snapshot di Persistent Disk e Google Cloud Hyperdisk in qualsiasi momento, ma puoi creare snapshot più rapidamente e con maggiore affidabilità se utilizzi le seguenti best practice.
Considerazioni sulla sicurezza
Per evitare l'escalation dei privilegi indesiderata, assicurati di concedere solo autorizzazioni IAM relative agli snapshot ai principali di cui ti fidi per leggere e ripristinare i dati degli snapshot o degli snapshot istantanei. Le seguenti autorizzazioni consentono agli utenti di leggere e ripristinare i dati dagli snapshot o dagli snapshot istantanei:
compute.snapshots.useReadOnly
compute.instantSnapshots.useReadOnly
Qualsiasi entità che dispone di una delle autorizzazioni precedenti può ripristinare i dati dagli snapshot o dagli snapshot istantanei nel progetto in un progetto che controlla, incluso un progetto di un'altra organizzazione. Ad esempio, se un malintenzionato ottenesse un ruolo IAM di istantanea nel tuo progetto, potrebbe ripristinare l'istantanea nel proprio progetto personale e accedere ai dati contenuti nell'istantanea.
Per scoprire come controllare le autorizzazioni di un'entità, consulta Determinare quali entità dispongono di determinati ruoli o autorizzazioni.
Preparazione per snapshot coerenti
Se crei uno snapshot del Persistent Disk o dell'hyperdisk mentre l'applicazione è in esecuzione, lo snapshot potrebbe non acquisire le scritture in attesa in transito dalla memoria al disco. A causa di queste incoerenze, lo snapshot potrebbe non riflettere lo stato esatto della tua applicazione al momento dell'acquisizione. In questo scenario, lo snapshot è considerato coerente con gli arresti anomali perché acquisisce lo stato dell'applicazione come se la macchina avesse avuto un arresto anomalo al momento della sua acquisito.
Se vuoi, puoi mettere in pausa l'applicazione in modo che tutte le transazioni dell'applicazione vengano completate e il sistema possa svuotare tutte le scritture in attesa dalla memoria sul disco prima dell'acquisizione dello snapshot. In questo scenario, lo snapshot è considerato coerente con l'applicazione.
Creazione di snapshot coerenti con gli arresti anomali
Quando esegui uno snapshot di un Persistent Disk o Hyperdisk, non devi eseguire ulteriori passaggi per rendere coerente l'arresto anomalo dello snapshot. In particolare, non è necessario mettere in pausa il carico di lavoro.
Se il tuo carico di lavoro non può tollerare una pausa temporanea, valuta la procedura riportata di seguito per creare snapshot coerenti con gli arresti anomali:
- Acquisisci uno snapshot mentre le applicazioni sono in esecuzione, supponendo che ci siano alcune incoerenze nei dati delle applicazioni.
- Verifica di poter restore la tua attività in un stato dell'applicazione accettabile dallo snapshot.
- In base al passaggio precedente, mantieni o elimina lo snapshot.
È probabile che gli snapshot coerenti con gli arresti anomali richiedano la riproduzione dei log a livello di file system e di applicazione prima dell'utilizzo. Pertanto, la qualità dello snapshot dipende dalla capacità dell'applicazione di recuperare rapidamente da uno stato coerente con gli arresti anomali e riprendere la pubblicazione.
Creazione di snapshot coerenti con l'applicazione
- Utenti di Windows Server: per i dischi collegati alle istanze Windows Server, utilizza gli snapshot VSS.
- Utenti Linux: per ottenere la coerenza dell'applicazione per gli snapshot dei dischi collegati alle istanze Linux, crea script shell pre e post snapshot per preparare il sistema alla coerenza dell'applicazione. Quindi crea un
screenshot con l'opzione
guest-flush
abilitata. Vengono eseguiti gli script pre e post prima e dopo l'acquisizione dello snapshot. Per le istruzioni, consulta Creare snapshot coerenti con l'applicazione Linux.
Creazione manuale di snapshot coerenti con l'applicazione
In alcuni scenari, potrebbe essere necessario mettere in pausa manualmente le applicazioni per ottenere snapshot coerenti con l'applicazione.
Ad esempio, utilizza questa opzione se hai bisogno di coerenza dell'applicazione tra più volumi Hyperdisk o Persistent Disk. In questo caso, devi bloccare tutti i file system su ogni disco e completare tutti gli snapshot per questi dischi prima di riprendere le app.
Non è necessario arrestare le VM. La messa in pausa dell'applicazione può comportare, ad esempio, il blocco e lo smontaggio del file system. Dopo aver messo in pausa manualmente le applicazioni, riprendi i carichi di lavoro solo dopo che la risorsa snapshot raggiunge lo stato UPLOADING
.
Quando richiedi uno snapshot, controlla lo stato dell'operazione chiamando il metodo globalOperations.get
.
La tabella seguente mostra la relazione tra lo stato dell'operazione di istantanea e lo stato della risorsa istantanea.
Stato operazione | Stato della risorsa snapshot |
---|---|
PENDING |
Non esiste ancora una risorsa snapshot. |
RUNNING |
CREATING o UPLOADING
CREATING : la creazione dello snapshot non è ancora completata.
UPLOADING : lo snapshot è stato creato, ma non è ancora stato salvato in Cloud Storage. |
DONE |
FAILED o READY . |
Limiti di frequenza degli snapshot
Esistono limiti alla frequenza con cui puoi acquisire uno snapshot di un disco.
Creazione di snapshot da Persistent Disk o Hyperdisk
Puoi acquisire lo snapshot di un singolo disco al massimo 6 volte ogni 60 minuti.
Se il limite viene superato, l'operazione non va a buon fine e viene restituito 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:
- Creare snapshot di un disco permanente
- Creazione di snapshot di un volume Hyperdisk
- Creare immagini da un disco permanente
Questo limite non si applica alle seguenti operazioni:
- Crea pianificazioni per gli snapshot dei dischi. Gli snapshot pianificati hanno considerazioni sulla frequenza separate e non contribuiscono al limite di frequenza degli snapshot.
- Importazione manuale delle immagini del disco di avvio
Come best practice, acquisisci uno snapshot del disco una volta all'ora. Evita di acquisire screenshot più spesso. Il modo più semplice per farlo è impostare una programmazione degli istantanei.
Creazione di nuovi dischi zonali dagli snapshot
Puoi creare un nuovo disco Hyperdisk o un disco permanente a livello di zona da un determinato snapshot per zona di destinazione al massimo una volta ogni dieci minuti. La zona di destinazione si riferisce alla posizione di archiviazione del nuovo disco creato dallo snapshot. Google Cloud non garantisce che potrai creare dischi da uno snapshot a una velocità superiore, anche se potresti essere in grado di creare dischi più di frequente se non ne hai creati dall'ora passata.
Tieni presente che più snapshot degli stessi dischi sono considerati snapshot distinti rispetto a questo limite di frequenza.
Se questo limite viene superato, l'operazione non va a buon fine e viene restituito 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 regionali 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 dischi dall'immagine:
Per i dischi diversi da quello di avvio, segui le istruzioni per creare dischi permanenti dall'immagine e segui i passaggi che seguono:
- Nella console Google Cloud, seleziona Immagine come Tipo di origine del disco.
- Con gcloud CLI, utilizza il
image
flag. - Se utilizzi REST, utilizza il
parametro
sourceImage
.
Utilizzare gli snapshot esistenti come base di riferimento per gli snapshot successivi
Se esistono snapshot di un disco (Persistent Disk o Hyperdisk), il sistema li utilizza automaticamente come base di riferimento per tutti gli snapshot successivi creati dallo stesso disco.
- Crea un nuovo snapshot da un disco prima di eliminare lo snapshot precedente dallo stesso disco. Il sistema può creare il nuovo snapshot più rapidamente se può utilizzare lo snapshot precedente e leggere solo i dati nuovi o modificati dal disco.
- Attendi il completamento dei nuovi snapshot prima di acquisire quelli successivi dallo stesso disco. Se esegui due istantanee contemporaneamente sullo stesso disco, entrambe partono dalla stessa base di riferimento e duplicano lo sforzo. Se aspetti il completamento del nuovo snapshot, gli snapshot successivi vengono eseguiti più rapidamente perché ottengono solo i dati che sono cambiati dal completamento dell'ultimo snapshot.
Pianifica gli snapshot durante le ore di punta
Se pianifichi snapshot regolari per i tuoi dischi (Persistent Disk o Hyperdisk), puoi ridurre il tempo necessario per completare ogni snapshot creandoli, se possibile, durante le ore di punta.
- Pianifica gli snapshot automatici durante il giorno lavorativo nella zona in cui si trova il tuo disco. La creazione di istantanee raggiunge il picco di solito alla fine del giorno lavorativo.
- Pianifica gli snapshot automatici la mattina presto nella zona in cui si trova il disco anziché immediatamente a mezzanotte. La creazione di snapshot solitamente ha il picco a mezzanotte.
Organizzare i dati su dischi separati
Se crei uno snapshot di un disco (Persistent Disk o Hyperdisk), tutti i dati archiviati sul disco sono inclusi nello snapshot. Quantità maggiori di dati generano snapshot più grandi, che costano di più e richiedono più tempo per essere creati. Per assicurarti di creare un'istantanea solo dei dati di cui hai bisogno, organizzali su dischi distinti.
- Memorizza i dati critici su un disco secondario o di dati anziché sul disco di avvio. In questo modo puoi creare uno snapshot dei dischi di avvio solo quando necessario o con una frequenza meno elevata.
- Se crei snapshot dei dischi di avvio, archivia le partizioni di scambio, i file di pagina, i file della cache e i log non critici su un disco separato. Questi file e partizioni cambiano spesso e la procedura di snapshot è probabile che li identifichi come dati modificati che devono essere inclusi in uno snapshot incrementale.
- Riduci il numero di istantanee da creare raggruppando i dati simili su un unico disco. Mantieni il sistema operativo e i dati volatili distintamente dai dati di cui vuoi acquisire lo snapshot, ma non devi distribuire i dati critici su più dischi come faresti per una macchina fisica. Un disco di grandi dimensioni è in grado di raggiungere le stesse prestazioni di più dischi più piccoli della stessa dimensione totale.
Attiva l'opzione discard
o esegui fstrim
sul disco
Nelle istanze Linux, se non hai formattato e montato i dischi
(Persistent Disk o Hyperdisk) con l'opzione di eliminazione, esegui il comando fstrim
sull'istanza prima di creare un
snapshot. Il comando rimuove i blocchi non più necessari per il 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
Formattare e montare un disco non di avvio su una VM Linux.
Creare un'immagine di uno snapshot di uso frequente
Se utilizzi ripetutamente uno snapshot nella stessa zona per creare un disco (Persistent Disk o Hyperdisk), risparmia sui costi di rete utilizzando lo snapshot una volta e creando un'immagine dello snapshot. Archivia questa immagine e utilizzala per creare il disco e avviare un'istanza VM. Per le istruzioni, consulta la pagina Creare un'immagine personalizzata.
Come best practice, acquisisci uno snapshot del disco una volta all'ora. Evita di acquisire screenshot più spesso. Il modo più semplice per farlo è impostare una pianificazione degli istantanei.
Altre best practice
- Utilizza file system con journaling come
ext4
per ridurre il rischio che i dati vengano memorizzati nella cache senza essere effettivamente scritti sul disco permanente. - Crea uno snapshot dei dati con una pianificazione regolare per ridurre al minimo la perdita di dati a causa di un errore imprevisto.
Passaggi successivi
- Scopri come creare snapshot dei dischi.
- Scopri come visualizzare, elencare, condividere ed eliminare gli snapshot.
- Scopri come creare pianificazioni per gli snapshot dei dischi.