Recursos do VMware vSphere: HotAdd/HotPlug explicado

Em um ambiente VMware vSphere, os recursos provisionados podem não ser suficientes para o nível de desempenho necessário quando você tem um aplicativo poderoso em execução em uma VM. Nesse caso, a solução ideal é adicionar mais recursos de processador e memória à máquina virtual.

Quando aplicativos críticos estão em execução na VM, você não pode se dar ao luxo de desligar a VM e enfrentar tempo de inatividade. Para esse cenário, a funcionalidade Hot Add do VMware vSphere é útil. Devido à flexibilidade fornecida pela virtualização da VMware, você pode adicionar hardware virtual de CPU e memória RAM a uma VM em execução. Aqui explicaremos como habilitar o Hot Add da VMware, casos de uso, configuração e limitações dessa funcionalidade.

O que é o Hot Add da VMware?

O Hot Add da VMware é uma funcionalidade que permite adicionar dispositivos virtuais a uma máquina virtual enquanto a VM está em execução. Por padrão, você pode adicionar dispositivos virtuais como um disco rígido virtual (não IDE), adaptadores de rede e dispositivos USB enquanto uma VM está ligada. O Hot Add da VMware torna possível adicionar uma CPU (unidade central de processamento) virtual e memória RAM (memória de acesso aleatório) em tempo real. Com o Hot Add da VMware habilitado, não é necessário desligar uma VM para adicionar dispositivos virtuais.

Hot Add da VMware vs Hot Plug

Você pode notar que a funcionalidade Hot Add de CPU às vezes é referida como Hot Plug de CPU. A mesma lógica se aplica ao hot add de memória e ao hot plug de memória. Esses dois termos se referem à mesma coisa e são intercambiáveis.

Nota: Não confunda a memória dinâmica do VMware e a memória de adição a quente do VMware porque esses recursos são diferentes. A memória dinâmica do VMware é uma técnica para gerenciamento eficiente de memória do VMware para máquinas virtuais. Esse nome não é oficial para esse recurso, mas os usuários o mencionam como o análogo avançado da memória dinâmica do Hyper-V. As técnicas de gerenciamento de memória do VMware incluem compartilhamento transparente de páginas, balonamento de memória, compressão de memória e troca de memória.

Requisitos e Limitações

Há requisitos e limitações para adicionar vCPUs (CPUs virtuais) e memória do VMware a VMs em execução:

  • O sistema operacional convidado (SO) deve suportar a adição de dispositivos a quente.
  • A compatibilidade de hardware da máquina virtual (versão de hardware virtual) é 7 ou superior.
  • Ferramentas do VMware devem estar instaladas no SO convidado.
  • A Tolerância a Falhas não deve estar ativada para a VM.
  • A máquina virtual deve estar desligada para habilitar o recurso de Adição a Quente.
  • A VMware vSphere Advanced, Enterprise, or Enterprise Plus license must be used. VMware vSphere Enterprise Plus supports both CPU hot add and memory hot add. Refer to the VMware licensing guide to check available functionality for other editions and guest OSs.

Leve em consideração as limitações de licenciamento do SO convidado e dos aplicativos instalados na VM antes de adicionar vCPUs. Você pode precisar comprar licenças adicionais para executar o software em um número maior de processadores.

Os sistemas operacionais convidados que suportam Hot Add são o Windows Server 2003 e mais recentes, e o Linux usando o kernel 3.8 e acima. As principais edições do Windows Server suportam tanto a adição a quente de CPU quanto de memória. Algumas edições inferiores do Windows Server suportam apenas a adição a quente de memória.

