Knowledge Base

The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides
 
Search the VMware Knowledge Base (KB)   View by Article ID
 

Desligar uma máquina virtual em um host ESXi (2018775)

Symptoms

Disclaimer: Este artigo é uma tradução do Powering off a virtual machine on an ESXi host (1014165). Como os artigos são traduzidos em uma base de melhor esforço, o conteúdo pode tornar-se desatualizado. Para obter o conteúdo mais recente, consulte o artigo em Inglês.
Ao desligar uma máquina virtual em um host ESXi, você percebe os seguintes sintomas:
  • Você não consegue desligar uma máquina virtual hospedada ESXi
  • Uma máquina virtual não responde e não pode ser interrompida ou eliminada

Purpose

Este artigo descreve como interromper máquinas virtuais corretamente em um ambiente ESXi.

Observação: este artigo se aplica somente ao ESXi, e não ao ESX. Para hosts ESX, consulte Powering off an unresponsive virtual machine on an ESX host (1004340).

Observação: se estiver tentando solucionar a causa de uma máquina virtual sem resposta, em geral é preferível coletar métricas de desempenho e, em seguida, suspender a máquina virtual ou causar uma situação de pane para coletar informações de solução de problemas adicionais. Para obter mais informações, consulte Troubleshooting a virtual machine that has stopped responding: VMM and Guest CPU usage comparison (1017926) ou Troubleshooting a virtual machine that has stopped responding (1007819).

Resolution

Aviso: Siga as seções e etapas deste artigo em ordem. Não pule nenhuma seção ou etapa, pois cada uma pode ter um impacto na máquina virtual.

Desligar a máquina virtual usando o vSphere Client

Tentativa de desligar a máquina virtual usando normalmente o cliente:

  1. Conecte o vSphere Client ou VI Client ao VMware vCenter Server ou VirtualCenter Server.
  2. Clique com o botão direito do mouse na máquina virtual e depois clique em Power off. Se a operação de desligamento falhar informando que outra tarefa já está em andamento, aguarde a conclusão dessa tarefa ou consulte Powering off a virtual machine fails with the error: Cannot power Off: Another task is already in progress (1027040) ou vCenter operation times out with the error: Operation failed since another task is in progress (1004790).
  3. Se a máquina virtual continuar em execução, tente executar a mesma operação diretamente do host.
  4. Conecte o vSphere Client ou VI Client diretamente ao host ESXi que está executando a máquina virtual.
  5. Clique com o botão direito do mouse na máquina virtual e selecione Power off.
Se a máquina virtual não puder ser desligada normalmente usando o cliente, use uma das opções da linha de comando.

Instalando a ferramenta vSphere Command-Line Interface

A vSphere Command-Line Interface (vCLI) é usada para alguns dos procedimentos deste artigo. Verifique se ela está instalada antes de prosseguir.
Observação: a Remote Command-Line Interface pode ser acessada no vSphere Management Assistant (vMA) para o ESXi 4.x, o ESXi 5.x e o ESXi 6.0. Se preferir usar essa ferramenta, consulte a seção Installing vMA and Running Commands from vMA na publicação vSphere Command-Line Interface Installation and Reference Guide.

Determinando a localização da máquina virtual

Determine o host no qual a máquina virtual está em execução. Esta informação está disponível na guia Summary da máquina virtual no VI Client. Comandos subsequentes serão realizados em, ou farão referência remota ao host ESXi em que a máquina virtual está sendo executada.

Usando o comando esxcli do ESXi para desligar uma máquina virtual

O comando esxcli pode ser usado local ou remotamente para desligar uma máquina virtual em execução no ESXi 5.x ou em uma versão posterior. Para obter mais informações, consulte a seção esxcli vm Commands da vSphere Command-Line Interface Reference.

  1. Abra uma sessão de console em que a ferramenta esxcli esteja disponível, seja no ESXi Shell, no vSphere Management Assistant (vMA) ou no local em que a vSphere Command-Line Interface (vCLI) está instalada.
  2. Obtenha uma lista de máquinas virtuais em execução, identificadas por World ID, UUID, nome de exibição e caminho para o arquivo de configuração .vmx, executando este comando:

    esxcli vm process list

  3. Desligue uma das máquinas virtuais da lista usando este comando:

    esxcli vm process kill --type= [soft,hard,force] --world-id= WorldNumber

    Observações:
    Há três métodos de desligamento disponíveis. Dinâmico é o mais comum, rígido realiza um desligamento imediato e forçado deve usar usado como última tentativa.

    A sintaxe alternativa do comando de desligamento é: esxcli vm process kill -t [ soft,hard,force] -w WorldNumber
  4. Repita a Etapa 2 e confirme que a máquina virtual não está mais em execução.

Para o ESXi 4.1:

  1. Obtenha uma lista de máquinas virtuais em execução, identificadas por World ID, UUID, nome de exibição e caminho para o arquivo de configuração .vmx, executando este comando:

    esxcli vms vm list

  2. Desligue uma das máquinas virtuais da lista executando este comando:

    esxcli vms vm kill --type= [soft,hard,force] --world-id= WorldNumber

