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

12

Estou começando com a virtualização, então fique comigo.

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

Até aí tudo bem?

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

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

    
por Sherif 22.08.2015 / 23:23

4 respostas

14

Os detalhes dependem de qual solução de virtualização exata 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 usa alguns da eficiência que você ganhou, não precisando 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 ficar inativa.

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 falar uns com os outros e compartilhar memória de diferentes VMs. Existe alguma latência, e grande parte da memória será suportada pelo disco, mas se um dos hosts físicos ficar inativo, você nem está aguardando as VMs desse host para inicializar o backup. Em vez disso, essas VMs serão distribuídas automaticamente entre os hosts restantes. O objetivo final é que essas máquinas atinjam quase de onde pararam, com pouco ou nenhum tempo de inatividade. De certa forma, todas as suas VMs já estão sendo executadas em pelo menos dois hosts físicos. Na prática, os hipervisores agora só podem fazer esse tipo de migração uma máquina por vez, quando sabem que está chegando antes que o host falhe ... mas não se enganem: a migração instantânea na falha de hardware é a meta final para todos os principais hipervisores.

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

    
por 22.08.2015 / 23:54
13

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

Dito isso, 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 impedir a interrupção do serviço no caso de um nó ficar inativo.

Se dois nós VM configurarem um serviço altamente disponível, é possível configurar o hypervisor 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 caminhos de rede diferentes, até locais geograficamente distintos.

    
por 22.08.2015 / 23:47
5

Você está certo com a suposição de que, se a máquina física também falhar, as VMs 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 de hypervisor que já está distribuído, acho que o vsphere pode fazer isso.

Você deve ler a documentação do openstack sobre HA para obter mais informações.

    
por 22.08.2015 / 23:39
2

Em relação à sua pergunta - sim, você perderá acesso a todas as máquinas dentro desse host físico. Claro, isso depende de qual componente falhou. Se é disco - é um tipo de problema, se é 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 fornecedor que você pode usar para ter serviços altamente disponíveis.

Grupos de Recursos (vmware) - são NÃO capazes de agregar múltiplos recursos de host físico (cpu, memória, etc) como alguém mencionado acima, então se você tem 2 host (digamos 1CPU quad núcleos sem hyperthreading - 8GBRAM cada) NÃO será possível ter 5vCPU-12Gb VM lá. Os pools de recursos são lógicos, eles não são capazes de criar sistemas de supercomputação. No momento, essa é uma forma de controlar a utilização de recursos.

Disponibilidade (vmware) - é possível usar tecnologias como Alta Disponibilidade (HA) que permite a recuperação automática (com base na minha experiência dentro de 1-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 sobre HA funciona apenas no caso de CPU, RAM, falha da placa-mãe, é óbvio que não funcionará do Storage Array vai para baixo. Para evitar falhas de RAID / Controladores, as pessoas usam replicação, espelhamento de LUNs de armazenamento, etc.

Se a recuperação dentro de 1-2 minutos não for uma opção, existem tecnologias como Fault Tolerance (FT) que permite obter tempo de inatividade ZERO da VM em caso de falha mantendo cópia sombra (em execução) da VM configurada. Mas essa tecnologia também tem muitas restrições - o problema de tolerância a falhas das VMs com várias vCPUs não está totalmente resolvido.

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

    
por 26.08.2015 / 02:47