ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB CURSO DE

Transcrição

ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB CURSO DE
ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB
CURSO DE REDES DE COMPUTADORES
MÁRCIO DA SILVA KLAUCK
VIRTUALIZAÇÃO DE SISTEMAS: Implementação com o VMware no
Ambiente Servidor do Frigorífico Excelência
VILA VELHA – ES
2008
MÁRCIO DA SILVA KLAUCK
VIRTUALIZAÇÃO DE SISTEMAS: Implementação com o VMware no
Ambiente Servidor do Frigorífico Excelência
Monografia apresentada à ESAB-Escola
Superior Aberta do Brasil, sob a orientação do
Prof. Dr. Jaime Roy Doxsey, para conclusão do
Curso de Pós-Graduação Lato Sensu em
Redes de Computadores.
VILA VELHA – ES
2008
MÁRCIO DA SILVA KLAUCK
VIRTUALIZAÇÃO DE SISTEMAS: Implementação com o VMware no
Ambiente Servidor do Frigorífico Excelência
Aprovado em____ de ____________ de 200__.
________________________________
________________________________
________________________________
VILA VELHA – ES
2008
Dedico a Deus por me dar forças, e ser meu guia
durante toda esta trajetória...
Aos meus pais pelo incentivo e apoio continuo...
A minha esposa Cristiane por compreender os
diversos momentos em que tive de abdicar dela
o
tempo
necessário
desenvolvimento desta...
para
os
estudos
e
AGRADECIMENTO
A ESAB por oportunizar de forma competente a
continuidade de nossos estudos.
Ao meu Orientador, aos colegas de trabalho
Anderson e Douglas, por de uma forma ou de
outra
terem
partilhado
conhecimento
possibilitando o desenvolvimento desta.
A empresa Intercoop - Frigorífico Excelência por
incentivar aos seus colaboradores quanto a
importância da continuidade dos estudos.
RESUMO
No cotidiano atual das empresas, figura a filosofia da alta produtividade com grande
economia, sendo que o setor de TI (tecnologia da informação) se depara com o
“enigma” de investir e ao mesmo tempo economizar, ou seja, oferecer sempre as
melhores tecnologias, economizando ao máximo. Este cenário crítico impõe a busca
por tecnologias alternativas capazes de suprir as necessidades quanto a
desempenho e produtividade. O que tornou oportuno a utilização da tecnologia de
virtualização, a qual permite ao usuário de computador instalar e usar
simultaneamente mais de um sistema operacional na mesma máquina, gerando
mais produtividade ao ambiente, com menos gastos e investimentos em
manutenção e equipamentos.
Além dos tipos de virtualização se fez importante o estudo sobre outras tecnologias
como a paravirtualização, emulação e a abstração, pois possuem atuação
semelhante. Foram apresentados alguns tipos de máquinas virtuais e softwares
conhecidos como monitores de máquinas virtuais. Tendo como destaque o software
VMware visto em suas versões.
Conclui-se apresentando a implementação de sistemas virtuais com a instalação de
monitores VMware e a criação de máquinas virtuais no ambiente servidor do
Frigorífico excelência, bem como as vantagens, benefícios, dificuldades,
desempenho e pretensões futuras quanto ao uso desta tecnologia.
LISTA DE FIGURAS
Figura 01 - Modelo de multitarefa.............................................................. 03
Figura 02 - Modelo de Virtualização.......................................................... 03
Figura 03 - Modelo de Virtualização de Hardware..................................... 05
Figura 04 – Modelo de Virtualização do Sistema Operacional................... 06
Figura 05 – Modelo de Virtualização de Linguagens de Programação...... 06
Figura 06 – Representação do monitor de máquinas virtuais do tipo I...... 11
Figura 07 – Representação do monitor de máquinas virtuais do tipo II..... 12
Figura 08 – Exemplo de abstração............................................................ 15
Figura 09 – Exemplo de virtualização........................................................ 15
Figura 10 – Representação de Virtualização total..................................... 16
Figura 11 – Representação de Paravirtualização...................................... 17
Figura 12 – Servidores que não utilizam a técnica de virtualização.......... 20
Figura 13 – Servidor utilizando a técnica de virtualização......................... 20
Figura 14 – VMware Infrastructure Web Access…………………………… 32
Figura 15 – VMware-server-console.......................................................... 32
Figura 16 – Particionamento de Servidor físico......................................... 33
Figura 17 – Opções para criação de Máquinas Virtuais............................ 39
Figura 18 – Configurações para Máquinas Virtuais................................... 39
Figura 19 – Tela inicial para download do VMware Server....................... 41
Figura 20 – Tela de cadastro VMware Server........................................... 41
Figura 21 – Tela de opção de download do VMware Player..................... 42
Figura 22 –Versões do VMware Player..................................................... 42
Figura 23 – Cadastro para liberação de download do VMware Player..... 43
Figura 24 – Inicio da instalação do VMware Server.................................. 44
Figura 25 – Progresso da instalação do VMware Server.......................... 44
Figura 26 – Contrato de licença para uso do VMware Server................... 44
Figura 27 – Local para instalação do VMware Server............................... 44
Figura 28 – Configuração de Acesso via Web para o VMware Server...... 45
Figura 29 – Criação de atalhos no VMware Server................................... 45
Figura 30 – Inicio da instalação do VMware Server.................................. 45
Figura 31 – Preparando a instalação do VMware Server.......................... 45
Figura 32 – Inicio da cópia dos arquivos do VMware Server..................... 45
Figura 33 – Finalização da cópia dos arquivos do VMware Server........... 45
Figura 34 – Número serial para o VMware Server..................................... 46
Figura 35 – Finalizando a instalação do VMware Server........................... 46
Figura 36 – Inicio da instalação do VMware Player................................... 46
Figura 37 – Preparação para instalação do VMware Player...................... 46
Figura 38 – Local de instalação do VMware Player................................... 47
Figura 39 – Progresso da instalação do VMware Player
47
Figura 40 - Finalização da instalação do VMware Player
47
Figura 41 – Mensagem de Erro
48
Figura 42 – Escolha da Opção “1” para criação de Máquinas Virtuais
49
Figura 43 – Hardware Virtual Debian 4.03
49
Figura 44 – Hardware Virtual Ubuntu 8.04
49
Figura 45 – Configuração da Placa de Rede
50
Figura 46 – Configuração do CD-ROM e Disco
50
Figura 47 – Configuração USB, portas serial e paralela
50
Figura 48 – Arquivo com a Máquina Virtual
50
SUMÁRIO
1.0 - INTRODUÇÃO
01
2.0 – VIRTUALIZAÇÃO
03
2.1 – FORMAS DE VIRTUALIZAÇÃO
05
2.1.2 – Virtualização do Hardware
05
2.1.3 – Virtualização do Sistema Operacional
06
2.1.4 – Virtualização de Linguagens de Programação
06
2.2 – BENEFÍCIOS DA VIRTUALIZAÇÃO
07
2.2.1 – Particionamento
07
2.2.2 – Isolamento
07
2.2.3 – Encapsulamento
08
2.3 – DESVANTAGENS DA VIRTUALIZAÇÃO
08
3. 0 – MÁQUINA VIRTUAL
09
3.1 – MÁQUINA REAL
10
3.2 – MONITORES DE MÁQUINAS VIRTUAIS
10
3.2.1 – Tipos de Monitores de Máquinas Virtuais
11
3.2.2 – Monitor de Máquinas virtuais clássicas ou de Tipo I
11
3.2.3 – Monitor de Máquinas virtuais Hospedadas ou de Tipo II
12
4.0 – TÉCNICAS DE EMULAÇÃO, ABSTRAÇÃO, VIRTUALIZAÇÃO TOTAL E
PARAVIRTUALIZAÇÃO
14
4.1 – EMULAÇÃO
14
4.2 – ABSTRAÇÃO
15
4.3 – VIRTUALIZAÇÃO TOTAL
15
4.4 – PARAVIRTUALIZAÇÃO
16
5.0 - POR QUE IMPLEMENTAR A VIRTUALIZAÇÃO
18
5.1 – CONSOLIDAÇÃO DE SERVIDORES
18
5.1.2 – Consolidação na forma aplicada
20
6.0 – ALGUNS SOFTWARES PARA VIRTUALIZAÇÃO
24
6.1 – VIRTUAL SERVER E VIRTUAL PC
24
6.2 – VIRTUALBOX
25
6.3 – XEN
26
6.4 – VMWARE
27
6.4.1 – VMware ESX Server
29
6.4.1.1 - Virtualização de CPU
30
6.4.1.2 - Virtualização de memória
30
6.4.1.3 - Virtualização de disco
31
6.4.1.4 - Virtualização de rede
31
6.4.2 – VMware Server
32
6.4.2.1 - Vantagens do VMware Server
34
6.4.2.2 – Desvantagens
35
6.4.3 - VMware Workstation
35
6.4.4 - VMware Player
36
6.4.5 - VMware Infrastructure
36
7.0 – A PROPOSTA DESTE TRABALHO
37
7.1 – FONTES DE PESQUISA
38
7.2 – FERRAMENTAS UTILIZADAS
38
8.0 – IMPLEMENTAÇÃO
40
8.1 – OBTENDO OS SOFTWARES WMWARE SERVER E PLAYER
40
8.2 – INSTALANDO OS SOFTWARES WMWARE SERVER E PLAYER
43
8.3 – DIFICULDADES NA INSTALAÇÃO DOS SOFTWARES
47
8.3.1 – Mudança de Estratégia
48
8.4 – CRIANDO MÁQUINAS VIRTUAIS
49
8.5 – INSTALAÇÃO DOS SISTEMAS
51
8.5.1 – Dificuldades
51
8.5.2 – Desempenho
52
8.5.3 – Benefícios
52
8.5.4 – Pretensões Futuras
53
9.0 – CONCLUSÃO
54
REFERÊNCIAS BIBLIOGRAFIAS
55
1
1.0 - INTRODUÇÃO
As primeiras máquinas virtuais surgiram no inicio dos anos 60, permitindo o
particionamento de grandes mainframes, um recurso para poucos, pois era
extremamente custoso. Após alguns anos, microcomputadores e PC’s (Personal
Computer’s) tornaram–se mais eficientes e passaram a distribuir o poder de
processamento satisfatoriamente, fazendo com que a virtualização fica-se de “lado”.
Nos anos 90, pesquisadores começaram a enxergar a virtualização como
uma alternativa a resolver alguns dos problemas associados à proliferação de
hardware mais baratos, incluindo subutilização, custos de gerenciamento e
vulnerabilidades.
A virtualização tem ganhado terreno na empresas e surge como uma ótima
forma de consolidação do parque de servidores, pois é um recurso que utilizando
softwares monitores permite a execução simultânea de múltiplas máquinas virtuais
com sistemas operacionais heterogêneos, em uma única plataforma de hardware.
Possibilitando a cada máquina virtual ter seu próprio hardware virtual (por exemplo:
memória ram, disco rígido, placa de rede, etc.), sobre um sistema operacional
existente ou mesmo diretamente no hardware físico da máquina. Através de alguns
desses softwares monitores é possível configurar e até re-configurar máquinas
virtuais, possibilitando um controle e gerenciamento total sobre os sistemas
virtualizados. Além da virtualização existem outras técnicas semelhantes, como a
paravirtualização, emulação, abstração e a própria virtualização total.
Apoiado neste contexto, este trabalho fornecer subsídios quanto ao
conhecimento sobre o conceito de virtualização, algumas formas de virtualização,
algumas vantagens, desvantagens, o que são máquinas virtuais, máquinas reais,
monitores de máquinas virtuais, tipos de monitores, por que implementar a
virtualização, a consolidação de servidores, os softwares monitores para
virtualização Virtual Server e Virtual PC, VirtualBox e VMware, além do Xen utilizado
na paravirtualização. Algumas versões do VMware com suas vantagens e
desvantagens, fechando a primeira parte do trabalho.
Na segunda parte chegamos a proposta do trabalho, onde objetiva-se
acompanhar os passos necessários para a virtualização de sistemas utilizando o
VMware no ambiente servidor do Frigorífico Excelência, bem como as fontes de
2
pesquisa utilizadas, ferramentas, os processos de instalação e aquisição das
softwares VMware Server e VMware Player, as dificuldades encontradas, a
necessidade de uma mudança de estratégia, a instalação dos sistemas, os
benefícios, o desempenho e as pretensões quanto a instalações futuras.
3
2.0 – VIRTUALIZAÇÃO
Várias pessoas confundem virtualização com multitarefa. Na multitarefa,
existe um único sistema operacional e vários programas trabalhando em paralelo.
Na virtualização você pode ter vários sistemas operacionais trabalhando em
paralelo, cada um com diversas aplicações distintas em execução. Cada sistema
operacional roda em um processador virtual, ou seja, em uma máquina virtual. É a
forma de dividir os recursos de um computador em múltiplos ambientes de
execução.
As figuras abaixo mostram o funcionamento de um sistema operacional
modelo multitarefa (figura 01) e modelo de virtualização (figura 02):
Figura 01 – Modelo de multitarefa.
Figura 02 – Modelo de Virtualização
A virtualização permite que instâncias do sistema operacional sejam
executadas simultaneamente em um único computador. É uma forma de abstrair o
hardware de um único sistema operacional, sendo a interposição do software
(máquina virtual) em várias camadas do sistema. A tecnologia de virtualização cria
uma espécie de “camada” de software capaz de acessar o hardware físico e simulalo, desta forma permite com que vários sistemas operacionais de diferentes
plataformas compartilhem do mesmo hardware simultaneamente.
4
A projeção de hardware e software é definida por Laureano (2006, p. 16)
como independente, pois:
Normalmente os projetistas de hardware, sistemas operacional e aplicações
trabalham de forma independente (em empresas e tempos diferentes).
Esses trabalhos independentes geraram, ao longo dos anos, várias
plataformas operacionais diferentes (e não compatíveis entre si).
(LAUREANO, 2006, p. 16)
Todos os sistemas operacionais “convidados” são gerenciados por um VMM
(Virtual Machine Monitor), também conhecido como hypervisor ou monitor. Como o
ambiente de virtualização fica entre o convidado (guest) e o hardware, consegue
controlar o uso da CPU, da memória e armazenamento pelos convidados, e até
mesmo permitir que o sistema operacional de um convidado migre de uma máquina
para outra.
Estações de trabalho virtualizadas permitem que desenvolvedores hospedem
sucessivas interações de uma pilha de software, incluído a versão de produção, em
separadas partições da mesma plataforma. Isso pode aumentar a utilização de
hardware e simplificando o ciclo de vida gerencial. Novas e atualizações de um
produto podem ser testadas na mesma plataforma de produção sem interromper o
meio produtivo, eliminando a custosa necessidade de duplicação do meio.
A virtualização muda o conceito sobre população e gerenciamento de
servidores, fornecendo mais opções que podem ajudar a diminuir custos e riscos,
melhorando a continuidade de negócios e aumentando a eficiência de TI e agilidade
de negócios.
Apesar de ver e tocar apenas um servidor físico pode-se ter vários servidores
consolidados internamente em um único hardware. Quanto à limitação ao número de
máquinas virtuais a serem instaladas em um servidor, pode-se compartilhar um
conjunto de recursos apenas até que eles se esgotem ou que as partes não
ofereçam capacidade suficiente. A única restrição para o número de máquinas
virtuais é definida pelos limites de memória, espaço em disco e poder de
processamento da CPU. Qualquer computador que espera hospedar uma ou mais
máquinas virtuais deve possuir recursos não apenas para o hospedeiro como
também para acomodar os sistemas convidados. Cabe destacar, que se o servidor
não tem grande volume de espaço em disco, não poderá oferecer aos sistemas
operacionais convidados recursos de armazenamento adequados. O mesmo vale
para as memórias e demais periféricos, se o computador hospedeiro não apresenta
5
memória RAM ou capacidade de processamento suficiente, o sistema operacional
convidado sofrerá com baixo desempenho.
2.1 – FORMAS DE VIRTUALIZAÇÃO
Para Laureano (2006), existem três formas de virtualização: a virtualização do
hardware, a virtualização do sistema operacional e a virtualização de linguagens de
programação.
2.1.2 – Virtualização do Hardware
Este tipo de virtualização simula a existência de um sistema (hardware) físico
virtual a partir de sistema (hardware) real. Este modelo foi adotado na década de
1960 para o VM/370 nos mainframes IBM, e é utilizada pelo VMware na plataforma
x86.
Aplicação
Aplicação
Sistema Operacional (Linux, Windows, Unix)
CPU, RAM, dispositivos de E/S - Virtual
Máquina Virtual
Sistema Operacional (Linux, Windows, Unix)
- Real
CPU, RAM, dispositivos de E/S - Real
Figura 03 – Modelo de Virtualização de Hardware
6
2.1.3 – Virtualização do Sistema Operacional
Neste a máquina virtual roda aplicações – ou um conjunto de aplicações – de
um sistema operacional especifico. O FreeBSD Jail e o User Mode Linux utilizam
essa tecnologia.
Aplicação
Aplicação
Sistema Operacional (Linux, Windows, Unix)
Máquina Virtual
Sistema Operacional (Linux, Windows, Unix) - Real
CPU, RAM, dispositivos de E/S - Real
Figura 04 – Modelo de Virtualização do Sistema Operacional
2.1.4 – Virtualização de Linguagens de Programação
Nessa categoria as máquinas virtuais atendem uma finalidade especifica, ou
seja, cria-se uma aplicação a ser executada através da máquina virtual que por sua
vez executa diretamente no sistema operacional do hardware hospedeiro. Como
exemplo de tipo de máquina virtual temos o Java e Smalltalk.
Aplicação
Máquina Virtual
Sistema Operacional (Linux, Windows,
CPU, RAM, dispositivos de E/S - Real
Figura 05 – Modelo de Virtualização de Linguagens de Programação
7
2.2 – BENEFÍCIOS DA VIRTUALIZAÇÃO
A virtualização de servidores e máquinas proporciona às empresas a
consolidação de servidores, que consiste em centralizar ou diminuir o número de
equipamentos e aplicações instaladas em cada um dos servidores de uma
organização, com o objetivo de aumentar a produtividade da infra-estrutura,
melhorar o gerenciamento do ambiente, aumentar a segurança diminuir a
manutenção e economizar em recursos humanos, físicos e financeiros.
Segundo Viana (2008) a criação de ambientes virtuais proporciona diversas
vantagens e benefícios que podem ser utilizadas na segurança de sistemas e outras
aplicações, destacando-se o Particionamento, Isolamento e o Encapsulamento.
2.2.1 - Particionamento:
- Múltiplas aplicações e sistemas operacionais podem ser executados em um
único sistema físico.
- Servidores podem ser consolidados em máquinas virtuais, escalando
arquiteturas.
- Recursos computacionais são tratados em uma política uniforme para que
sejam alocadas máquinas virtuais de maneira controlada.
Para Laureano (2006) essa propriedade garante que um software em
execução em uma máquina virtual não acesse nem modifique outro software em
execução em outra máquina virtual.
2.2.2 - Isolamento:
- Ambientes virtuais (máquinas virtuais convidadas) são completamente
isoladas da máquina hospedeira e de outras máquinas virtuais. Se um ambiente
virtual (máquina virtual) tem problemas, todas as outras não são afetadas.
8
- Dados não vazam entre ambientes virtuais e podem somente se comunicar
em conexões de rede configuradas.
Segundo Viana (2008), a camada de virtualização pode ser usada para
manipular e controlar a execução do software na máquina virtual.
2.2.3- Encapsulamento:
- Um completo ambiente de máquina virtual é salvo em um simples arquivo,
fácil de fazer backup, de ser movido e copiado.
- Padronização de hardware virtualizado é fornecida para a aplicação,
garantindo compatibilidade.
De acordo com Viana (2008), o encapsulamento fornece outra propriedade,
que é o encapsulamento de estado, que salva o estado de funcionamento atual da
máquina virtual, para posterior restauração.
2.3 – DESVANTAGENS DA VIRTUALIZAÇÃO
Segundo Laureano (2006), a principal desvantagem da virtualização é o custo
adicional para a execução dos processos, uma vez que a máquina virtual utiliza
recursos de hardware da plataforma real em uma plataforma virtual, ou seja, pode
ocorrer pequena perda de performance das aplicações dependendo do hardware
utilizado. Muitas vezes o consumo de memória elevado, exige melhoramentos nas
configurações do hardware existente, ou até a substituição do mesmo.
9
3. 0 – MÁQUINA VIRTUAL
Descrito na década de 1960 o termo máquina virtual permaneceu pouco
conhecido até a metade dos anos 90, quando o termo ressurgiu, sobretudo com o
aparecimento
de
aplicações
voltadas
para
virtualização
de
recursos
nos
microcomputadores PC (Personal Computer) de plataforma Intel (arquitetura x86).
Uma máquina virtual é um ambiente criado por um monitor de máquina virtual
(Virtual Machine Monitor – VMM), também denominado “sistema operacional para
sistemas operacionais”, com o objetivo de possibilitar a virtualização de sistemas
operacionais e aplicativos sobre uma única máquina real.
Máquina Virtual é definida por Lopes (2006, p. 126) como:
Uma máquina virtual é um espaço virtual isolado com acesso ao hardware,
onde funciona um sistema virtual. Máquina virtual (em inglês, Virtual
Machine – VM) é o termo a que nos referimos quando estamos trabalhando
com sistemas virtuais executando em uma máquina real.
Máquinas virtuais são encapsuladas em arquivos, as tornando fácil de serem
salvas, copiadas e de se prover uma máquina virtual. Sistemas completos (com
aplicações totalmente configuradas, sistema operacional, BIOS e hardware virtual)
podem ser movidos, em questão de minutos, de um servidor físico a outro para
manutenção em tempo mínimo, evitando transtornos e possível paralisação das
atividades.
Por definição Laureano (2006, p.17) afirma que:
Uma máquina virtual (Virtual Machine – VM) pode ser definida como “uma
duplicata eficiente e isolada de uma máquina real”. A IBM define uma
máquina virtual como uma cópia isolada de um sistema físico, e essa cópia
está totalmente protegida.
Cada instância de sistema operacional é chamada de Virtual Machine (VM) e
roda em sua própria partição. O software de virtualização, chamado Virtual Machine
Monitor (VMM), gerencia requisições e atividades do sistema operacional (SO),
mudando o controle do hardware para cada SO requisitado.
Partições separadas isolam falhas ou ataques de software para uma única
VM, mantendo um alto nível de segurança e disponibilidade do meio virtual. A
virtualização isola os sistemas operacionais e seus aplicativos de recursos de
plataforma de hardware, dando o controle de cada partição, deixando que se pare
ou reinicie qualquer VM sem afetar outras atividades na plataforma. VM podem ser
10
duplicadas em um único servidor para recuperação em caso de alguma instância do
aplicativo falhar, possibilitando maior continuidade de negócios em menos
plataformas e por menor custo.
3.1 - MÁQUINA REAL
Uma Máquina real é formada segundo Laureano (2006, p.17):
Uma máquina real é formada por vários componentes físicos que fornecem
operações para o sistema operacional e suas aplicações. “A funcionalidade
e o nível de abstração de uma máquina virtual encontram-se em uma
posição intermediária entre uma máquina real e um emulador, de forma que
os recursos de hardware e de controle são abstraídos e usados pelas
aplicações.
Em ambientes virtualizados as máquinas virtuais simulam uma réplica física
de uma máquina real. Dispositivos adicionais como drives de disquetes, CD-ROM e
dispositivos USB (Universal Serial Bus) também podem ser compartilhados entre as
máquinas virtuais e o sistema anfitrião (também chamado de sistema host). Os
usuários têm a ilusão de que o sistema está disponível para seu uso exclusivo.
Embora as funcionalidades das diversas máquinas virtuais sejam diferentes, todos
compartilham de atributos comuns (ROSEMBLUM, 2007) como:
Compatibilidade do software: a máquina virtual fornece uma abstração
compatível de modo que todo o software escrito para ela funcione.
Isolamento: garante que os softwares executados em cada uma das
máquinas virtuais e os da máquina real estejam totalmente isolados entre si.
Desempenho: adicionar uma camada de software a um sistema pode afetar o
desempenho do software que funciona na máquina virtual, mas os benefícios
de uso de sistemas virtuais devem compensar.
3.2 – MONITORES DE MÁQUINAS VIRTUAIS
As soluções de combinação entre hardware e software não são um conceito
novo e suas origens remetem ao início da história dos computadores nos anos 60,
11
nas máquinas VM/370 da IBM. Na solução de hardware e software há uma
cooperação entre um software virtualizador (conhecido como monitor) e que faz o
papel principal com o hardware, cujo qual fornece partes chaves do processo.
Na virtualização totalmente baseada em software, não é preciso um hardware
provendo recursos para suportá-la, ao invés disso, é o software virtualizador
(conhecido como monitor) que provê totalmente os recursos no processo. Essa
tecnologia tem como vantagens o baixo custo de implementação e a portabilidade
entre plataformas. São exemplos dessas tecnologias: VMWare, VirtualBox, Microsoft
Virtual Server e Virtual PC, Xen, Solaris Zones, FreeBSD, Jails e outras.
3.2.1 – Tipos de Monitores de Máquinas Virtuais
Para a construção de monitores de máquinas virtuais, existem duas abordagens:
Monitor de Máquinas virtuais clássicas ou de Tipo I
Monitor de Máquinas virtuais hospedadas ou de Tipo II.
3.2.2 – Monitor de Máquinas virtuais clássicas ou de Tipo I
Nesta abordagem o monitor de máquinas virtuais é implementado entre o
hardware e os sistemas convidados (também chamados de sistemas guest ou guest
systems).
Aplicação
Aplicação
Convidado
Convidado
Monitor de Máquinas Virtuais
CPU, RAM, dispositivos de E/S (Hardware) - Real
Figura 06 – Representação do monitor de máquinas virtuais do tipo I
12
O monitor possui controle sobre o hardware e cria um ambiente de máquinas
virtuais dando a cada máquina virtual o comportamento de uma máquina física,
podendo executar sobre esses ambientes, sistemas operacionais iguais ou
diferentes, totalmente isolados entre si.
Um monitor deste tipo executa com a maior prioridade sobre os sistemas convidados
de forma que ele pode interceptar e emular todas as operações que acessam ou
manipulam os recursos de hardware provenientes dos sistemas convidados.
3.2.3 – Monitor de Máquinas virtuais Hospedadas ou de Tipo II
Nesta abordagem o monitor é implementado como um processo de um
sistema operacional “real” subjacente, denominado sistema anfitrião (host ou host
system).
O monitor do tipo II funciona de forma análoga ao de tipo I, com a diferença
que ele é executado sobre o sistema operacional anfitrião (host), como um processo
deste, ou seja, um sistema convidado. Neste modelo o monitor simula todas as
operações que o sistema anfitrião controlaria.
Aplicação
Aplicação
Convidado
Convidado
Monitor de Máquinas
Virtuais
Aplicação
Sistema Anfitrião (Host)
CPU, RAM, dispositivos de E/S (Hardware) Real
Figura 07 – Representação do monitor de máquinas virtuais do tipo II
13
Cabe destacar que os monitores de tipo I e tipo II raramente são projetados
em sua forma conceitual, pois muitos desenvolvedores de produtos para esta
tecnologia inserem otimizações para aumentar o desempenho dos sistemas
convidados.
Em monitores de tipo I:
O sistema convidado acessa diretamente o hardware. Neste processo, é
necessário que sejam feitas alterações no sistema operacional para que suporte a
otimização.
Em monitores de tipo II:
O sistema convidado acessa diretamente o sistema anfitrião. Nessa
otimização, o monitor permite que sejam acessadas certas API (Application
Programming Interface - Interface de Programação das Aplicações) do sistema
anfitrião pelo sistema convidado.
O sistema convidado acessa diretamente o hardware. Essa otimização é
conseguida quando o monitor permite o acesso direto a drivers de dispositivo do
sistema anfitrião.
O monitor acessa diretamente o hardware. Nessa otimização o monitor tem
seus próprios drivers de dispositivos acessando o hardware com uma interface
própria (de baixo nível).
14
4.0 – TÉCNICAS DE EMULAÇÃO, ABSTRAÇÃO, VIRTUALIZAÇÃO
TOTAL E PARAVIRTUALIZAÇÃO
4.1 – EMULAÇÃO
É importante salientar que os termos virtualização e emulação de sistemas
apesar de parecerem referir-se ao mesmo tema, na verdade possuem grandes
diferenças.
Um emulador é um agente escrito para tornar possível a interação entre dois
sistemas distintos e incompatíveis entre si (os quais podem ser um software e um
hardware, ou um software e outro software). Para isto, o emulador “traduz” as
instruções entre um sistema e outro, intermediando o processo.
Um emulador é definido por Laureano (2006, p.18) como:
Um emulador é o oposto da máquina real. O emulador implementa todas as
instruções realizadas pela máquina real em um ambiente abstrato de
software, possibilitando executar um aplicativo de uma plataforma em outra,
por exemplo, um aplicativo do Windows sendo executado no Linux ou um
aplicativo i386 sendo executado em uma plataforma Sparc.
Um emulador “engana”, fazendo com que todas as operações da máquina
real sejam implementadas em um software.
Já a virtualização, por sua vez, utiliza a emulação e outras técnicas para
oferecer um conjunto completo de recursos, com o objetivo de permitir que vários
sistemas executem sobre uma mesma plataforma visando o máximo de
desempenho.
O foco da emulação é fazer um sistema executar totalmente sobre outro para
o qual não foi originalmente construído, mesmo que isto cause uma perda de
desempenho. De um modo contrário, a virtualização preocupa-se sempre com o
desempenho e executa o sistema virtual diretamente no hardware quando possível,
através de uma máquina virtual.
15
4.2 – ABSTRAÇÃO
Embora a virtualização seja descrita como uma abstração em software existe uma
diferença entre os termos abstração e virtualização.
Segundo Laureano (2006) a abstração é uma forma simples de prover alguns
recursos específicos de hardware para software, enquanto a virtualização provê um
conjunto completo de recursos.
A abstração permite que softwares acessem os arquivos do sistema
operacional anfitrião (host) para operações específicas e simples. A virtualização
fornece para o software um sistema de arquivos (disco virtual) montado sobre
arquivos do sistema operacional anfitrião (host), e nesse caso, é possível realizar
operações mais complexas.
Software
Software
Disco Virtual
Arquivos no Sistema Operacional
Anfitrião
Virtualização
Abstração
Disco Real
Figuras 08 – Exemplo de abstração
Arquivos no Sistema Operacional
Anfitrião
Disco Real
Figura 09 – Exemplo de Virtualização
4.3 – VIRTUALIZAÇÃO TOTAL
Nesta técnica uma estrutura completa de hardware é virtualizada, ou seja,
cria-se um hardware virtual com as mesmas características do real, desta forma o
sistema a ser virtualizado (sistema convidado) não precisa sofrer qualquer tipo de
alteração.
16
Sistema convidado
(sem modificações)
Sistema convidado
(sem modificações)
Hardware x86 (Virtual)
Monitor de Máquinas virtuais
Hardware x86 (CPU, memória RAM,
dispositivos de E/S)
Figura 10:
Representação da virtualização total
Como maior benefício nesta técnica é justamente o fato de o sistema a ser
virtualizado não sofrer alteração alguma, porém é importante ressaltar que o mesmo
executa de forma mais lenta e o monitor de máquinas virtuais precisa implementar
alternativas para que as operações privilegiadas possam ser executadas em
processadores que não suportem a virtualização nativamente. Vale destacar ainda,
que a partir do uso desta técnica é possível encontrar diversas formas “genéricas”
de virtualização.
4.4 – PARAVIRTUALIZAÇÃO
Paravirtualização é uma técnica que apresenta uma interface de software
para máquinas virtuais que é similar (mas não idêntica) à subcamada de hardware.
Permite que máquinas virtuais específicas comuniquem-se diretamente com o
hardware. Ao invés de todas as máquinas virtuais se comunicarem com o sistema
anfitrião, é a máquina privilegiada que gerencia a interação e recebe as chamadas
passadas pelos outros sistemas virtuais. Esta capacidade minimiza os custos
adicionais em processamento ou armazenamento (fator significativo no desempenho
dos sistemas de computação) e otimiza o desempenho do sistema para suportar a
virtualização.
Na Paravirtualização, “[...] o sistema a ser virtualizado (sistema convidado) sofre
modificações para que a interação com o monitor de máquinas virtuais seja mais
eficiente” (LAUREANO, 2006, p.30).
17
O maior inconveniente da paravirtualização é a necessidade de que o sistema
operacional convidado seja previamente adaptado (modificado), o que diminui a
portabilidade do sistema, em contrapartida a performance obtida valoriza a utilização
da paravirtualização. O sistema convidado pode acessar diretamente o hardware,
sendo que este processo é totalmente gerenciado pelo monitor de máquinas virtuais.
Esta técnica é utilizada pelo monitor Xen, por exemplo.
Sistema convidado
paravirtualizado
(com
modificações)
Sistema convidado
paravirtualizado
(com
modificações)
Monitor de máquinas virtuais
Hardware x86 (disco, CPU, dispositivos de
E/S)
Figura 11:
Representação de paravirtualização
18
5.0 - POR QUE IMPLEMENTAR A VIRTUALIZAÇÃO
Há décadas, muitas empresas investem pesado em novos aplicativos de
negócios e infra-estrutura de TI. Em toda a empresa, houve uma proliferação de
servidores e armazenamento de e-mails, banco de dados na Web, arquivos e
impressões, controladores de domínio, servidores de diretório e outros aplicativos.
Com a virtualização, não há o limite de executar somente um sistema
operacional em um servidor ou estação de trabalho. É possível consolidar facilmente
múltiplas plataformas rodando diferentes sistemas operacionais e aplicações
heterogêneas em uma única poderosa e confiável plataforma. Desta forma há uma
redução no número de sistemas a serem gerenciados para a mesma tarefa e
operação, contribuindo na economia de energia elétrica e custos sobre hardware.
Em vez da utilização de vários equipamentos com seus respectivos sistemas
operacionais, utiliza-se somente um computador com diferentes máquinas virtuais
abrigando os vários sistemas operacionais, suas aplicações e serviços.
De acordo com Tanebaum & Woodhull (2000) como tudo o que se refere a
computadores, os sistemas operacionais evoluem a passos largos. É essa evolução
que abre caminho para aplicativos mais poderosos e tem aumentado dia-a-dia a
presença de computadores em nossas vidas.
5.1 – CONSOLIDAÇÃO DE SERVIDORES
Diante deste contexto chamado “Virtualização” torna-se oportuno o assunto
“Consolidação de Servidores”, principalmente no meio empresarial, pois é uma
excelente alternativa para redução de custos no ambiente de TI (tecnologia da
informação).
Atualmente as empresas estão cada vez mais buscando produtividade e
redução de custos, aliado a estes fatores inclui-se a centralização e diminuição do
número de servidores físicos em suas instalações, processo conhecido como
consolidação de servidores. Esta técnica proporciona ao ambiente servidor de uma
empresa o aumento de produtividade da infra-estrutura, um melhor gerenciamento
19
do ambiente, aumento na segurança, redução da manutenção, economia em
recursos humanos, físicos e financeiros.
Partimos do pressuposto de uma situação que se necessita disponibilizar
serviços em vários servidores diferentes, sendo que cada servidor teria conforme o
serviço, determinada quantidade de memória e espaço em disco. Devemos
considerar também que grande parte do tempo estes servidores ficarão ociosos ou
seu uso cai consideravelmente em determinados horários. Todos os servidores
devem ficar disponíveis em uma rede, porém precisam ter certo nível de segurança.
Esse cenário tradicionalmente exigiria um grande investimento na infra-estrutura –
aquisição de servidores, espaço físico, rede, energia elétrica, manutenção da redes
e equipamentos, administração dos diversos sistemas, serviços e a contratação de
funcionários.
Nesses casos a virtualização é uma grande alternativa, pois, ao invés de
possuirmos vários servidores físicos, podemos possuir apenas alguns ou mesmo
somente um, reduzindo consideravelmente a complexidade. Podendo ainda, obter
um melhor aproveitamento dos recursos computacionais, com a subtração do custo
total de propriedade, do custo operacional, e do consumo de energia elétrica (fator
impactante no meio ambiente), além da redução do número de servidores físicos e
do espaço físico necessário para abrigá-los, garantindo vantagens como economia
em administração, manutenção e refrigeração dos equipamentos. A capacidade de
executar softwares de diferentes sistemas operacionais num mesmo hardware reduz
o “desperdício” da capacidade de processamento que ocorre freqüentemente nos
servidores em determinados horários ou dias do mês. A administração facilitada é
outro benefício agregado e de grande importância no projeto de consolidação de
servidores. Nesta técnica, os sistemas operacionais são abrigados em máquinas
virtuais e cada máquina virtual geralmente é armazenada no disco da máquina física
como um arquivo único, tornando extremamente prático, por exemplo, operações de
backup, mudança de máquinas virtuais de um servidor físico para outro, inclusão de
cópias de sistemas e praticidade no teste de novos sistemas. Alguns monitores de
máquinas virtuais (como o VMware e o Xen) já possuem scripts automatizados de
backup e mudança de máquina virtual de servidor.
As empresas que consolidarem seu parque de servidores poderão desfrutar
de todas estas vantagens e ainda aproveitar os seus equipamentos “encostados”
20
para outras finalidades. Por exemplo, utilizá-los como mecanismos adicionais de
segurança de seus sistemas, de backup e até como reserva de hardware.
5.1.2 – Consolidação na forma aplicada
Na virtualização de um servidor, ele é “subdividido” em máquinas virtuais e
cada máquina virtual tem sua própria CPU virtualizada, memória, placa de rede e
espaço em disco, podendo compartilhar outros dispositivos anexados à plataforma
física, como mídias de CD-ROM, disquete e até conexões USB.
Nas figuras a seguir observamos a representação da estrutura de servidores que
não utilizam a técnica de virtualização e servidores que utilizam.
Figura 12 - Servidores que não utilizam a técnica de virtualização
Figura 13 - Servidor utilizando a técnica de virtualização
21
Podemos verificar através da figura (13) que com a técnica de virtualização é
possível um servidor fazer o trabalho de três, pois o mesmo poderia hospedar vários
sistemas virtuais (convidados ou guest) sobre o seu sistema real (hospedeiro ou
host).
Segundo a Intel (2008), para implementarmos uma consolidação de servidores,
primeiramente devemos considerar alguns pontos chaves:
Avaliar os processos e as aplicações críticas. Onde aumentando o nível dos
serviços, aumentariam os resultados;
Verificar quais servidores são subutilizados e que poderiam compartilhar
recursos. Muitos servidores web e de e-mails funcionam na maioria do tempo
abaixo de 10% de utilização. Esses são ótimos candidatos a uma
consolidação.
Algumas aplicações são más candidatas à consolidação. Nesta classificação
estão enquadradas as aplicações de alta performance que utilizam o servidor
na maior parte do tempo (ex: analisadores de grandes massas de dados),
bem como, os de missão crítica ou de performance crítica, em que qualquer
contenção de recursos poderia impactar negativamente nos resultados.
Deve-se proceder a seguinte metodologia para cálculo de capacidade:
Fazer um histórico dos dados das aplicações a serem consolidadas,
capturando dados como consultas, uso de memória, entrada e saída,
armazenamento ou qualquer outra informação relevante, em um ciclo de um
dia, um mês, um ano etc.
Usando este histórico, deve-se mapear padrões de uso para descobrir
aplicações que poderiam funcionar juntas, e combinando aplicações de picos
em horários diferentes.
Somar todos os picos de carga de trabalho de todos os serviços e aplicações
a serem consolidadas para determinar os requisitos de capacidade
computacionais necessárias (CPU, memória, disco, operações de entrada e
saída etc.).
Acrescentar uma margem de crescimento projetada para os próximos seis
meses, dois anos ou eventual substituição de equipamentos (por exemplo:
devido ao término de suas vidas úteis).
22
Caso haja políticas institucionais de utilização de servidores (por exemplo:
nenhum servidor deveria estar funcionando normalmente acima de 80% da
capacidade), deve-se adicionar também esta margem de segurança.
Por
fim,
deve-se
considerar
no
cálculo
os
custos
adicionais
em
processamento ou armazenamento gerados com o uso da técnica de
virtualização.
Após este estudo, pode-se realizar a consolidação das aplicações em sua
forma prática, consolidando aplicações de menor escala e, na medida em que se
obtém êxito, proceder para aplicações de maior escala. Ao final de cada trabalho,
deve-se utilizar técnicas de medição de carga de trabalho para uma análise do
sucesso obtido.
Fatores como a segurança são de extrema importância, principalmente no
tocante a servidores, pois quando ocorrem vulnerabilidades torna-se extremamente
custoso para a instituição. A virtualização é uma poderosa ferramenta na prevenção
contra ameaças de segurança, na medida em que evita custos com interrupção de
serviços e perda de dados. Outro grande benefício é o isolamento de processos em
máquinas virtuais, pois é possível isolar aplicações de alto risco de aplicações
potencialmente vulneráveis, elevando a proteção contra aplicações maliciosas,
aumentando a dificuldade das mesmas acessarem dados, ou afetarem processos
que estejam sendo executados em outras máquinas virtuais. Isolando falhas,
previne-se que uma aplicação em mau funcionamento comprometa todo o sistema,
por exemplo, aplicações que fazem conexões externas, através da internet, podem
ser confinadas em máquinas virtuais independentes, mantendo-as separadas do
sistema operacional anfitrião. Podendo ainda, serem definidos, privilégios limitados a
usuários ou as próprias aplicações convidadas em um ambiente que pode ser
seguramente “deletado” quando o serviço for concluído. Se algumas destas
máquinas virtuais estiverem comprometidas, somente seria necessário descartar as
defeituosas e criar novas, ou recuperar cópias de segurança (backup), sem afetar
outras aplicações que estejam executando no mesmo sistema anfitrião (host).
A virtualização permite que administradores possam suspender, reiniciar e
migrar máquinas virtuais, ajudando a suavizar efeitos de ataques e falhas em
aplicações, ou até mesmo falhas em hardware, quando acontecerem. Em caso de
falha, as máquinas virtuais podem simplesmente ser reiniciadas de um ponto de
23
restauração, de uma cópia de segurança, ou outro mecanismo de recuperação que
possa trazer o sistema a um estado saudável.
Se a camada física do sistema falha, as máquinas virtuais podem ser
migradas e restauradas em outras máquinas físicas. Esta habilidade para recriar um
serviço sem ter que “iniciar do zero” é especialmente útil para serviços de missão
crítica e de execução prolongada, porque provê uma rápida recuperação de
desastres. Uma boa idéia é armazenar pontos de restauração de máquinas virtuais
em locais remotos para posteriormente serem recuperados em caso de falha. Os
monitores de máquinas virtuais VMware e Xen dispõem de ferramentas que migram
e reiniciam as máquinas virtuais automaticamente em outros servidores em caso de
falha do servidor original.
24
6.0 – ALGUNS SOFTWARES PARA VIRTUALIZAÇÃO
Existem diversos softwares de virtualização para os principais sistemas
operacionais. Esses produtos criam máquinas virtuais que permitem a execução de
sistemas operacionais sem que estes percebam que não funcionam diretamente
sobre uma máquina física. Este tipo de aplicação permite a coexistência na mesma
máquina de vários sistemas operacionais operativos funcionando em simultâneo.
Vejamos alguns exemplos:
6.1 – VIRTUAL SERVER E VIRTUAL PC
O Virtual Server é uma versão originaria do Virtual PC e foi concebido para
competir com o VMware na virtualização em servidores Windows. Por ser uma
máquina virtual do Tipo II, precisa de um sistema anfitrião (host) para o seu
funcionamento.
Assim como outros softwares para virtualização, o programa exibe uma janela
onde é possível abrir sistemas operacionais, como Windows, Linux, o que permite
executar diversos sistemas operacionais em uma mesma máquina, sobre um
sistema operacional nativo Windows. Uma das vantagens do software é a rápida
reconfiguração dos equipamentos.
Além do Virtual Server, a Microsoft possui o Virtual PC inicialmente projetado
e desenvolvido pela empresa Connectix (empresa adquirida pela Microsoft), é um
software para virtualização que suporta o sistema operacional Windows sobre os
computadores Macintosh.
O Virtual Server executa os sistemas operacionais como serviços, e tem
como principais características:
Suporte a conectividade permitindo cluster de todas as máquinas
virtuais executadas sobre um host;
Oferece flexibilidade aos encapsular máquinas virtuais em discos
virtuais;
25
Possibilidade de migração de máquinas virtuais com ferramentas
especiais.
A maior desvantagem sobre o Virtual Server é o funcionamento somente em
servidores Windows.
Atualmente a Microsoft disponibiliza o Virtual Server e Virtual PC para
download gratuito em seu site na internet
6.2 - VIRTUALBOX
O VirtualBox é um software de virtualização para arquitetura x86 desenvolvido
pela empresa Innotek GmbH, com sede na Alemanha. Desde janeiro de 2007 possui
uma versão que é open source de licença GNU GPL. O software é uma máquina
virtual do tipo II e executa como um processo de sistema operacional host que pode
ser Linux, Windows 32 ou 64 bits, ou Mac OS X. Atualmente suporta sistemas
convidados como DOS, FreeBSD, Linux, OpenBSD, NetBSD, Solaris, Netware, OS/2
Warp e Windows. Ele utiliza a técnica da virtualização total, emulando componentes
chaves do hardware. Com isso, não há necessidade de que os sistemas
operacionais convidados sejam modificados para que executem em uma máquina
virtual. O VirtualBox tenta executar uma porção do código dos sistemas virtuais
diretamente no processador. Caso haja problemas no processo, o VirtualBox
também utiliza a técnica de recompilação dinâmica. O recompilador do VirtualBox é
baseado no open-source QEMU.
Adicionalmente, o VirtualBox automaticamente “desmonta” e, na maioria dos
casos, “corrige” o código dos sistema convidados a fim de prevenir futuras
recompilações. Em razão disso o código executa nativamente na maior parte do
tempo, numa tentativa de aumentar seu desempenho [VIRTUALBOX].
No software, os discos são emulados num recipiente especial chamado Virtual Disk
Image (arquivos VDI), o qual até o momento é incompatível com formatos usados
por outras soluções. O VirtualBox possui uma funcionalidade que pode conectar
dispositivos SCSI e usá-los como discos virtuais.
26
O VirtualBox virtualiza os adaptadores gráficos como no padrão VESA e cuja
memória pode ser ajustada. Em sistemas convidados Linux e Windows, pode ser
instalado drivers gráficos especiais para melhorar o desempenho.
Os adaptadores de rede são virtualizados como adaptadores AMD PCNet, e placas
de som como dispositivos Intel ICH AC’97. Dispositivos USB também são emulados.
Outras características do VirtualBox:
Permite virtualização recursiva (uma instância do VirtualBox pode ser
executada em sistema convidado).
Permite controle total através de linha de comando.
Permite logon automático em máquinas virtuais Windows.
Inclui um servidor Microsoft Remote Desktop Protocol (RDP) para
administração de máquinas virtuais.
Inclui suporte total a Intel VT e suporte experimental ao AMD-V.
6.3 – XEN
A proposta do ambiente Xen é suportar aplicações sem a necessidade de
alterações, ou seja, múltiplos sistemas operacionais convidados e a cooperação
entre esses sistemas, com o máximo de desempenho possível. O projeto Xen
nasceu na Universidade de Cambridge, tendo se transformado na instituição
independente XenSource, que foi depois adquirida pela Citrix Systems.
O Xen é uma máquina virtual do Tipo I para a plataforma x86, possui um
sistema operacional próprio (host), utiliza uma idéia diferente, a paravirtualização,
que consiste em dividir de forma transparente os recursos do hardware, permitindo
que o sistema convidado (guest) rode com uma redução de performance muito
pequena. O Xen não é uma solução fácil de usar como o VMware, sendo mais
voltado para uso em servidores Linux, permitindo rodar vários servidores virtuais
numa única máquina.
Segundo Xensource (2007) as empresas estão abraçando o Xen para servidores,
porque lhes permite aumentar a utilização dos servidores, consolidar servidores, e
reduzir drasticamente a complexidade e o custo total de propriedade.
O Xen tem acesso privilegiado ao hardware da máquina e os sistemas
convidados utilizam esse acesso privilegiado como ponte para acessar o hardware.
27
Uma das desvantagens é que para rodar dentro do Xen é necessário que o
sistema convidado (guest) seja modificado. Não é possível rodar qualquer sistema
diretamente, como no caso do VMware.
Para utilizar o Xen Laureano (2006, p. 101) define que:
Os sistemas convidados precisam ser alterados para executar sob o Xen.
Conforme apresentado pelos criados do Xen, o custo e o impacto das
alterações nos sistemas convidados são baixos e a diminuição do custo da
virtualização compensa essas alterações.
Isto não é um grande problema no caso do Linux, mas é no caso do Windows
e outros sistemas de código fechado. O código-fonte do Xen está liberado sob a
licença GNU General Public License (GPL). Atualmente, o ambiente Xen suporta os
sistemas Windows XP, Linux e Unix (baseado no NetBSD). Diversas distribuições
Linux já possuem suporte nativo ao Xen.
6.4 - VMWARE
Lançado em 1999, é uma máquina virtual para computadores baseados na
plataforma x86, considerada a mais bem elaborada e difundida dos últimos tempos.
A empresa desenvolvedora do VMware, a VMware Inc. é uma subsidiária da EMC
Corporation e localiza-se na Califórnia, Estados Unidos.
O VMware possui diferentes versões e caracteriza-se como um software
proprietário que provê uma camada de virtualização para suporte a vários sistemas
operacionais sobre um único hardware, suas versões de máquinas virtuais podem
ser do tipo I ou II, de acordo com a versão do software escolhida.
Segundo Laureano (2006), o VMware faz uma implementação completa da
plataforma x86 ao sistema convidado, sendo uma ferramenta útil em diversas
aplicações.
De fácil uso e excelente desempenho, o VMware permite a emulação de
vários sistemas operacionais ao mesmo tempo sobre um sistema hospedeiro,
utilizando para isto o conceito de máquinas virtuais. Como podem existir diversos
sistemas operacionais em execução no mesmo hardware, o monitor tem de emular
certas instruções para representar corretamente um processador virtual em cada
máquina virtual. Essas instruções a serem emuladas são chamadas de instruções
28
sensíveis. Isto é um pouco diferente de uma JVM (Java Virtual Machine), onde, por
exemplo, o emulador tem de traduzir o código bytecode (código de programação
Java), antes de executá-las.
Para entendermos um pouco melhor o VMvare, imagine um computador com
o Windows XP Professional instalado e sobre ele instalarmos o VMware. Ele
possibilitará a criação de várias máquinas virtuais com seus próprios sistemas
operacionais, inclusive Linux, Windows, Sun, Novell. É como se tivesse mais de uma
máquina,
porém
tendo apenas
uma, podendo
existir diferentes
sistemas
operacionais em execução no mesmo hardware. Isto ocorre devido à emulação por
parte do monitor de máquinas virtuais das tais instruções sensíveis que visam
representar corretamente um processador virtual em cada máquina virtual.
Por razões de desempenho, as máquinas virtuais geralmente confiam no
mecanismo de trap (armadilha) do processador para executar instruções sensíveis.
Porém, os processadores x86 não capturam todas as instruções sensíveis e um
trabalho adicional deve ser realizado.
Segundo Cherene (2008) para controlar as instruções sensíveis que não foram
capturadas, o VMware utiliza uma técnica chamada reescrita binária. Com essa
técnica, todas as instruções são examinadas antes de serem executadas, e o
monitor insere pontos de parada no lugar das instruções sensíveis. Quando
executado, o ponto de parada faz com que o processador capture a instrução do
monitor. Essa técnica acrescenta complexidade ao monitor do VMware, o que provê
um conjunto completo de instruções x86 para interface do sistema convidado.
Por razões de desempenho, o monitor do VMware utiliza uma abordagem
híbrida (otimizações inseridas nas arquiteturas das máquinas virtuais do tipo I e II,
com o objetivo principal de melhorar o desempenho das aplicações nos sistemas
convidados). O controle de exceção e gerenciamento de memória é realizado
através da manipulação direta do hardware, mas para simplificar o monitor, o
controle de E/S é do sistema anfitrião (host). Com o uso de abstrações para suportar
a E/S, o monitor evita manter device drives, algo que os sistemas operacionais já
implementam
adequadamente.
Essa
simplificação
causou
uma
perda
de
desempenho em versões mais antigas do VMware, mas foram adotadas otimizações
para diminuir seus efeitos e melhorar o desempenho de E/S. A gerência de memória
no VMware é feita diretamente pelo sistema convidado, para garantir que não ocorra
nenhum conflito de memória entre o sistema convidado e o sistema host, o VMware
29
aloca uma parte da memória para uso exclusivo, então o sistema convidado utiliza
essa memória previamente alocada.
Os arquivos são armazenados em "discos virtuais" que aparecem como
arquivos dentro de uma pasta no sistema host e cada sistema operacional podem ter
uma configuração de rede distinta, com seu próprio endereço IP. As máquinas
virtuais ficam acessíveis na rede, como se fossem realmente PC's completos,
permitindo rodar um servidor Web ou programas de aplicação gráfica dentro de uma
máquina virtual, sem comprometer a segurança do seu sistema principal.
Segundo VMWARE (2007), para controlar o sistema convidado, o VMware
implementa serviços de interrupção, para todas as interrupções do sistema
convidado. Sempre que uma exceção é causada no convidado, ela é examinada
primeiro pelo monitor. As interrupções de E/S são remetidas para o sistema anfitrião,
para que sejam controladas corretamente. As exceções geradas pelas aplicações no
sistema convidado são remetidas para o sistema convidado.
O VMware interpreta e converte instruções o mínimo possível, o que faz com que o
sistema dentro da máquina virtual rode com um desempenho muito similar ao
desempenho da máquina real.
Segundo VMware (2007), o VMware conta com uma variedade de produtos
de virtualização disponibilizando as empresas e usuários opções de escolha:
VMware ACE, VMware VirtualCenter, VMware ESX Server, VMware Workstation,
VMware Player, o VMware Server e a suíte VMware Infrastructure. Cabe destacar
que o VMware Player e o VMware Server possuem versões gratuitas para download.
A seguir faremos um estudo mais detalhado sobre as versões – ESX Server,
Workstation, Player e Server – principais destaques do VMware. Além de uma breve
explicação sobre a suíte VMware Infrastructure.
6.4.1 – VMware ESX Server
O VMware ESX Server é a versão comercial do produto VMware voltado para
o uso em aplicações profissionais servidoras de larga escala ou missão crítica.
Caracterizado como um monitor de máquina virtual do tipo I, possui um
sistema operacional próprio e otimizado para gerenciar máquinas virtuais. No
30
VMware ESX Server, cada máquina virtual representa um sistema completo, com
processador, memória, disco e BIOS, provendo um completo ambiente de execução,
o que faz com que os sistemas operacionais convidados não precisem ser
modificados. Basicamente o sistema virtualiza quatro recursos chaves do servidor:
CPU, memória, disco e rede (VMWARE 2006-A).
6.4.1.1 - Virtualização de CPU
Como visto os processadores baseados na arquitetura x86 não possuem
suporte nativo a virtualização, e por isso não conseguem capturar certas instruções
de modo privilegiado originadas de um sistema operacional executando em uma
máquina virtual. Desse modo, não podem contar totalmente com a técnica de
captura e emulação dos sistemas tradicionais.
Para suprir esta dificuldade, o VMware usa adicionalmente a técnica de tradução
binária. Examinando todas as instruções antes de serem executadas, substituindo
as instruções falhas por outras. Devido a isso, a técnica causa uma perda de
desempenho, contudo há instruções que executam diretamente entre a máquina
virtual e a CPU.
O VMware monta para cada sistema operacional executando em sua máquina
virtual, a sua própria CPU virtual, ou seja, os sistemas operacionais “acreditam”
possuírem uma CPU dedicada. Essa CPU virtual possui seus próprios registradores
e estruturas de controle idênticas a uma CPU real.
6.4.1.2 - Virtualização de memória
Como o ESX Server virtualiza a memória das máquinas virtuais por meio da
tradução de endereços, o monitor de máquinas virtuais faz um mapeamento da
página de memória do sistema operacional convidado para a página de memória
física na subcamada do hardware. Cada máquina virtual tem sua própria página de
memória em que o sistema operacional convidado “vê” iniciando do endereço “0”.
31
O monitor intercepta instruções da máquina virtual que manipula estruturas de
gerenciamento de memória do sistema operacional convidado, de modo que a
unidade de gerenciamento da memória (Memory Management Unit – MMU) do
processador não seja atualizada diretamente pelo sistema convidado. O ESX
mapeia a página da máquina virtual em uma tabela de página sombra (Shadow
Page Table - SPT) que é atualizado com o da máquina física.
Quando o sistema operacional convidado estabelece um mapeamento novo em sua
tabela de página, o monitor detecta a modificação e atualiza a respectiva entrada na
tabela de página sombra, que aponta para a localização real da página de memória
no hardware. Quando a máquina virtual está executando, o hardware usa
diretamente a tabela de página sombra para a tradução do endereço, o que permite
que os acessos de memória normais na máquina virtual executem sem adicionar
perca de tempo com traduções de endereços, uma vez que as tabelas de página da
sombra já estão definidas.
6.4.1.3 - Virtualização de disco
O ESX Server implementa seu próprio sistema de arquivos chamado de
VMFS. O VMFS é um sistema de arquivos distribuído que permite que múltiplos
hosts acessem arquivos concorrentemente no mesmo volume VMFS. A principal
vantagem é que o VMFS é otimizado para operações E/S com arquivos grandes
como é o caso dos arquivos que contém as imagens de máquinas virtuais. Outro
ponto importante é o armazenamento em áreas de disco que podem ser
compartilhadas para acesso entre os sistemas operacionais convidados executando
em diferentes máquinas virtuais.
6.4.1.4 - Virtualização de rede
No ESX Server é possível definir até quatro adaptadores de rede virtual. Cada
adaptador tem seu próprio endereço MAC e endereço IP. As interfaces de rede
32
virtual das múltiplas máquinas virtuais podem ser conectadas a um switch virtual.
Cada switch pode ser configurado sem qualquer conexão ou a uma LAN física por
meio dos adaptadores de rede da máquina anfitriã (host). Esses switches são
chamados de “VMnets” e são abstrações que garantem conexões com velocidade
entre as máquinas virtuais, o sistema anfitrião (host) e a LAN física.
6.4.2 – VMware Server
Um dos mais completos softwares de virtualização de fácil aplicação, pode
ser executado em qualquer plataforma x86 padrão. O VMware Server (anteriormente
chamado de VMware GSX Server) é a versão adaptada e otimizada para uso em
aplicações servidoras profissionais de pequena e média escala. Tornou-se gratuito
no mês de junho de 2006 e disponibilizado para download no site oficial do
fabricante.
O VMware Server é um monitor de máquina virtual do tipo II, ou seja, é
necessário que o software execute sobre um sistema operacional anfitrião, que pode
ser em sistemas operacionais baseados em Linux ou Windows (existe uma versão
para cada uma destas plataformas). Pode ser usado em servidores dedicados, sem
monitor nem ambiente gráfico, pois roda remotamente, através de uma interface de
administração via web, podendo ativar, desativar e monitorar o status das máquinas
virtuais remotamente, e em um desktop no ambiente de trabalho substituindo o
VMware Workstation ou o VMware Player.
Usando o VMware Server, pode-se transformar um único servidor dedicado
em vários servidores virtuais, cada um se comportando como se fosse uma máquina
separada. Assim como o VMware ESX, também suporta máquinas virtuais com uma
ou duas CPU virtuais. Pode-se ainda, compartilhar com os sistemas convidados,
periféricos do hardware como: CD-ROM, memória, placas de rede e portas USB.
Quando for preciso visualizar as mensagens de inicialização ou mesmo
alterar as configurações do sistema virtual na máquina virtual (por exemplo
quantidade de memória RAM ou imagem ISO de boot, etc.) é possível usar o
VMware-server-console ou VMware Infrastructure Web Access, interfaces de
administração separadas do restante do software, permitindo a conexão com
33
qualquer uma das máquinas virtuais disponíveis, seja local ou remotamente, além de
oferecem opções para criar novas máquinas virtuais, incluir ou excluir discos virtuais
e instalar ou reinstalar os sistemas operacionais.
O VMware Infrastructure Web Access (figura 14), utiliza um
browser de
internet como portal de acesso ao VMware Server. Já o VMware-server-console
(figura 15) utiliza um protocolo próprio para comprimir e transmitir a imagem da tela
via rede (usado em casos que o servidor não possui monitor), exibindo-a no desktop
escolhido. O maior problema é que o VMware utiliza um protocolo de atualização de
tela sem perda, que acaba sendo bastante ineficiente para o uso via rede.
Figura 14: VMware Infrastructure Web Acess
Figura 15: VMware-server-console
No VMware Server o suporte a rede é feito através de VMnets (como no ESX
Server),possuindo três modos:
Bridged: a máquina virtual é vista como outro computador na rede, com
endereço IP manual ou podendo ser obtido via DHCP (tem acesso completo à
rede, pode receber um endereçamento IP próprio e fica com todas as portas
de entrada disponíveis, como de fosse um PC independente conectado à
rede).
NAT: a máquina virtual se conecta ao computador anfitrião, que por sua vez
se conecta a rede (tem acesso a rede e pode acessar internet se houver, mas
não possui portas de entrada, de forma que não é possível rodar servidores).
Host-Only: a máquina virtual apenas se conecta ao anfitrião (é conectada a
um cabo cross-over virtual e tem acesso apenas ao próprio servidor, ficando
desconectada do restante da rede).
34
De acordo com VMware (2007) o VMware Server particiona um servidor físico em
várias máquinas virtuais. Cada máquina virtual é isolada de seu hospedeiro e das
outras máquinas virtuais, impedindo que sejam afetadas se alguma máquina virtual
falhar. Os dados não vazam entre as máquinas virtuais e os aplicativos só podem se
comunicar por conexões de rede configuradas. O VMware Server encapsula o
ambiente da máquina virtual como um conjunto de arquivos fáceis de fazer backup,
mover e copiar.
Figura 16 - Particionamento de servidor físico
6.4.2.1 - Vantagens do VMware Server
Ao criar e executar máquinas virtuais com o VMware Server, os usuários podem:
Abastece servidores adicionais em minutos, sem investir em novo hardware.
Executar sistemas operacionais e aplicativos Windows, Linux, Sun e outros no
mesmo servidor físico.
Facilidade de criação de ambientes de testes;
Aumentar a utilização da CPU (Central Processing Unit) de um servidor físico.
· Mover máquinas virtuais de um servidor físico para outro, sem necessidade
de reconfiguração.
Capturar o estado completo de uma máquina virtual e recuperar sua
configuração.
35
Viabilizar o gerenciamento centralizado para abastecer, monitorar e gerenciar
com eficiência a infra-estrutura de TI.
Ter acesso ao suporte para produtos de nível corporativo
6.4.2.2 – Desvantagens
Como toda tecnologia, o VMware também tem suas limitações. Uma das
desvantagens do VMware é com a padronização das janelas de opções, o layout
acaba sendo prejudicado em alguns momentos. Outra desvantagem um pouco mais
rara é incompatibilidade e perda de performance em algumas aplicações, como
banco de dados de grandes sistemas.
6.4.3 - VMware Workstation
Caracterizado como uma versão simples e de uso comercial do VMware, é
indicada para aplicações mais leves ou testes, utilizada geralmente em estações de
trabalho. Possui basicamente os mesmos recursos do VMware Server inclusive com
possibilidade de criar máquinas virtuais.
O VMware Workstation é um monitor de máquinas virtuais do tipo II disponível
para sistemas Windows e Linux, destaca-se pela facilidade de uso proporcionada
por seus assistentes que guiam o usuário no processo de criação de máquinas
virtuais, e de clones de máquinas virtuais. Também é possível criar grupos de
máquinas virtuais, de uma só vez, e colocá-las em redes.
Com o VMware Workstation é possível criar máquinas virtuais em dispositivos
externos como um disco rígido ou um pen-drive, através de um produto adicional
chamado ACE Option Pack. O VMware Workstation, assim como o VMware Server
não necessitam a implementação de modificações especiais no sistema convidado.
O VMware Workstation pode ser obtido diretamente no site do fabricante por
um período de uso de trinta dias sem custo para o usuário (para instalação em
ambientes Linux ou Windows), sendo necessário um cadastro prévio para obter um
36
número de licença válido por trinta dias. Passado esse período, será preciso adquirir
uma licença definitiva.
6.4.4 - VMware Player
Indicada para uso em máquinas virtuais previamente configuradas com o
VMware Server ou Workstation, é um versão mais simples dos produtos VMware, e
está disponibilizada gratuitamente para download. O VMware Player é indicado para
aplicações leves e não oferece suporte a criação ou modificação de máquinas
virtuais. Permite somente opções de ativação ou desativação dos periféricos virtuais
e alteração da memória RAM virtual das máquinas virtuais em execução.
Existem versões do VMware Player para os ambientes Linux e Windows,
ambas executam máquinas virtuais criadas por versões mais completas .
6.4.5 - VMware Infrastructure
O VMware Infrastructure é uma suíte de aplicativos de virtualização que
otimiza o processo de implantação e gerenciamento de máquinas virtuais nas
empresas. Ele visa oferecer, em uma solução integrada, ganhos em: virtualização
compreensiva, gerenciamento, otimização de recursos e disponibilidade de
aplicações. A suíte é composta de um conjunto de aplicativos cujo principal é o
VMware ESX Server. Utilizado geralmente para administração de servidores
complexos este “pacote” de aplicativos oferece ferramentas capazes de possibilitar
que uma simples máquina virtual use múltiplos processadores simultaneamente à
habilitar uma migração em tempo de execução de uma máquina virtual de um
servidor para outro com a menor queda possível no nível de serviço.
37
7.0 – A PROPOSTA DESTE TRABALHO
Propõe-se a virtualização de sistemas utilizando o VMware no ambiente
servidor do Frigorífico Excelência de Nova Mutum, com o objetivo da consolidação e
um melhor aproveitamento da capacidade de processamento dos servidores
existentes na empresa. Para o desenvolvimento deste, serão instalados em um de
nossos servidores físicos, dois servidores virtuais capazes de receber serviços
hospedados em outro servidor físico.
O Frigorífico Excelência atua no segmento industrial, industrializando e
comercializando carnes suínas. Com cerca de seiscentos funcionários é considerada
uma empresa de grande porte para nossa região.
Atualmente devido ao grande fluxo de informações e a necessidade de
processamento, a empresa possui uma considerável estrutura de hardware servidor
em funcionamento, o parque de servidores conta com quatro máquinas servidoras
dedicadas exclusivamente ao gerenciamento de diferentes serviços e aplicações,
requisitadas por usuários através de desktops, notebooks e terminais de acesso.
Além de mais uma máquina servidora como reserva, preparada para eventuais
necessidades, estando à mesma em desuso.
Para uma melhor identificação dos servidores e seus respectivos serviços,
criamos a tabela a seguir:
Identificação
Serviço(s)
Status
Servidor (1)
Servidor de domínio (DNS) e gateway
Ativo
Servidor (2)
Firewall, proxy, internet e e-mail
Ativo
Servidor (3)
Banco de dados e o sistema utilizado pelo setor
Ativo
administrativo,
Servidor (4)
Banco de dados e o sistema utilizado pelo setor
Ativo
industrial da empresa
Servidor (5)
Máquina
reserva
com
sistema
operacional
e Desuso
aplicações básica configuradas
Apesar da utilização diária e constante de nosso parque de servidores,
verificou-se uma maior “ociosidade” ou redundância de hardware, em dois de nossos
servidores em atividade “servidor (1) e servidor (2)”.
38
Beneficiando-se da tecnologia da virtualização e levando-se em conta a
possibilidade da utilização de softwares sem custos adicionais, decidiu-se instalar
dois servidores virtuais em um de nossos servidores físicos mencionados no
parágrafo anterior, recebendo também os serviços até então executados em outro
hardware, liberando-o para implementação futura de um servidor de arquivos e perfil
de usuários.
A escolha para a instalação dos ambientes virtuais e os recebimento de
serviços adicionais foi o “servidor (1)”, pois acreditou-se ser mais prático a migração
dos serviços existentes no “servidor (2)”.
Quanto aos demais servidores, preferiu-se mante-los na situação em que
estão, pelo fato dos servidores “3 e 4” possuírem grandes bancos de dados dos
sistemas utilizados na empresa, necessitando de um processamento complexo,
devendo haver um maior planejamento, análise e tempo para uma possível
migração, e o servidor “5” pela necessidade de manter hardware reserva.
7.1 – FONTES DE PESQUISA
As informações, bem como os materiais utilizados, foram obtidas por meio de
fontes bibliográficas como: livros, revistas, web sites, tutoriais.
7.2 – FERRAMENTAS UTILIZADAS
Foram escolhidas para criação/modificação e funcionamento de máquinas
virtuais, as versões VMware Server e VMware player, por oferecerem estabilidade,
fácil configuração, confiabilidade e licenças de uso gratuitas. Para definição da
escolha foram analisados diversos softwares para virtualização, sendo merecedores
de destaque e citados neste trabalho aqueles que ofereceram algumas das
características mencionadas.
A escolha do VMware Server para a virtualização dos sistemas ocorreu em
virtude do software contemplar as características anteriormente citadas, acrescidas
39
de um completo suporte a criação ou modificação de máquinas virtuais, interface de
fácil manipulação, instalação simples e a possibilidade em caso de dano no
hardware, migrar rapidamente uma máquina virtual completamente configurada para
outro hardware sem perca de dados e desempenho. O VMware player foi escolhido
também por ser um software que embora não seja possível utilizá-lo na criação ou
modificação de máquinas virtuais, possibilita rodarmos máquinas virtuais criadas por
exemplo no VMware Server, oferecendo uma interface simples e compacta. Além do
mais, ambos os softwares, embora proprietários dispõem de licenças de uso
gratuitas, o que para a empresa é de estrema importância, uma vez que é uma
empresa comercial, portanto deve utilizar softwares registrados/licenciados, os quais
geralmente geram custos. E neste caso temos uma exceção quanto a custos
adicionais com licenças.
A instalação de ambos os softwares baseia-se na estratégia de gerar
máquinas virtuais no VMware Server e rodá-las no VMware Player. esta “divisão” de
tarefas é mais por uma questão de preferência. Já que poderíamos criar e rodar
perfeitamente as máquinas virtuais no VMware Server.
Vale destacar ainda, que no site do fabricante existe a possibilidade de criar
máquinas virtuais escolhendo uma das três opções oferecidas (veja na figura 17), e
configurar também o hardware desejado para a máquina virtual a ser criada (figura
18), tudo ocorrendo on-line, sem a necessidade de utilização do VMware Server.
Porém se desejarmos modificar estas máquinas virtuais (inclusão ou exclusão de
discos e periféricos virtuais) será necessário a instalação de um software como o
VMware Server, justificando assim sua instalação.
Figura 17: Opções para criação de Máquinas
Virtuais
Figura 18: Configurações para Máquinas Virtuais
40
8.0 – IMPLEMENTAÇÃO
Definida das diretrizes, preparou-se o “servidor (1)” para receber servidores
virtuais, e serviços com aplicações oriundos do “servidor (2)”.
As configurações de hardware do ”servidor (1)” estão assim dispostas:
•
Modelo: DELL Power Edge
•
Processador: Intel Xeon 3.33 Giga hertz, Dual;
•
Memória RAM: 4 Giga hertz;
•
Placas de Rede: Gigabit Networking Controller;
•
Discos Rígidos: 572 Gigabytes, RAID;
•
Sistema Operacional: Windows Server 2003 Profissional.
Já as configurações de hardware do ”servidor (2)” são as seguintes:
•
Modelo: DELL Power Edge
•
Processador: Intel Xeon 3.06 Giga hertz;
•
Memória RAM: 4 Giga hertz;
•
Placas de Rede: Gigabit Networking Controller
•
Discos Rígidos: 250 Gigabytes, RAID
•
Sistema Operacional: Linux Ubuntu 7.10
8.1 – OBTENDO OS SOFTWARES WMWARE SERVER E PLAYER
Para instalação do VMware Server e VMware Player no “servidor (1)”, é
necessário obter primeiramente os arquivos contendo os softwares no site do
fabricante (http://www.vmware.com).
O VMware Server possui versões para Linux e Windows. Sendo necessário
fazer um cadastro gratuito para receber o código de registro solicitado durante a
instalação. Após o cadastro é disponibilizado um link contendo o endereço para
download do software. O procedimento é bastante amigável sendo possível inclusive
solicitar vários números de registro (gratuitamente), caso pretenda-se instalar em
vários servidores.
41
Após
acessar
o
site
do
fabricante
utilizando
o
endereço
(www.vmware.com/products/server), basta clicarmos na opção download (conforme
mostra figura 19), e seguir para a tela de cadastro do VMware Server.
Figura 19: Tela inicial para download do VMware Server
Se ainda não for cadastrado, deverá ser feito o cadastro através das opções
localizadas ao lado direito da janela (conforme mostra a figura 20), caso contrário
digitar e-mail e senha. Em seguida escolha a versão para instalação no Windows ou
Linux, sendo liberado um link para download, juntamente com o número serial para
as ambas as versões.
Figura 20: Tela de Cadastro VMware Server
42
O VMware Player, possui também versões para o Windows e Linux. Sendo
necessário fazer também um cadastro gratuito, com o diferencial de que não precisa
de um número de registro para instalação.
Após
acessar
o
site
do
fabricante
utilizando
o
endereço
(www.vmware.com/products/player), deve-se clicar na opção download (conforme
mostra a figura 21) e seguir para a tela de escolha de versão do VMware Player.
Figura 21: Tela de opção de Download do VMware Player
O VMware Player disponibiliza diversas versões para o Windows ou Linux
(conforme figura 22), porém antes de obter o download de alguma dessas versões é
necessário fazer um pequeno cadastro (vide figura 23).
Figura 22: Versões do VMware Player
43
Figura 23: Cadastro para liberação do download do VMware Player
8.2 – INSTALANDO OS SOFTWARES WMWARE SERVER E PLAYER
Quanto a instalação do VMware Server na versão Linux, é necessário instalar
dois módulos do Kernel (vmmon e vmnet), que permitem que o VMware tenha
acesso direto ao hardware. O pacote de instalação inclui módulos pré-compilados
para diversas distribuições, mas em muitos casos os módulos precisam ser
compilados durante a instalação, tornando necessária a instalação de pacotes
adicionais de suporte, pois não são instalados por padrão na maioria das
distribuições. O que demanda uma preparação adicional, oferecendo um pequeno
grau de dificuldade.
Na versão Windows (nosso caso), a instalação é bem mais simples, depois de
efetuado o cadastro e baixado o arquivo contendo a versão do VMware Server,
basta instalá-lo na máquina desejada, informando o número de registro quando
solicitado. A versão do VMware Server escolhida foi a versão 2.0, pois a versão 3.0
ainda estava em fase de testes, não estando totalmente instável.
A seguir podemos observar através das figuras (24 e 25) o processo de
instalação do VMware Server 2.0 em seu estágio inicial.
44
Figura 24: Inicio da instalação
Figura 25: Progresso da instalação
Na figura (26), é solicitado o aceite quanto ao contrato de licença para uso do
programa. E na figura (27), é o momento em que se escolhe um diretório para
instalação do software, caso não houver escolha o programa de instalação do
software escolherá o diretório padrão para a instalação.
Figura 26: Contrato de Licença para uso
Figura 27: Local para instalação
Temos na figura (28), a informação pertinente ao servidor de acesso no
sistema via web, juntamente com endereços das portas respectivas portas, e a
(figura 29) apresenta a escolha da criação de atalhos e instalação da barra de
ferramentas para acesso rápido ao site do VMware.
45
Figura 28: Configuração Acesso via web
Figura 29: Criação de Atalhos
Nas figuras (30, 31, 32 e 33), tem-se o progresso de instalação. É possível
observar que a copia dos arquivos acontece automáticamente.
Figura 30: Inicio da instalação
Figura 32: Inicio da cópia dos arquivos
Figura 31: Preparando a instalação
Figura 33: Finalização cópia dos arquivos
46
A figura (34) mostra o campo onde se deve informar o número serial de
registro da versão, outrem adquirido no site no momento do cadastro para download
do software. Na figura (35) há a conclusão do processo de instalação do software.
Figura 34: Número Serial
Figura 35: Finalizando a Instalação do
VMware Server
Para o VMware Player em algumas distribuições do Linux o pacote nativo não
existe ou está desatualizado, sendo necessário baixá-lo diretamente no site do
fabricante, devendo-se instalar primeiro os pacotes adicionais de suporte, para daí
sim instalar o VMware Player.
Na versão Windows (nosso caso), o procedimento é bem simples e idêntico
ao do VMware Server para Windows, após baixado o arquivo contendo o VMware
Player (escolhemos a versão 2.5, por ser uma das mais atuais) é só instala-lo, não
necessitando de número de registro para instalação. Podemos observar nas figuras
(36 e 37) o VMware Player 2.5 em sua instalação inicial.
Figura 36: Inicio instalação
Figura 37: Preparação para instalação
47
A figura (38) representa o momento em que se escolhe um diretório para
instalação do software, caso não houver escolha o programa de instalação do
software escolherá o diretório padrão para a instalação como aconteceu no VMware
Server. E na figura (39) há o processo de evolução da instalação.
.
Figura 38: Local de instalação
Figura 39: Progresso da instalação
Na figura (40) o processo de finalização da instalação é apresentado.
Figura 40: Finalização da instalação VMware Player
8.3 – DIFICULDADES NA INSTALAÇÃO DOS SOFTWARES
Após a instalação do software VMware Server 2.0, partiu-se para a instalação
do VMware Player 2.5, de modo a finalizar todo o processo de instalação dos
monitores de máquinas virtuais. Ao iniciar a instalação o sistema acusou uma
48
mensagem de erro (figura 41), impedindo a continuidade da instalação. Diante deste
fato, foram feitas algumas análises iniciais, identificando-se a hipótese de: – por
existir uma versão instalada do VMware fornecendo serviços de Servidor para
máquinas virtuais, não seria possível a instalação de outra versão com
características e serviços semelhantes.
Figura 41: Mensagem de Erro
Após as conclusões iniciais, foram feitos levantamentos mais específicos
junto ao site do fabricante e a fóruns de discussão, obtendo a conclusão final de que
a hipótese anteriormente explanada era verdadeira. Assim posto, a estratégia
descrita no item “7.2”, parágrafo “3”, teve que ser alterada.
8.3.1 – Mudança de Estratégia.
A opção foi a desinstalação do VMware Server, por ter uma interface para
rodar as máquinas virtuais um pouco mais complexa que o VMware Player. Desta
forma, para a criação das máquinas virtuais, adotou-se uma das opção existentes no
site do fabricante, conforme descrito no item “7.2”, parágrafo “4”, pois a mesma
possibilita a criação de máquinas virtuais com características idênticas as criadas no
software VMware Server 2.0.
Porém vale destacar que se surgir a necessidade da mudança de algum
periférico ou inclusão de algum disco virtual em uma das máquinas virtuais a serem
criadas, será necessário a instalação do VMware Server.
49
8.4 – CRIANDO MÁQUINAS VIRTUAIS
Através do acesso ao site (http://www.easyvmx.com), escolheu-se dentre as
três opções existentes, a opção “1” easyvmx, conforme figura (42), por que é a
opção mais simples e rápida para criação de uma máquina virtual.
Figura 42: Escolha da opção “1” para criação de Máquinas virtuais
Nas telas seguintes foram escolhidas as configurações de hardware
necessárias para a criação e um perfeito funcionamento das máquinas virtuais. Na
figura (43), temos a configuração inicial da máquina virtual que abrigará o Sistema
Operacional “Linux Debian 4.03”, e na figura (44) temos a configuração inicial
também da máquina virtual que abrigará o Sistema Operacional “Linux Ubuntu 8.04”
Figura 43: Hardware Virtual Debian 4.03
Figura 44: Hardware Virtual Ubuntu 8.04
50
Nas figuras (45,46 e 47), temos as configurações de disco virtual, placa de
rede, CD-ROM e periféricos. E na figura (48) o arquivo em formato compacto,
contendo a máquina virtual, pronto para download, como exemplo foi utilizada a tela
de conclusão da máquina virtual o arquivo “Debian2”.
Figura 45: Configuração Placa de Rede
Figura 47: Configuração USB, Portas
Serial e Paralela
Figura 46: Configuração CD-ROM e Disco
Figura 48: Arquivo com a Máquina Virtual
Tanto a primeira Máquina Virtual criada, e destinada à instalação do Sistema
Operacional “Debian 4.03”, quanto a segunda criada, e destinada à instalação do
Sistema Operacional “Ubuntu 8.04” seguiram as seguintes configurações de
hardware:
51
Tipo de Hardware Virtual
Memória
Quantidade
512 MB
Processador (CPU)
01
Placa de Rede - Vlance
02
Disquete
Não
CD-Rom
01
Disco Rígido
45 Giga Bytes
USB
Automático
Portal Serial
Automático
Porta Paralela
Automático
SOM ENSONIC ES 1371
01
8.5 – INSTALAÇÃO DOS SISTEMAS
Criadas as Máquinas Virtuais, foram postas funcionar utilizando-se o VMware
Player, já em funcionamento, configurou-se o boot a partir do CD-ROM virtual, e em
seguida foram iniciadas as instalações.
O primeiro sistema que fora instalado foi o Linux “Debian 4.03”, sendo que
foram feitas as devidas configurações para que o mesmo pude-se receber do
servidor “2” os serviços de firewall.
O segundo sistema o Linux “Ubuntu 8.04”, fora instalado e configurado para
receber os serviços de internet e e-mail anteriormente hospedados também no
servidor “2”.
8.5.1 – Dificuldades
A instalação de ambos os sistemas foi tranqüila não oferecendo dificuldades,
até por que não era a primeira vez que estava sendo feita, pois temos alguns
computadores utilizando os sistemas Linux mencionados, embora sejam desktop’s e
os sistemas não serem virtualizados o processo de instalação é basicamente o
52
mesmo, sendo feitas apenas algumas configurações adicionais para fornecerem os
serviços de Servidor.
A migração dos serviços existentes no servidor “2” para o servidor “1”, não
ofereceu qualquer dificuldade, uma vez que foram feitas fora do horário de pico da
empresa, sendo copiados os diretórios, arquivos e configurações diretamente de
uma máquina para outra através da ligação de rede conhecida como “cross-over”
(conexão direta máquina a máquina via rede).
8.5.2 – Desempenho
Embora muitos contestem que a virtualização traz como desvantagem, a
exigência de máquinas com poder processamento maior, a utilização do VMware
nos Sistemas Operacionais Linux “Debian 4.03” e “Ubuntu 8.04”, em nosso ambiente
servidor mostrou um bom desempenho.
E claro deve-se ter em mente que embora seja um sistema virtualizado
hospedado dentro de outro sistema, não deixa de ser outro computador isolado com
todas suas funções e periféricos, e que necessita de processamento, desta forma
existe sim uma pequena perda de desempenho, mas isto somente ocorre quando a
sistema virtual está em funcionamento, pois é necessário “reservar” a ele parte de
processamento do sistema real, caso contrário esta “reserva” é liberada.
Mesmo em desktop’s, cuja, o poder de processamento é menor, o
funcionamento do VMware é satisfatório, devendo ter em mente que quanto melhor
for a capacidade de processamento e armazenamento do hardware hospedeiro,
melhor será o desempenho quando se utiliza a virtualização.
8.5.3 – Benefícios
Com a consolidação destes serviços espera-se, reduzir custos com
manutenção, consumo elétrico e tempo. Tonando mais prático o gerenciamento e
controle das informações, uma vez que os serviços como firewall, proxy, internet, e-
53
mail, domínios e gateway passaram a estar centralizados em um único servidor,
além da facilidade para implementação de backup.
Outro benefício de extrema importância é a liberdade quanto hardware, ou
seja, caso venha a ocorrer algum problema de funcionamento com o hardware do
servidor “1”, pode-se migrar facilmente as máquinas virtuais contendo seus
respectivos serviços para outro hardware, como por exemplo, o servidor “5”. Sem
que para isso seja preciso dispor de inúmeras horas para efetuar uma nova
configuração. Uma vez que as máquinas virtuais já são pré-configuradas bastando
apenas existir a compatibilidade de plataforma.
8.5.4 – Pretensões Futuras
A partir deste experimento considerado bem sucedido, pretende-se a
consolidação dos demais servidores, de modo a alocar o máximo de serviços
possíveis respeitando os índices de utilização, que consideramos como regra interna
a taxa máxima de uso da CPU de 70% (setenta por cento).
Pretende-se ainda, a implementação de servidores de arquivo virtuais e para
armazenamento de perfil usuários e domínios de rede.
54
9.0 - CONCLUSÃO
A virtualização oferece mudanças profundas quanto ao modelo tradicional da
computação, o qual reduz a importância do sistema operacional, permitindo que um
hardware execute quaisquer aplicações com seu sistema operacional de origem,
sem precisar interromper as demais aplicações e serviços em execução.
Há várias formas de virtualização, e cada uma com suas vantagens e
desvantagens. Em um processo de implantação é necessário decidir sobre a mais
adequada para instituição de modo que se obtenha uma boa relação custo/benefício
no processo. A virtualização na empresa Frigorífico Excelência mesmo sendo muito
interessante e benéfica, como toda a nova tecnologia, teve momentos de
dificuldades, porém sua implantação ocorreu de maneira satisfatória.
Nessa tecnologia problemas de compatibilidade e perda de performance também
podem acontecer, sobretudo por causa de combinações mal realizadas, por
exemplo, uma aplicação que consuma muito processamento e memória não deve
ser virtualizada junto com outra, com risco de que o desempenho dos dois serviços
fique severamente prejudicado. Além disso, as máquinas virtuais tendem a consumir
mais recursos (principalmente de CPU e memória), o que torna recomendado dispor
de um hardware mais robusto a fim de executá-las sem grandes perdas de
desempenho.
A existência de inúmeros softwares para virtualização tem tornado a implementação
da virtualização cada vez mais comum, e monitores de máquinas virtuais como o
VMware e o Xen para paravirtualização, são continuas promessas para a
popularização desta tecnologia..
Neste trabalho ficou exposto a impossibilidade da instalação do VMware Server 2.0
junto com VMware Player 2.5, porém isto não foi um empecilho para a criação de
máquinas virtuais, pois no site do fabricante existe um uma página disponível para a
criação e configuração de máquinas virtuais. Os benefícios da virtualização, como a
consolidação de servidores, tendem a ser um fator primordial para que novas
empresas tornem-se adeptas ao uso desta tecnologia.
55
REFERÊNCIAS BIBLIOGRAFIAS
INTEL:
Virtualização
em
Servidores.
Disponível
via
URL
em:
www.intel.com/portugues/business/technologies/virtualization.htm. Acesso em setembro
de 2008.
MICROSOFT
VIRTUAL
PC.
Product
Information.
Disponível
via
URL
em:
http://www.microsoft.com/windows/virtualpc/default.mspx. Acesso em outubro de 2008.
LAUREANO, Marcos. Máqunas Virtuais e Emuladores. 2006. Novatec Editora, São
Paulo.
LOPES, A.; LAZARINO, O. VMWARE Inside in INFO, São Paulo, n. 248, p. 126-127, nov.
2006.
TANENBAUM, A. S.; WOODHULL, A. S. Sistemas Operacionais Projeto e Implantação
2. ed. Porto Alegre: Bookman, 2000.
VIANA, Eliseu Ribeiro Cherene. Virtualização de Servidores Linux para redes
corporativas. 2008. Editora Ciência Moderna Ltda. Rio de Janeiro.
VMWARE. Virtualization Software. Disponível via URL em: www.vmware.com.br. Acesso
em outubro de 2008.
XENSOURCE. Open Source Virtualization. Disponível via URL em: www.xensource.com.
Acesso em novembro de 2007.

Documentos relacionados

Análise comparativa entre as ferramentas VirtualBox - Ginux

Análise comparativa entre as ferramentas VirtualBox - Ginux Máquina virtual - Tipo I . . . . . . . . . . . . . . . . . . . . . . .

Leia mais

Máquinas Virtuais e Emuladores

Máquinas Virtuais e Emuladores forma que os recursos de hardware e de controle são abstraídos e usados pelas aplicações. Uma máquina virtual é um ambiente criado por um monitor de máquina virtual (Virtual Machine Monitor – VMM),...

Leia mais