Cursos / Redes de Computadores / Data Center / Aula

arrow_back Aula 06 - Tecnologias de Processamento e Virtualização

Virtualização de Computadores Servidores

Lembra do problema relatado na seção anterior, relativo à impossibilidade de aproveitar a capacidade ociosa do HD de um servidor em outro? A mesma problemática acontece também para os recursos de memória RAM e de CPU. Isto é, dependendo das aplicações executadas em cada servidor, é muito comum ter servidores sobrecarregados no uso de seus recursos e outros ociosos nesse mesmo instante. Para piorar, à medida que uma aplicação sobrecarrega um servidor, precisamos pará-lo para aumentar seu hardware de modo a atender ao aumento da demanda de recursos, o que prejudica a disponibilidade da solução.

Para tornar mais eficiente o uso dos recursos de hardware de todo um ambiente e facilitar a escalabilidade no atendimento às aplicações que exigem muito hardware, os cientistas da computação desenvolveram o conceito de virtualização de computadores. Falando de maneira bem simples, virtualização é a habilidade de criar um computador fictício por intermédio de um software que emula todo o hardware dessa máquina virtual. A Figura 5 mostra o antes (a) e o depois (b) da implementação do conceito de virtualização em um hardware de computador.

Arquitetura de software e hardware sem e com virtualização.

Na Figura 5-a, o hardware de toda a máquina está disponível apenas para um mesmo sistema operacional e suas aplicações. Caso essas aplicações não utilizem toda a capacidade do hardware físico disponível, a capacidade ociosa será desperdiçada. Já na arquitetura com virtualização (Figura 5-b), o hardware real é compartilhado até o seu limite por diversas MV (máquinas virtuais), cada um com seu SO (sistema operacional) e suas aplicações (Ap). Para que isso aconteça, uma camada de software adicional é necessária: o software de virtualização.

O software de virtualização, chamado de Hypervisor ou VMM (Virtual Machine Monitor), pode ser de dois tipos:

  • Tipo 1 – chamado de nativo, baremetal ou supervisor: roda diretamente no hardware real sem precisar de Sistema Operacional, isto é, ele é também o SO do computador. Exemplos de softwares de virtualização desse tipo são: VMware ESX, Microsoft Hyper-V e Citrix Xen Server.
  • Tipo 2 – chamado de hosted: roda como uma aplicação de algum sistema operacional já existente no computador. Você já viu um software de virtualização desse tipo, quando conheceu o VirtualBox na disciplina de Sistemas de Conectividade do Módulo Intermediário. Outros exemplos seriam: VMware Workstation e Parallels

O esquema de virtualização do tipo 1 é bastante utilizado em Data Centers, pois permite um melhor aproveitamento de todo o hardware real disponível e flexibiliza a manutenção de todo o ambiente, já que a MV com suas aplicações pode rodar em qualquer servidor do DC. Pensando nessa arquitetura com o uso de blades, uma máquina virtual pode rodar em qualquer lâmina do chassi. E, como veremos mais adiante, essa migração da máquina virtual entre os servidores blade pode ser feita sem que seja preciso desligar a MV.

O hypervisor pode implementar a virtualização por meio da virtualização completa ou da paravirtualização:

  • Virtualização completa: realiza uma completa abstração do sistema físico e cria o hardware fictício como um sistema virtual completo. Como vantagem, não é necessário fazer qualquer modificação no Sistema Operacional do computador real (host) nem do virtual (guest). Além disso, a migração da Máquina Virtual entre servidores físicos é bastante facilitada, já que não há qualquer dependência entre os hardwares real e virtual. Como desvantagem, o desempenho pode ser prejudicado, pois o hypervisor controla e interpreta todas as chamadas de hardware da máquina virtual para a real e vice-versa.
  • Paravirtualização: o sistema operacional rodando dentro da máquina virtual acessa diretamente o hardware real e, por isso, tem a ilusão de estar sendo executado diretamente sobre esse hardware real. O hypervisor limita-se apenas a repassar as instruções feitas pela MV para o sistema principal, sem interpretá-las. Como vantagem, há o melhor desempenho, já que a carga de processamento do hypervisor é mínima. Como desvantagem, requer modificação do Sistema Operacional da MV, já que ela “enxerga” o hardware real, prejudicando, também, a migração de uma MV entre servidores.

Tudo bem até aqui? Lembre-se de que buscamos o aprendizado juntos, por isso é importante que você sempre compartilhe nos fóruns as suas dúvidas ou as esclareça em sala com os seus colegas de turma e tutor. Agora, avançaremos em nossos estudos, aprendendo como acontecem os processos de virtualização com o VMware Infrastructure. Vamos lá!

Versão 5.3 - Todos os Direitos reservados