Virtualização de Servidores - Guia Completo!

Esxi virtualizado no Xen


Embora seja um conceito antigo (bem antigo!), ainda me surpreendo navegando por aí e vendo como ainda há muita gente com dúvida sobre este conceito tão importante no mercado de TI atual, onde as novas possibilidades de serviços baseados em computação em nuvem estão apoiadas fortemente na sólida base que consiste a tecnologia de virtualização.

Nos próximos minutos você vai entender melhor a tecnologia de virtualização, suas vantagens e desvantagens, conhecer alguns dos principais fornecedores (VMware, Microsoft, Citrix, etc) e suas soluções (VMware vSphere, Hyperv, Xen, KVM).

Você vai descobrir porque a virtualização é tão importante, como utilizá-la a seu favor, conhecendo suas características, tipos, técnicas, ferramentas, e tudo que precisa estar atento para fazer o melhor uso desta que é, certamente, uma das tecnologias que o profissional de infraestrutura de TI precisa dominar.

História da Virtualização


A base teórica da arquitetura de virtualização começou a ser modelada em 1972, pelo cientista americano Robert P. Goldberg. Porém, ainda na década de 60, a IBM foi a responsável por lançar um mainframe capaz de executar simultaneamente diferentes sistemas operacionais sob a supervisão de um programa de controle chamado hypervisor.

Podemos dizer, portanto, que o conceito de virtualização de sistemas operacionais foi criado há mais de 50 anos!

Atualmente a virtualização é realidade em todo mundo, ajudando a TI a aumentar a produtividade, economizar recursos de servidores e melhorar a gerência do ambiente corporativo.

O conceito de virtualização pode ser definido como a criação de um ambiente virtual que simula um ambiente real, propiciando a utilização de diversos sistemas e aplicativos sem a necessidade de acesso físico à máquina na qual estão hospedados. Esse ambiente virtual pode ser um sistema operacional, um servidor, um dispositivo de armazenamento como um storage, um recurso de rede ou até mesmo um desktop.

A necessidade de redução de custos sem perder a disponibilidade dos serviços, fez com que a IBM fosse a pioneira na utilização da tecnologia. Na década de 60, super computadores já atingiam grande poder de processamento, mas o gerenciamento dos processos não era automatizado, e resultava em perda de tempo e aumento de ociosidade dos processadores. O grande investimento destinado ao desenvolvimento de computadores de grande porte e a otimização do tempo em que o sistema estava ocupado, resultou no surgimento de uma nova ideia, de execução de processos em paralelo, que posteriormente, levou à virtualização.

A virtualização pode ser vista como método para a instalação e execução de vários sistemas operacionais e aplicações em uma mesma máquina. Um dos benefícios diretos dessa abordagem é a melhor utilização dos recursos de hardware, dos servidores físicos.

A virtualização proporciona enormes ganhos no ambiente de TI. Por isso, se você ainda não adotou a virtualização no ambiente da empresa, deve se apressar, pois os benefícios são significativos, trazendo resultados não apenas para a empresa, mas também para você, aumentando produtividade e eficiência.

Vantagens da Virtualização

Redução de TCO

Total Cost of Ownership, ou Custo Total de Propriedade, refere-se a todos os gastos de uma empresa envolvendo aquisição de hardware, licenciamento de software, instalação, treinamento, atualização e manutenção de sua infraestrutura.

O TCO pode ser reduzido com o uso da técnica de virtualização, pois a virtualização diminui os custos relacionados a instalação, atualização e manutenção de servidores, por exemplo. É muito mais fácil, rápido e simples criar uma máquina virtual que instalar um servidor físico.

Alguns fabricantes até disponibilizam ferramentas que facilitam o cálculo do TCO considerando a comparação de uma infraestrutura de T.I com e sem virtualização, tornando muito mais simples justificar um projeto de virtualização.

Redução do uso do espaço físico

A virtualização oferece uma redução considerável das necessidades de espaço físico, em razão da utilização de menor quantidade de equipamentos (servidores, storage, rede, etc).

