VMware ESXi é um hipervisor que faz parte da plataforma de virtualização VMware vSphere. Todo software de virtualização pode ter problemas em algum momento. No vSphere, por exemplo, você pode não conseguir se conectar a um host ESXi ou conectar um host ESXi ao vCenter, ou mensagens de erro são exibidas no vCenter e você não consegue criar VMs. Reiniciar o host ESXi pode ajudar em alguns casos. Mas você terá que desligar as máquinas virtuais (VMs) ou migrá-las para outro host, o que é um problema em um ambiente de produção. É melhor reiniciar primeiro os agentes de gerenciamento do ESXi. É muito provável que reiniciar os agentes de gerenciamento em um host ESXi possa resolver o problema.
Sintomas
Permita-me começar listando os sintomas comuns para a necessidade de reiniciar os agentes de gerenciamento do ESXi em um servidor:
- Não é possível se conectar diretamente a um host ESXi ou gerenciar este host sob o vCenter.
- Um host ESXi está desconectado do vCenter, mas as VMs continuam sendo executadas no host ESXi.
- O vCenter exibe o seguinte erro ao tentar criar uma máquina virtual (VM):
A criação de máquina virtual pode falhar porque o agente não consegue recuperar as opções de criação de VM do host
- A migração de VM entre hosts ESXi não é realizada e o seguinte erro é retornado:
Realocar máquina virtual
A operação não é permitida no estado de conexão atual do host
- As informações sobre uma VM em execução não são exibidas na guia Resumo quando você seleciona uma VM:
Uso da CPU – 0 MHz
Uso de memória – 0,00 MB
O Papel dos Agentes de Gerenciamento do ESXi
Os agentes de gerenciamento do ESXi são usados para sincronizar os componentes do VMware e possibilitar o acesso a um host ESXi a partir do vCenter Server. Os agentes VMware estão incluídos na configuração padrão e são instalados durante a instalação do ESXi. Existem dois agentes principais no ESXi que podem precisar ser reiniciados se ocorrerem problemas de conectividade no host ESXi – hostd e vpxa.
hostd é um agente de host responsável por gerenciar a maioria das operações em um host ESXi e registrar VMs, LUNs visíveis e volumes VMFS. hostd é responsável por iniciar e interromper VMs e tarefas importantes semelhantes. O hostd da VMware é usado para comunicação entre o ESXi e o vmkernel.
vpxa é o agente da VMware ativado em um host ESXi quando o host ESXi se junta ao vCenter Server. Também existe a instância em que vpxd no vCenter Server se comunica com vpxa em hosts ESXi (vpxa é o agente VMware em execução no lado do ESXi e vpxd é o daemon em execução no lado do vCenter). Vpxa comunica-se com hostd em hosts ESXi. A vpxa da VMware é usada como o serviço intermediário para comunicação entre o vCenter e hostd.
Se você usar o vSphere Client e o vCenter para gerenciar um host ESXi, o vCenter passa comandos para o host ESXi por meio do processo vpxa em execução no host ESXi. Se você estiver se conectando diretamente a um host ESXi para gerenciar o host, então a comunicação é estabelecida diretamente com o processo hostd no host para gerenciamento.
Como as VMs São Afetadas?
As máquinas virtuais não são reiniciadas ou desligadas quando você reinicia os agentes de gerenciamento do ESXi (não é necessário reiniciar as máquinas virtuais). Se você deseja garantir que as VMs não sejam afetadas, tente fazer ping em uma das VMs em execução no host ESXi e reinicie os agentes da VMware neste host ESXi. As tarefas em execução nos hosts ESXi podem ser afetadas ou interrompidas. Certifique-se de que não há trabalhos de backup de VM VMware sendo executados no momento em que você está reiniciando os agentes de gerenciamento do ESXi.
O host ESXi e as VMs nesse host serão exibidos como desconectados por um momento enquanto os agentes de gerenciamento do ESXi estão sendo reiniciados no host ESXi. Atualize a página no VMware vSphere Client após alguns segundos e o status do host ESXi e das VMs deve estar saudável.
Para evitar problemas, leia as precauções no final da postagem do blog antes de usar o ESXi para reiniciar os agentes da VMware se você estiver usando vSAN, NSX ou gráficos compartilhados em seu ambiente virtual VMware.
Reiniciando Agentes na Interface de Console Direta
O método mais confiável para reiniciar os agentes de gerenciamento do ESXi é usar a Interface de Usuário da Console Direta do ESXi (DCUI). Você deve ter acesso físico ao servidor ESXi com um teclado e monitor conectados ao servidor. Os serviços usados para o gerenciamento de rede do ESXi podem não estar funcionando corretamente e você pode não conseguir gerenciar um host remotamente, por exemplo, via SSH.
- Pressione F2 para personalizar as configurações do sistema na DCUI.
- Insira um nome de usuário e senha para uma conta administrativa (root é a conta padrão com permissões administrativas no ESXi).
Nota: Por favor, tenha paciência. Às vezes, você pode encontrar um atraso significativo. O intervalo entre a inserção das credenciais e a reação do servidor a esta ação pode levar alguns minutos. O tempo limite pode ser causado pela espera de uma resposta dos serviços de gerenciamento pendentes que precisam ser reiniciados.
- Após aceitar as credenciais, você deve ver o menu de Customização do Sistema.
- Selecione Opções de Solução de Problemas e pressione Enter. No painel direito da DCUI, você pode ver dicas úteis após selecionar uma opção no menu.
- Selecione Reiniciar Agentes de Gerenciamento em Opções do Modo de Solução de Problemas e pressione Enter.
- A mensagem de configuração aparece sobre a reinicialização dos agentes de gerenciamento. Você pode pressionar Space para coletar informações adicionais de solução de problemas (opcional). Pressione F11 para confirmar e reiniciar os agentes de gerenciamento agora.
- Aguarde até que os agentes de gerenciamento do ESXi reiniciem e, em seguida, verifique se os problemas foram resolvidos.
- Se reiniciar os agentes de gerenciamento no DCUI não ajudar, talvez seja necessário visualizar os logs do sistema e executar comandos na linha de comando do ESXi acessando o shell do ESXi diretamente ou via SSH. Você pode habilitar o shell do ESXi e o SSH no DCUI. O acesso SSH e o shell do ESXi estão desativados por padrão.
- Para habilitar o shell do ESXi, vá para Opções de Solução de Problemas, selecione Ativar Shell do ESXi e pressione Enter.
- Para habilitar o acesso SSH remoto, vá para Opções de Solução de Problemas, selecione Ativar SSH e pressione Enter.
Usando o Cliente Host VMware
O uso do Cliente Host VMware é conveniente para reiniciar o Agente VMware vCenter, vpxa, que é usado para a conectividade entre um host ESXi e o vCenter.
- Digite o endereço IP do seu host ESXi na barra de endereços de um navegador da web. Em seguida, insira as credenciais para uma conta administrativa no ESXi para fazer login no Cliente do Host VMware.
- No painel Navegação, vá para Host > Gerenciar e selecione a guia Serviços.
- Clique com o botão direito no serviço vpxa e, no menu de contexto, pressione Reiniciar.
Se você não conseguir abrir o Cliente do Host VMware, use outros métodos para reiniciar os agentes de gerenciamento do ESXi. Você pode iniciar o serviço TSM-SSH para habilitar o acesso SSH remoto ao host ESXi.
Reiniciando os Agentes VMware no Shell do ESXi (SSH)
A interface de linha de comando (CLI) do ESXi é uma ferramenta poderosa para gerenciar um host ESXi e para solução de problemas. O acesso SSH ao host ESXi deve estar habilitado para gerenciamento remoto. Use um cliente SSH para se conectar a um host ESXi remotamente e usar a interface de linha de comando. Você pode usar o PuTTY em uma máquina Windows como cliente SSH. Defina o endereço IP ou um nome de host do servidor ESXi, selecione a porta (22 por padrão) e, em seguida, insira as credenciais administrativas no cliente SSH. Você deve então ver a sessão do console (terminal) via SSH.
Se você deseja usar o shell ESXi diretamente (sem acesso remoto), você deve habilitar o shell ESXi e usar um teclado e monitor fisicamente conectados ao servidor ESXi. Leia o post do blog sobre ESXCLI para saber mais sobre as opções da linha de comando do ESXi.
Nota: Os comandos usados neste post do blog são compatíveis com o ESXi 6.x e ESXi 7.x.
- Liste todos os serviços disponíveis no host ESXi (opcional) com o comando:
chkconfig –list - Encontre os serviços hostd e vpxa na saída do console e verifique o status deles.
- Reinicie os serviços hostd e vpxa (agentes de gerenciamento) com os comandos:
/etc/init.d/hostd restart
/etc/init.d/vpxa restart
- Use este comando como alternativa para reiniciar todos os agentes de gerenciamento no host ESXi.
services.sh restart &tail -f /var/log/jumpstart-stdout.log
O progresso da reinicialização dos agentes VMware é exibido na saída do console.
- Você também pode tentar redefinir a rede de gerenciamento em uma interface VMkernel:
esxcli network ip interface set -e false -i vmk0; esxcli network ip interface set -e true -i vmk0
A interface vmk0 é usada por padrão no ESXi. Se você tiver um nome diferente para a interface de rede de gerenciamento, use o nome da interface apropriado no comando.
Este comando complexo consiste em dois comandos básicos separados por ; (ponto e vírgula). A interface de rede de gerenciamento vmk0 é desativada pela primeira parte do comando. Quando esta parte é executada com sucesso e vmk0 está inativo, então a segunda parte do comando é executada para habilitar a interface vmk0. Como resultado, a interface de rede de gerenciamento do ESXi é reiniciada.
Usando DCUI via SSH
Se você tiver acesso SSH a um host ESXi, você pode abrir o DCUI na sessão SSH. Este método permite que você use uma interface de usuário pseudo-gráfica do DCUI no console para maior conveniência.
- Execute o comando para abrir o DCUI no console/terminal:
dcui - Pressione F2 para personalizar o sistema.
- Selecione as opções necessárias para reiniciar os agentes de gerenciamento da VMware conforme explicado na seção acima onde o DCUI foi explicado.
Usando PowerCLI para Reiniciar os Agentes de Gerenciamento da VMware
O VMware PowerCLI é outra ferramenta baseada no Windows PowerShell para gerenciar vCenter e hosts ESXi na interface de linha de comando.
- Obtenha a lista de serviços disponíveis no host ESXi:
Get-VMHostService -VMHost 192.168.101.208 -Refresh- O parâmetro -Refresh é usado para atualizar dados antes de imprimir esses dados no console.
- 192.168.101.208 é o endereço IP do host ESXi usado neste exemplo.
- Defina o nome ou endereço IP do seu host ESXi de acordo com sua configuração. A lista de serviços exibidos na saída é semelhante à lista de serviços exibidos no Cliente do Host VMware, em vez da lista de serviços exibidos na linha de comando do ESXi.
- Especifique o host e serviço para adicionar valor à variável $VMHostService
$VMHostService = Get-VMHostService -VMHost 192.168.101.208 -Refresh | Onde {$_.Key -eq ‘vpxa’}
onde vpxa é o nome do serviço de gerenciamento ESXi necessário. Você também pode definir outro serviço que deseja iniciar, parar ou reiniciar, por exemplo, TSM-SSH (o serviço do servidor SSH em um host ESXi). - Reinicie o serviço vpxa usando a variável $VMHostService no comando:
Restart-VMHostService -HostService $VMHostService -Verbose
- Você também pode parar e iniciar um serviço manualmente:
Stop-VMHostService -HostService $VMHostService
Start-VMHostService -HostService $VMHostService
- Você pode tentar usar o comando alternativo para reiniciar vpxa:
Get-VMHostService -VMHost 192.168.101.208 | onde {$_.Key -eq “vpxa”} | Reiniciar-VMHostService -Confirm:$false -ErrorAction SilentlyContinue
Precauções
- Se o Protocolo de Controle de Agregação de Link (LACP) for usado em um host ESXi que é membro de um cluster vSAN, não reinicie os agentes de gerenciamento ESXi com o comando services.sh.
Use /etc/init.d/module restart para reiniciar os serviços independentes. - Se o NSX estiver configurado no seu ambiente virtual VMware, não use o comando de reinicialização /sbin/services.sh. Este comando reinicia todos os serviços em um host ESXi e as conexões de rede são interrompidas temporariamente. Neste caso, você deve reiniciar individualmente vpxa, hostd, e fdm para reiniciar os agentes de gerenciamento do ESXi no host. Se reiniciar os agentes individualmente não ajudar e você precisar executar um reinício /sbin/services.sh, então migre VMs do host ESXi atual e coloque o host no modo de manutenção.
- Se você não sabe se o NSX está instalado em um host ESXi, você pode usar este comando para descobrir:
/sbin/services.sh restartesxcli software vib list –rebooting-image | grep esx-* - Se os VIBs vsip-esx e esx-vxlan forem exibidos na saída, então o NSX for vSphere está instalado no host ESXi.
- Se os gráficos compartilhados forem usados em um ambiente VMware View (VGPU, vSGA, vDGA), não use o services.sh para reiniciar os agentes do ESXi. Se você reiniciar os agentes de gerenciamento com o comando services.sh, então o serviço xorg responsável pelos gráficos dos sistemas operacionais convidados é interrompido. Desativar os gráficos nos sistemas operacionais convidados faz com que a infraestrutura de desktop virtual (VDI) falhe onde os gráficos compartilhados são usados. Você pode reiniciar hostd e vpxa manualmente se estiver usando gráficos compartilhados e um host ESXi não estiver no modo de manutenção.
Conclusão
Reiniciar os agentes de gerenciamento do ESXi pode ajudar a resolver problemas relacionados com o status desconectado de um host ESXi no vCenter, erros que ocorrem ao conectar-se diretamente a um host ESXi, problemas com ações de VM, etc. Esta postagem no blog abordou métodos comuns para reiniciar os agentes de gerenciamento do ESXi usando o DCUI, linha de comando do ESXi, Cliente do Host VMware e VMware PowerCLI. Em geral, máquinas virtuais não são afetadas ao reiniciar os agentes, mas mais atenção é necessária se o vSAN, NSX ou gráficos compartilhados para VDI forem usados no ambiente virtual do vSphere.
Faça backup regular dos seus VMs VMware no vSphere para proteger os dados e ter a capacidade de recuperar dados e restaurar cargas de trabalho rapidamente. O NAKIVO Backup & Replicação é a solução de proteção de dados tudo-em-um que suporta o backup de VMs no VMware vSphere. O produto pode ser instalado no Windows, Linux, dispositivos NAS e como um appliance virtual VMware.
Source:
https://www.nakivo.com/blog/how-to-restart-management-agents-on-a-vmware-esxi-host/