PEDRO HENRIQUE DOMINGOS SPRICIDO MONTEIRO

Propaganda
PEDRO HENRIQUE DOMINGOS SPRICIDO MONTEIRO
SOLUÇÃO DE UMA INFRA-ESTRUTURA DO GERENCIAMENTO DO
AMBIENTE DE SERVIDORES VIRTUAIS
ASSIS
2008
SOLUÇÃO DE UMA INFRA-ESTRUTURA DO GERENCIAMENTO DO
AMBIENTE DE SERVIDORES VIRTUAIS
PEDRO HENRIQUE DOMINGOS SPRICIDO MONTEIRO
Trabalho de Conclusão de Curso apresentado ao
Instituto Municipal de Ensino Superior de Assis,
como requisito de Curso de Graduação, analisado
pela seguinte comissão examinadora:
Orientadora: Profa. Dra. Marisa Atsuko Nitto
Analisador (1): Luiz Ricardo Begosso
Analisador (2): Alexandre Charles Cassiano
ASSIS
2008
PEDRO HENRIQUE DOMINGOS SPRICIDO MONTEIRO
SOLUÇÃO DE UMA INFRA-ESTRUTURA DO GERENCIAMENTO DO
AMBIENTE DE SERVIDORES VIRTUAIS
Trabalho de Conclusão de Curso apresentado ao
Instituto Municipal de Ensino Superior de Assis,
como requisito do Curso de Graduação, analisado
pela seguinte comissão examinadora:
Orientadora: Profa. Dra. Marisa Atsuko Nitto
Área de Concentração: Virtualização.
Assis
2008
Dedico este trabalho primeiramente a Deus por
tudo que tem feito por mim, a minha família e
as pessoas que acreditaram em mim.
AGRADECIMENTOS
A Profa. Dra. Marisa Atsuko Nitto, pela orientação, pelo constante estímulo
transmitido durante o desenvolvimento deste trabalho e ao tempo disponibilizado.
Aos amigos de faculdade, onde formamos grandes amizades durante este tempo e
aos professores pelas amizades conquistadas aos longos desses anos.
Á todos os meus amigos e primos que me apoiaram e colaboraram direta ou
indiretamente, na execução deste trabalho.
Aos meus pais, Carlos e Isabel, pelo apoio que sempre me deram na busca dos
objetivos e novos desafios, e nunca desistir, que nada neste mundo é impossível.
A minha irmã Ana Elisa e aos meus avós maternos Nair e Pedro (in memorium) e
avós paternos Iraci e Orlando.
RESUMO
O uso de máquinas virtuais vem crescendo cada vez mais nos ambiente de
administração de sistemas, acrescentando recursos ao hardware, onde nem sempre
é preciso a compra de novos equipamentos. Atualmente devido à grande procura de
equipamentos, aplicativos e sistemas operacionais, nos quais exigem cada vez mais
máquinas poderosas, as empresas começaram a considerar a virtualização como a
solução para seus problemas. Para isso já existem softwares que fazem esse
gerenciamento e podem ser aplicados de acordo com as necessidades da empresa.
Existem vários tipos de softwares de virtualização o mais conhecido de fácil
aplicação e uso é o VMware. O VMware é um software que permite você executar e
rodar vários sistemas operacionais na mesma máquina, cada uma se comportando
como se fossem independentes.
Este trabalho tem como objetivo demonstrar o poder que a virtualização pode
proporcionar em uma determinada solução, analisando o problema com a melhor
solução que seja mais eficiente obtendo o melhor aproveitamento, o melhor
gerenciamento e aumentando a segurança.
Palavras-chave: Virtualização, Sistemas Operacionais, Recompilação Dinâmica.
ABSTRACT
The use of virtual machines has been increasing rapidly in the areas of systems
administration, adding resources to the hardware, where is not always needed to buy
new equipments. Currently, due a heavy demand of equipments, applications and
operational systems, which require powerful machines, the enterprises begin to take
account of virtualization as a solution of their problems. Towards this solution, there
are already softwares that execute this management process and can be applied
according to the necessities of the enterprise. There are several types of
virtualization softwares: the most known, which is also the easiest one for application
and use, is the VWware. The VWware is a software that is capable to execute and to
run several operational systems in the same machine, as if they were independent.
This paper intends to demonstrate the power that the virtualization can provide in a
determined situation, analyzing the problem with the best solution that is the most
efficient, acquiring the best improvement, the best management and increasing the
security.
Keywords: Virtualization, Operating Systems, Recompilation Dynamics.
LISTA DE ILUSTRAÇÕES
Figura 1 – Máquinas Virtuais.. ................................................................................... 18
Figura 2 – Sistema de computador.. ......................................................................... 19
Figura 3 - Virtualização por Hardware.. ..................................................................... 22
Figura 4 - Infra-Estrutura Virtual.. .............................................................................. 30
Figura 5 – Sistema sem virtualização.. ...................................................................... 31
Figura 6 - Sistema com virtualização.. ...................................................................... 32
Figura 7 – Modelagem do problema de virtualização. ............................................... 37
Figura 8 – Arquitetura do problema. .......................................................................... 38
Figura 9 – Informações da rede das máquinas reais e virtuais ................................. 39
Figura 10 – Passo 1 da instalação do VMware Server. ............................................. 41
Figura 11 – Passo 2 da instalação do WMware Server ............................................. 42
Figura 12 – Passo 3 da instalação do VMware Server.............................................. 42
Figura 13 – Passo 4 da instalação do VMware Server.............................................. 43
Figura 14 – Passo 5 da instalação do VMware Server.............................................. 43
Figura 15 – Passo 6 da instalação do VMware Server.............................................. 44
Figura 16 – Passo 7 da instalação do VMware Server.............................................. 44
Figura 17 – Passo 8 da instalação do VMware Server.............................................. 45
Figura 18 – Passo 9 da instalação do VMware Server.............................................. 45
Figura 19 – Passo 1 da criação de uma máquina virtual ........................................... 46
Figura 20 – Passo 2 da criação de uma máquina virtual ........................................... 47
Figura 21 – Passo 3 da criação de uma máquina virtual ........................................... 47
Figura 22 – Passo 4 da criação de uma máquina virtual ........................................... 48
Figura 23 – Passo 5 da criação de uma máquina virtual ........................................... 48
Figura 24 – Passo 6 da criação de uma máquina virtual ........................................... 49
Figura 25 – Passo 7 da criação de uma máquina virtual ........................................... 49
Figura 26 – Passo 8 da criação de uma máquina virtual ........................................... 50
Figura 27 – Passo 9 da criação de uma máquina virtual ........................................... 51
Figura 28 – Passo 10 da criação de uma máquina virtual ......................................... 51
Figura 29 – Passo 11 da criação de uma máquina virtual ......................................... 52
Figura 30 – Passo 12 da criação da máquina virtual ................................................. 52
Figura 31 – Passo 13 da criação da máquina virtual ................................................. 53
Figura 32 – Passo 4 da criação da máquina virtual................................................... 54
Figura 33 – Passo 9 da criação da máquina virtual................................................... 54
Figura 34 – Instalação do Windows Xp Professional na máquina virtual. ................. 55
Figura 35 – Alterando o grupo de trabalho do Microsoft Windows XP ...................... 56
Figura 36 – Acesso a rede via Windows ................................................................... 57
Figura 37 – Acesso a rede via Ubuntu ...................................................................... 59
Figura 38 – Acesso a rede via Ubuntu ...................................................................... 59
Figura 39 – Ubuntu executando dentro do Windows XP Professional ...................... 61
Figura 40 – Windows 2003 Server executando dentro do Windows XP ................... 62
Figura 41 – Compartilhamento de arquivos entre máquinas virtuais......................... 63
LISTA DE TABELAS
Tabela 1 – Quadro geral das soluções de virtualização ............................................ 28
SUMÁRIO
1.
INTRODUÇÃO ......................................................................... 14
1.1.
OBJETIVO DO TRABALHO ............................................................... 15
1.2.
MOTIVAÇÃO ...................................................................................... 16
1.3.
ESTRUTURA DO TRABALHO........................................................... 16
2.
FUNDAMENTOS TEÓRICOS .................................................. 18
2.1.
MÁQUINAS VIRTUAIS ....................................................................... 18
2.2.
O PORQUÊ DAS MAQUINAS VIRTUAIS? ........................................ 19
2.3.
VIRTUALIZAÇÃO ............................................................................... 20
2.3.1.
Implementação de virtualização .............................................................. 20
2.3.1.1.
Virtualização por Software ................................................................................ 20
2.3.1.2.
Virtualização por Hardware............................................................................... 21
2.3.2.
Técnicas de Virtualização ........................................................................ 22
2.3.2.1.
Para-Virtualização ............................................................................................ 22
2.3.2.2.
Virtualização Total ............................................................................................ 23
2.3.2.3.
Recompilação Dinâmica ................................................................................... 23
2.3.3.
Soluções de Virtualização ........................................................................ 24
2.3.3.1.
VMware ................................................................................................... 25
2.3.3.2.
Virtual Pc ................................................................................................. 25
2.3.3.3.
Virtual Server ........................................................................................... 26
2.3.3.4.
Xen .......................................................................................................... 26
3.
INFRA-ESTRUTURA DOS SERVIDORES VIRTUAIS ............. 29
3.1.
FUNCIONAMENTO ............................................................................ 30
3.2.
SERVIDOR FÍSICO x SERVIDOR VIRTUAL ..................................... 31
3.3.
ÁREAS DE SOLUÇÕES PARA INFRA-ESTRUTURA VIRTUAL ...... 33
3.3.1.
Consolidação de Servidores .................................................................... 33
3.3.2.
Teste e Desenvolvimento ......................................................................... 34
3.3.3.
Continuidade do Negócio......................................................................... 34
3.4.
BENEFÍCIOS DA VIRTUALIZAÇÃO .................................................. 34
3.4.1.
Particionamento ........................................................................................ 35
3.4.2.
Isolamento ................................................................................................. 35
3.4.3.
Encapsulamento ....................................................................................... 35
4.
MODELAGEM DO PROBLEMA .............................................. 36
4.1.
DESCRIÇÃO DO PROBLEMA........................................................... 36
4.2.
MODELAGEM DO PROBLEMA......................................................... 37
4.3.
ARQUITETURA DO PROBLEMA ...................................................... 38
5.
IMPLEMENTAçÃO .................................................................. 40
5.1.
CONFIGURAÇÕES DE HARDWARE DAS MÁQUINAS REAIS ....... 40
5.2.
INSTALAÇÃO DO VMWARE ............................................................. 41
5.3.
CRIAÇÃO DA MÁQUINA VIRTUAL ................................................... 46
5.4.
CRIAÇÃO DA MÁQUINA VIRTUAL COM CD DE INSTALAÇÃO ..... 53
5.5.
CONFIGURAÇÃO DA REDE ENTRE AS MÁQUINAS ...................... 55
5.6.
ACESSO A REDE VIA WINDOWS .................................................... 57
5.7.
ACESSO A REDE VIA LINUX............................................................ 57
6.
RESULTADOS......................................................................... 60
6.1.
UBUNTU 8.04 LTS EXECUTANDO NO WINDOWS XP ................... 60
6.2.
WINDOWS SERVER 2003 EXECUTANDO NO WINDOWS XP ....... 61
6.3.
COMUNICAÇÃO DE DADOS ENTRE MÁQUINAS VIRTUAIS ......... 62
7.
CONCLUSÃO .......................................................................... 64
REFERÊNCIAS BIBLIOGRÁFICAS .................................................... 65
14
CAPÍTULO 1
1. INTRODUÇÃO
Nos últimos anos, o processo de virtualização tem sido aplicado em diversos
sistemas com a idéia de compartilhar os recursos dos computadores modernos.
Os computadores modernos são poderosos o suficiente para o uso da virtualização
de modo a tornar possível a execução de vários sistemas operacionais necessitando
de apenas um único hardware físico. Esta representação de vários sistemas
operacionais sendo executados num mesmo hardware físico é chamada
virtualização de software. Isto foi alcançado através da abstração de um hardware
convencional atribuindo a maior parte, ou em alguns casos, toda a sua
funcionalidade ao software. Este conceito de abstração recebeu o nome de
“máquina virtual” que é um software representando as funcionalidades de um
hardware (Oliveira, 2007).
A utilização da virtualização representa a “execução de várias máquinas virtuais em
um mesmo hardware” (Freitas, et al., 2007), aperfeiçoando o desempenho dos
computadores, a fim de auxiliar no desempenho dos processos dentro das
empresas.
O uso da tecnologia de virtualização evoluiu devido ao fato da mesma propor
soluções para problemas reais existentes na computação moderna. No entanto, a
idéia de virtualização não é tão recente. A virtualização na camada do sistema
operacional vem de um bom tempo atrás, onde a primeira máquina virtual foi o
VM/CMS da IBM que se refere à família System/370, System/390, zSeries, System
z9 IBM mainframes e sistemas compatíveis. Criado no final da década de 70 e
utilizado até hoje pela IBM, os sistemas de virtualização estão cada vez mais
presentes na tecnologia mundial (Oliveira, 2007).
Atualmente, os sistemas virtualizados estão conquistando seu espaço devido ao fato
de resolverem alguns pontos que hoje são críticos em diversas empresas tais como:
15
incompatibilidade entre hardware e software no que diz respeito às modificações no
decorrer do tempo, ou seja, os hardwares das empresas estão sendo atualizados
em uma velocidade maior que os softwares que devem ser executados e são
responsáveis por controlar a atividade final das empresas e a utilização dos recursos
de hardware pelos softwares pelo mesmo motivo citado anteriormente, ou seja, os
softwares não conseguem explorar toda capacidade dos hardwares atuais. Os
sistemas virtualizados oferecem algumas vantagens como redução do custo de
implementação, aumento da eficácia dos dispositivos, melhor gerenciamento dos
servidores e alocação de recursos de hardware.
Segundo (Torres e Lima, 2006), a virtualização de sistemas é uma solução para
melhorar os recursos do hardware e ao mesmo tempo aproveitar todo o poder de
processamento. Para (Laureano, 2006), a virtualização é uma forma de utilizar a
capacidade do processador para fornecer benefícios aos usuários. O aumento da
complexidade dos computadores (padrões de processador, chipsets, dispositivos de
controles, etc) dificulta a configuração das máquinas e a sua utilização. As técnicas
de virtualização podem ser utilizadas para ajudar a ocultar essa complexidade dos
usuários que, em vez de ver um sistema complexo, vêem em seu lugar uma
máquina virtual mais simples e fácil de usar, definida pelo SO (Sistema
Operacional).
Vários servidores virtuais em um pequeno número de máquinas físicas compõem
uma solução para melhorar o uso dos recursos de hardware. O aproveitamento do
processamento nem sempre é utilizado ao máximo, uma solução é a utilização de
máquinas virtuais. A vantagem é aumentar o poder de processamento e permitir que
mais processos sejam executados num mesmo tempo, tornando os equipamentos
mais produtivos (Andrade, 2006).
1.1.
OBJETIVO DO TRABALHO
O objetivo deste trabalho é realizar a virtualização de servidores, criando nos
computadores físicos máquinas virtuais ligadas ao computador real processando
alguma aplicação ou compartilhando dados. A criação dessas máquinas virtuais visa
16
realizar algum tipo de processo, adquirindo um melhor aproveitamento dos recursos
do computador e gerenciamento, além do aumento de segurança.
A ferramenta utilizada para a implementação da virtualização será WMware Server
1.0.7, que é um dos mais completos softwares de virtualização. Este software é de
fácil aplicação e pode ser executado em qualquer plataforma X86 padrão, além do
VMware Server ser um produto gratuito de virtualização para servidores Windows e
Linux. O VMware é um produto potente e, ao mesmo tempo, de fácil utilização por
usuários sem experiência com a tecnologia de virtualização de servidores.
1.2.
MOTIVAÇÃO
A motivação para o desenvolvimento deste trabalho é devido ao fato de que ao
longo dos anos, as máquinas virtuais vêm sendo utilizadas com várias finalidades,
como processamento distribuído e segurança. Um uso freqüente de sistemas
baseados em máquinas virtuais é o que chamamos de “consolidação de servidores”.
Em vez da utilização de vários equipamentos com seus respectivos sistemas
operacionais é utilizado somente um computador com máquinas virtuais abrigando
os vários sistemas operacionais e suas aplicações e serviços.
A aplicação desta tecnologia apresenta um ganho de qualidade e agilidade aos
serviços prestados. De acordo com (Tanenbaum e Woodhull, 2000), tudo que se
referem aos computadores e aos sistemas operacionais evoluem a passos largos. E
é essa evolução que abre caminho para aplicativos mais poderosos e tem
aumentado dia-a-dia a presença de computadores em nossas vidas.
1.3.
ESTRUTURA DO TRABALHO
O trabalho é dividido em oito capítulos. No primeiro capítulo, temos uma introdução
sobre virtualização, objetivo e motivação do trabalho. No segundo capítulo temos os
fundamentos teóricos para o entendimento de virtualização que são: máquinas
virtuais, as formas de implementação de virtualização, as técnicas de virtualização e
as principais soluções de virtualização. No terceiro capítulo temos os fundamentos
17
de uma infra-estrutura virtual, um comparativo entre servidor físico e servidor virtual,
as áreas de soluções de virtualização e os benéficos da virtualização. No quarto
capítulo demonstra a modelagem do problema que será aplicada. No quinto capítulo
mostra as implementações realizadas com o software de virtualização, a criação de
máquinas virtuais com os resultados obtidos e comentários sobre eles. No sexto
capítulo temos os resultados obtidos no trabalho.
No sétimo capítulo temos a conclusão do trabalho. Por último temos as referências
bibliográficas.
.
18
CAPÍTULO 2
2. FUNDAMENTOS TEÓRICOS
Neste capítulo, serão definidos os principais conceitos utilizados no desenvolvimento
do trabalho.
2.1.
MÁQUINAS VIRTUAIS
O conceito de máquinas virtuais não é tão recente, vem do fim dos anos 50 e início
dos anos 60. As origens das máquinas virtuais foram desenvolvidas para centralizar
os sistemas de computador utilizado no ambiente VM/370 da IBM (Laureano, 2004).
A utilização de máquinas virtuais vem se tornando uma alternativa para vários
sistemas dentro das empresas pelas vantagens que a proporcionam com relação à
redução de custo, portabilidade e o gerenciamento da infra-estrutura.
Figura 1 – Máquinas Virtuais. (Bojczuk, 2008).
19
Uma máquina virtual (Virtual Machine – VM) é definida como sendo uma cópia de
uma máquina real e seu funcionamento é como uma máquina real, como mostra a
Figura 1.
O termo máquina virtual se refere quando trabalha com diversos sistemas sendo
executados em uma única máquina real, dependendo do poder de processamento
do computador real torna-se possível a execução das várias máquinas virtuais.
Um ambiente de máquina virtual é criado por um monitor de máquinas virtuais, onde
o monitor cria uma ou mais máquinas virtuais em uma máquina real.
2.2.
O PORQUÊ DAS MAQUINAS VIRTUAIS?
Os sistemas de computadores são compostos basicamente por três componentes:
hardware, sistema operacional e as aplicações, conforme Figura 2.
Figura 2 – Sistema de computador. (Laureano, 2006).
A função do hardware é executar as operações solicitadas pelas aplicações. O
sistema operacional recebe as solicitações das operações controlando o acesso ao
hardware.
20
Os sistemas operacionais e as aplicações são projetados para aproveitar o máximo
dos recursos do hardware, onde nem sempre isso ocorre.
Ao longo dos anos foram desenvolvendo vários sistemas operacionais e entre eles
os sistemas operacionais não compatíveis entre si.
A utilização das máquinas virtuais possibilita a capacidade de resolver este
problema, pois, cria-se uma camada para compatibilizar diferentes sistemas
operacionais, que chama máquina virtual.
2.3.
VIRTUALIZAÇÃO
A virtualização essencialmente possibilita que um computador faça o trabalho de
vários computadores compartilhando de um único servidor entre vários ambientes
distintos. Ambientes virtuais tornam possível que múltiplos sistemas operacionais e
múltiplas aplicações sejam executados localmente ou em um acesso remoto,
acabando com limitações físicas e geográficas. Alem disso, possibilita a economia
de energia e a redução de despesas. Devido ao uso eficiente dos recursos
computacionais, é possível obter alta disponibilidade, melhor gerenciamento de
desktops, aumento da segurança e a melhoria do processo de recuperação de
desastres com a implementação de uma infra-estrutura virtual.
2.3.1. Implementação de virtualização
As formas de implementação de virtualização podem ser feitas de duas maneiras:
virtualização por software e virtualização por hardware.
2.3.1.1.
Virtualização por Software
Neste tipo de implementação, as máquinas virtuais são controladas por um software
de virtualização, chamado de servidor de virtualização. Cada máquina possui seu
21
próprio sistema operacional compartilhando os recursos necessários para ser
processado. Para um melhor entendimento desta forma de implementação é
importante conhecer dois componentes do ambiente computacional virtual: o
hospedeiro e o convidado.
•
Hospedeiro: é o sistema operacional onde está instalado e será executado
direto sobre o servidor ou hardware físico;
Convidado: é o sistema operacional onde será executado sobre o servidor
•
hospedeiro, construindo assim uma máquina virtual.
Qualquer servidor que se espera hospedar uma ou mais máquinas virtuais devem
possuir recursos para o servidor hospedeiro e para os sistemas convidados.
Neste tipo de implementação ajuda muito na redução de recursos de hardware,
podendo implicar em limitações no que se diz a respeito ao uso de memória, discos,
placas e outros dispositivos, podendo trazer vários problemas, pois se acontecer do
sistema operacional falhar, os sistemas convidados também serão afetados, além de
ficar mais difícil de controlar e limitar o uso do processador entre as máquinas
virtuais.
2.3.1.2.
Virtualização por Hardware
Este tipo de implementação é feito através do hardware, onde não existirá um
software que realizará a implementação para que ocorra a virtualização. Neste caso,
cada máquina virtual é isolada, e a implementação será por meio de alocação de
processadores, de memória, de discos e de interfaces. Este tipo de virtualização
apresenta uma vantagem em relação à virtualização por software, pois se uma
máquina apresentar problemas, não afetará as demais, por estarem isoladas e
implementadas com características próprias. A Figura 3, mostra um exemplo de
virtualização por hardware.
22
Figura 3 - Virtualização por Hardware. (Laureano, 2006).
Este modelo adotado na década de 60 para WM/370 nos mainframes IBM e é a
tecnologia utilizada pelo VMware na plataforma x86. Como desvantagem neste tipo
de implementação seria um custo mais elevado, pois exige um determinado
hardware específico, como servidores com características mais modernas.
2.3.2. Técnicas de Virtualização
As técnicas de virtualização podem ser de três tipos: Para-Virtualização,
Virtualização Total e Recompilação Dinâmica.
2.3.2.1.
Para-Virtualização
A Para-Virtualização é uma técnica que consiste em apresentar ao sistema
operacional onde está sendo emulada uma máquina virtual que seja similar, mas
não idêntica à arquitetura física real. Este tipo de solução aumenta o desempenho
das máquinas virtuais que a utilizam. Portanto, são necessárias modificações nos
sistemas operacionais convidados que executam na arquitetura x86. As mudanças
23
necessárias nos sistemas convidados que devem ser realizados nos testes de
implementação já ocorrem em versões mais recentes do Linux (Andrade, 2006).
A Microsoft anunciou, recentemente, uma parceria com a companhia XenSource
para futuras versões do Windows Server, através de virtualização, para que possam
executar distribuições Linux que utilizam Xen como máquina virtual. Isso mostra que
a modificação do sistema operacional convidado é possível e pode ser realizada
sem sofrer um impacto muito grande na evolução dos sistemas operacionais
existentes no mercado (Freitas et al., 2007).
2.3.2.2.
Virtualização Total
A Virtualização Total é uma técnica que permite uma estrutura completa de
hardware a ser virtualizada, isto é, o sistema a ser virtualizado não sofrerá qualquer
tipo de alteração. Para que isto ocorra é realizada uma simulação completa do
hardware da máquina de modo que qualquer sistema operacional possa ser
executado. A principal vantagem de utilizar esta técnica é o fato que o sistema
virtualizado não sofrerá alteração, mas tem como desvantagem o sistema
virtualizado será executado de uma forma mais lenta.
2.3.2.3.
Recompilação Dinâmica
A Recompilação Dinâmica é também conhecida como tradução dinâmica de partes
do código. A compilação consiste em traduzir durante a execução de um programa
as instruções de um formato para outro. Uma aplicação desta técnica também se
refere à compilação just-in-time (JIT). Elas são utilizadas para aumentar a
performance de aplicativos, onde são realizadas a conversão (tradução) de uma
linguagem bytecodes para uma linguagem que a máquina possa entender. A
recompilação dinâmica (ou tradução) é realizada por sete passos.
24
1º passo: Agrupamento de bits
Quando um programa é compilado e transformado em um arquivo executável
utilizando a linkedição. Ele guarda características que identificam a memória,
os registradores e as funções do sistema operacional que são manipulados.
Uma máquina virtual pode usar o conhecimento sobre o formato do
executável e, pelo uso de técnicas heurísticas, recuperarem os conjuntos de
bits do executável e reordená-los.
•
2º passo: Desmontagem (disassembling)
Os bits são desmontados e transformados em um conjunto de instruções e
operadores ordenados em pares.
•
3º passo: Geração intermediária do código
As instruções são transformadas para uma representação de máquina
independente.
•
4° passo: Decompilação
A representação gerada é transformada em uma linguagem de alto nível.
•
5º passo: Compilação
O código gerado é novamente compilado para a nova plataforma.
•
6º passo: Montagem (assembling)
Os códigos-objeto (gerados pela compilação) são novamente montados
(linkeditados), preparando a criação de um “novo” executável.
•
7º passo: Armazenagem dos bits
Os bits são agrupados de forma a gerar o novo executável.
2.3.3. Soluções de Virtualização
No mercado existem diversos softwares que atuam na virtualização, onde é possível
investir em uma tecnologia segura e confiável obtendo a disponibilidade de melhores
25
recursos e investimento em produtividade com esses aplicativos. As principais
soluções disponíveis no mercado são: VMware, Virtual PC, Virtual Server e Xen.
2.3.3.1.
VMware
O VMware é um conjunto de software disponibilizado pela VMware Inc, onde
oferecem ferramentas de solução para virtualização completa. Os softwares
disponibilizados se dividem em três produtos: VMware Workstation e o VMware
Player (produtos para ambiente desktop) e VMware ESX Server (produto para
ambiente servidor).
Esta é uma solução que interage em diferentes sistemas operacionais, sendo
aplicado em versões para o ambiente Linux e ambiente Windows. Sempre que
possível tenta converter os comandos usados pelo sistema dentro da máquina
virtual em comandos que o sistema host (hospedeiro) possa entender e executar em
seguida.
A principal vantagem é o suporte integral de recursos sem a necessidade de criar
código de tradução complexo e pesado ao desempenho da máquina. Sendo que
suas principais características são que suporta sistemas operando na tecnologia 64
bits (incluindo Windows e Linux), monitora e controla a infra-estrutura em console
central de gerência e suporta processadores SMP virtual.
2.3.3.2.
Virtual Pc
Esta é uma solução da Microsoft desenvolvida principalmente para atender o
Microsoft Windows XP. Como grande vantagem permite que os equipamentos
possam ser configurados mais rápidos e permite ao usuário que troque de sistema
operacional sem a necessidade de realizar login.
As principais características são de que suporta até 4 (quatro) adaptadores de rede
por máquina, suporte para até 4 (quatro) GB de memória, configurações baseadas
na linguagem XML, possui Virtual Machine Additions, que oferece alto nível de
26
integração entre os sistemas e executa sua maior parte dos sistemas x86 sem a
necessidade de drivers customizados.
2.3.3.3.
Virtual Server
Esta é uma solução da Microsoft que visa melhorar o máximo de performance e
aumentar a eficiência das grandes empresas. Reduzindo custos e otimizando
recursos de hardware, proporcionando assim um maior desempenho.
As principais características são de que apresentam suporte para conectividade
permitindo cluster de todas as máquinas virtuais que está executando sobre um
host, suporta tecnologia 64 bits, melhorias no Myper-threading, suporte para F6 Disk
e funcionalidades pré-compactador de disco virtual.
2.3.3.4.
Xen
O projeto Xen nasceu na Universidade de Cambridge, tendo se transformado na
instituição independente XenSource, que foi depois adquirida pela Citrix Systems, e
é a versão opensource para virtualização. Não é uma solução fácil de usar como o
VMware, sendo mais voltado para uso em servidores Linux, FreeBSD ou Windows,
permitindo rodar vários servidores virtuais numa única máquina.
As requisições feitas pelas máquinas virtuais são organizadas e repassadas para o
sistema hospedeiro. Ele permite a interação com uma quantidade maior de
servidores virtuais em um só computador, que é acessível a todos que querem
participar deste mundo virtual.
Segundo notícias da Sun, os motivos para se considerar o Xen deve se ao fato de
ser relativamente leve, pois não consome grande quantidade de recursos da CPU,
atinge um alto grau de isolamento entre as tecnologias de máquinas virtuais e
suporta combinações variadas de sistemas operacionais e versões, além de
executar dinamicamente uma instância do sistema operacional sem afetar o serviço.
Xen é o meio mais rápido e seguro de virtualização de softwares disponíveis hoje
em dia. O Xen utiliza um conceito chamado para-virtualização, onde o sistema
27
operacional executando dentro de uma máquina virtual tem a ilusão de estar sendo
executado diretamente sobre o hardware.
O Xen se encarrega de organizar as requisições feitas pelas máquinas virtuais e
repassá-las ao sistema principal. O Xen é uma opção acessível e robusta para
aqueles que querem entrar no mundo virtualizado.
As vantagens do Xen são os excelentes desempenhos e o baixo custo. E uma das
desvantagens do Xen é que para executar dentro do Xen é necessário que o
sistema hospedeiro seja modificado. Não é possível executar qualquer sistema
diretamente, como no caso do VMware. No caso dos servidores (onde temos um
público da área técnica) isto não chega a ser um grande problema, mas nos
desktops ele é ainda pouco usado.
Na Tabela 1 são apresentadas as principais soluções de virtualização existentes.
28
TABELA 1 - QUADRO GERAL DAS SOLUÇÕES DE VIRTUALIZAÇÃO
Nome
Criador
Fornecedor
Suporte
SO para o host (SO
Anfitriões)
Linux
Linux, Windows, BSD
Linux
Linux
na
versão
kernel do host (várias
distribuições Linux)
Depende
da
arquitetura do CPU
convidado
Linux,
Windows,
DOS, FreeBSD
Linux KVM
KVM
Qumranet
Linux VServer
Projeto
Comunitário
Projeto
VServer
QEMU
Fabrice Bellard
VirtualBox
Fabrice
Bellard
ajudado por outros
desenvolvedores
Inno Tek
Comunidade
e
Qumranet para o
produto comercial
Distribuições,
fornecedores
independentes
Comunidade
Innotek
Innotek
Linux,
OS X
Virtual PC 2007
Microsoft
Microsoft
Microsoft
Virtuozzo
SWsoft
Parallels (antiga
SWsoft)
Parallels
Windows
Vista
(Business,
Enterprise,
Ultimate), XP Pro, XP
Tablet PC Edition
Linux, Windows
VMware ESX Server
VMware
VMware
VMWare, parceiro
SO próprio
VMware Server
VMware
VMware
VMWare, parceiro
Windows, Linux
VMware Workstation
VMware
VMware
VMWare, parceiro
Windows, Linux
VMware Player
VMware
VMware
VMWare, parceiro
Windows, Linux
Xen
Universidade de
Cambridge, Intel e
AMD
Xensource/Citrix
Xensource/Citrix
NetBSD, Linux, Solaris
Linux
SO para hóspedes
(SO Convidados)
Linux, Windows, Mac
OS X, Solaris, FreeBSD
Windows,
Mac
Tecnologia
(Método de
operação)
Virtualização
na
camada de sistema
operacional
Virtualização
na
camada de sistema
operacional
Emulação
com
Recompilação
Dinâmica
Virtualização Total
Área de aplicação
típica
Usado por/em
Virtualização
de
servidor e desktop
Acelerar
QEMU
desempenho
do
Virtualização
de
servidor em Linux
Hospedagem, isolamento de
serviços e segurança
Teste/Verificação de
software, virtualização
de desktop
Virtualização
de
desktop
Desenvolvedores, testadores
e estações de trabalho
Estações
de
trabalho,
consolidação de servidores e
desenvolvimento
Estações
de
trabalho,
consolidação de servidores e
desenvolvimento
DOS, Windows, OS/2
Virtualização Total
Virtualização
desktop
de
Várias distribuições
Linux, Windows
Virtualização
na
camada de sistema
operacional
Virtualização Total
Virtualização
servidor
Linux/Windows
Virtualização
servidores
de
em
Virtualização Total
Virtualização
servidores
de
Servidores, desenvolvedores
e testadores
Virtualização Total
Virtualização
desktop
de
Profissionais
técnicos
e
desenvolvedores avançados
Virtualização Total
Virtualização
desktop
de
Paravirtualização
Virtualização
para
servidores Linux e
Windows
Profissionais
técnicos,
desenvolvedores avançados
e usuários finais
Consolidação de servidores
Windows, Red Hat,
SuSE,
Netware,
Solaris, FreeBSD
DOS,
Windows,
Linux,
FreeBSD,
Netware, Solaris
DOS,
Windows,
Linux,
FreeBSD,
Netware, Solaris
DOS,
Windows,
Linux,
FreeBSD,
Netware, Solaris
Linux,
NetBSD,
FreeBSD, OpenBSD,
Solaris, Windows XP
& 2003 Server
Tabela 1 – Quadro geral das soluções de virtualização
de
Consolidação de servidores,
recuperação de desastres e
provedores de serviço
Consolidação de servidores
29
CAPÍTULO 3
3. INFRA-ESTRUTURA DOS SERVIDORES VIRTUAIS
A função de virtualização oferece um paradigma inteiramente novo de implantação e
licenciamento para permitir que múltiplas instâncias de sistema operacional sejam
executados em uma infra-estrutura virtual separada do hardware por uma tecnologia
de virtualização baseada em um monitor fino.
As principais propostas de valor que a virtualização de servidor permitem são essas:
•
Consolidação de servidor: Possibilitar que os clientes reduzam a
quantidade total e o custo de propriedade de servidor minimizando a
utilização do hardware, consolidando cargas de trabalho e reduzindo os
custos de gerenciamento.
•
Ambientes de desenvolvimento e teste: Criar um ambiente mais flexível e
fácil de gerenciar que maximize o hardware de teste, reduzindo custos,
melhore o gerenciamento do ciclo de vida e melhore a cobertura dos testes.
•
Gerenciamento de continuidade de negócios: Eliminar o impacto de
tempos de inatividade programados e não programados e permitir
capacidades de recuperação de desastres com recursos como a Migração ao
Vivo e clustering de host.
•
Centro de dados dinâmico: Utilizar os benefícios da virtualização para criar
uma
infra-estrutura
mais
ágil
combinada
com
novos
recursos
de
gerenciamento para permitir a você mover máquinas virtuais sem causar
impacto sobre os usuários.
A infra-estrutura virtual cria uma camada abstrata entre os dispositivos físicos de um
computador e o sistema operacional. Isso significa que os sistemas falam com um
hardware virtual e não diretamente com o hardware físico.
30
Com isso podemos gerenciar diversos sistemas de um ponto centralizado de
controle, podemos compartilhar recursos entre cargas de trabalho para aumentar a
eficiência e utilização. Com isso a Tecnologia de Informação consegue ter um data
center que seja mais preparado para a necessidade dos negócios. A Figura 4 mostra
um modelo de infra-estrutura virtual.
Figura 4 - Infra-Estrutura Virtual. (Marques, 2007).
3.1.
FUNCIONAMENTO
O funcionamento de um servidor virtual é fazer com que todas as requisições
realizadas pelos aplicativos sejam direcionadas para o Kernel, onde ele requisita
recursos ao hardware. O servidor virtual realiza os controles das requisições junto ao
Kernel controlando os acessos ao hardware. Um dos objetivos para esta forma de
funcionamento é que ele garante o isolamento de sistemas operacionais, ou seja,
um sistema virtualizado não pode se comunicar com outro sistema via Kernel e outra
máquina física que virtualiza essas máquinas virtuais. Isto significa que não existe
comunicação entre eles, devido ao isolamento criado entre as máquinas.
31
3.2.
SERVIDOR FÍSICO x SERVIDOR VIRTUAL
Será apresentado nesta seção as diferenças entre a arquitetura de um servidor
físico e um servidor virtual. A Figura 5 mostra a arquitetura de um servidor físico que
é um sistema sem virtualização.
Servidor físico (sistema sem virtualização)
Figura 5 – Sistema sem virtualização. (Marques, 2007).
32
A Figura 6 mostra a arquitetura de um servidor virtual que é um sistema com
virtualização.
Servidor virtual (sistema com virtualização)
Figura 6 - Sistema com virtualização. (Marques, 2007).
Chega um momento que se encontra um limite, onde é preciso virtualizar,
principalmente na área de tecnologia. A partir do momento que está em um
ambiente de produção, é parecido com servidores físicos, quando vai dimensionar,
tendo que ter os dados dos serviços que estão operando (uso do hardware), para
que quando for realizar a virtualização não ocorra algo errado.
A virtualização isola a bios, sistema operacional e aplicações do hardware físico, e
isto faz com vários sistemas podem compartilhar hardware, ou serem movidas para
um hardware diferente sem interrupção de serviços (Marques, 2007).
33
Em um ambiente onde não utiliza a virtualização observa-se que ele tem uma
utilização de recursos de hardware inferior ao normal, ao contrário, do ambiente
virtualizado, os sistemas podem compartilhar recursos de hardware, obtendo assim
uma melhor utilização dos recursos.
Além disso, devido ao fato da criação da camada virtual, o Kernel, tem-se a
independência do hardware, podendo mover um sistema de um servidor para outro,
com características de hardware diferentes que não sofrerá nenhum impacto
(Marques, 2007).
Para que não ocorram problemas durante um processo de virtualização, é
importante, sempre fazer um planejamento. Sempre que pensar em virtualizar,
pensar em planejar, antes de entrar em produção, para que não ocorra um
imprevisto.
3.3.
ÁREAS DE SOLUÇÕES PARA INFRA-ESTRUTURA VIRTUAL
As áreas de soluções para uma infra-estrutura virtual são: consolidação de
servidores, teste e desenvolvimento e continuidade do negócio.
3.3.1. Consolidação de Servidores
A virtualização possibilita a realização da junção de vários servidores em um único
servidor físico, diminuindo custos, aquisição e operação. As características principais
da consolidação de servidores podem ser resumidas por:
• Consolida e particiona sistemas;
• Diminui o custo de aquisição de servidores físicos;
• Diminui custos operacionais.
34
3.3.2. Teste e Desenvolvimento
A possibilidade de disponibilizar rapidamente novos servidores, além de poder
executar vários tipos de sistemas faz parte do teste e desenvolvimento e tem como
características principais:
• Consolida servidores de teste e desenvolvimento;
• Rápida disponibilidade de servidores;
• Armazena diversos padrões de máquinas de teste.
3.3.3. Continuidade do Negócio
Neste caso, se ocorrer uma falha do servidor físico, facilmente pode-se migrar as
máquinas virtuais instaladas dele para outro servidor utilizando uma técnica de
virtualização, com isso diminuindo bastante o tempo de recovery em caso de falha.
A continuidade do negócio tem como características:
• Permite solução de alta disponibilidade com menos hardware;
• Melhora tempo recovery;
• Armazenam cópias dos servidores de produção como arquivos de máquinas
virtuais, independente de hardware para Disater Recovery.
3.4.
BENEFÍCIOS DA VIRTUALIZAÇÃO
Os benefícios da virtualização envolvem três conceitos: particionamento, isolamento
e encapsulamento. Estes conceitos serão descritos resumidamente para facilitar o
entendimento.
35
3.4.1. Particionamento
• Aumento de utilização do hardware pelo compartilhamento de recursos através do
grande número de máquinas virtuais;
• Múltiplas aplicações e sistemas operacionais podem ser executados em um único
servidor físico;
• Recursos computacionais são tratados em uma única forma para que sejam
alocadas máquinas virtuais de maneira controlada;
• Utiliza todos os recursos do servidor físico.
3.4.2. Isolamento
• Máquinas virtuais são completamente isoladas da máquina hóspede e de outras
máquinas virtuais. Se uma máquina virtual tem problemas, todas as outras serão
afetadas;
• Dados não vazam entre máquinas virtuais e aplicativos podem se comunicar entre
conexões de rede configuradas;
• Isolamento de falha e segurança em nível de hardware;
• Controle da CPU, RAM, Disco, preserva o desempenho.
3.4.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
do
hardware
virtual
é
fornecida
a
aplicação,
compatibilidade;
• Todo o estado da máquina virtual é encapsulado;
•
Estado da máquina virtual pode ser armazenado em um arquivo.
garantindo
36
CAPÍTULO 4
4. MODELAGEM DO PROBLEMA
A virtualização consiste em uma camada virtual que permite que várias máquinas
virtuais, com sistemas operacionais heterogêneos, sejam executadas isoladamente,
lado a lado, na mesma máquina física. Desacoplando o hardware físico do sistema
operacional, a virtualização permite:
•
Executar várias máquinas virtuais, com sistemas operacionais heterogêneos,
ao mesmo tempo e na mesma máquina física.
•
Criar máquinas virtuais configuradas totalmente de forma isolada, com seu
próprio conjunto de hardware virtual para execução de sistemas operacionais
e aplicativos.
•
Salvar, copiar e provisionar rapidamente máquinas virtuais que possam
passar de um servidor físico para outro, para permitir a consolidação da carga
de trabalho e a manutenção do tempo de inatividade zero.
As soluções VMware simplificam a estrutura de TI (tecnologia da informação),
permitindo que as empresas utilizem seus recursos de armazenamento, rede e
computação para controlar os custos e ter uma resposta mais rápida.
4.1.
DESCRIÇÃO DO PROBLEMA
Neste trabalho será feita uma virtualização de servidores com o objetivo de realizar
compartilhamento de dados. Para isso serão considerados dois servidores (servidor
MR1 e servidor MR2) na qual tem instalado máquinas virtuais. Cada uma das
máquinas virtuais será utilizada para processar alguma aplicação e também
compartilhar dados entre outras máquinas virtuais ou máquinas reais.
37
Será considerado que os servidores que estejam processando o Kernel, não tenham
acesso direto à internet, pois pode ocorrer alguma invasão em um dos servidores,
danificando as demais máquinas virtuais.
4.2.
MODELAGEM DO PROBLEMA
A Figura 7 mostra a modelagem do problema de virtualização de servidores que
será abordado neste trabalho.
Figura 7 – Modelagem do problema de virtualização.
O modelo descrito apresenta dois servidores físicos (servidor MR1 e servidor MR2)
onde ambos têm instalado o sistema operacional Microsoft Windows XP e foi
utilizado o software de virtualização VMware Server 1.0.7 para criar as máquinas
virtuais.
No servidor MR1 foram criadas três máquinas virtuais e em cada uma delas foi
instalado um sistema operacional distinto. Os sistemas operacionais das máquinas
virtuais são Microsoft Windows XP, Microsoft Windows 2003 Server e Ubuntu 8.04
LTS . No servidor MR2 foi criada uma única máquina virtual onde foi instalado o
sistema operacional Microsoft Windows 2003 Server.
38
Esta estrutura para o modelo do problema visa inicialmente dois tipos de aplicação:
acesso ao compartilhamento de arquivos entre as máquinas virtuais e execução do
sistema operacional dentro de outro sistema operacional.
4.3.
ARQUITETURA DO PROBLEMA
A Figura 8 apresenta detalhadamente a arquitetura do modelo de virtualização.
Figura 8 – Arquitetura do problema.
39
A Figura 9 apresenta detalhadamente os sistemas operacionais instalados em cada
uma das máquinas e suas configurações de redes.
Figura 9 – Informações da rede das máquinas reais e virtuais
40
CAPÍTULO 5
5. IMPLEMENTAÇÃO
A realização do processo de virtualização apresentada na Figura 7 pode ser feita
utilizando inúmeras ferramentas existentes no mercado. A ferramenta adotada para
solucionar o problema proposto será VMWare Server 1.0.7.
Para dar início ao processo de virtualização é necessário realizar o download da
ferramenta VMware Server 1.0.7, que é um software gratuito e pode ser encontrado
no
seguinte
link
http://register.vmware.com/content/download-107.html
onde
encontra-se o download da versão no ambiente operacional Windows e Linux.
Também é necessário realizar um registro no mesmo site, clicando em Register,
onde será preenchido um formulário para que enviem o serial do software que será
utilizado no término na instalação do WMware Server 1.0.7.
Nesta seção serão apresentados todos os passos para a instalação do software
VMware Server 1.0.7, como criar, instalar e executar as máquinas virtuais e também
a comunicação de arquivos entre as máquinas virtuais e as máquinas reais.
5.1.
CONFIGURAÇÕES DE HARDWARE DAS MÁQUINAS REAIS
Será apresentado nesta seção às configurações mínimas das máquinas utilizadas
para a implementação e testes do processo de virtualização.
•
Máquina real (MR1): PC Particular
- Processador: Intel Core 2 Duo 2.2 GHz
- Memória: 1GB DDR2
- Disco Rígido: 160 GB
41
- Unidade Ótica: DVD-RW
- Placas On Board: rede, vídeo e som
- Sistema Operacional: Microsoft Windows XP
•
Máquina real (MR2): PC do Laboratório de Redes
- Processador: Celeron (R) 2.6 GHZ
- Memória: 512 MB DDR
- Disco Rígido: 40 GB
- Unidade Ótica: CD-RW
- Placas On Board: rede, vídeo e som
- Sistema Operacional: Microsoft Windows XP
5.2.
INSTALAÇÃO DO VMWARE
A instalação do software VMware é feita após o download da ferramenta,
executando o arquivo para iniciar o processo de instalação. A Figura 10 mostra a
interface inicial da ferramenta e o passo 1 da instalação do VMware Server.
Figura 10 – Passo 1 da instalação do VMware Server.
42
A Figura 11 mostra o passo 2 da instalação do VMware Server.
Figura 11 – Passo 2 da instalação do WMware Server
A Figura 12 mostra o passo 3 da instalação do VMware Server.
Figura 12 – Passo 3 da instalação do VMware Server
43
A Figura 13 mostra o passo 4 da instalação do VMware Server.
Figura 13 – Passo 4 da instalação do VMware Server
A Figura 14 mostra o passo 5 da instalação do VMware Server.
Figura 14 – Passo 5 da instalação do VMware Server
44
A Figura 15 mostra o passo 6 da instalação do VMware Server.
Figura 15 – Passo 6 da instalação do VMware Server
A Figura 16 mostra o passo 7 da instalação do VMware Server.
Figura 16 – Passo 7 da instalação do VMware Server
45
A Figura 17 mostra o passo 8 da instalação do VMware Server.
Figura 17 – Passo 8 da instalação do VMware Server
A Figura 18 mostra o passo 9 da instalação do VMware Server.
Figura 18 – Passo 9 da instalação do VMware Server
46
5.3.
CRIAÇÃO DA MÁQUINA VIRTUAL
Nesta Seção, será criada e instalada uma máquina virtual (utilizando um arquivo ISO
(imagem) de instalação). Depois de instalar o VMware Server 1.0.7, execute o atalho
localizado na área de trabalho “VMware Server Console” ou clique em “Iniciar” “Programas” “VMware” “VMware Server” “VMware Server Console” , onde
abrirá a interface principal como mostra a Figura 19.
Figura 19 – Passo 1 da criação de uma máquina virtual
Depois de clicar em “OK” mostrará todas as máquinas virtuais instaladas em seu
computador. Como neste caso ainda não existe nenhuma máquina virtual instalada,
será demonstrado passo-a-passo como criar e instalar uma máquina virtual. A
criação das máquinas virtuais é basicamente a mesma independente do sistema
operacional a ser instalado, como exemplo o sistema operacional a ser instalado na
máquina virtual será o Ubuntu 8.04 LTS onde é necessário realizar o download no
link www.ubuntu-br.org, será demonstrado a instalação do sistema operacional a
partir de um arquivo ISO. Para dar início ao processo de criação da máquina virtual
clique em “File”, “New” e “Virtual Machine” ou a tecla de atalho “Ctrl+N”. A próxima
interface será como a Figura 20, clique em “avançar”.
47
Figura 20 – Passo 2 da criação de uma máquina virtual
A interface da Figura 21 mostra a seleção que deve ser feita para a configuração da
máquina virtual, clique em avançar.
Figura 21 – Passo 3 da criação de uma máquina virtual
48
Nesta interface selecione o sistema operacional que será instalado na máquina
virtual, assim o sistema já configura o PC virtual com os requisitos básicos para a
instalação do sistema operacional selecionado, como mostra a Figura 22.
Figura 22 – Passo 4 da criação de uma máquina virtual
Nesta tela pode-se alterar o nome da máquina virtual e selecionará o diretório onde
será salva a máquina virtual, como mostra a Figura 23.
Figura 23 – Passo 5 da criação de uma máquina virtual
49
A Figura 24 mostra os tipos de comunicação que podem ser selecionadas.
Figura 24 – Passo 6 da criação de uma máquina virtual
Na Figura 25 será definida a quantidade de espaço em disco a ser reservada para a
máquina virtual. Pode selecionar a quantidade suficiente ao uso, mas o detalhe e
desmarcar a opção “Allocate all disk space now”, pois se deixar selecionada será
alocado de imediato à quantidade em disco selecionada mesmo não sendo usado.
Ao desmarcar ele reservará o espaço em disco, mas o disco será ocupado à medida
que as instalações forem ocorrendo no sistema operacional.
Figura 25 – Passo 7 da criação de uma máquina virtual
50
O Ubuntu já aparece como uma máquina virtual, mas não está instalado o sistema
operacional, nesta próxima interface será configurada a máquina virtual para dar
início ao processo de instalação do sistema operacional. Em “Devices” é mostrada
as configurações da máquina virtual, para configurar a máquina virtual clique em
“Edit virtual machine setting”, como mostra a Figura 26.
.
Figura 26 – Passo 8 da criação de uma máquina virtual
Nesta próxima interface é onde realiza as configurações do computador virtual como
quantidade de memória, boot em drivers, configuração da rede e quantidade de
processadores, como mostra a Figura 27. Clique na opção “CD-ROM”, onde será
selecionada a opção de iniciar o boot, como a instalação do sistema operacional
ocorrerá através de um arquivo ISO que foi realizado o download do sistema
operacional deve-se clicar na opção “Use ISO image:”, depois clique em “Browse”
onde selecionará o arquivo ISO, clique em “Open” e para finalizar a parte do boot
clique em “OK” Está configurado o boot, clique em “Start this virtual machine” e
estará iniciando o processo de instalação do sistema operacional, não é complicado,
é como instalar um sistema operacional normalmente.
51
Figura 27 – Passo 9 da criação de uma máquina virtual
A Figura 28 mostra o passo 10 para a criação da máquina virtual.
Figura 28 – Passo 10 da criação de uma máquina virtual
52
A Figura 29 mostra o passo 11 da criação de uma máquina virtual.
Figura 29 – Passo 11 da criação de uma máquina virtual
A Figura 30 mostra o passo 12 da criação de uma máquina virtual.
Figura 30 – Passo 12 da criação da máquina virtual
53
A Figura 31 mostra o passo 13 da criação de uma máquina virtual.
Figura 31 – Passo 13 da criação da máquina virtual
Dica importante: quando precisar acessar a máquina virtual para entrar com algum
comando ou algum clique, é necessário clicar uma vez na máquina virtual, e para
sair da máquina virtual para acessar algum processo na máquina real, dê o seguinte
comando: “Ctrl+Alt” e para voltar à máquina virtual somente de um clique na tela.
5.4.
CRIAÇÃO DA MÁQUINA VIRTUAL COM CD DE INSTALAÇÃO
O procedimento para a criação da máquina virtual e a instalação do sistema
operacional na máquina virtual utilizando um cd para a instalação é basicamente o
mesmo processo apresentado na seção 5.3., á diferença está em dois passos da
instalação, que serão mostrados nas Figuras 32, 33, respectivamente. Como
exemplo será feita a instalação do sistema operacional Microsoft Windows Xp
Professional. A Figura 32 mostra qual o sistema operacional que deve ser
selecionado e que deseja instalar na máquina virtual que está sendo criada para a
máquina ser configurada com os requisitos básicos para o sistema operacional
executar de uma forma consistente.
54
Figura 32 – Passo 4 da criação da máquina virtual
Ao contrário da outra instalação que foi demonstrada na seção 5.3., instalando o
sistema operacional a partir de um arquivo ISO, será demonstrado o passo para
instalar o sistema operacional a partir de um “CD-ROM”. Para isso deve clicar na
opção “Use physical drive:” e clicar em “OK”, como mostra a Figura 33.
Figura 33 – Passo 9 da criação da máquina virtual
55
Com isso, está configurada para iniciar o boot com o “CD-ROM”. Clique em “Start
this virtual machine” para iniciar a instalação do Microsoft Windows XP Professional,
como mostra a Figura 34.
Figura 34 – Instalação do Windows Xp Professional na máquina virtual.
5.5.
CONFIGURAÇÃO DA REDE ENTRE AS MÁQUINAS
Após a instalação das máquinas virtuais nas máquinas MR1 e MR2 é necessário
uma configuração na rede, para que as máquinas reais e virtuais pertençam à
mesma rede. Isto é necessário para que elas possam se comunicar e compartilhar
dados entre si. Para que as máquinas se comuniquem é fundamental que as
máquinas estejam em um mesmo grupo de trabalho da rede, como mostra a Figura
35, caso esteja em outro grupo de trabalho será demonstrado os passos para a
configuração do grupo de trabalho.
56
Figura 35 – Alterando o grupo de trabalho do Microsoft Windows XP
Para acessar a tela de “Propriedade do sistema” do sistema operacional Microsoft
Windows Xp clique em: Iniciar Configurações Painel de Controle, em seguida
clique duas vezes no ícone “Sistema” onde será encontrada uma tela como a Figura
35, clique em “Nome do computador” onde terá as informações necessárias para a
comunicação entre as máquinas, como: “Descrição do computador”, “Nome
completo do computador” e “Grupo de trabalho”.
Verificar na propriedade do sistema da máquina virtual se pertence ao mesmo grupo
de trabalho da máquina real, caso não pertença, clique em alterar, onde irá realizar a
alteração para o novo grupo de trabalho que a máquina virtual irá pertencer,
preencha o nome do novo grupo de trabalho que a máquina virtual irá pertencer e
clique em “OK” em seguida clique em “OK” novamente para finalizar a configuração
do grupo de trabalho da rede.
Depois de realizar as configurações de rede entre as máquinas reais e virtuais
instaladas é necessário que elas se encontrem no mesmo grupo de trabalho para
que possam se comunicar.
57
5.6.
ACESSO A REDE VIA WINDOWS
Para acessar a rede das máquinas em execução, tem que acessar o Windows
Explorer, clicando em: Iniciar Programas Acessórios Windows Explorer. Ao
abrir a janela do Windows Explorer tem que acessar a rede, clique em “Meus locais
de rede” “Toda a rede” “Rede Microsoft Windows” “Mshome” (grupo de
trabalho onde as máquinas foram configuradas para pertencerem ao mesmo grupo),
aparecerá todas as máquinas que estão em execução no grupo MSHOME podendo
ter o acesso as pastas das máquinas que estão compartilhando arquivos, conforme
a Figura 36.
Figura 36 – Acesso a rede via Windows
5.7.
ACESSO A REDE VIA LINUX
Para acessar o compartilhamento de arquivos pelo sistema operacional Ubuntu 8.04
LTS é necessário instalar um pacote chamado “samba”. O samba é um pacote
58
utilizado em sistemas operacionais do tipo Unix, onde permite o gerenciamento e
compartilhamento de arquivos em uma rede Microsoft. A instalação é bem simples.
Ao acessar o Ubuntu 8.04 LTS em sua tela inicial, clique no menu Aplicações Acessórios Consola, digite o seguinte comando para iniciar a instalação do
samba: “sudo apt-get install samba” (sem as aspas) e pressione a tecla enter.
Depois de concluída a instalação do pacote, deve-se editar um arquivo de
configuração do samba para pertencer à mesma rede de trabalho.
Na
mesma tela, para
editar o
arquivo
digite
o
comando:
“sudo gedit
/etc/samba/smb.conf”, deve se realizar as seguintes alterações para finalizar, salvar
e fechar o arquivo de configuração:
•
workgroup = MSHOME (alterar MSHOME para o grupo de trabalho que foi
configurado na rede Windows)
•
security = user (alterar user para o nome do usuário que foi criado no Ubuntu)
•
browseable = no (alterar no para yes)
•
writable = no (alterar no para yes)
No terminal digita-se o seguinte comando “sudo smbpasswd –a user” (sem aspas),
para adicionar o usuário no servidor samba, onde user é o usuário que alterou na
linha “security”. Por fim reiniciar o servidor samba com o comando “sudo
/etc/init.d/samba restart” (sem aspas) (Jotinha, 2007).
Após o término da configuração do pacote samba, para acessar uma pasta
compartilhada no Microsoft Windows Xp através do Ubuntu 8.04 LTS, pressione a
seguinte tecla de atalho: ALT + F2 e digite “smb://IP da máquina que deseja acessar
a pasta compartilhada”, por exemplo: smb://10.1.1.6, como mostra a Figura 37 ao
acessar o compartilhamento podem-se ser requeridos alguns dados referentes ao
usuário, grupo do Microsoft Windows, onde será demonstrada a pasta de
compartilhamento do pc MR1 no Ubuntu, como mostra a Figura 38.
59
Figura 37 – Acesso a rede via Ubuntu
Figura 38 – Acesso a rede via Ubuntu
60
CAPÍTULO 6
6. RESULTADOS
Nesta seção, serão apresentados os principais resultados obtidos do problema
proposto neste trabalho sobre virtualização de servidores com a finalidade de
processar alguma aplicação e também compartilhar dados entre outras máquinas
virtuais ou máquinas reais. A interface apresenta as opções dos sistemas
operacionais instalados na máquina virtual e na máquina real. O resultado depende
da opção escolhida. Serão apresentados dois resultados com sistemas operacionais
executados dentro de outro sistema operacional (Ubuntu 8.04 LTS executado no
Windows XP Professional e Windows Server 2003 executado no Windows XP
Professional) e outro resultado mostrando o compartilhamento de dados entre
máquinas virtuais.
6.1.
UBUNTU 8.04 LTS EXECUTANDO NO WINDOWS XP
Uma das grandes vantagens do processo de virtalização é a execução de diferentes
sistemas operacionais instaladas em máquinas virtuais dentro de outro sistema
operacional instaladas em máquinas reais. A Figura 39 mostra o resultado da
execução do sistema operacional Ubuntu 8.04 LTS dentro do sistema operacional
Microsoft Windows XP Professional.
61
Figura 39 – Ubuntu executando dentro do Windows XP Professional
6.2.
WINDOWS SERVER 2003 EXECUTANDO NO WINDOWS XP
A Figura 40 mostra o resultado da execução do sistema operacional Microsoft
Windows Server 2003 dentro do sistema operacional Microsoft Windows XP
Professional.
62
Figura 40 – Windows 2003 Server executando dentro do Windows XP
Um resultado importante obtido na virtualização de sistema operacional executando
dentro de outro sistema operacional é que este processo possibilita deixar várias
máquinas virtuais em execução, dependendo apenas da configuração de hardware
de sua máquina real.
6.3.
COMUNICAÇÃO DE DADOS ENTRE MÁQUINAS VIRTUAIS
Será apresentado o resultado obtido da comunicação de dados entre uma máquina
virtual com outra máquina virtual. A Figura 41 mostra a interface dessa aplicação.
63
Figura 41 – Compartilhamento de arquivos entre máquinas virtuais
Neste caso é apresentado o compartilhamento de arquivos entre máquinas virtuais a
partir de uma máquina virtual, onde permite o acesso dos dados de outra máquina
virtual instalada em outro computador real.
64
CAPÍTULO 7
7. CONCLUSÃO
A implementação das soluções propostas neste trabalho, mostraram que a
virtualização realmente proporciona para as empresas, os benefícios e as vantagens
que as máquinas virtuais podem oferecer como gerenciamento centralizado,
facilidade para execução de backups, rápida disponibilização de máquinas virtuais
que sejam semelhantes, além das economias para a empresa em energia,
equipamentos e funcionários.
A virtualização possibilita que apenas um computador execute vários computadores
virtuais onde existe a possibilidade de execução de vários sistemas operacionais
distintos e incompatíveis entre si. A comunicação de arquivos entre máquinas reais e
máquinas virtuais independente do sistema operacional desde que as máquinas
estejam configuradas para a mesma rede.
Dependendo do hardware físico do computador é possível ter várias máquinas
virtuais em execução.
Neste trabalho foi utilizada a ferramenta de virtualização VMware Server que
mostrou ser bastante eficiente nas aplicações e testes realizados. Entretanto,
existem outras ferramentas que podem ser testadas para o mesmo problema para
realizar uma comparação entre as ferramentas ou também estudar outras maneiras
de virtualizar. Esta comparação pode ser feita em um trabalho futuro.
65
REFERÊNCIAS BIBLIOGRÁFICAS
ANDRADE, Marcos Tadeu de. Um estudo comparativo sobre as principais
ferramentas de virtualização. Graduação em Ciência da Computação – fev. 2006 Centro de Informática – Universidade Federal de Pernambuco. Disponível em <
http://www.cin.ufpe.br/~tg/2006-2/mta.pdf>. Acessado em: 10 jun. 2008.
BOJCZUK, A. F. DANIEL. Máquinas virtuais. IV Ciclo de Palestras sobre Software
Livre
-
2008.
Disponível
em:
<http://coral.cirp.usp.br/arqs/4ciclo/MaquinasVirtuais.pdf>. Acessado em 16 jun.
2008.
FREITAS, Suane S; SOARES, Iranice Carvalho da Silva; RAIMUNDO, José.
Virtualização.
Pesquimpile
–
Fev.
2007.
Disponível
em
<http://pesquompile.wikidot.com/20072-tp-t02>. Acessado em: 21 fev. 2008.
GARCIA, Davi Vercillo C. Cluster e Virtualização. Instituto de Matemática /
Departamento de Ciência da Computação – Universidade Federal do Rio de Janeiro.
Disponível em < http://davivercillo.googlepages.com/Palestra_JIC-Cluster.pdf>.
Acessado em: 10 jun. 2008.
JOTINHA. [Tutorial] Configurando o Samba no Ubuntu 7.04. 2007. Disponível
em:
<http://forum.clubedohardware.com.br/tutorial-configurando-samba/467433>.
Acessado em 10 out. 2008.
LAUREANO, Marcos A. P.. Máquinas Virtuais e Emuladores. Editora Novatec, 1ª
Ed., Ano 2006.
LAUREANO, A. P. MARCOS. Uma abordagem para a proteção de detectores de
intrusão
baseada
em
máquinas
virtuais
-
2004.
Disponível
em:
<http://www.mlaureano.org/projects/vmids/dissert-laureano.pdf>. Acessado em 16
jun. 2008.
66
MARASSI, Rodrigo. Tutorial sobre virtualização - 2008. Disponível em:
<http://designtecnologico.blogspot.com/2008/09/tutorial-sobre-virtualizao.html>.
Acessado em 05 out. 2008.
MARQUES, Pedro. Virtualização de Servidores x64. SECOP 2007 – 35º Seminário
Nacionais
de
TIC
para
Gestão
Pública.
Disponível
em
<www.secop2007.mg.gov.br/palestras/Virtualização%20e%20Consolidação%20de%20Servi
dores%20-%20PRODEMGE.ppt>. Acessado em: 22 mai. 2008.
MEIER, Wilhelm; KOCKLER, Torsten. Vários em um. Virtualização, Linux Magazine,
24, Outubro, 2006, p. 34-37.
OLIVEIRA, Guilherme Veloso Neves. Solução de virtualização completa
utilizando VMware e Software Livre: Um Estudo de Caso na CEF. Departamento
de Ciência da Computação – Lavras – Minas Gerais – 2007. Disponível em <
http://www.ginux.ufla.br/files/mono-GuilhermeOliveira.pdf>. Acessado em: 21 fev.
2008.
SISNEMA, Informática. Virtualização: Você não pode ficar de fora. 10 jan. 2007.
Disponível em <http://sisnema.com.br/Materiais/idmat017392.htm>. Acessado em:
21 fev. 2008.
SPRANG, Henning. São tantas opções. Virtualização. Linux Maganize, 40, Março,
2008, p. 43.
TANENBAUM, A. S.; WOODHULL, A. S. Sistemas Operacionais Projeto e
Implantação. 2. ed. Porto Alegre: Bookman, 2000.
TORRES, G.; LIMA, C. Como Funciona a Tecnologia de Virtualização da Intel.
Disponível em: <http://www.clubedohardware.com.br/artigos/1144>. Acesso em 11
de abril de 2008.
X-BIT Labs. Como funciona a tecnologia de Virtualização. Disponível em <
http://www.xbitlabs.com/images/news/2005-03/iamt_slide5_web.jpg>. Acessado em:
22 mai. 2008.
Download