Isto ocorre porque, ao virtualizar os servidores, a relação 1:1 passa a ser de 1:n, ou seja, um único servidor físico agora pode abrigar vários servidores virtuais, e isso se reflete no espaço físico necessário para os servidores, e também ativos de rede, dispositivos de armazenamento, cabos e demais componentes físicos, cuja quantidade é significativamente reduzida.

Há estudos que comprovam este benefício, como neste exemplo da Fujistu, onde a redução de uso do espaço físico foi de 66%.

Redução do consumo de energia

Com a consolidação física, especialmente dos servidores, a virtualização reduz o consumo de energia.

Servidores são responsáveis pelo maior consumo de energia entre os equipamentos de TI, e este consumo é objeto de muitos estudos nos últimos anos, resultando em diversos ganhos de eficiência.

A virtualização dos servidores ajuda a otimizar o consumo de energia da TI, essencial em tempos de crescimento exponencial do volume de dados nas empresas.

Isolamento dos ambientes de testes

A construção de ambientes que envolvem hardware físico é muito mais complexa em relação aos ambientes virtuais, de forma que a virtualização facilita a criação de ambientes de teste e homologação.

Ainda que virtuais, estes ambientes podem ser criados com isolamento, mesmo que compartilhem o mesmo hardware, graças aos mecanismos de particionamento, encapsulamento e isolamento lógico, que garantem a não interferência entre os sistemas virtualizados.

Com isso, fica muito mais fácil, rápido e barato criar "laboratórios virtuais", seja para verificar o comportamento de uma estação de usuário com a última atualização do Windows, ou testar uma nova versão do software de autenticação da rede.

Flexibilidade no aprovisionamento de recursos

Novas máquinas virtuais podem ser criadas de forma simples (até automática!) utilizando recursos como templates, clones e imagens ISO.

O processo de aprovisionamento de um novo servidor físico é absurdamente mais complexo e burocrático quando comparado à criação de um novo sistema virtual.

Além disso, é possível redistribuir as máquinas virtuais entre servidores físicos, o que permite adequar as necessidades de recursos pelas aplicações com o hardware disponível, algo impensável antes da virtualização.

Se uma aplicação precisa de mais memória, processamento ou espaço em disco, desde que exista recurso disponível em algum lugar na infraestrutura, é possível entregar este recurso ao servidor virtual que hospeda a aplicação. Num servidor físico, isso seria impossível.

Padronização das plataformas e gerenciamento centralizado

O hypervisor é a camada de software que está localizada entre o sistema operacional e o hardware do servidor físico. Sua principal função é realizar a comunicação e "abstração" entre sistemas heterogêneos, permitindo, por exemplo, executar sistemas operacionais diversos, ao mesmo tempo, compartilhando o mesmo hardware.

O resultado é que passamos a gerenciar os recursos das máquinas virtuais através de uma única ferramenta, de forma mais simples e eficiente.

Um aspecto extremamente importante a destacar é a utilização do conceito de "hardware virtual" por algumas soluções. Isto significa que o sistema virtualizado enxerga um hardware diferente do hardware real, não estando sujeito às suas limitações.

Em geral, o hardware virtual é concebido para ser o mais genérico possível, facilitando a virtualização de sistemas antigos (legado) e preservando os investimentos da organização.

Imagine, por exemplo, que a versão do ERP da empresa não foi atualizada por ter um custo muito elevado, e agora você precisa usar uma versão também antiga de sistema operacional para esta solução.

Graças ao hardware virtual, você poderá continuar usando o sistema operacional e a aplicação antiga pelo tempo que quiser, pois o sistema operacional antigo reconhecerá este hardware genérico, e o hypervisor se encarregará de compatibilizar as operações com o hardware moderno do servidor físico (host).

Tipos de Virtualização

Muitas pessoas consideram que a tecnologia de virtualização consiste em utilizar ferramentas para criar máquinas virtuais, porém a verdade é que há muito mais aplicações possíveis para a tecnologia, conforme podemos observar nos exemplos a seguir.

Virtualização de Servidores

Técnica de execução de um ou mais servidores virtuais sobre um servidor físico. Permite maior densidade de utilização de recursos, enquanto permite que isolamento e segurança sejam mantidos.