Sistema operacional convidado Licença/Versão Adição de memória a quente Inserção de CPU a quente
Windows Server 2003 32 bits/64 bits Padrão, Empresa Sim Não
Windows Server 2008 32 bits Padrão, Empresa, Datacenter Sim Não
Windows Server 2008 64 bits Padrão, Empresa Sim Não
Windows Server 2008 64 bits Datacenter Sim Sim
Windows Server 2008 R2 Padrão, Empresa Sim Não
Windows Server 2008 R2 Datacenter Sim Sim
Windows Server 2012 Padrão, Datacenter Sim Sim
Windows Server 2012 R2 Padrão, Datacenter Sim Sim
Windows Server 2016 Padrão, Datacenter Sim Sim
Windows Server 2019 Padrão, Datacenter Sim Sim

Prós e Contras da Adição de Recursos em Execução no VMware

O VMware Hot Add é um recurso útil em muitos casos. No entanto, observe que existem desvantagens em usar esse recurso quando o hot add não é realmente necessário. O VMware Hot Add é desativado por padrão por diferentes motivos. Vamos descobrir por quê.

O VMware vCPU Hot Add e vNUMA

Ao habilitar o VMware Hot Add, o vNUMA é automaticamente desativado para a VM. Por padrão, o vNUMA é habilitado para todas as VMs que possuem 8 vCPUs ou mais para melhorar o desempenho. Vamos dar uma olhada mais de perto no conceito de NUMA e vNUMA.

O que é NUMA?

NUMA (acesso à memória não uniforme) é a arquitetura para sistemas multiprocessadores que permite que as CPUs compartilhem a memória localmente. O tempo de acesso à memória por uma CPU depende da localização da memória na placa-mãe. Cada processador tem prioridade para usar “sua própria” memória local em vez de usar a memória instalada nos slots próximos a outro processador. Em outras palavras, NUMA é um método que determina como um processador interage com os módulos de memória de outro processador. Os sistemas NUMA são plataformas com mais de um barramento de sistema onde cada processador pode acessar toda a memória na placa-mãe. Um processador com memória instalada nos slots próximos a ele é chamado de nó NUMA.

Se o NUMA estiver desativado ou, por exemplo, se você tiver dois processadores e a memória estiver instalada nos slots de apenas um desses processadores, você pode ver degradação de desempenho e outros problemas de hardware. Se você não tiver módulos de memória suficientes para preencher todos os slots em uma placa-mãe com dois processadores, tente distribuir os módulos de memória pelos slots de memória do primeiro e do segundo processadores.

NUMA ajuda os processos do sistema em execução em um sistema operacional ciente de NUMA a serem distribuídos de forma racional. Ele permite que cada processo acesse áreas de memória que estão mais próximas dos processadores utilizados por esses processos.

O que é vNUMA?

Virtual NUMA (vNUMA) é um método de otimização no VMware vSphere. Ele garante que VMs grandes funcionem de forma otimizada levando em consideração a topologia NUMA e evitando gargalos de largura de banda de memória. Uma topologia NUMA física é exposta a um sistema operacional convidado com vNUMA. Como resultado, a topologia NUMA virtual é baseada na topologia NUMA do hardware físico subjacente usado pelo host ESXi. CPUs virtuais da VM podem agendar o acesso à memória localizada nos mesmos nós NUMA.

O vNUMA está disponível para máquinas virtuais que usam hardware virtual 8 ou superior. Ao criar uma máquina virtual, você pode selecionar o número de processadores e o número de núcleos do processador. O número de soquetes de CPU é calculado automaticamente. Se o número de vCPUs usados por uma VM for maior do que o número de núcleos em cada nó NUMA, então a topologia vNUMA é alterada e otimizada para uso por um sistema operacional convidado. O sistema operacional convidado pode usar vários nós NUMA nesse caso. Essa VM é chamada de máquina virtual ampla ou grande.

O que acontece quando o vNUMA é desativado?

Quando o Hot Add está ativado e o vNUMA está desativado, uma máquina virtual não está ciente dos nós NUMA subjacentes no host ESXi e aumenta o acesso à memória em nós NUMA remotos. O agendamento de CPU/memória do sistema operacional convidado não é ótimo. Como resultado, o desempenho da VM degrada. A degradação de desempenho é perceptível para VMs largas com aumento de threads por aplicação. Por exemplo, se você habilitar o Hot Add em uma VM cujo sistema operacional convidado usou dois nós NUMA, esse sistema operacional convidado só poderá detectar um nó NUMA depois disso porque a topologia vNUMA otimizada não é criada.

