Quando o host do ESXi tiver um problema ao se conectar a um dispositivo de armazenamento, o host tratará o problema como permanente ou temporário, dependendo de determinados fatores.

Os problemas de conectividade de armazenamento são causados por vários motivos. Embora ESXi nem sempre possa determinar o motivo para um dispositivo de armazenamento ou seus caminhos estarem indisponíveis, o host diferencia entre um estado de perda permanente de dispositivo (PDL) do dispositivo e um estado de armazenamento transitório de todos os caminhos inativos (APD).
Perda Permanente do Dispositivo (PDL)
Uma condição que ocorre quando um dispositivo de armazenamento falha permanentemente ou é removido ou excluído administrativamente. Não é esperado que ele fique disponível. Quando o dispositivo fica permanentemente indisponível, o ESXi recebe códigos de detecção apropriados ou uma rejeição de login das matrizes de armazenamento e é capaz de reconhecer que o dispositivo foi perdido permanentemente.
Todos os caminhos para baixo (APD)
Uma condição que ocorre quando um dispositivo de armazenamento se torna inacessível ao host e nenhum caminho para o dispositivo está disponível. ESXi trata isso como uma condição transitória porque normalmente os problemas com o dispositivo são temporários e espera-se que o dispositivo fique disponível novamente.

Problemas de conectividade e alta disponibilidade do vSphere

Quando o dispositivo entra no estado PDL ou APD, a vSpherealta disponibilidade (HA) pode detectar problemas de conectividade e fornecer recuperação automatizada para máquinas virtuais afetadas no host ESXi. vSphere HA usa o VM Component Protection (VMCP) para proteger as máquinas virtuais em execução no host no cluster vSphere HA contra falhas de acessibilidade. Para obter mais informações sobre o VMCP e como configurar respostas para repositórios de dados e máquinas virtuais quando ocorre a condição de APD ou PDL, consulte a documentação vSphere Disponibilidade.

Como detectar condições de PDL

Um dispositivo de armazenamento é considerado no estado de perda permanente do dispositivo (PDL) quando se torna permanentemente indisponível para o host ESXi.

Normalmente, a condição de PDL ocorre quando um dispositivo é removido acidentalmente, ou sua ID exclusiva é alterada, ou quando o dispositivo apresenta um erro de hardware irrecuperável.

Quando a matriz de armazenamento determina que o dispositivo está permanentemente indisponível, ela envia códigos de detecção de erro SCSI ou códigos de erro NVMe para o host ESXi. Depois de receber esses erros, o host reconhece o dispositivo como com falha e registra o estado do dispositivo como PDL. Para que o dispositivo seja considerado perdido permanentemente, os códigos de detecção devem ser recebidos em todos os seus caminhos.

Depois de registrar o estado de PDL do dispositivo, o host interrompe as tentativas de restabelecer a conectividade ou de enviar comandos para o dispositivo.

O vSphere Client exibe as seguintes informações para o dispositivo:
  • O estado operacional do dispositivo muda para Lost Communication.
  • Todos os caminhos são mostrados como Dead.
  • Os repositórios de dados no dispositivo não estão disponíveis.

Se não houver conexões abertas com o dispositivo ou após o fechamento da última conexão, o host removerá o dispositivo PDL e todos os caminhos para o dispositivo. Você pode desativar a remoção automática de caminhos definindo o parâmetro de host avançado Disk.AutoremoveOnPDL como 0.

Se o dispositivo retornar da condição de PDL, o host poderá descobri-lo, mas o tratará como um novo dispositivo. A consistência de dados para máquinas virtuais no dispositivo recuperado não é garantida.

Observação: Quando um dispositivo falha sem enviar os códigos de detecção SCSI apropriados ou os códigos de erro NVMe ou uma rejeição de logon do iSCSI, o host não pode detectar as condições de PDL. Nesse caso, o host continua a tratar os problemas de conectividade do dispositivo como APD, mesmo quando o dispositivo falha permanentemente.

Perda permanente do dispositivo e códigos de detecção SCSI

O seguinte exemplo de log do VMkernel de um código de detecção SCSI indica que o dispositivo está no estado PDL.
H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x25 0x0 or Logical Unit Not Supported

Perda permanente do dispositivo e códigos de erro NVMe

O seguinte exemplo de log do VMkernel de um código de erro NVMe indica que o dispositivo está no estado PDL.
H:0x0 D:0xb P:0x0 or H:0x0 D:0x11a P:0x0

Perda permanente do dispositivo e iSCSI

Em matrizes iSCSI com um único LUN por destino, a PDL é detectada por meio de uma falha de logon do iSCSI. Uma matriz de armazenamento iSCSI rejeita as tentativas do seu host de iniciar uma sessão iSCSI com um motivo Target Unavailable. Assim como os códigos de detecção, essa resposta deve ser recebida em todos os caminhos para que o dispositivo seja considerado perdido permanentemente.

Perda permanente de dispositivo e máquinas virtuais

Depois de registrar o estado de PDL do dispositivo, o host fecha todas as E/S das máquinas virtuais. vSphere HA pode detectar PDL e reiniciar máquinas virtuais com falha.

Executando a remoção planejada do dispositivo de armazenamento

Quando um dispositivo de armazenamento está com defeito, você pode evitar condições de perda permanente do dispositivo (PDL) ou condições de todos os caminhos inativos (APD). Execute uma remoção e uma reconexão planejadas de um dispositivo de armazenamento.

A remoção planejada do dispositivo é uma desconexão intencional de um dispositivo de armazenamento. Você também pode planejar a remoção de um dispositivo por motivos como atualização de hardware ou reconfiguração de dispositivos de armazenamento. Ao realizar uma remoção e reconexão ordenadas de um dispositivo de armazenamento, você conclui várias tarefas.

Tarefa Descrição
Migre máquinas virtuais do dispositivo que você planeja desanexar. vCenter Server e gerenciamento de host
Desmonte o datastore implantado no dispositivo. Consulte Desmontar repositórios de dados.
Desconecte o dispositivo de armazenamento. Consulte Desanexar dispositivos de armazenamento.
Para um dispositivo iSCSI com um único LUN por destino, exclua a entrada de destino estático de cada HBA iSCSI que tenha um caminho para o dispositivo de armazenamento. Consulte Remover destinos iSCSI dinâmicos ou estáticos.
Realize qualquer reconfiguração necessária do dispositivo de armazenamento usando o console do array. Consulte a documentação do seu fornecedor.
Reconecte o dispositivo de armazenamento. Consulte Anexar dispositivos de armazenamento.
Monte o datastore e reinicie as máquinas virtuais. Consulte Montar repositórios de dados.

Desanexar dispositivos de armazenamento

Separe com segurança um dispositivo de armazenamento do seu host ESXi.

Pode ser necessário desanexar o dispositivo para torná-lo inacessível ao seu host quando, por exemplo, você realizar uma atualização de hardware no lado do armazenamento.

Pré-requisitos

  • O dispositivo não contém repositórios de dados.
  • Nenhuma máquina virtual usa o dispositivo como um disco RDM.
  • O dispositivo não contém uma partição de diagnóstico ou uma partição temporária.

Procedimento

  1. No vSphere Client, navegue até o host ESXi.
  2. Clique na guia Configurar (Configure).
  3. Em Armazenamento (Storage), clique em Dispositivos de armazenamento (Storage Devices).
  4. Selecione o dispositivo a ser desconectado e clique no ícone Desanexar (Detach).

Resultados

O dispositivo fica inacessível. O estado operacional do dispositivo muda para Desmontado.

O que Fazer Depois

Se vários hosts compartilharem o dispositivo, desconecte o dispositivo de cada host.

Anexar dispositivos de armazenamento

Reconecte um dispositivo de armazenamento que você desconectou anteriormente do host ESXi.