Diferente da época dos mainframes, a virtualização dos servidores agora acontece em servidores x86, graças aos avanços no desenvolvimento dos processadores e outros componentes de hardware.

Virtualização de Desktops

Trata-se da configuração dos desktops dos usuários finais em uma infraestrutura centralizada virtual.

Isso significa que as aplicações do usuário passam a executar em máquinas virtuais personalizadas, armazenadas num Data Center e disponíveis a qualquer tempo, em qualquer dispositivo.

Isto permite a configuração dinâmica de estações de trabalho virtuais, oferecendo maior flexibilidade, segurança e otimização do uso de recursos da TI.

Virtualização do Armazenamento

A ideia aqui é centralizar o armazenamento de dados através de um ou mais componentes de hardware robustos, geralmente capazes de permitir que várias unidades heterogêneas de armazenamento sejam vistas como um conjunto homogêneo de recursos.

Assim, uma rede de armazenamento (SAN - Storage Area Network) é implementada, e todos os sistemas (físicos e virtuais) acessam este armazenamento compartilhado, centralizado e robusto, garantindo maior segurança e desempenho no acesso aos dados.

Virtualização de Aplicações

Trata do conceito de execução de aplicações "encapsuladas", permitindo a sua configuração e atualização de forma centralizada, melhorando seu gerenciamento e facilitando o tratamento de problemas de compatibilidade com sistemas operacionais e bibliotecas.

Um exemplo deste tipo de virtualização muito utilizado atualmente é a JVM (Java Virtual Machine), que permite a instalação e utilização de uma aplicação independente do sistema operacional instalado na máquina.

Virtualização de Redes

Proporciona a criação de redes lógicas sobre uma única infraestrutura compartilhada de rede física.

Cada rede lógica fornece ao grupo de usuários correspondente serviços plenos de rede, semelhantes aos utilizados por uma rede tradicional não virtualizada.

A experiência da perspectiva do usuário final é a de ter acesso a uma rede própria, com recursos dedicados e políticas de segurança independentes.

Tipos de Hypervisor

Os tipos de virtualização também podem ser definidos quanto à arquitetura e técnicas utilizada para virtualização.

Há dois tipos principais de arquitetura que podem ser adotados para virtualização de sistemas: Hypervisor Tipo 1 e o Hypervisor Tipo 2.

O hypervisor nada mais é que o monitor de maquina virtual, responsável por gerenciar os recursos necessários para os sistemas virtualizados.

O hypervisor Tipo 1 permite que o software de virtualização seja o próprio sistema operacional. O software instalado diretamente sobre o hardware fica responsável sobre a disponibilização e monitoramento das maquinas virtuais aos recursos de hardware.

Já o hypervisor Tipo 2 funciona como uma aplicação do sistema operacional, e a aplicação de virtualização funciona como um processo de usuário.

Exemplos de hypervisor do tipo 1: ESXi, Hyperv, KVM.

Exemplos de hypervisor do tipo 2: Virtualbox, VMware Player.

Técnicas para Virtualização

Existem duas técnicas principais de virtualização que são mais conhecidas: Virtualização Completa e Para-Virtualização.

A virtualização completa, conhecida também como emulada, oferece ao sistema visitante, uma versão virtual do hardware em que o sistema nativo esta instalado, de forma que o sistema visitante e suas aplicações possam ser executadas como estivessem em uma maquina física.

Ao emular os recursos de hardware, neste tipo de aplicação, todo e qualquer processo da maquina virtual, terá que ser executada ou testada primeiramente pelo VMM (Virtual Machine Monitor), para que posteriormente seja executada  pelo hardware.

Além disso, levando em consideração que os sistemas operacionais não foram desenvolvidos para compartilhamento de recursos com outros sistemas de forma nativa, a virtualização total, tem que lidar com alguns inconvenientes, como compartilhamento de memoria, o que gera paginação e também a adaptação de cada dispositivo para diferentes sistemas o que consequentemente  gera um aumento na demanda de processamento e atividade de disco.

