Perché gli snapshot VM influiscono sulle prestazioni?


27

Ho letto in uno degli articoli KB di VMware che le istantanee influiranno direttamente sulle prestazioni della VM.

Ma il mio team continua a chiedermi in che modo le istantanee possono influire sulle prestazioni.

Vorrei dare loro una solida ragione dietro l'affermazione che le istantanee sono dei killer delle prestazioni.

Qualcuno può spiegare un po 'di teoria su come le istantanee stanno effettivamente influenzando le prestazioni? È solo perché la velocità di I / O del disco rigido sarebbe lenta?


2
Non sono sicuro se questo è l'articolo KB che hai letto o meno. Ho pensato di aggiungerlo come riferimento.
Aaron Copley,

Risposte:


28

Quando si crea uno snapshot, l'immagine del disco originale viene "congelata" in uno stato coerente e tutti gli accessi in scrittura da quel momento in poi passeranno a una nuova immagine differenziale. Ancora peggio, come spiegato qui e qui , l'immagine differenziale ha la forma di un registro delle modifiche, che registra tutte le modifiche apportate a un file dall'acquisizione dell'istantanea. Ciò significa che gli accessi in lettura dovrebbero leggere non solo un file, ma anche tutti i dati relativi alle differenze (i dati originali più ogni modifica apportata ai dati originali). Il numero aumenta ancora di più quando si esegue la cascata delle istantanee.


2
La migliore spiegazione Non stai solo raddoppiando gli IOPS, ma c'è un sovraccarico della CPU nel calcolo della differenza a livello di blocco.
Aaron Copley,

3
Dopo aver letto questo articolo collegato da Aaron Copley ( kb.vmware.com/selfservice/selfrmic// ), sembra peggio di così. Un'istantanea non è un'immagine differenziale, è un registro delle modifiche, quindi se si scrivono gli stessi dati nello stesso posto 10 volte, l'istantanea aumenterà la sua dimensione di 10 moltiplicando la dimensione dei dati scritti. Invece un'immagine differenziale dovrebbe essere più efficiente perché dovrebbe sovrascrivere i dati riscritti nella stessa posizione.
Max

1
@zespri Il problema riguarda tutte le piattaforme di virtualizzazione che utilizzano questo tipo di tecnologia di snapshot, incluso Hyper-V.
Ansgar Wiechers,

1
Questo è chiaramente sbagliato. Vedi il commento di @Falcon Momot per la risposta corretta. Anche l'articolo collegato afferma semplicemente che il disco "può esaurire lo spazio", il che è chiaro quando lo spazio lasciato prima di scattare un'istantanea è più piccolo del disco istantaneo e il deltadisk non ha abbastanza spazio per espandersi.
Daniel,

2
@AnsgarWiechers Questa risposta è decisamente sbagliata. L'articolo collegato ( kb.vmware.com/s/article/1015180 ) afferma; "Il disco secondario, creato con uno snapshot, è un disco sparso. I dischi sparsi utilizzano il meccanismo di copia-scrittura (COW), in cui il disco virtuale non contiene dati in alcuni punti, fino a quando non viene copiato da una scrittura." Seguito da; "Se una macchina virtuale sta eseguendo uno snapshot, sta apportando modifiche a un disco figlio o sparso. Più operazioni di scrittura vengono eseguite su questo disco, più cresce, fino a un limite superiore della dimensione del disco di base più un piccola quantità di spese generali ".
Steve365,

5

Quando si crea un'istantanea su una macchina virtuale, viene creato un disco delta e il sistema operativo scrive su questo file anziché sul VMDK originale. Questo file si chiama VM_Name-Delta.VMDK ma se il sistema deve fare riferimento a un file prima dell'istantanea, si riferirà a VM_Name.VMDK aumentando l'I / O di questa operazione. Se si eseguono più snapshot, ci si riferisce all'ultimo file delta dell'ultima snapshot, non al VMDK originale, aumentando così l'I / O.

Esempio.

Sistema operativo ---> Snapshot (File A creato) ---> (Snapshot File B creato)

Se ho bisogno di fare riferimento al file A, cercherà 3 VMDK per trovare questo.

Inoltre, se si include lo stato della memoria della VM al momento dello snapshot, questo crea di nuovo un file delta e, se necessario, si riferisce ai file di memoria originali.

Viene creato un file che elenca tutti i file creati al momento del processo di istantanea


2

Per quanto ne so, VMWare sta usando la logica di copia su scrittura per implementare le loro istantanee. Pertanto, quando ne crei uno, ogni operazione eseguita sulla tua macchina virtuale (ad es. Quasi tutto in fase di esecuzione) causerebbe la copia di un po 'della macchina virtuale fino a quando l'intera cosa non fosse sostanzialmente clonata.

Un altro problema di prestazioni con questo è che le letture dovrebbero passare alla copia originale se la copia di lavoro non ha ancora dati (perché nulla è cambiato per causare una copia).

Se si desidera avere gli snapshot come backup ma non si può tollerare un piccolo calo delle prestazioni, prendere in considerazione la clonazione della VM.


-2

Dai valori High co-stop (% CSTP) visualizzati durante le attività di snapshot della macchina virtuale :

Con l'aumentare delle dimensioni e del numero di snapshot su una macchina virtuale, aumenta anche il numero di operazioni dei comandi di archiviazione all'interno di vmkernel. Per ogni comando di archiviazione emesso dal SO guest della macchina virtuale, potrebbero essere necessarie più operazioni di comando di archiviazione per attraversare l'intera catena di snapshot per leggere il blocco di dati più appropriato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.