O que acontece quando uma máquina física falha em um ambiente virtual?

O que acontece quando uma máquina física falha em um ambiente virtual?

Estou começando com a virtualização, então tenha paciência.

Em ambientes virtuais, os aplicativos são executados na camada de um hipervisor. Portanto, uma única máquina física pode ter muitas máquinas virtuais executando vários aplicativos.

Até agora tudo bem?

Então, o que acontece quando uma máquina física falha? Isso não faria com que muitos aplicativos falhassem em uma única máquina?

Estou procurando desenvolver uma nuvem privada comPilha aberta, mas primeiro quero entender completamente a virtualização.

Responder1

As especificidades dependem de qual solução de virtualização você usa, mas a ideia é que você tenha um farm virtual, onde há vários hosts físicos com várias máquinas virtuais cada. Você então usaalgunsda eficiência que você ganhou ao não precisar de um host físico para cada VM, de modo que você tenha sobrecarga suficiente para cobrir no caso de uma máquina física falhar.

Além disso, você pode localizar os VHDs de cada VM em uma SAN comum (redundante). Os hipervisores em cada host físico podem ser configurados para se comunicarem entre si e compartilharem memória de diferentes VMs. Há alguma latência e grande parte da memória será apoiada por disco, mas se um dos hosts físicos falhar, você nem estará esperando que as VMs desse host sejam inicializadas novamente. Em vez disso, essas VMs serão distribuídas automaticamente entre os hosts restantes. O objetivo final é que essas máquinascontinuar quase de onde pararam, com pouco ou nenhum tempo de inatividade. De certa forma, todas as suas VMs já estão em execução em pelo menos dois hosts físicos. Na prática, atualmente os hipervisores só podem fazer esse tipo de migração em uma máquina por vez, quando sabem que ela acontecerá antes que o host falhe... mas não se engane: a migração instantânea em caso de falha de hardware é o objetivo final de todos os principais hipervisores.

É por isso que às vezes você vê um servidor virtualizado para um único host físico em um farm. Você pode não ganhar nenhuma eficiência de hardware (você pode atéperderalgum desempenho), mas você compensa isso em termos de consistência de gerenciamento e alta disponibilidade integrada.

Responder2

Todos os servidores virtuais executados em um host físico ficarão offline se o host apresentar algum tipo de falha.

Dito isto, a maioria das plataformas oferece uma solução de alta disponibilidade para uma única VM. Outras vezes, um sistema é construído com vários nós para evitar a interrupção do serviço no caso de um nó ficar inativo.

Se dois nós VM constituem um serviço altamente disponível, é possível configurar o hipervisor para garantir que os dois nós não dependam da mesma infraestrutura física (tolerância a falhas). Isso poderia ser mais do que apenas tolerância a falhas do servidor físico, incluindo diferentes caminhos de rede, até locais geograficamente díspares.

Responder3

Você está certo ao supor que, se a máquina física falhar, as VMs também ficarão indisponíveis.

Mas o openstack pode cuidar disso e iniciar as VMs do servidor físico com falha em outro servidor ou você pode usar um sistema hipervisor que já está distribuído, acho que o vsphere pode fazer isso.

Você deveria ler odocumentação openstack sobre HAPara maiores informações.

Responder4

Em relação à sua pergunta - sim, você perderá o acesso a todas as máquinas deste host físico. Claro, depende de qual componente falhou. Se for disco - é um tipo de problema, se for placa-mãe - é muito mais fácil. Em geral, a recuperação de hardware é mais fácil, pois o hipervisor é independente de hardware. Neste momento, existem muitas tecnologias específicas de fornecedores que você pode usar para ter serviços altamente disponíveis.

Conjuntos de recursos(vmware) - sãoNÃOcapaz de agregar vários recursos de host físico (CPU, memória, etc.) como alguém mencionado acima, então se você tiver 2 hosts físicos (digamos 1 CPU quad core sem hyperthreading - 8 GBRAM cada), ele iráNÃOserá possível ter uma VM de 5vCPU-12Gb lá. Os pools de recursos são lógicos, não são capazes de criar sistemas de supercomputação. No momento, esta é uma forma de controlar a utilização de recursos.

Disponibilidade(vmware) - é possível utilizar tecnologias comoAlta disponibilidade(HA) que permitem que você tenha recuperação automatizada (com base na minha experiência dentro1-2min) de todas as VMs no cluster automaticamente, SE você estiver usando Storage Array (NAS,iSCSI,FC) e manter todos os arquivos da VM lá. Mais do que HA funciona apenas em caso de falha de CPU, RAM, placa-mãe, é óbvio que não funcionará se o Storage Array cair. Para evitar falhas de RAID/Controladores, as pessoas usam replicação, espelhamento de LUNs de armazenamento, etc.

Se a recuperação em 1-2 minutos não for uma opção, existem tecnologias comoTolerância ao erro(FT) que permite atingir ZERO tempo de inatividade da VM em caso de falha, mantendo uma cópia sombra (em execução) da VM configurada. Mas esta tecnologia também tem muitas restrições - o problema de VMs tolerantes a falhas com múltiplas vCPUs não está totalmente resolvido.

No geral, cada solução depende do seu objetivo.

informação relacionada