O outro tipo de virtualização é a para-virtualização. Neste modelo a abordagem é diferente da virtualização completa e o código do sistema operacional é modificado para que somente os processos que possam fazer alguma alteração no sistema, ou seja, instruções sensíveis,  sejam executados pelo VMM, otimizando o desempenho.

Ferramentas para Virtualização


No mercado atual, existem diversas alternativas para virtualização de servidores, desktops e outros tipos de virtualização. As aplicações para virtualização podem funcionar como sistemas de virtualização Tipo 1 ou Tipo 2.

Você pode usar as informações a seguir para avaliar as alternativas de solução para virtualizar o ambiente da empresa, e escolher a que lhe parecer mais adequada.

Se precisar de ajuda, deixe um comentário que terei o maior prazer em responder.

VMware


Solução líder de mercado, a suite de virtualização da VMware suporte diferentes sistemas operacionais, incluindo Windows, Linux, Solaris e MAC OS X, dentre outros. Há até uma piada sobre a VMware suportar mais versões de Windows que a própria Microsoft com o Hyperv :)

A VMware oferece diferentes soluções para virtualização.

Há o VMware Workstation, utilizado em desktops para fins acadêmicos e de testes, sendo mais indicado para uso individual, para usuários domésticos que desejem criar laboratórios virtuais para experimentar sistemas operacionais, aplicações ou mesmo simular redes completas.

O ESXi, desenvolvido especialmente para uso corporativo, é um sistema operacional dedicado exclusivamente para virtualização de sistemas. Por funcionar como um sistema operacional, temos um aumento considerável de desempenho devido a proximidade software/hardware.

VMware Fusion, versão desenvolvida exclusivamente para sistemas MAC. Funciona basicamente como a Workstation, mas voltada para a virtualização de sistemas da Apple.

VMware Converter é uma ferramenta que possibilita a migração de máquinas físicas para um ambiente virtual, num processo chamado P2V (Physical 2 Virtual). Além disso, oferece a possibilidade de converter uma maquina virtual no formato XenServer, Hyper-V e outros, para uma infraestrutura virtual da VMware.

XenServer


O Xen nasceu de um projeto da Universidade de Cambridge, e é uma ferramenta de código aberto.

Esta solução utiliza o conceito de paravirtualização. Neste tipo de abordagem,  o Xen é instalado diretamente sobre o hardware e organiza todas as requisições feitas pela maquina virtual, repassando ao processador, sem a necessidade de interpretá-las.

Em outras palavras, não há aqui o conceito de "hardware virtual", ou seja, o sistema virtual está sujeito às características (boas e ruins) dos componentes físicos do servidor.

A Citrix fornece, além do hypervisor XenServer, o XenCenter, aplicativo que tem como função disponibilizar o gerenciamento das maquinas virtuais através de uma interface gráfica.

Hyperv


Hyperv é a solução para virtualização de sistemas desenvolvida pela Microsoft.

Utilizando o hypervisor do tipo 1, esta solução oferece recursos semelhantes ao da VMware, tais como suporte a VLAN, migração de VMs em tempo real, armazenamento dinâmico, dentre outros recursos.

A solução da Microsoft, embora tenha chegado ao mercado "atrasada", ganhou bastante espaço pela conveniência de adotar uma solução de virtualização que consiste num serviço (role - pra usar a nomenclatura mais recente) para sistemas Windows Server.

A solução tem evoluído rapidamente, e penso que hoje podemos dizer, sem medo de errar, que o hypervisor não importa mais.

Outras Soluções de Virtualização

Poderia descrever aqui inúmeras outras soluções de virtualização que vale a pena conhecer: KVM, OpenVZ (o "pai" dos containers!), Proxmox, etc.

O fato é que hoje a tecnologia está disseminada de tal forma, que qualquer solução vai atender às necessidades da empresa, com uma limitação aqui ou ali, mas o "basicão" todo mundo faz, e faz bem.

O importante é entender a sua necessidade e escolher com sabedoria.

Dicas para Virtualização de Servidores

Vale a pena fazer algumas recomendações, quando se trata de virtualizar os servidores e a infraestrutura da empresa.

