Como funciona a Virtualização de Servidores?

Virtualização de Servidores, como já explicamos nesse outro artigo, é uma forma de dividir os recursos de um servidor físico em vários servidores virtuais, também chamados de máquinas virtuais, de modo que possa executar diversos sistemas operacionais no mesmo hardware físico, isolados entre si.

Funciona da seguinte forma:

1. Aquisição do servidor

Um servidor físico vem com recursos físicos instalados de fábrica, entre eles: CPU, memória, discos, conexões de rede e conexões a SAN:

Servidor

Um servidor moderno tem muito mais recursos do que os softwares são projetados para usar e é comum recursos como CPU e memória ficarem ociosos em alguns servidores, enquanto outros servidores tem gargalos.

Aí que entra a virtualização, no lugar de vários servidores de pequeno porte para diversas aplicações, é melhor investir em um servidor de maior porte e compartilhar os recursos entre os servidores virtuais sob demanda.

2. Instalação do Hypervisor

No servidor físico é instalado um sistema operacional básico, que possui a capacidade de dividir o hardware em pequenas partes. Esse sistema operacional é chamado de hypervisor.

Servidor com Hypervisor Instalado

Quanto menor for o espaço em disco e memória usada por esse hypervisor, mais recursos sobram para as máquinas virtuais, menor é a chance de ter problemas de código no hypervisor e menor são as paradas para manutenção do mesmo.

3. Criar as Máquinas Virtuais

O hypervisor simula dentro de cada “fatia” do hardware um novo hardware, que são chamadas de máquinas virtuais. Os discos ficam armazenados em arquivos dentro do sistema operacional do hypervisor, enquanto que a CPU e memória são alocados sob demanda.

Servidor com Hypervisor instalado e Máquinas Virtuais criadas

Cada máquina virtual pode ter capacidades diferentes de acordo com a necessidade, enquanto uma pode ter mais memória, a outra mais processador e a outra mais espaço em disco, cada uma dividindo uma fração do servidor original.

Na configuração de rede dos hypervisors mais avançados é possível dividir o tráfego e priorizar de acordo com a máquina virtual.

4. Instalação do Sistema Operacional dentro das Máquinas Virtuais

Dentro de cada máquina virtual pode ser instalado um sistema operacional diferente, de acordo com a necessidade. Cada um estará isolado dos demais, enxergará apenas os recursos que lhe foram dedicados e se comportará como se estivesse instalado em uma máquina física comum:

Servidor com Hypervisor e Máquinas Virtuais Instaladas

O hypervisor fica responsável por dividir os recursos entre as máquinas virtuais. Alguns recursos podem ser alocados em maior quantidade do que existe de verdade (over provisioning).

Por exemplo, um servidor com 10Gb de memória pode ter 7 máquinas virtuais com 2Gb de memória cada, o que totalizaria 14Gb, desde que essas não usem todo o recurso ao mesmo tempo; o hypervisor garante que nas situações de disputa, algumas máquinas virtuais tenham preferência de execução (maior prioridade).

5. Conectar a uma SAN (Storage Area Network)

Em um ambiente empresarial com Alta Disponibilidade, as máquinas virtuais ficam armazenadas em uma SAN, que nada mais é do que um local de armazenamento (Storage) compartilhado entre os servidores. A SAN pode ser virtual, nesse caso é chamada de VSAN.

Uma SAN pode ser implementada também com um Storage dedicado, nesse caso, o equipamento possui toda a redundância necessária para garantir a alta disponibilidade do ambiente.

O fato de agregar os discos em um ponto único permite algumas facilidades de gerenciamento, além de poder distribuir a performance mais uniformemente e definir prioridades entre as máquinas virtuais.

Virtualização com SAN em modo de Alta Disponibilidade

 

6. Usando a SAN para manutenção programada de servidores

A SAN armazena os arquivos das máquinas virtuais, sendo assim, as máquinas virtuais podem ser desligadas de um servidor e ligadas em outro servidor sem necessidade de reinstalar o sistema operacional e aplicativos, ou de copiar arquivos entre os servidores físicos.

