O documento discute conceitos de virtualização, como permite executar múltiplos sistemas operacionais em uma única máquina através de máquinas virtuais. Também aborda os benefícios da virtualização como melhor aproveitamento dos recursos e redução de custos, além de apresentar diferentes métodos como o VMM e assistência por hardware.
3. Conceito
• Apesar de ser uma ideia antiga - seu surgimento se deu na
década de 1960, se propagando com mais força a partir de
1970
• A virtualização é extremamente importante para o mundo
cada vez mais "digital" de hoje.
• Podemos definir novos conceito como soluções
computacionais que permitem a execução de vários sistemas
operacionais e seus respectivos softwares a partir de uma
única máquina, seja ela um desktop convencional ou um
potente servidor.
• Cada máquina virtual se traduz em um ambiente
computacional completo: praticamente todos os recursos de
seu sistema operacional podem ser utilizados, é possível
conectá-las em rede, consegue-se instalar aplicativos, enfim.
6. Virtualização
• A organização que implementava um novo sistema se via obrigada a
adquirir um equipamento apenas para executá-lo, em vez de
simplesmente aproveitar o maquinário existente, deixando toda a
operação mais cara no final das contas.
• A virtualização conseguiu resolver este problema: pode-se aproveitar um
computador já existente para executar dois ou mais sistemas distintos, já
que cada um roda dentro de sua própria máquina virtual. Evita-se, assim,
gastos com novos equipamentos e aproveita-se os possíveis recursos
ociosos do computador.
• Nos dias de hoje, a virtualização permite, por exemplo, que uma empresa
execute vários serviços a partir de um único servidor ou até mesmo que
um usuário doméstico teste um sistema operacional em seu computador
antes de efetivamente instalá-lo. Do ponto de vista corporativo, seu uso
atual se destina a várias aplicações, como sistemas de ERP, serviços de
computação nas nuvens, ferramentas de simulação, entre muitos outros.
7. Benefícios da
virtualização
• Você já conhece algumas das vantagens da virtualização, mas a sua
utilização oferece vários outros benefícios. Os principais são
abordados a seguir:
• Melhor aproveitamento da infraestrutura existente: ao executar
vários serviços em um servidor ou conjunto de máquinas, por
exemplo, pode-se aproveitar a capacidade de processamento
destes equipamentos o mais próximo possível de sua totalidade;
• O parque de máquinas é menor: com o melhor aproveitamento
dos recursos já existentes, a necessidade de aquisição de novos
equipamentos diminui, assim como os consequentes gastos com
instalação, espaço físico, refrigeração, manutenção, consumo de
energia, entre outros. Imagine o impacto que esta vantagem pode
ter em um data center, por exemplo;
9. Benefícios da
virtualização
• Gerenciamento centralizado: dependendo da solução de
virtualização utilizada, fica mais fácil monitorar os serviços em
execução, já que o seu gerenciamento é feito de maneira
centralizada;
• Implementação mais rápida: dependendo da aplicação, a
virtualização pode permitir sua implementação mais rápida, uma
vez que a infraestrutura já está instalada;
• Uso de sistemas legados: pode-se manter em uso um sistema
legado, isto é, antigo, mas ainda essencial às atividades da
companhia, bastando destinar a ele uma máquina virtual
compatível com o seu ambiente;
• Diversidade de plataformas: pode-se ter uma grande diversidade
de plataformas e, assim, realizar testes de desempenho de
determinada aplicação em cada uma delas, por exemplo;
10. Benefícios da
virtualização
• Ambiente de testes: é possível avaliar um novo
sistema ou uma atualização antes de efetivamente
implementá-la, diminuindo significativamente os riscos
inerentes a procedimentos do tipo;
• Segurança e confiabilidade: como cada máquina
virtual funciona de maneira independente das outras,
um problema que surgir em uma delas - como uma
vulnerabilidade de segurança - não afetará as demais;
• Migração e ampliação mais fácil: mudar o serviço de
ambiente de virtualização é uma tarefa que pode ser
feita rapidamente, assim como a ampliação da
infraestrutura
11. Como a virtualização
funciona?
• Uma solução de virtualização é composta, essencialmente, por dois
"protagonistas": o hospedeiro (host) e o hóspede ou convidado (guest).
• Podemos entender o hospedeiro como sendo o sistema operacional que é
executado por uma máquina física. O hóspede, por sua vez, é o sistema
virtualizado que deve ser executado pelo hospedeiro. A virtualização
ocorre quando estes dois elementos existem.
• A forma como hospedeiro e hóspedes trabalham varia conforme a
solução.
• Em um método bastante comum há a figura do VMM (Virtual Machine
Monitor - Monitor de Máquina Virtual), que também pode ser chamado
de hypervisor: trata-se de uma espécie de plataforma implementada no
hospedeiro que recebe os sistemas a serem virtualizados, controlando os
seus recursos e mantendo-os "invisíveis" em relação aos outros.
• Para que possa fazer o seu trabalho, o VMM tem um tratamento
diferenciado: ele pode ser executado no "modo supervisor", enquanto
que programas comuns (aplicativos) rodam no "modo usuário".
13. Como a virtualização
funciona?
• No "modo supervisor", o software pode requisitar instruções que
lidam diretamente com certos recursos hardware, como
funcionalidades específicas do processador. No "modo usuário",
estes recursos mais críticos não podem ser acessados diretamente,
cabendo ao sistema operacional, que trabalha em "modo
supervisor", fazer uma espécie de intermediação quando
necessário.
• O VMM precisa ter acesso privilegiado porque cabe a ele alocar os
recursos a serem utilizados por cada máquina virtual sob sua
responsabilidade, assim como determinar a ordem pela qual cada
solicitação destas será atendida.
• O hóspede é executado em "modo usuário", mas como a máquina
virtual possui um sistema operacional, qualquer requisição de
instrução mais crítica solicitada por este é "interceptada" pelo
hypervisor, que se encarrega de fornecê-la.
14. Outros métodos de
virtualização
O VMM não é a única técnica de virtualização
que existe. Para que possa atender às mais
variadas necessidades, vários métodos foram (e
são) desenvolvidos. Entre os demais, tem-se o
Process Virtual Machine, o Operating System
Virtual Machine e a virtualização assistida por
hardware.
15. Process Virtual Machine
(Máquina Virtual de Processo)
• Neste método, a máquina virtual funciona como uma aplicação
qualquer rodando dentro do sistema operacional. Um dos exemplos
mais populares de máquinas virtuais do tipo é a linguagem de
programação Java: nela, quando um programa é compilado, um
código específico é gerado para ser executado por uma JVM (Java
Virtual Machine - Máquina Virtual Java).
• O Virtual Machine Monitor é uma camada de software diretamente
ligada ao hardware, por isso, permanece ativo durante todo o
tempo em que o computador permanecer ligado. No Process
Virtual Machine, a máquina virtual é tratada como um processo,
como o seu nome indica. Assim, assim quando a sua execução é
concluída, o ambiente da máquina virtual deixa de existir.
16. Operating System Virtual
Machine (Máquina Virtual de
Sistema Operacional)
• Aqui, a máquina física recebe um sistema operacional, mas
há a criação de vários ambientes virtuais sobre este. Cada
um destes ambientes tem acesso a determinados recursos,
como espaço em disco e quotas de processamento, mas
compartilham do mesmo kernel (núcleo, isto é, a parte
principal do sistema operacional). Normalmente, um
ambiente não sabe da existência do outro.
• Máquinas Virtuais de Sistema Operacional são bastante
utilizadas, por exemplo, em empresas de hospedagem de
sites: cada ambiente é oferecido a um cliente como se fosse
um sistema exclusivo, quando, na verdade, o servidor está
sendo compartilhado com vários outros usuários.
17. Hardware na
virtualização
• Até agora, lidamos com a virtualização como sendo uma variedade de
técnicas baseadas em software. Mas o hardware também pode ter
participação importante em soluções do tipo.
• Empresas como Intel e AMD, as maiores fabricantes de processadores do
mundo, desenvolveram (e desenvolvem) tecnologias que possibilitam aos
seus chips um trabalho aprimorado em soluções de máquinas virtuais,
especialmente no que diz respeito à virtualização total.
• No caso da Intel, muitos de seus processadores atuais contam a tecnologia
Intel Virtualization Technology (Intel VT), que consiste em um conjunto de
instruções aplicadas ao chip especialmente para tratar de tarefas de
virtualização. A AMD tem uma tecnologia equivalente (não há
compatibilidade de uma com a outra), de nome AMD Virtualization (AMD-
V).
• Entre os recursos oferecidos por estas tecnologias está a capacidade de
facilitar o trabalho de fazer com que o processador funcione como um
conjunto de chips, um para cada máquina virtual em uso.
18. VMware
• A VMware é uma empresa de origem norte-americana
especializada em virtualização. Seus produtos são
bastante conhecidos no mercado e atendem a
aplicações dos mais variados tamanho.
• Um deles - o produto de entrada, por assim dizer - é o
VMware Player, um software gratuito de virtualização
que permite ao usuário doméstico criar uma máquina
virtual para rodar outros sistemas operacionais no
Windows ou no Linux. Assim, pode-se estudar um
sistema, fazer testes de softwares, entre outros.