Eu gosto muito do termo Virtualização de Datacenter, pois ele deixa claro que devemos pensar a virtualização da infraestrutura como um todo e não apenas como "criação de máquinas virtuais". Pense no "quarteto fantástico": processamento, memória, armazenamento e rede.

Para cada um destes elementos, identifique como a virtualização pode auxiliar na otimização dos recursos, seja distribuindo melhor o uso dos processadores, reduzindo o uso de memória ou facilitando o armazenamento dos dados.

O uso de armazenamento centralizado (SAN) é altamente recomendado, e há muitas opções disponíveis, desde uma solução caseira baseada em Linux até uma solução de última geração (as chamadas All-Flash).

Fique atento ao licenciamento da solução que escolher, caso ela seja paga. É comum a cobrança por processador, e um descuido pode custar caro.

Lembre-se que, como diz o velho ditado, "Quem tem um não tem nenhum". Portanto, virtualizar servidores usando um único equipamento físico é loucura!

Se possível, você deve adquirir servidores para virtualização em pares ou até em maior quantidade (3 ou 4 - conforme a necessidade de recursos). Pode até ser mais interessante adquirir vários servidores menores que apenas um "gigante".

Atente também para o backup e opte por soluções que sejam mais integradas, com funcionalidades específicas para ambientes virtualizados.

Não é recomendado adotar a abordagem tradicional, baseada em agentes, para o backup das máquinas virtuais. Faça isso somente se não tiver outra opção.

O que quero dizer com isso?

Que não faz sentido instalar agentes em todas as máquinas virtuais pra fazer backup dos arquivos do sistema, quando você pode adotar soluções que fazem backups mais inteligentes do seu ambiente virtual.

E nunca, jamais, em tempo algum, cometa este erro ao fazer o backup das suas VMs.

Certificações em Virtualização

Se você quer se especializar em virtualização, há varios caminhos.

Uma das opções mais interessante é buscar uma certificação, e a minha recomendação é que busque uma certificação que seja, ao mesmo tempo, reconhecida, e tenha exigências razoáveis para se obter.

Uma certificação que atende a estes requisitos é a VMware Certified Associate - Data Center Virtualization (VCA-DCV), que não exige treinamento oficial da VMware, e demonstra que você domina os fundamentos da virtualização.

Outras certificações interessantes na área incluem Citrix Certified Professional - Virtualization (CCP-V), Cisco Data Center Unified Computing Design Specialist, Cisco Data Center Unified Computing Support Specialist, MCSE: Private Cloud, RHCVA, VCP5-DCV e VCP6-DCV.

Aqui você tem um quadro que mostra a distribuição de vagas em 2017 que exigem certificações em virtualização para alguns sites internacionais.

Conclusão

Espero que este texto tenha sido útil para esclarecer o quanto esta tecnologia é importante para o profissional de TI (infraestrutura), e como você pode se beneficiar do seu uso.

A tecnologia de virtualização me possibilitou criar mecanismos para ter mais tranquilidade e segurança de que o ambiente de TI vai continuar a funcionar, mesmo em situações adversas.

Graças à evolução da tecnologia, é possível lidar com falhas automaticamente, fazer balanceamento de carga, otimizar a distribuição de recursos, identificar e resolver gargalos com facilidade, ter mais segurança, eficiência e muitos outros benefícios.

Sou entusiasta da tecnologia de virtualização e peço que, caso tenha dúvidas, não deixe de postar seu comentário abaixo. Vou ficar muito feliz em responder. Mesmo!

Até a próxima!

Christian Guerreiro

Professor por vocação, blogueiro e servidor público por opção, amante da tecnologia e viciado em informação.


Ensino a distância em Tecnologia da Informação: Virtualização com VMware, Big Data com Hadoop, Certificação ITIL 2011 Foundations e muito mais.


Suporte o Tecnologia que Interessa!

Você acha que as informações compartilhadas aqui são úteis?
Então me ajude a produzir ainda mais e melhores conteúdos!


É muito fácil. Basta divulgar nossos treinamentos pra alguém que conheça!


E se for de Salvador, podemos estruturar um curso presencial para sua empresa!

Eu vou ficar muito grato (e quem fizer os curso também :)!