Quando a capacidade de recursos disponível não atende às demandas dos consumidores de recursos (e à sobrecarga de virtualização), os administradores podem precisar personalizar a quantidade de recursos alocados para máquinas virtuais ou para os pools de recursos nos quais elas residem.

Use as configurações de alocação de recursos (compartilhamentos, reserva e limite) para determinar a quantidade de recursos de CPU, memória e armazenamento fornecidos para uma máquina virtual. Em particular, os administradores têm várias opções para alocar recursos.

  • Reserve os recursos físicos do host ou cluster.
  • Defina um limite superior para os recursos que podem ser alocados para uma máquina virtual.
  • Garantir que uma determinada máquina virtual sempre receba uma porcentagem mais alta dos recursos físicos do que outras máquinas virtuais.
Observação: Neste capítulo, "Memória" refere-se à RAM física.

Compartilhamentos de alocação de recursos

Os compartilhamentos especificam a importância relativa de uma máquina virtual (ou pool de recursos). Se uma máquina virtual tiver o dobro de compartilhamentos de um recurso do que outra máquina virtual, ela terá o direito de consumir o dobro desse recurso quando essas duas máquinas virtuais estiverem competindo por recursos.

Os compartilhamentos são normalmente especificados como Alto (High), Normal ou Baixo (Low) e esses valores especificam valores de compartilhamento com uma proporção de 4:2:1, respectivamente. Você também pode selecionar Personalizado (Custom) para atribuir um número específico de compartilhamentos (que expressa um peso proporcional) a cada máquina virtual.

A especificação de compartilhamentos faz sentido apenas em relação a máquinas virtuais irmãs ou pools de recursos, ou seja, máquinas virtuais ou pools de recursos com o mesmo pai na hierarquia do pool de recursos. Os irmãos compartilham recursos de acordo com seus valores de compartilhamento relativos, limitados pela reserva e pelo limite. Ao atribuir compartilhamentos a uma máquina virtual, você sempre especifica a prioridade dessa máquina virtual em relação a outras máquinas virtuais ligadas.

A tabela a seguir mostra os valores padrão de CPU e compartilhamento de memória para uma máquina virtual. Para pools de recursos, os valores padrão de CPU e compartilhamento de memória são os mesmos, mas devem ser multiplicados como se o pool de recursos fosse uma máquina virtual com quatro CPUs virtuais e 16 GB de memória.

Tabela 1. Valores de ações
Configuração Valores de compartilhamento de CPU Valores de compartilhamento de memória
Alto 2.000 compartilhamentos por CPU virtual 20 compartilhamentos por megabyte de memória da máquina virtual configurada.
Normal 1.000 compartilhamentos por CPU virtual 10 compartilhamentos por megabyte de memória da máquina virtual configurada.
Baixo 500 compartilhamentos por CPU virtual 5 compartilhamentos por megabyte de memória da máquina virtual configurada.

Por exemplo, uma máquina virtual SMP com duas CPUs virtuais e 1 GB de RAM com compartilhamentos de CPU e memória definidos como Normal tem 2x1.000=2.000 compartilhamentos de CPU e 10x1.024=10.240 compartilhamentos de memória.

As máquinas virtuais com mais de uma CPU virtual são chamadas de máquinas virtuais SMP (multiprocessamento simétrico).

A prioridade relativa representada por cada compartilhamento muda quando uma nova máquina virtual é ligada. Isso afeta todas as máquinas virtuais no mesmo pool de recursos. Todas as máquinas virtuais têm o mesmo número de CPUs virtuais. Considere os exemplos a seguir.

  • Duas máquinas virtuais vinculadas à CPU são executadas em um host com 8 GHz de capacidade agregada de CPU. Seus compartilhamentos de CPU são definidos como Normal e obtêm 4 GHz cada.
  • Uma terceira máquina virtual vinculada à CPU está ligada. Seu valor de compartilhamentos de CPU está definido como Alto (High), o que significa que ele deve ter o dobro de compartilhamentos do que as máquinas definidas como Normal. A nova máquina virtual recebe 4 GHz e as outras duas máquinas recebem apenas 2 GHz cada. O mesmo resultado ocorrerá se o usuário especificar um valor de compartilhamento personalizado de 2000 para a terceira máquina virtual.

Reserva de alocação de recursos

Uma reserva especifica a alocação mínima garantida para uma máquina virtual.