Usar o utilitário vim-cmd da linha de comando ESXi para desligar a máquina virtual

  1. No console ESXi, insira o modo Tech Support e entre como raiz. Para obter mais informações, consulte Modo de suporte técnico para suporte de emergência (1003677).
  2. Obtenha uma lista de todas as máquinas virtuais registradas, identificadas por VMID, nome de exibição e caminho para o arquivo de configuração .vmx, executando este comando:

    vim-cmd vmsvc/getallvms

  3. Obtenha o estado atual de uma máquina virtual executando este comando:

    vim-cmd vmsvc/power.getstate VMID

  4. Desligue a máquina virtual usando a VMID na Etapa 2 e execute este comando:

    vim-cmd vmsvc/power.shutdown VMID

    Observação: se não for possível desligar a máquina virtual, execute este comando:

    vim-cmd vmsvc/power.off VMID

Enviar sinais ao ESXi para desligar a máquina virtual

Uma máquina virtual pode ser interrompida da linha de comando ao enviar sinais para o processo.

Aviso: Este procedimento é potencialmente perigoso para o host ESXi. Se a ID do processo (PID) apropriada não for identificada e o processo incorreto for eliminado, poderão ocorrer resultados inesperados. Caso você não esteja familiarizado com o procedimento a seguir, apresente uma solicitação de suporte ao Suporte Técnico da VMware e anote esta ID de artigo da Base de Dados de Conhecimento (1014165) na descrição do problema. Para obter mais informações, consulte How to Submit a Support Request.

No ESXi 3.5 e versões posteriores, você pode usar o comando kill para enviar um sinal e concluir o processo de uma máquina virtual em execução.
  1. No console ESXi, insira o modo Tech Support e entre como raiz. Para obter mais informações, consulte Modo de suporte técnico para suporte de emergência (1003677).
  2. Determine se o processo da máquina virtual está em execução no host ESXi executando este comando:

    ps | grep vmx

    A saída será semelhante à seguinte:

    7662 7662 vmx /bin/vmx
    7667 7662 vmx /bin/vmx
    7668 7662 mks:VirtualMachineName /bin/vmx
    7669 7662 vcpu-0:VirtualMachineName /bin/vmx


    Várias linhas são retornadas, uma para cada processo vmx. Identifique o processo pai vmx da máquina virtual de destino. A primeira coluna contém a PID, e a segunda contém a PID pai. Verifique se concluiu apenas o processo pai. A ID do processo pai (PID) para cada processo está listada na segunda coluna, identificada neste exemplo em negrito. Anote este número para uso nas etapas seguintes.

    Cuidado: Verifique se identificou a linha específica somente para a máquina virtual que você está tentando reparar. Se você continuar esse processo para outra máquina virtual diferente daquela em questão, poderá causar inatividade nessa outra máquina virtual.

  3. Se o processo vmx estiver listado, encerre-o executando este comando:

    kill ProcessID

  4. Aguarde 30 segundos e repita a etapa 2 para verificar o processo novamente.
  5. Se não tiver sido encerrado, execute este comando:

    kill -9 ProcessID

  6. Espere 30 segundos e verifique o processo novamente.

No ESXi 4.x e versões superiores, é possível usar o comando k em esxtop para enviar um sinal a um processo de máquina virtual em execução e eliminá-lo.

  1. No console ESXi, insira o modo Tech Support e entre como raiz. Para obter mais informações, consulte Modo de suporte técnico para suporte de emergência (1003677).
  2. Execute o utilitário esxtop usando este comando:

    esxtop

  3. Pressione c para alternar para a tela de utilização de recursos da CPU.
  4. Pressione Shift+v para limitar a exibição a máquinas virtuais. Isso pode facilitar a localização da Leader World ID na Etapa 7.
  5. Pressione f para exibir a lista de campos.
  6. Pressione c para adicionar a coluna de Leader World ID.
  7. Identifique a máquina virtual alvo pelo seu nome e Leader World ID (LWID).
  8. Pressione k.
  9. No prompt World to kill, digite a Leader World ID da etapa 6 e pressione Enter.
  10. Espere 30 segundos e verifique se o processo não está mais listado.

Additional Information

Se uma máquina virtual não puder ser desligada com uso de um desses métodos, isso normalmente indicará um problema com a infraestrutura subjacente, como o host ESXi ou seu hardware de suporte.

Se houver suspeita de um problema com o host ESXi que esteja impedindo o desligamento das máquinas virtuais, aplique vMotion a todas as máquinas virtuais não afetadas para fora do host e force a interrupção desse host com uma tela de diagnóstico roxa. Para obter mais informações, consulte Usando instalações de NMI de hardware para corrigir hosts que não respondem (1014767) (Using hardware NMI facilities to troubleshoot unresponsive hosts (1014767)).

Tags

Portuguese Português Portugues

See Also

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 0 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.
What can we do to improve this information? (4000 or fewer characters)
  • 0 Ratings
Actions
KB: