Um failover de HA deve ocorrer neste cenário?

6

Estou executando o vSphere 5 em um cluster de alta disponibilidade em dois hosts (vsphereA e vsphereB). Eu tenho o cluster de HA configurado para monitoramento de host e monitoramento de heartbeat de armazenamento com controle de admissão desativado (espero que entenda corretamente que o monitoramento de heartbeat de armazenamento impede failovers de HA inadvertidos e indesejados devido ao isolamento da rede de gerenciamento). Cada host tem uma conexão única com uma rede iSCSI dedicada e um destino iSCSI (sem MPIO). Todos os vmdk para todas as VMs existem no armazenamento de dados iSCSI. Como teste de HA, desconectei a conexão iSCSI no vsphereB e fiquei surpreso ao ver que as VMs em execução no vsphereB continuavam a rodar no vsphereB. As VMs desligadas estavam aparecendo como inacessíveis (o que eu esperava devido ao fato de que elas não estavam sendo executadas e a conexão do vsphereB ao iSCSI alvo foi cortada), mas as VMs em execução continuaram sendo executadas e continuaram a ser "propriedade" do vsphereB . Eu esperava ver um failover de HA ocorrendo para essas VMs e esperava vê-las "possuídas" pelo vsphereA após o failover de HA (o que não ocorreu). Não consigo entender por que um failover de HA não ocorreu para essas VMs. Eu estou entendendo errado em quais casos um failover de HA deve ocorrer?

    
por joeqwerty 29.09.2012 / 06:27

1 resposta

7

Você parece confundir vMotion e HA, que são recursos diferentes que fazem coisas diferentes.

O vMotion é um recurso que permite que máquinas virtuais sejam migradas de um host físico para outro, sem tempo de inatividade e interrupções mínimas (em milissegundos) no serviço. Isso é feito antecipadamente de manutenção e requer que a VM e os hosts de origem e de destino já estejam em um estado íntegro. O HA é um recurso que reinicia máquinas virtuais com falha (ou máquinas virtuais inacessíveis se o isolamento do host estiver configurado) e resulta em tempo de inatividade para a VM, já que a máquina virtual inteira é desligada e reiniciada.

Importante take-away: um vMotion não é um failover de HA. Um failover de alta disponibilidade é um failover de alta disponibilidade.

vMoções são acionadas pelos seguintes itens:

  1. Um usuário inicia um vMotion
  2. O DRS inicia um vMotion em resposta a condições de carga (limites definidos pela configuração de agressividade do DRS), violações de regras de afinidade ou atualizações de host acionadas por meio do VUM

Os failovers de alta disponibilidade são acionados pelos seguintes itens:

  1. Um host em seu cluster de HA detectou que outro host no cluster falhou e não está respondendo a heartbeats de HA usando as redes de gerenciamento configuradas ou os datastores de pulsação
  2. A resposta de isolamento está configurada para desligar ou desligar VMs, e o host não pode mais falar com a maioria dos nós do cluster, acionando um desligamento de VM e subsequente detecção de falha de HA da maioria restante do cluster (se houver um , que é um dos perigos da resposta de isolamento)
  3. O cluster / VM está configurado para monitoramento de VM por meio do VMware Tools, o hipervisor não recebeu pulsação por um período específico e não ocorreu atividade de disco ou rede por 120 segundos

Linha de fundo: vMoções ocorrem devido a eventos de desempenho, e failovers de HA ocorrem devido a eventos de disponibilidade.

O que você fez foi retirar o disco de baixo de uma VM em execução. O comportamento padrão do vSphere e da maioria dos hipervisores, nesta instância, é deixar a máquina virtual sozinha e permitir que ela lide com seus próprios problemas de disco. Existem várias boas razões para isso:

  1. Alguns sistemas operacionais / distros (ou seja, pfSense) funcionarão bem se o disco subjacente parar de responder
  2. Algumas dúzias de VMs iniciando ao mesmo tempo tendem a criar um problema de "rebanho trovejante" - fazer isso em armazenamento que já é questionável pode não acabar sendo a melhor ideia
  3. Como a troca, o sistema operacional (e os aplicativos) normalmente farão um trabalho melhor de lidar com problemas de armazenamento do que o hipervisor
  4. Às vezes, o armazenamento é interrompido - é o componente mais propenso a falhas na maioria dos ambientes virtualizados. É melhor tentar detectá-lo e alertá-lo e permitir que um administrador descubra o que fazer com ele antes de chutar um ambiente inteiro

Por outro lado, para muitas cargas de trabalho (os bancos de dados vêm à mente), é uma boa ideia encerrar assim que houver uma chance de ocorrer corrupção ou transações perdidas. No melhor dos cenários, no entanto, como não é possível desativar perfeitamente o banco de dados sem o disco, você provavelmente está acabando em um estado inconsistente de qualquer maneira.

Por fim: há alguns casos de uso bons para HA responder a armazenamento não confiável, mas isso não acontece hoje, e o comportamento que você está vendo é totalmente normal.

    
por 29.09.2012 / 06:58