vCenter Server ou ESXi permite que você ligue uma máquina virtual somente se houver recursos não reservados suficientes para satisfazer a reserva da máquina virtual. O servidor garante esse valor mesmo quando o servidor físico está muito carregado. A reserva é expressa em unidades concretas (megahertz ou megabytes).

Por exemplo, suponha que você tenha 2 GHz disponível e especifique uma reserva de 1 GHz para VM1 e 1 GHz para VM2. Agora, cada máquina virtual tem a garantia de obter 1 GHz, se precisar. No entanto, se a VM1 estiver usando apenas 500 MHz, a VM2 poderá usar 1,5 GHz.

O padrão de reserva é 0. Você poderá especificar uma reserva se precisar garantir que as quantidades mínimas necessárias de CPU ou memória estejam sempre disponíveis para a máquina virtual.

Limite de alocação de recursos

Limite especifica um limite superior para recursos de CPU, memória ou E/S de armazenamento que podem ser alocados a uma máquina virtual.

Um servidor pode alocar mais do que a reserva para uma máquina virtual, mas nunca aloca mais do que o limite, mesmo se houver recursos não utilizados no sistema. O limite é expresso em unidades concretas (megahertz, megabytes ou operações de E/S por segundo).

Os limites de recursos de E/S de CPU, memória e armazenamento padrão são ilimitados. Quando o limite de memória é ilimitado, a quantidade de memória configurada para a máquina virtual quando ela foi criada se torna seu limite efetivo.

Na maioria dos casos, não é necessário especificar um limite. Existem vantagens e desvantagens:

  • Benefícios — A atribuição de um limite é útil se você começar com um pequeno número de máquinas virtuais e quiser gerenciar as expectativas do usuário. O desempenho piora à medida que você adiciona mais máquinas virtuais. Você pode simular ter menos recursos disponíveis especificando um limite.
  • Desvantagens — Você pode desperdiçar recursos ociosos se especificar um limite. O sistema não permite que as máquinas virtuais usem mais recursos do que o limite, mesmo quando o sistema está subutilizado e os recursos ociosos estão disponíveis. Especifique o limite somente se você tiver boas razões para fazê-lo.

Sugestões de configurações de alocação de recursos

Selecione as configurações de alocação de recursos (reserva, limite e compartilhamentos) apropriadas para seu ambiente ESXi.

As diretrizes a seguir podem ajudá-lo a obter um melhor desempenho para suas máquinas virtuais.

  • Use Reserva (Reservation) para especificar a quantidade mínima aceitável de CPU ou memória, não a quantidade que você deseja ter disponível. A quantidade de recursos concretos representados por uma reserva não muda quando você altera o ambiente, como ao adicionar ou remover máquinas virtuais. O host atribui recursos adicionais conforme disponíveis com base no limite da sua máquina virtual, no número de compartilhamentos e na demanda estimada.
  • Ao especificar as reservas para máquinas virtuais, não confirme todos os recursos (planeje deixar pelo menos 10% sem reservas). À medida que você se aproxima da reserva completa de toda a capacidade do sistema, fica cada vez mais difícil fazer alterações nas reservas e na hierarquia do pool de recursos sem violar o controle de admissão. Em um cluster habilitado para DRS, as reservas que confirmam totalmente a capacidade do cluster ou de hosts individuais no cluster podem impedir que DRS migre máquinas virtuais entre hosts.
  • Se você espera alterações frequentes no total de recursos disponíveis, use Compartilhamentos (Shares) para alocar recursos de forma justa entre máquinas virtuais. Se você usar Compartilhamentos (Shares) e fizer upgrade do host, por exemplo, cada máquina virtual permanecerá com a mesma prioridade (mantém o mesmo número de compartilhamentos), mesmo que cada compartilhamento represente uma quantidade maior de memória, CPU ou recursos de E/S de armazenamento.

Editar configurações

Use a caixa de diálogo Editar Configurações para alterar as alocações de recursos de memória e CPU.