Também, dependendo da configuração e licenciamento, é possível migrar a máquina virtual entre um servidor e outro sem desligar, esse recurso é chamado de vMotion, Live Migration ou XenMotion de acordo com o fabricante do hypervisor e permite a manutenção de um servidor físico sem downtime (parada) do ambiente.

Manutenção programada com Virtualização

 

7. Crescendo o ambiente

Quando o ambiente cresce, basta adicionar mais servidores ou espaço de Storage e todo o ambiente se beneficia. Pode-se crescer o ambiente em quantidade de máquinas virtuais, capacidade das máquinas virtuais, servidores físicos ou espaço no Storage. Cada servidor físico novo adiciona mais poder de processamento, memória e conectividade com a rede, enquanto que mais discos no Storage adicionam espaço em disco e mais performance de IOPS.

Crescendo o ambiente com Virtualização

 

8. Resiliência do ambiente contra quebras

No caso da quebra física de um dos servidores, as máquinas virtuais podem ser acessadas e ligadas nos demais servidores; se estiver corretamente configurado, esse processo acontece automaticamente, sem necessidade do operador intervir, esse recurso é chamado de HA (High Avaliability) ou Alta Disponibilidade e permite que as máquinas virtuais voltem ao trabalho em poucos minutos.

Alta Disponibilidade (HA) automática com Virtualização

 

Conclusão

Esses são apenas alguns dos benefícios da virtualização de servidores. Para ver mais, leia a matéria sobre os 12 Benefícios da Virtualização no Datacenter.

Read More

O que é virtualização?

Virtualização (em computação) é a criação de uma versão virtual de alguma coisa, como um sistema operacional, um servidor, um dispositivo de armazenamento (storage) ou recurso de rede.

Funciona dividindo um recurso de hardware físico em partes, que podem ser usadas para fins distintos.

Normalmente o termo virtualização é mais aplicado para virtualização de sistemas operacionais, onde é instalado um software chamado hypervisor, que permite executar diversos sistemas operacionais ao mesmo tempo.

A tecnologia de virtualização de sistemas operacionais iniciou-se com os mainframes a décadas atrás, mas ganhou força e conhecimento público a partir de 1996, quando a VMware  lançou sua primeira versão de hypervisor para a plataforma x86 (processadores Intel e AMD compatíveis).

Alguns anos depois, a virtualização já era realidade no mundo empresarial, ajudando a TI a ganhar produtividade, economizar recursos de servidores e  melhorando a gerência do ambiente.

No mundo empresarial moderno a virtualização está presente em quatro áreas distintas: servidores, storage (armazenamento), network (rede) e aplicação:

  • Virtualização de Servidores / Virtualização de Sistema Operacional

A virtualização de servidores permite executar diversos sistemas operacionais simultaneamente no mesmo hardware, que são chamados de máquinas virtuais. Uma das características é o mascaramento dos recursos físicos (incluindo processadores, quantidade de memória, interfaces de rede), o que permite diminuir a administração de drivers nas máquinas virtuais, e transferir uma máquina virtual entre servidores físicos diferentes sem se preocupar com o hardware, técnica chamada de vMotion, XenMotion ou Live Migration, dependendo do fabricante.

Os principais hypervisors da atualidade para virtualização de servidores são: VMware ESX, Microsoft Hyper-V, Citrix Xen Server, Oracle Virtual Box e RedHat KVM.

  • Virtualização de Storage

A virtualização de storage se aplica normalmente e equipamentos específicos, conhecidos como Storages, o que permite que múltiplos equipamentos sejam reconhecidos e gerenciados como um só. Normalmente também acompanha recursos avançados, como a abstração dos HDs dentro desses equipamentos, permitindo movimentar os dados entre tipos de HDs diferentes ou RAIDs diferentes, para aumentar a performance ou espaço disponível conforme necessidade.

A virtualização de storage ainda pode ser implementada via software, sendo que alguns permitem compartilhar recursos de múltiplos servidores para criar um único pool de armazenamento, aumentando a performance geral e a resiliência contra problemas.

Um exemplo de virtualização de storage via software, é o VMware VSAN. Exemplos de Storages virtualizados são o Dell Equallogic e o Dell Compellent.

  • Virtualização de rede

