Por que os instantâneos da VM estão afetando o desempenho?

26

Eu li em um dos artigos da VMware KB que os instantâneos afetarão diretamente o desempenho da VM.

Mas minha equipe me pergunta como os instantâneos podem afetar o desempenho.

Eu gostaria de dar a eles uma sólida razão por trás da afirmação de que os instantâneos são matadores de desempenho.

Alguém pode explicar um pouco da teoria sobre como instantâneos estão realmente afetando o desempenho? É apenas porque a taxa de E / S do disco rígido seria lenta?

    
por Samselvaprabu 20.09.2012 / 08:32

4 respostas

27

Quando você cria um instantâneo, a imagem do disco original é "congelada" em um estado consistente e todos os acessos de gravação a partir de então irão para uma nova imagem diferencial. Pior ainda, conforme explicado aqui e aqui , a imagem diferencial tem a forma de um log de alterações, que registra todas as alterações feitas em um arquivo desde que o instantâneo foi tirado. Isso significa que os acessos de leitura teriam que ler não apenas um arquivo, mas também todos os dados de diferença (os dados originais mais todas as alterações feitas nos dados originais). O número aumenta ainda mais quando você cria instantâneos em cascata.

    
por 20.09.2012 / 08:42
5

Quando você cria um instantâneo em uma VM, isso cria um Disco Delta e o sistema operacional grava nesse arquivo em vez do VMDK original. Esse arquivo é chamado de VM_Name-Delta.VMDK, mas se o sistema precisar se referir a um arquivo antes do snapshot, ele se referirá a VM_Name.VMDK, aumentando a E / S dessa operação. Se você tirar várias capturas instantâneas, estará se referindo ao último arquivo delta da última captura instantânea que não a VMDK original, aumentando assim a E / S.

Example.

OS ---> Snapshot (File A Created) ---> (Snapshot File B Created)

If I need to refer to File A it will be looking through 3 VMDK's to find this.

Além disso, se você incluir o estado de memória da VM no momento da captura instantânea, isso criará novamente um arquivo delta e fará referência aos arquivos de memória originais, se necessário.

É criado um arquivo que lista todos os arquivos criados no momento do processo de captura instantânea

    
por 20.09.2012 / 16:50
2

Tanto quanto eu posso dizer, o VMWare está usando a lógica copy-on-write para implementar seus snapshots. Portanto, quando você cria uma, cada operação feita em sua VM (por exemplo, quase tudo em tempo de execução) faria com que um pouco da VM fosse copiada até que tudo fosse essencialmente clonado.

Outro problema de desempenho com isso é que as leituras teriam que ser enviadas em cascata para a cópia original se a cópia de trabalho ainda não tivesse dados (porque nada foi alterado para causar uma cópia).

Se você deseja ter os instantâneos como backup, mas não pode tolerar uma pequena redução no desempenho, considere clonar a VM.

    
por 20.09.2012 / 08:42
-2

De Valores altos de co-parada (% CSTP) vistos durante as atividades de instantâneo da máquina virtual :

As the size and number of snapshots on a virtual machine increase, so does the number of storage command operations within vmkernel. For each storage command issued by the virtual machine guest OS, multiple storage command operations may be necessary to traverse the entire snapshot chain to read the most appropriate block of data.

    
por 22.08.2014 / 08:49