Arquivo

Archive for julho \08\UTC 2012

Virtualização: Hypervisors

O hypervisor (ou VMM – Virtual Machine Manager) é o software que gerencia a execução e monitoramento das VMs, bem como sua interação com o hardware físico. É o hypervisor quem fornece recursos virtuais como: memória, processador, disco rígidos, NICs, etc, para que as VMs funcionem adequadamente. Basicamente existem três tipos de hypervisors disponíveis no mercado, dois são baseados na arquitetura x86, e o outro é baseado em System z e System p (Mainframe e Power, da IBM).

Hypervisors x86

Na arquitetura x86, temos dois tipos de hypervisors, são eles: hosted e baremetal.

Hosted

O hypervisor do tipo hosted depende de um sistema operacional para funcionar, ou seja, você precisa ter algum S.O. antes do hypervisor, em que o hypervisor é carregado como um programa qualquer e executado. Esse é o tipo de virtualização utilizada em nossos computadores pessoais (VMware Player, VirtualBox, etc), o mesmo não fornece confiabilidade para uso empresarial, embora muitas empresas se arrisquem ao utilizar, pois o mesmo além de depender de um S.O. qualquer concorrendo assim com todos os outros processos do S.O., ainda fica exposto á possíveis instabilidades e falhas de segurança, além de não ter contato diretamente com o hardware, pois precisa utilizar as APIs do S.O. para isso, impedindo a adição de muitos recursos de alta disponibilidade e aumentando a latência de processamento, acesso  à disco, rede e etc. O que o torna tão popular, é a possibilidade de rodar em qualquer hardware, pois o mesmo já é reconhecido e administrador pelo S.O. em que o mesmo está rodando.

Baremetal

Esse hypervisor cria uma camada fina entre as máquinas virtuais e o hardware do seu servidor. Ou seja, ele é seu próprio S.O., nesse caso, como ele se auto gerencia, é muito mais estável, pois não dependerá de um S.O. para executar suas funções, e como se comunica diretamente com o hardware, o mesmo tem latências e overheads muito menores do que os hypervisors do tipo hosted. Além do mais, o hypervisor tipo baremetal implementa muitos recursos de desempenho e alta disponibilidade extras. Um clássico exemplo, é a possibilidade de se migrar uma VM que está funcionando em um host, para outro host  sem downtime. Esse é o típico ambiente cloud: você sabe que existe uma VM rodando, mas não necessariamente precisa saber onde a mesma está rodando. Ela pode estar rodando em um servidor na sala ao lado, como pode estar em um datacenter ligado via fibra do outro lado do país. Exemplo de hypervisor baremetal: VMware ESXi. A “desvantagem”, é que o mesmo só roda em hardware devidamente homologado, porém, por ser um hardware certificado, garante a confiabilidade e estabilidade à solução.

O gráfico abaixo ilustra a diferença entre os dois tipos de hypervisors:

 

Virtualização “Por Design”

É assim que a IBM denomina sua tecnologia de virtualização disponível para z/OS (System z) e Power (System p). Ela ocorre diretamente no hardware, onde o mesmo é dividido em partições independentes. Por exemplo: seu hardware tem um processador de 16 cores, então você pode pegar 2 cores e entregar para uma partição, assim como também pode micro particionar esta partição já criada. Uma das grandes vantagens, é a possibilidade de rodar alguns tipos de S.O. de arquitetura x86 junto com arquitetura Power, no caso do PowerVM rodando em IBM AIX. O hypervisor nesse caso, fica fora do hardware do servidor, ele nada mais é do que uma appliance (rodando sob x86, com Intel Xeon!), que interage diretamente com o hardware dos servidores Power e System Z.

 

Anúncios

Virtualização: Visão Geral

Nos dias de hoje, estamos vivendo um verdadeiro BOOM no que diz respeito a tecnologias de virtualização. No entanto, os seus primórdios sejam de décadas atrás, com os mainframes IBM, dos quais, “particionava” seu hardware em partições independentes e isoladas, nascendo aí o que se chama hoje em dia de “virtualização por design”, presente inclusive nas linhas IBM Power, o PowerVM. No entanto, com o ganho de performance e confiabilidade da arquitetura x86, a virtualização se popularizou e hoje é  utilizada em larga escala. O conceito de “cloud computing” é outro fator que está muito ligado à virtualização, e está popularizando mais ainda a tecnologia.

Na prática, a virtualização nada mais é do que ter um computador executando vários S.Os ao mesmo tempo de forma independente, porém, na prática existem muitos fatores a serem levados em consideração na hora de implementar seu ambiente virtual.

Como quase toda inovação tecnológica, o seu principal objetivo é a diminuição de custos pela utilização total do hardware existente. Ou seja, se antes você tinha dez servidores, cada um rodando um serviço diferente, você pode ter dois servidores mais robustos rodando todos estes serviços ou até mais. O que ocorria é que estes dez servidores, na maioria dos casos, eram subutilizados durante a maior parte do tempo, e o pior, quanto mais hardware, mais custo de energia, manutenção e recursos humanos para operar tudo isso, com a virtualização você faz seu hardware trabalhar e realmente “pagar” aquilo que ele consome em energia e manutenção, e lhe consumiu durante sua aquisição, além disso, dois servidores consumem muito menos do que dez! Outra característica que agrega valor à virtualização é a alta disponibilidade. Como praticamente em 80% dos ambientes virtualizados se tem storages, as máquinas virtuais ficam armazenadas no mesmo, e suas LUNs são compartilhadas entre os hosts, sendo assim, caso um host venha a cair, o outro assume as VMs que estavam no host que caiu.

Na virtualização, quem orquestra as VMs (Virtual Machines / Máquinas Virtuais), são os hypervisors, para um hypervisor, uma VM nada mais é do que um processo, e seu disco, é apenas um arquivo virtual. Alguns hypervisors permitem o “bypass” e criam acesso direto à disco ou LUN, conhecido como Raw Device Mapping (no VMware).

No próximo artigo falarei sobre os tipos de hypervisors e as diferenças entre eles.

Categorias:Uncategorized