Procedimento

  1. No vSphere Client, navegue até o host ESXi.
  2. Clique na guia Configurar (Configure).
  3. Em Armazenamento (Storage), clique em Dispositivos de armazenamento (Storage Devices).
  4. Selecione o dispositivo de armazenamento desanexado e clique no ícone Anexar (Attach).

Resultados

O dispositivo torna-se acessível.

Recuperando-se de condições de PDL

Uma condição de perda permanente de dispositivo não planejada (PDL) ocorre quando um dispositivo de armazenamento fica permanentemente indisponível sem ser desanexado corretamente do host ESXi.

Os seguintes itens em vSphere Client indicam que o dispositivo está no estado PDL:
  • O datastore implantado no dispositivo não está disponível.
  • O estado operacional do dispositivo muda para Comunicação perdida.
  • Todos os caminhos são mostrados como Inativos.
  • Um aviso sobre o dispositivo estar permanentemente inacessível aparece no arquivo de log do VMkernel.

Para se recuperar da condição de PDL não planejada e remover o dispositivo indisponível do host, execute as seguintes tarefas.

Tarefa Descrição
Desligue e cancele o registro de todas as máquinas virtuais em execução no datastore afetadas pela condição de PDL. Consulte vSphere Administração de máquina virtual.
Desmonte o armazenamento de dados.

Consulte Desmontar repositórios de dados.

Verifique novamente todos os ESXi hosts que tiveram acesso ao dispositivo.
Observação: Se a nova verificação não for bem-sucedida e o host continuar a listar o dispositivo, algumas referências de E/S pendentes ou ativas para o dispositivo ainda poderão existir. Verifique se há itens que ainda possam ter uma referência ativa ao dispositivo ou armazenamento de dados. Os itens incluem máquinas virtuais, modelos, imagens ISO, mapeamentos de dispositivos brutos e assim por diante.
Consulte Realizar nova verificação de armazenamento.

Tratamento de condições transitórias de APD

Um dispositivo de armazenamento é considerado no estado APD (todos os caminhos inativos) quando fica indisponível para o host ESXi por um período de tempo não especificado.

Os motivos para um estado APD podem ser, por exemplo, um switch com falha ou um cabo de armazenamento desconectado.

Em contraste com o estado de perda permanente de dispositivo (PDL), o host trata o estado APD como transitório e espera que o dispositivo esteja disponível novamente.

O host continua a tentar novamente os comandos emitidos na tentativa de restabelecer a conectividade com o dispositivo. Se os comandos do host falharem nas novas tentativas por um período prolongado, o host poderá estar em risco de ter problemas de desempenho. Possivelmente, o host e suas máquinas virtuais podem parar de responder.

Para evitar esses problemas, seu host usa um recurso de processamento APD padrão. Quando um dispositivo entra no estado APD, o host ativa um temporizador. Com o timer ligado, o host continua a tentar comandos de máquina não virtual novamente por um período limitado de tempo.

Por padrão, o tempo limite do APD é definido como 140 segundos. Esse valor normalmente é mais longo do que a maioria dos dispositivos exige para se recuperar de uma perda de conexão. Se o dispositivo ficar disponível dentro desse prazo, o host e sua máquina virtual continuarão a ser executados sem problemas.

Se o dispositivo não se recuperar e o tempo limite terminar, o host interromperá suas tentativas de repetição e interromperá qualquer E/S de máquina não virtual. A E/S da máquina virtual continua tentando novamente. O vSphere Client exibe as seguintes informações para o dispositivo com o tempo limite do APD expirado:
  • O estado operacional do dispositivo muda para Dead or Error.
  • Todos os caminhos são mostrados como Dead.
  • Os repositórios de dados no dispositivo estão esmaecidos.

Embora o dispositivo e os repositórios de dados não estejam disponíveis, as máquinas virtuais permanecem responsivas. Você pode desligar as máquinas virtuais ou migrá-las para um datastore ou host diferente.