Procedimento

  1. Navegue até a máquina virtual no vSphere Client.
  2. Clique com o botão direito do mouse e selecione Editar configurações (Edit Settings).
  3. Edite os recursos da CPU.
    Opção Descrição
    Ações Compartilhamentos de CPU para este pool de recursos em relação ao total do pai. Os pools de recursos irmãos compartilham recursos de acordo com seus valores de compartilhamento relativos limitados pela reserva e pelo limite. Selecione Baixo (Low), Normal ou Alto (High), que especificam valores de compartilhamento, respectivamente, em uma proporção de 1:2:4. Selecione Personalizado (Custom) para atribuir a cada máquina virtual um número específico de compartilhamentos, que expressa um peso proporcional.
    Reserva Alocação de CPU garantida para este pool de recursos.
    Limite Limite superior para a alocação de CPU deste pool de recursos. Selecione Ilimitado (Unlimited) para não especificar um limite superior.
  4. Edite os recursos de memória.
    Opção Descrição
    Ações Compartilhamentos de memória para esse pool de recursos em relação ao total do pai. Os pools de recursos irmãos compartilham recursos de acordo com seus valores de compartilhamento relativos limitados pela reserva e pelo limite. Selecione Baixo (Low), Normal ou Alto (High), que especificam valores de compartilhamento, respectivamente, em uma proporção de 1:2:4. Selecione Personalizado (Custom) para atribuir a cada máquina virtual um número específico de compartilhamentos, que expressa um peso proporcional.
    Reserva Alocação de memória garantida para este pool de recursos.
    Limite Limite superior para a alocação de memória deste pool de recursos. Selecione Ilimitado (Unlimited) para não especificar um limite superior.
  5. Clique em OK.

Alteração das configurações de alocação de recursos: exemplo

O exemplo a seguir ilustra como você pode alterar as configurações de alocação de recursos para melhorar o desempenho da máquina virtual.

Suponha que em um host ESXi, você tenha criado duas novas máquinas virtuais, uma para os departamentos de controle de qualidade (VM-QA) e Marketing (VM-Marketing).

Figura 1. Host único com duas máquinas virtuais

Neste exemplo, um único host tem duas máquinas virtuais.

No exemplo a seguir, suponha que o VM-QA use muita memória e, portanto, você queira alterar as configurações de alocação de recursos para as duas máquinas virtuais para:

  • Especifique que, quando a memória do sistema estiver sobrecarregada, o VM-QA poderá usar o dobro de recursos de CPU e memória do que a máquina virtual do Marketing. Defina os compartilhamentos de CPU e de memória para VM-QA como Alto (High) e para VM-Marketing, defina-os como Normal.
  • Certifique-se de que a máquina virtual do Marketing tenha uma determinada quantidade de recursos de CPU garantidos. Você pode fazer isso usando uma configuração de reserva.

Procedimento

  1. Procure as máquinas virtuais no vSphere Client.
  2. Clique com o botão direito do mouse em VM-QA, a máquina virtual para a qual você deseja alterar os compartilhamentos, e selecione Editar configurações (Edit Settings).
  3. Em Hardware virtual (Virtual Hardware), expanda CPU e selecione Alto (High) no menu suspenso Compartilhamentos (Shares).
  4. Em Hardware virtual (Virtual Hardware), expanda Memória e selecione Alta (High) no menu suspenso Compartilhamentos (Shares).
  5. Clique em OK.
  6. Clique com o botão direito do mouse na máquina virtual de marketing (VM-Marketing) e selecione Editar configurações (Edit Settings).
  7. Em Hardware virtual (Virtual Hardware), expanda CPU e altere o valor de Reserva (Reservation) para o número desejado.
  8. Clique em OK.

Controle de admissão

Quando você liga uma máquina virtual, o sistema verifica a quantidade de recursos de CPU e memória que ainda não foram reservados. Com base nos recursos não reservados disponíveis, o sistema determina se pode garantir a reserva para a qual a máquina virtual está configurada (se houver). Esse processo é chamado de controle de admissão.

Se houver CPU e memória não reservada suficientes disponíveis ou se não houver reserva, a máquina virtual será ligada. Caso contrário, um aviso Recursos insuficientes será exibido.

Observação: Além da reserva de memória especificada pelo usuário, para cada máquina virtual também há uma quantidade de memória de sobrecarga. Esse compromisso de memória extra é incluído no cálculo do controle de admissão.

Quando o recurso vSphere DPM está ativado, os hosts podem ser colocados no modo de espera (ou seja, desligados) para reduzir o consumo de energia. Os recursos não reservados fornecidos por esses hosts são considerados disponíveis para controle de admissão. Se uma máquina virtual não puder ser ligada sem esses recursos, será feita uma recomendação para ligar hosts em espera suficientes. Para obter mais informações, consulte Gerenciamento de recursos de energia.