Habilite o Hot Add do VMware apenas se você esperar usar esse recurso durante a operação da VM. Caso contrário, é melhor desabilitar o Hot Add para VMs que abrangem mais de um nó NUMA. Se você não tem certeza se precisa adicionar CPU e memória a quente, você pode provisionar mais recursos de CPU e memória para a VM desde o início.

Limitações do Hot Add do VMware

A remoção a quente não é possível

Quando o recurso Hot Add/hot plug está ativado, é impossível remover a quente recursos de CPU e memória. Depois de adicionar vCPU e memória a quente a uma VM, as aplicações consomem esses recursos adicionados. É por isso que as aplicações não suportam opções como retirar memória e capacidade de CPU que já estão em uso. Por esse motivo, a única maneira possível de diminuir os recursos de CPU e memória para uma VM é desligar a VM e editar as configurações da VM desligada.

Limitações de escalabilidade de memória

O montante máximo de memória adicionada a quente é x16 o montante inicial de memória provisionada para a VM. Por exemplo, se uma VM tem 4 GB de RAM, este montante pode ser aumentado para até 64 GB.

Você também tem uma limitação em VMs que possuem 3 GB de RAM (exatamente 3072 MB) ou menos. Você pode encontrar um erro ou um sistema operacional convidado (Linux de 64 bits e Windows de 32 bits) não consegue determinar a memória adicionada. A solução é desligar a VM, aumentar a quantidade de memória para mais de 3072 MB. Em seguida, você pode ligar a VM e usar o recurso de Memória Hot Add do VMware.

Como configurar o Hot Add do VMware

Há vários métodos para habilitar os VMware vCPUs Hot Add e VMware memory Hot Add. Você pode usar a interface gráfica do usuário ou a interface de linha de comando.

Habilitando o Hot Add no vCenter

Para habilitar a opção VMware Hot Add usando o vCenter, faça login no VMware vSphere Client e siga as instruções a seguir:

  1. Vá para Hosts and Clusters.
  2. Selecione a máquina virtual necessária no painel de navegação. A VM deve estar desligada.
  3. Clique no ícone Edit Settings. Como alternativa, você pode clicar com o botão direito do mouse no nome da VM e no menu que abrir, escolher Edit Settings.

Faça o seguinte para habilitar o hot add de CPU:

  1. No janela de Edit Settings, expanda as configurações da CPU.
  2. Na linha de CPU Hot Plug, selecione a caixa de seleção Enable CPU Hot Add.

Faça o seguinte para habilitar o hot add de memória:

  1. No janela de Edit Settings</di
  2. Na linha de Memory Hot Plug, selecione a caixa de seleção Ativar.
  3. Clique em OK para salvar as configurações da VM e fechar a janela.

Agora você pode iniciar a VM e adicionar a quente VMware vCPUs e memória à VM.

Habilitando VMware Hot Add no PowerCLI