Se posteriormente os caminhos do dispositivo se tornarem operacionais, o host poderá retomar a E/S para o dispositivo e encerrar o tratamento APD especial.

Desativar o processamento do APD de armazenamento

O processamento de armazenamento de todos os caminhos inativos (APD) no host ESXi é ativado por padrão. Quando essa funcionalidade é ativada e um dispositivo de armazenamento entra no estado APD, o host continua a tentar comandos de E/S de máquina não virtual apenas por um período limitado de tempo. Depois que o período expirar, o host interromperá suas tentativas de repetição e encerrará qualquer E/S de máquina não virtual. Você pode desativar o recurso de processamento do APD no seu host.

Se você desativar o processamento do APD, o host continuará repetindo os comandos emitidos indefinidamente na tentativa de se reconectar ao dispositivo APD. Esse comportamento pode fazer com que as máquinas virtuais no host excedam o tempo limite de E/S interna e pare de responder ou falhem. O host pode ser desconectado de vCenter Server.

Procedimento

  1. No vSphere Client, navegue até o host ESXi.
  2. Clique na guia Configurar (Configure).
  3. Em Sistema (System), clique em Configurações avançadas do sistema (Advanced System Settings).
  4. Na tabela Configurações avançadas do sistema, selecione o parâmetro Misc.APDHandlingEnable e clique no ícone Edit.
  5. Altere o valor para 0.

Resultados

Se você desativar o processamento do APD, poderá reativá-lo e definir seu valor como 1 quando um dispositivo entrar no estado APD. O recurso de processamento interno do APD é ativado imediatamente e o cronômetro é iniciado com o valor de tempo limite atual para cada dispositivo no APD.

Alterar limites de tempo limite para o APD de armazenamento

O parâmetro timeout controla por quantos segundos o host ESXi deve repetir os comandos de E/S para um dispositivo de armazenamento em um estado de todos os caminhos inativos (APD). Você pode alterar o valor de tempo limite padrão.

O período de tempo limite começa imediatamente após o dispositivo entrar no estado APD. Após o término do tempo limite, o host marca o dispositivo APD como inacessível. O host interrompe suas tentativas de tentar novamente qualquer E/S que não seja proveniente de máquinas virtuais. O host continua a tentar novamente a E/S da máquina virtual.

Por padrão, o parâmetro de tempo limite no seu host é definido como 140 segundos. Você poderá aumentar o valor do tempo limite se, por exemplo, os dispositivos de armazenamento conectados ao seu host ESXi levarem mais de 140 segundos para se recuperar de uma perda de conexão.

Observação: Se você alterar o parâmetro de tempo limite depois que o dispositivo ficar indisponível, a alteração não terá efeito para esse incidente de APD específico.

Procedimento

  1. No vSphere Client, navegue até o host ESXi.
  2. Clique na guia Configurar (Configure).
  3. Em Sistema (System), clique em Configurações avançadas do sistema (Advanced System Settings).
  4. Na tabela Configurações avançadas do sistema, selecione o parâmetro Misc.APDTimeout e clique no ícone Edit.
  5. Altere o valor padrão.
    Você pode inserir um valor entre 20 e 99999 segundos.

Verificar o status da conexão de um dispositivo de armazenamento no host ESXi

Use o comando esxcli para verificar o status da conexão de um determinado dispositivo de armazenamento.

Pré-requisitos

Instale o ESXCLI. Consulte Introdução ao ESXCLI. Para solucionar problemas, execute comandos esxcli no ESXi Shell.

Procedimento

  1. Execute o comando esxcli storage core device list -d=device_ID.
  2. Revise o status da conexão na área Status:.
    • on - O dispositivo está conectado.
    • dead - O dispositivo entrou no estado APD. O temporizador APD é iniciado.
    • dead timeout - O tempo limite do APD expirou.
    • not connected - O dispositivo está no estado PDL.