A virtualização de rede consiste em separar uma camada física de rede em diversas camadas lógicas, isoladas entre si, para fins distintos. A primeira implementação comercial amplamente adotada foi estabelecido pelo IEEE 802.1q, comercialmente chamada de VLAN. Ela permite a criação de diversas camadas dentro de uma rede física, que podem ser propagadas entre os switches, isolando e priorizando tráfegos específicos, como VoIP, sistemas críticos e rede de backup.

Com o advento das placas de 10Gbits, se popularizou uma técnica chamada de partition, que consiste em dividir logicamente essas interfaces em várias camadas, que aparecem para o sistema operacional como interfaces de redes distintas. Cada interface do partition pode ter uma parte da banda reservada, com endereçamento físico exclusivo, o que permite a criação do que é chamado de infraestrutura de rede convergente.

Além da capacidade de divisão da rede física em camadas lógicas, existem novas implementações que visam facilitar a gerência dessas redes, abstraindo todo o tráfego dos switches e transferindo a configuração para interfaces mais automatizadas, com o VMware NSX.

  • Virtualização de aplicação

Na virtualização de aplicação, uma camada de software instalado entre o sistema operacional e a aplicação virtualizada fica responsável pela abstração do sistema operacional, bibliotecas e drivers. O principal uso da virtualização de aplicações é para evitar a necessidade de instalação do aplicativo e a necessidade de validar todas as bibliotecas necessárias para a execução do mesmo.

Um aplicativo virtualizado normalmente é empacotado em um único arquivo, chamado de conteiner, que contém todas as bibliotecas necessárias para executar aquele aplicativo, e permite executar em computadores diferentes sem a necessidade de instalar todas as bibliotecas.

A virtualização de aplicativos também permite a coexistências de múltiplas versões do mesmo aplicativo ao mesmo tempo no mesmo computador, por exemplo, por questões de compatibilidade de sites, algumas empresas precisam executar uma versão específica e antiga do Internet Explorer, usando a virtualização, é possível que a URL daquele site execute uma versão do Internet Explorer virtualizada, enquanto que as estações podem ser atualizadas para sempre rodar a última versão nos demais sites, garantindo a segurança.

Exemplos de software para virtualizar aplicativos: VMware ThinApp

  • Virtualização de desktops

A virtualização de Desktops não é diferente da virtualização de Sistema Operacional, consiste em executar o sistema operacional do Desktop (Windows 7 ou Windows 8 por exemplo) em uma máquina virtual.

Pode ser executada dentro do próprio computador do usuário, mas isso exige que o computador tenha maiores recursos de CPU, espaço em disco e memória para permitir executar dois ou mais sistemas operacionais simultâneo. A grande utilidade nesse caso é para desenvolvedores, para terem acesso a diferentes versões do sistema operacional para testar o aplicativo. Um exemplo de software para virtualização de Desktop é o VMware Workstation e VMware Player.

Normalmente no ambiente empresarial a virtualização de Desktops é executada nos servidores, ou seja, o sistema operacional é executado no Datacenter, e o usuário final tem um desktop “cliente” mais modesto, como um Thinclient ou um Chromebook (veja em novidades do VMware PEX 2014).

A vantagem nesse caso é o ganho de performance dos desktops, que podem ser executados em servidores de alta performance e com maior conectividade, melhora na gerência, centralização, melhora na segurança, conectividade em qualquer lugar, compatibilidade com dispositivos móveis como tables e smartphones, entre outras.

Um exemplo de software para fazer virtualização de Desktops é o VMware Horizon View.


A virtualização é uma tendência geral dentro das empresas, pois permite a automatização de processos, facilidade de gerenciamento, uso adequado de recursos e a possibilidade de contabilizar exatamente quanto cada usuário ou departamento utiliza dos recursos computacionais.

O objetivo principal da virtualização é centralizar tarefas administrativas, conseguir escalabilidade de aplicações, responder mais rápido às necessidades do negócio e facilitar a vida dos gestores de TI e administradores de redes, storages e servidores.

A virtualização de servidores junto com capacidade de conexão da Internet é uma peça chave para a adoção da computação em nuvem pelas empresas.

 

Read More