Num 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 proporcionada 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 VMware Hot Add, casos de uso, configuração e limitações dessa funcionalidade.
O que é o VMware Hot Add?
O VMware Hot Add é 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 VMware Hot Add torna possível adicionar uma CPU (unidade central de processamento) e memória RAM (memória de acesso aleatório) virtualmente, sem interromper uma VM. Com o VMware Hot Add ativado, não é necessário desligar uma VM para adicionar dispositivos virtuais.
VMware Hot Add vs Hot Plug
Você pode notar que a funcionalidade de Hot Add de CPU às vezes é chamada de 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 adição de memória a quente do VMware, pois 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. Este 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 adição de dispositivos a quente.
- A compatibilidade de hardware da máquina virtual (versão de hardware virtual) é 7 ou superior.
- VMware Tools 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.
Sistemas operacionais convidados que suportam Hot Add são o Windows Server 2003 e mais recentes, e o Linux usando kernel 3.8 e acima. As principais edições do Windows Server suportam tanto adição de CPU quanto de memória. Algumas edições inferiores do Windows Server suportam apenas adição de memória.
Sistema Operacional Convidado | Licença/Versão | Adição de Memória a Quente | Inicialização de CPU a Quente |
Windows Server 2003 32 bits/64 bits | Padrão, Enterprise | Sim | Não |
Windows Server 2008 32 bits | Padrão, Enterprise, Datacenter | Sim | Não |
Windows Server 2008 64 bits | Padrão, Enterprise | Sim | Não |
Windows Server 2008 64 bits | Datacenter | Sim | Sim |
Windows Server 2008 R2 | Padrão, Enterprise | 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 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 ativar o VMware Hot Add, o vNUMA é automaticamente desativado para a VM. Por padrão, o vNUMA é ativado para todas as VMs que têm 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 de multiprocessadores que permite que CPUs compartilhem 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. Sistemas NUMA são plataformas com mais de um barramento do 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 esse processador é 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 segundo processadores.
NUMA ajuda processos do sistema em execução em um sistema operacional sensível ao NUMA a serem distribuídos racionalmente. Isso permite que cada processo acesse áreas de memória que estão mais próximas dos processadores utilizados por esses processos.
O que é vNUMA?
NUMA Virtual (vNUMA) é um método de otimização no VMware vSphere. Ele garante que VMs grandes executem de forma ideal 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 acesso à memória localizada nos mesmos nós NUMA.
O vNUMA está disponível para máquinas virtuais usando 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 de processador. O número de soquetes de CPU é calculado automaticamente. Se o número de vCPUs usados por uma VM for maior que o número de núcleos em cada nó NUMA, então uma 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. Esta VM é chamada de máquina virtual ampla ou grande.
O que acontece quando o vNUMA está 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 amplas com aumento de threads por uma aplicação. Por exemplo, se você ativar o Hot Add em uma VM cujo sistema operacional convidado usava dois nós NUMA, este sistema operacional convidado só poderá detectar um nó NUMA depois disso porque a topologia vNUMA otimizada não é criada.
Habilite o Hot Add da VMware apenas se você esperar usar esse recurso durante a operação da VM. Caso contrário, é melhor desativar o Hot Add para VMs que abrangem mais de um nó NUMA. Se você não tem certeza de que 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 da 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 a quente vCPU e memória 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 que pode ser adicionado a quente é x16 o montante inicial de memória provisionado para a VM. Por exemplo, se uma VM tiver 4 GB de RAM, este montante pode ser aumentado 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 receber um erro ou um sistema operacional convidado (Linux de 64 bits e Windows de 32 bits) pode não conseguir 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 VMware Hot Add de memória.
Como Configurar o VMware Hot Add
Há vários métodos para habilitar o Hot Add de vCPUs do VMware e o Hot Add de memória do VMware. Você pode usar a interface gráfica do usuário ou a interface de linha de comando do usuário.
Habilitando o Hot Add no vCenter
Para habilitar a opção de Hot Add do VMware usando vCenter, faça login no Cliente VMware vSphere e siga os passos abaixo:
- Vá para Hosts e Clusters.
- Selecione a máquina virtual necessária no painel de navegação. A VM deve estar desligada.
- Clique no ícone Editar Configurações. Como alternativa, você pode clicar com o botão direito no nome da VM e no menu que abrir, selecionar Editar Configurações.
Faça o seguinte para habilitar o hot add de CPU:
- Na janela Editar Configurações, expanda as configurações de CPU.
- Na linha Hot Plug de CPU, selecione a caixa de seleção Habilitar Hot Add de CPU.
Faça o seguinte para habilitar o hot add de memória:
- Na janela Editar Configurações, expanda as configurações de memória.
- Na linha de Memória Hot Plug, selecione a caixa de seleção Ativar.
- Clique em OK para salvar as configurações da VM e fechar a janela.
Agora você pode iniciar a VM e adicionar a quente vCPUs e memória do VMware à VM.
Habilitando o Hot Add do VMware no PowerCLI
O VMware PowerCLI é a poderosa ferramenta de linha de comando para gerenciamento do VMware vSphere. Vamos ver como habilitar o Hot Add do VMware no PowerCLI.
- Conecte-se ao seu vCenter ou host ESXi usando o seguinte comando e inserindo o endereço IP apropriado (192.168.101.205 neste exemplo) ou o nome do host:
Connect-VIServer 192.168.101.205
- Insira as credenciais quando solicitado.
- Liste as VMs no host ESXi ao qual você se conectou.
Get-VM
- Verifique se a VM para a qual você deseja habilitar o Hot Add está desligada.
- Execute os seguintes comandos para habilitar adição de memória e adição de CPU para a máquina virtual selecionada.
$VM = Get-VM Windows-VM
$spec = Novo-Objeto 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 adição de memória
$spec.cpuHotAddEnabled = $true é o comando para habilitar adição de CPU - Verifique em quais VMs as funcionalidades de adição de CPU e adição de memória a quente estão habilitadas:
Get-VM | Get-View | Select Name, `
@{N=”CpuHotAddEnabled”;E={$_.Config.CpuHotAddEnabled}}, `
@{N=”CpuHotRemoveEnabled”;E={$_.Config.CpuHotRemoveEnabled}}, `
@{N=”MemoryHotAddEnabled”;E={$_.Config.MemoryHotAddEnabled}}
Ativar a adição a quente em um arquivo de configuração de VM
Outro método para habilitar o VMware Hot Add é usar a interface de linha de comando do ESXi e editar o arquivo de configuração VMX da máquina virtual. Abra o shell do ESXi ou conecte-se ao host ESXi via SSH. Em seguida, execute os seguintes comandos na linha de comando para habilitar o Hot Add:
- Vá para o diretório da VM:
cd /vmfs/volumes/datastore10a/Windows-VM/
- Verifique se a VM está desligada.
- Abra o arquivo de configuração VMX da máquina virtual em um editor de texto:
vi Windows-VM.vmx - Adicione esta linha ao arquivo de configuração para habilitar o Hot Add de vCPU:
vcpu.hotadd = “TRUE” - Adicione esta linha ao arquivo de configuração para habilitar o Hot Add de memória:
mem.hotadd = “TRUE” - Salve o arquivo de configuração VMX e saia do editor de texto.
Você pode desabilitar as capacidades de plugue a quente 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 configuração de hotplug de CPU e hot add de memória da VMware para a VM.
Editar a configuração VMX no Cliente VMware vSphere
Você também pode editar a configuração VMX no Cliente VMware vSphere:
- Selecione a VM necessária no Cliente VMware vSphere.
- Desligue a VM se ela estiver em execução.
- Clique em Editar Configurações.
- Selecione a guia Opções da VM na janela de Configurações da VM.
- Clique em Avançado para expandir as opções e clique em Editar Configuração.
- Clique em Adicionar Parâmetros de Configuração na janela de Parâmetros de Configuração.
- Na seção Adicionar Novos Parâmetros de Configuração, insira os valores para habilitar o Hot Add de memória VMware e vCPUs VMware conforme necessário.
Nome: mem.hotadd Valor: VERDADEIRO
Nome: vcpu.hotadd Valor: VERDADEIRO - Clique em OK para salvar as configurações e fechar a janela.
Conclusão
Ative o VMware Hot Add apenas quando espera usar esse recurso para adicionar processadores virtuais e memória a uma VM em execução. Se você ativar o VMware Hot Add, mas não usar esse recurso, o desempenho pode degradar para VMs grandes, já que a topologia com vários nós NUMA não será utilizada. Use o monitoramento de VMs do VMware para monitorar o desempenho da VM e o uso de recursos no vSphere. Essa abordagem ajuda a identificar se uma VM precisa que o recurso Hot Add seja ativado.
Source:
https://www.nakivo.com/blog/vmware-vsphere-resources-hotadd-hotplug-explained/