O VMware PowerCLI é a poderosa ferramenta de linha de comando para gerenciamento do VMware vSphere. Vamos ver como habilitar o VMware Hot Add no PowerCLI.

  1. Conecte-se ao seu vCenter ou host ESXi usando o seguinte comando e inserindo o endereço IP adequado (192.168.101.205 neste exemplo) ou nome do host:

    Connect-VIServer 192.168.101.205

  2. Insira as credenciais quando solicitado.
  3. Liste as VMs no host ESXi ao qual você se conectou.

    Get-VM

  4. Verifique se a VM para a qual você deseja habilitar o Hot Add está desligada.
  5. Execute esses comandos para habilitar a adição de memória e a adição de CPU em tempo de execução para a máquina virtual selecionada.

    $VM = Get-VM Windows-VM
    $spec = New-Object VMware.Vim.VirtualMachineConfigSpec
    $spec.memoryHotAddEnabled = $true
    $spec.cpuHotAddEnabled = $true
    $VM.ExtensionData.ReconfigVM_Task($spec)
     
    Onde:
    Windows-VM
    é o nome da máquina virtual necessária
    $spec.memoryHotAddEnabled = $true é o comando para habilitar a adição de memória em tempo de execução
    $spec.cpuHotAddEnabled = $true é o comando para habilitar a adição de CPU em tempo de execução

  6. Verifique em quais VMs as funcionalidades de adição a quente de CPU e adição a quente de memória estão habilitadas:

    Get-VM | Get-View | Select Name, `
    @{N=”CpuHotAddEnabled”;E={$_.Config.CpuHotAddEnabled}}, `
    @{N=”CpuHotRemoveEnabled”;E={$_.Config.CpuHotRemoveEnabled}}, `
    @{N=”MemoryHotAddEnabled”;E={$_.Config.MemoryHotAddEnabled}}

Habilitando adição a quente em um arquivo de configuração de VM

Para habilitar outra forma de VMware Hot Add, use a interface de linha de comando do ESXi e edite o arquivo de configuração VMX da máquina virtual. Abra o shell ESXi ou conecte-se ao host ESXi via SSH. Em seguida, execute os seguintes comandos na linha de comando para habilitar o Hot Add:

  1. Navegue até o diretório da VM:
    cd /vmfs/volumes/datastore10a/Windows-VM/
  2. Certifique-se de que a VM esteja desligada.
  3. Abra o arquivo de configuração da máquina virtual em um editor de texto:
    vi Windows-VM.vmx
  4. Adicione essa linha à configuração do arquivo para habilitar o Hot Add do vCPU:
    vcpu.hotadd = “TRUE”
  5. Adicione essa linha à configuração do arquivo para habilitar o Hot Add de memória:
    mem.hotadd = “TRUE”
  6. Salve o arquivo de configuração VMX e saia do editor de texto.

Você pode desabilitar as capacidades de plugar dispositivos em uma VM para dispositivos como adaptadores de rede, controladores de disco, etc. (que estão habilitados por padrão).

devices.hotplug = “false”

Essa configuração não afeta a capacidade de plugar CPU e hotplug de memória da VMware para a VM.

Edição da configuração VMX no VMware vSphere Client

Também é possível editar a configuração VMX no VMware vSphere Client:

  1. Selecione a VM desejada no VMware vSphere Client.
  2. Desligue a VM se ela estiver em execução.
  3. Clique em Edit Settings.
  4. Selecione a guia Opções da VM na janela de Configurações da VM.
  5. Clique em Avançado para expandir as opções e clique em Editar Configuração.
  6. Clique em Adicionar Parâmetros de Configuração na janela de Parâmetros de Configuração.
  7. No Adicionar Novos Parâmetros de Configuração, insira os valores para habilitar o VMware Hot Add memory e VMware vCPUs conforme necessário.
     
    Nome: mem.hotadd       Valor: TRUE
    Nome: vcpu.hotadd        Valor: TRUE
  8. Clique em OK para salvar as configurações e fechar a janela.

Conclusão

Habilite a Hot Add do VMware apenas quando você esperar usar essa funcionalidade para adicionar processadores e memória virtuais a uma VM em execução. Se você habilitar a Hot Add do VMware, mas não usar essa funcionalidade, o desempenho pode piorar para VMs grandes, pois a topologia com múltiplos nós NUMA não será usada. Use a monitoração de VM do VMware para monitorar o desempenho e o uso de recursos de VM no vSphere. Essa abordagem ajuda você a identificar se uma VM precisa que a funcionalidade Hot Add seja habilitada.

Source:
https://www.nakivo.com/blog/vmware-vsphere-resources-hotadd-hotplug-explained/