Perché gli snapshot di VM influenzano le performance?

Ho letto in uno degli articoli del KB di VMware che le istantanee influenzeranno direttamente le performance di VM.

Ma la mia squadra continua a chiedermi come le istantanee possono influenzare le performance.

  • Configurazione di networking ESXi per macchine virtuali interne isolate
  • Virtualizzazione di Linux + Windows Server
  • NFS Datastore appare vuoto!
  • ESXi dalla scheda SD al disco rigido sul sistema di raid?
  • Come eseguire il backup e ripristinare le impostazioni ESXi 4?
  • Come installare VMware 5.5 e superiori su HP BL460c G6
  • Vorrei dare loro ragione solida dietro l'affermazione che le istantanee sono killer di performance.

    Qualcuno può spiegare un po 'di teoria su come le istantanee stiano effettivamente a colpire le performance? È solo perché il tasso di I / O del disco di disco rigido sarebbe lento?

  • Flussi di lavoro professionali da distribuire via Git?
  • Azure Virtual Machine non può servire siti web
  • netkit: Connessione di 3 router e tentativo di ping router 3 al router 1
  • I problemi di sicurezza di aggiunta degli ospiti di Virtualbox
  • Qual è la differenza tra i nameserver elencati in /etc/resolv.conf e / etc / network / interfaces in Ubuntu 12.04?
  • VMWare ESXi: estendere una partizione o creare una nuova unità?
  • 4 Solutions collect form web for “Perché gli snapshot di VM influenzano le performance?”

    Quando si crea un'istantanea, l'image originale del disco viene "congelata" in uno stato coerente e tutti gli accessi di scrittura da allora in poi passeranno ad una nuova image differenziale. Ancora peggio, come spiegato qui , l'image differenziale ha la forma di un registro di cambiamento, che registra each modifica apportta a un file dal momento che l'istantanea è stata scattata. Ciò significa che gli accessi di lettura dovrebbero leggere non solo un file, ma anche tutti i dati di differenza (i dati originali più each modifica apportta ai dati originali). Il numero aumenta ancora di più quando si eseguono cascate di istantanee.

    Quando si crea un'istantanea su un VM questo crea un disco Delta e il sistema operativo scrive a questo file invece che al VMDK originale. Questo file si chiama VM_Name-Delta.VMDK ma se il sistema deve riferirsi a un file prima che l'istantanea si riferisca a VM_Name.VMDK aumentando l'I / O di questa operazione. Se si riprendono più snapshot si fa riferimento all'ultimo file delta dell'ultima istantanea e non all'originale VMDK, aumentando così l'I / O.

    Esempio.

    OS —> Istantanea (File A creata) —> (File Snapshot B creato)

    Se devo fare riferimento a File A, cercherà di trovare 3 VMDK.

    Anche se si include lo stato di memory del VM al momento dello snapshot, questo crea nuovamente un file delta e si riferisce ai file di memory originali se necessario.

    Viene creato un file che elenca tutti i file creati al momento del process di snapshot

    Per quanto posso dire, VMWare utilizza la logica di copia-scrivere per implementare le proprie istantanee. Pertanto, quando si crea uno, each operazione eseguita sul VM (ad esempio quasi tutto in runtime) provocherà un po 'di VM per essere copiato fino a quando l'intera cosa fosse essenzialmente clonata.

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

    Se si desidera eseguire le istantanee come backup, ma non è in grado di tollerare una riduzione del rendimento, considerare la clonazione del VM invece.

    Poiché la dimensione e il numero di istantanee in una macchina virtuale aumentano, così esiste anche il numero di operazioni di command di archiviazione all'interno di vmkernel. Per each command di archiviazione rilasciato dall'OS del guest machine virtuale, è ansible che siano necessarie operazioni di command di archiviazione multiple per attraversare l'intera catena di snapshot per leggere il block di dati più appropriato.

    Copia da un post di blog

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.