Virtualização de Software



Documentos relacionados
SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

Sistemas Operacionais 1/66

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO.

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores

Virtualização Gerencia de Redes Redes de Computadores II

Virtualização: VMWare e Xen

Professor Esp.: Douglas Diego de Paiva

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Virtualização de Sistemas Operacionais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Introdução. Sistemas Operacionais. Introdução. Roteiro (1 / 2) Por que Máquinas Virtuais Existem? Roteiro (2 / 2)

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas

Introdução a Virtualização. Sergio Roberto Charpinel Junior Profa. Roberta Lima Gomes

Prof. José Maurício S. Pinheiro UniFOA

Sistemas Operacionais

Agenda. Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão

Gabriel Oliveira do Nascimento Rogério Libarino Aguilar. UFF - Universidade Federal Fluminense

4 Estrutura do Sistema Operacional Kernel

ETEC RAPOSO TAVARES GESTÃO DE SISTEMAS OPERACIONAIS I. Máquina Virtual. Instalação de S.O. em dual boot. 1º Semestre 2010 PROF.

A SALA DE AULA é meu paraíso. Nela me realizo, nela exercito minha cidadania e nela me sinto útil.

Prof. Ms. José Eduardo Santarem Segundo Demonstrar o impacto que o tema virtualização tem representado no mercado

ANDRE KUSUMOTO VIRTUALIZAÇÃO

No mercado atual, podemos encontrar vários tipos de sistemas operacionais que fazem parte das seguintes classes:

INE Sistemas Operacionais I

Virtualização. Presente e futuro

ANÁLISE DE DESEMPENHO ENTRE SOFTWARES VIRTUALIZADORES

Virtualização. O conceito de VIRTUALIZAÇÃO

SISTEMAS DISTRIBUÍDOS

Sistemas Operacionais

Curso de Instalação e Gestão de Redes Informáticas

Foz do Iguaçu PR Brasil

Hypervisor. Diego Souza Gomes 3 de maio de 2007

Xen e a Arte da Virtualização

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

ESTUDO DE CASO WINDOWS VISTA

Virtualização. P r e s e n t e e f u t u r o Andréa Garcia Trindade 2º. sem/2010. Virtualização Presente e Futuro

UNIVERSIDADE FEDERAL DE SANTA CATARINA MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC

Laboratório de Redes. Professora Marcela Santos

Virtualização e Criação de uma rede Virtual utilizando Virtual Box Professor: João Paulo de Brito Gonçalves

Servidores Virtuais. Um servidor à medida da sua empresa, sem investimento nem custos de manutenção.

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla

Sistemas Distribuídos

Departamento de Tecnologia da Informação

Um Driver NDIS Para Interceptação de Datagramas IP

Sistemas Operacionais. Conceitos de um Sistema Operacional

GESTÃO DE SISTEMAS OPERACIONAIS II

VIRTUALIZAÇÃO EM SERVIDORES DE BANCO DE DADOS. Resumo: A estratégia de virtualização de servidores de banco de dados é uma tendência

ANÁLISE COMPARATIVA ENTRE APLICAÇÕES GRATUITAS EM NUVEM

Esclarecimento: Não, a operação de matching ocorre no lado cliente da solução, de forma distribuída.

TUTORIAL VMWARE WORKSTATION 8. Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Análise Comparativa entre Sistemas Operacionais Virtualizados

Visão do Sistema Operacional

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

Avaliação do Uso de Xen em Ambientes de Computação de Alto Desempenho

Windows NT 4.0. Centro de Computação

Administração de Sistemas de Informação Gerenciais

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Classificação::Modelo de implantação

Organização e Arquitetura de Computadores I. de Computadores

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt

EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS

UM FRAMEWORK PARA DESENVOLVIMENTO DE

Consolidação de Servidores com VMware

SFD Carla Souza Otacílio Lacerda

Capítulo 8. Software de Sistema

Comparativo de desempenho do Pervasive PSQL v11

SISTEMAS OPERACIONAIS

FTIN Formação Técnica em Informática. Sistema Operacional Proprietário Windows Prof. Walter Travassos

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

A.S.P. Servidores Windows

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Uso do Netkit no Ensino de Roteamento Estático

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Senado Federal Questões 2012

Máquinas Virtuais: Windows 2008 Server

Windows 2008 Server. Windows 2008 Server IFSP Boituva Prof. Sérgio Augusto Godoy.

TÉCNICAS DE VIRTUALIZAÇÃO E SUAS IMPLEMENTAÇÕES

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

Máquinas Virtuais. Virtualização Tornar virtual. Exemplo comum de Virtualização PORTABILIDADE

Aula 02 Conceitos básicos elipse. INFORMÁTICA INDUSTRIAL II ENG1023 Profª. Letícia Chaves Fonseca

Prof. Esp. Lucas Cruz

Introdução ao Modelos de Duas Camadas Cliente Servidor

CONSULTORIA E SERVIÇOS DE INFORMÁTICA

Sistemas Operacionais

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Marcos Vinicios Marques Professor Cidão. Professor Marcelo Neves

Virtualização de Máquinas Uma experiência baseada em ferramentas livres

COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE

Virtualização. Prof. Emiliano Monteiro

Fundamentos de Sistemas Operacionais

COORDENAÇÃO DE TECNOLOGIA (COTEC) ABRIL/2011

Portabilidade da Linha RM Versão

Virtualização de Sistemas Operacionais

Transcrição:

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE BACHARELADO DE SISTEMAS DE INFORMAÇÃO Virtualização de Software Luana Sandrini Saft Trabalho de conclusão de curso apresentado como parte dos requisitos para obtenção do grau de Bacharel em Sistemas de Informação. Orientador: Vitório Bruno Mazzola Florianópolis - SC 2008/1

Luana Sandrini Saft Virtualização de Software Trabalho de conclusão de curso apresentado como parte dos requisitos para obtenção do grau de Bacharel em Sistemas de Informação. Orientador: Vitório Bruno Mazzola Universidade Federal de Santa Catarina mazzola@inf.ufsc.br Banca examinadora Prof. Mário Antônio Ribeiro Dantas Universidade Federal de Santa Catarina mario@inf.ufsc.br Prof. Roberto Willrich Universidade Federal de Santa Catarina willrich@inf.ufsc.br

RESUMO O conceito de Virtualização está entrando com grande força no mercado, pois esta tratando de problemas caros causados pelo avanço da tecnologia, por exemplo, a incompatibilidade entre software e sistema operacional ou hardware. Esse problema é resolvido simulando sistemas operacionais diferentes na própria máquina, utilizando assim um sistema operacional para uso diário (sistema comum) e outro(s) para as aplicações que estarão rodando no mesmo computador e que necessitam ser executados em determinado ambiente. Para auxiliar na elaboração de uma solução pra certo problema são utilizadas ferramentas. Neste trabalho serão estudadas algumas ferramentas com o objetivo de conhecer a melhor opção para virtualização em determinado ambiente (cliente, desktop, servidor). As ferramentas estudadas foram: VMware, Virtual PC, Xen e Virtual Server. Palavras-chave: Virtualização, Máquina Virtual (VM), VMware, Virtual PC, Xen, Virtual Server.

SUMÁRIO 1. INTRODUÇÃO... 5 2. MÁQUINA VIRTUAL... 6 2.1. Definição... 6 2.2. Características e Tipos... 6 2.3. Aplicações... 7 3. VIRTUALIZAÇÃO... 8 3.1. Conceito... 8 3.2. Características... 9 3.3. Tipos... 9 3.3.1. Emulação de Hardware... 10 3.3.2. Virtualização Completa... 10 3.3.3. Para-Virtualização... 11 3.4. Vantagens... 12 4. FERRAMENTAS PARA VIRTUALIZAÇÃO... 12 4.1. VMware... 12 4.2. Virtual PC... 13 4.3. Virtual Server... 13 4.4. Xen... 14 5. VERIFICAÇÃO DE MÁQUINAS VIRTUAIS... 14 6. CONCLUSÕES E TRABALHOS FUTUROS... 15 REFERÊNCIAS BIBLIOGRÁFICAS... 16

1. INTRODUÇÃO Com o objetivo de estudar o conceito de Virtualização de Software e conhecer algumas de suas soluções, foram realizadas pesquisas e estudos sobre essa área, servindo de motivação para a elaboração deste trabalho. Mais especificamente, será realizado um estudo de comparação entre algumas ferramentas que servem para dar suporte a virtualização, estudando possibilidades de ter mais de uma máquina virtual em um único computador sem perda de desempenho na sua utilização. Essa área de conhecimento abrange a idéia de computação distribuída, máquinas virtuais e outras tecnologias e métodos para dar suporte a uma estrutura de softwares num ambiente virtualizado, com o intuito principal de diminuir os problemas de compatibilidade entre software e hardware. A escolha do tema foi sugestão do orientador e aceita com o objetivo de conhecer e detalhar melhor o tema (antes não conhecido em detalhes por mim). Esse conceito não é um tema novo no mercado, porém um pouco desconhecido (pouco popular) para algumas empresas. Por isso, é interessante conhecê-lo e aprendê-lo mais, entender a teoria e a prática e também conhecer casos de fracasso e sucesso em implantações desse conceito. O texto será organizado da seguinte maneira: no capítulo 2 mostrará um pouco sobre a teoria e aplicações das Máquinas Virtuais, o capítulo 3 falará sobre o tema principal deste trabalho, Virtualização de Software, mostrando vantagens, desvantagens e características sobre o assunto. O capítulo 4 apresentará as ferramentas analisadas para a elaboração do trabalho. O capítulo 5 fará a comparação e análise geral sobre as ferramentas, e estudará alguns casos. E por fim, o capítulo 6 será de conclusões e trabalhos futuros.

2. MÁQUINA VIRTUAL Como base da virtualização, as máquinas virtuais são de suma importância para a ocorrência com sucesso desta tecnologia. 2.1. Definição A Máquina Virtual (Virtual Machine VM) é basicamente um software representando as funcionalidades de um hardware (BARHAN et al., 2003). Referese à instância de um hardware virtualizado e um sistema operacional também virtualizado. Há duas formas de máquinas virtuais serem utilizadas: sob a forma de simulação (uma interface com o ambiente), ou sob a forma de emulação que reflete todos os estados internos do ambiente ao mesmo tempo. Os recursos das máquinas virtuais (memória, processador) em execução em determinado computador são virtualizados, dividindo os recursos desse computador em vários ambientes de execução. 2.2. Características e Tipos Uma Máquina Virtual pode executar qualquer tipo de software como um servidor, um cliente ou um desktop. Existe a categoria de máquinas virtuais para computadores fictícios projetados para uma determinada finalidade. A mais importante máquina virtual dessa categoria é a JVM (Máquina Virtual Java) utilizada em aplicações de todos os tipos com grande portabilidade.

Os tipos de máquina virtual podem ser (WIKIPEDIA Máquina Virtual, 2007): (a) Tipo 1: Sistema em que o monitor é implementado entre o hardware e os sistemas convidados (Guest System). (b) Tipo 2: Sistema em que o monitor é implementado como um processo de um sistema operacional real, denominado sistema anfitrião (Host System). (c) Tipo Híbrido: Otimizações inseridas nas arquiteturas dos tipos 1 e 2 (citados anteriormente), principalmente nas operações de I/O, para melhorar o desempenho da maquina virtual. 2.3. Aplicações Há várias aplicações que as máquinas virtuais podem executar. A principal e a mais importante é a de integração entre plataformas. Há também a consolidação do servidor, a automação e consolidação dos ambientes de teste e desenvolvimento, a re-hospedagem de versões anteriores de aplicações, a demonstração de softwares, entre outras. A consolidação do servidor é poder usar apenas um computador de servidor com várias máquinas virtuais sendo executadas paralelamente quando a estrutura da rede possui vários servidores cujas aplicações utilizam apenas uma parte dos recursos desses computadores, mesmo que as versões e aplicações de cada ambiente sejam diferentes. A automação e consolidação dos ambientes de teste e desenvolvimento nada mais é que a existência da possibilidade de testar uma aplicação ainda em desenvolvimento em diferentes sistemas operacionais ou versões diferentes de determinado sistema operacional para, desde o início, reduzir os riscos de

incompatibilidade de determinadas funcionalidades do programa com o sistema operacional utilizado, excluindo mais esse requisito para a execução desse software. A re-hospedagem de versões anteriores de aplicações e a demonstração de softwares é o poder criar novas máquinas virtuais a qualquer momento para testar/utilizar softwares de diferentes versões (do software ou do sistema operacional) ou com problemas de compatibilidade com determinados sistemas operacionais ou com outras aplicações. 3. VIRTUALIZAÇÃO A tecnologia de virtualização cresceu muito nos últimos tempos pelo fato de propor soluções para problemas da computação moderna, cujos computadores são bastante poderosos para suportar a execução de vários sistemas (máquinas virtuais) completos. A idéia de virtualização na camada do sistema operacional é da década de 70, utilizando a primeira máquina virtual da IBM, a VM/CMS que se refere a família System/370, System/390, zseries, System z9 IBM mainframes e sistemas compatíveis (WIKIPEDIA VM_CMS, 2007). 3.1. Conceito O processo de virtualização é uma tecnologia que diminui a importância (abstração lógica) do sistema operacional, criando uma nova camada de software que se comunica diretamente com o hardware (normalmente, tarefa exclusiva do próprio sistema operacional), com a possibilidade de possuir vários sistemas

operacionais sendo executados em um mesmo computador. O único segredo dessa tecnologia é possuir uma máquina potente, pois os recursos da aplicação serão divididos entre as máquinas virtuais instaladas e em execução. O uso da virtualização representa a ilusão de várias máquinas virtuais (VMs) independentes, cada uma rodando uma instância de um sistema operacional virtualizado (SMITH; NAIR, 2005). 3.2. Características Algumas características importantes, que também são consideradas como princípios da tecnologia de virtualização (GARFINKEL et al., 2003): (a) A camada de virtualização deve isolar uma máquina virtual da outra de modo que não exista nenhuma interferência entre ambas. Não é aceitável que o funcionamento de uma máquina virtual afete a performance de outra máquina virtual. (b) É necessário suportar uma variedade diferente de sistemas operacionais para acomodar os diferentes aplicativos populares existentes. (c) O overhead introduzido pela camada de virtualização deve ser pequeno. 3.3. Tipos Existem, basicamente, três tipos de virtualização: emulação de hardware (hardware emulation), virtualização completa (full-virtualization) e para-virtualização (para-virtualization).

3.3.1. Emulação de hardware Tipo de virtualização mais complexo por ter que emular de maneira precisa o comportamento de um hardware (conjunto de instruções, estado de execução do processador, memória cache, ciclos de clock). Um ponto positivo desse tipo de virtualização é a utilidade para os desenvolvedores de firmware e de hardware, pois podem validar soluções sem a necessidade do hardware real. Um ponto negativo é a lentidão, podendo chegar até 100 vezes mais lento que o suposto hardware real (IBM, 2007). O hardware a ser emulado é bastante diferente do hardware real, onde o sistema está sendo executado, como na Figura 3.1. Na figura, há dois hardwares sendo emulado: a primeiro pela máquina virtual A e o segundo pela máquina virtual B. A camada representada pelo hardware VM A e hardware VM B compõem a camada de virtualização do hardware. Figura 3.1.: Emulação de Hardware (IBM, 2007). 3.3.2. Virtualização completa É uma técnica de virtualização que permite que não haja alterações no momento da execução de qualquer software. Para isso, essa técnica realiza uma

simulação (representa a memória principal, o conjunto de instruções do processador, interrupções, exceções e acesso aos dispositivos da máquina real) completa do hardware da máquina e, com isso, qualquer sistema operacional poderá ser executado. A simulação executada nessa técnica não é tão lenta quanto a executada na técnica de emulação, pois não precisa representar os estados de execução do hardware. A figura 3.2 mostra como funciona estruturalmente esse tipo de virtualização. Figura 3.2.: Virtualização completa (NOVELL, 2006). 3.3.3. Para-virtualização É uma técnica de virtualização de que apresenta uma Application Programming Interface (API) para as máquinas virtuais. Essa API é parecida com o hardware real. A técnica de para-virtualização requer que o sistema operacional virtualizado seja explicitamente portado (modificado) para permitir a sua execução. O sistema operacional que está rodando dentro da máquina virtual tem a ilusão de estar sendo executado diretamente dobre o hardware real.

A para-virtualização possui melhor desempenho que a virtualização completa, pois os drivers executados nas máquinas virtuais para-virtualizadas são os drivers reais para os dispositivos físicos e na virtualização completa são os drivers emulados. 3.4. Vantagens Algumas vantagens são adquiridas com o processo de virtualização: Infra-estrutura do hardware simplificada e flexível; Capacidade do hardware é alocada dinamicamente; Modelo utilitário para serviços de TI; Pessoas, processos e tecnologias concentrados em níveis de serviço; Redução da freqüência de aquisição de novos servidores. 4. FERRAMENTAS PARA VIRTUALIZAÇÃO Existem várias ferramentas que colocam em prática o conceito de virtualização. Esses softwares são completos e fáceis de manipular, necessitando apenas do conhecimento do que será implementado. 4.1. VMware O tipo de virtualização oferecido por essa ferramenta é a virtualização completa. A suíte de software desse fabricante (VMware Inc.) é dividida em três

produtos: VMware Workstation (utilizado em ambientes desktop), VMware Player (utilizado em ambientes desktop) e VMware ESX Server (utilizado em ambientes de servidores). O VMware Workstation é um utilitário não gratuito (pode ser adquirido para testes por 90 dias no site oficial). 4.2. Virtual PC O Virtual PC é uma solução para desktop desenvolvida pela Microsoft. Suas principais características são: I. Suporte para até quatro adaptadores de rede por máquina; II. Suporte para até 4GB de memória; III. As configurações são baseadas na linguagem XML; IV. Possui Virtual Machine Additions, que oferece alto nível de integração entre os sistemas; V. Roda a maior parte dos sistemas sem necessidade de drivers customizados. 4.3. Virtual Server O Virtual Server é uma solução para sistema operacional servidor desenvolvida pela Microsoft, compatível com Windows Server 2000 e 2003. Já possui um release dois da versão 2005, fornecendo aos administradores maior controle sobre os servidores, conectando máquinas virtuais e permitindo automatização durante o processo. Suas principais características são: I. Suporta a tecnologia de 64 bits;

II. Suporte para conectividade, permitindo clusters de todas as máquinas virtuais pertencentes ao mesmo host; III. Suporte para F6 Disk (SCSI driver) e funcionalidade pré-compactador de disco virtual. 4.4. Xen O Xen é uma opção de software open source para virtualização e tem como base o sistema operacional Linux. É uma ferramenta com características muito parecidas com o VMware, porém utiliza o conceito de para-virtualização, abordado na seção 3.3.3. O Xen organiza as requisições realizadas pelas máquinas virtuais e as repassa para o sistema principal. Esse software é voltado para soluções em servidores e está atualmente na versão 3.0 e conta com o apoio, além da comunidade open source, da Novell através do Suse Linux Enterprise 10. As principais características do Xen são: I. Baixo custo na implementação (utiliza softwares open source); II. Suporte para 32 usuários com memória de 4GB; III. Suporte para a tecnologia 64 bits. IV. Possui código aberto, proporcionando maior integração com outras tecnologias; V. Possui alto rendimento (por causa do conceito de para-virtualização). 5. COMPARAÇÃO DE FERRAMENTAS E VERIFICAÇÃO DE MÁQUINAS VIRTUAIS

Em elaboração... 6. CONCLUSÕES E TRABALHOS FUTUROS Em elaboração...

REFERÊNCIAS BIBLIOGRÁFICAS BARHAM, P.; DRAGOVIC, B.; FRASER, K.; HAND, S.; HARRIS, T.; HO, A.; NEUGEUBAUER, R.; PRATT, I.; WARFIELD, A. Xen and the Art of Virtualization. 2003. University of Cambridge Computer Laboratory. CLARK, C.; FRASER, K.; HAND, S.; HANSEN, J. G.; JUL, E.; LIMPACH, C.; PRATT, I.; WARFIELD, A. Live Migration of Virtual Machines. 2005. University of Cambridge Computer Laboratory Departament of Computer Science University of Copenhagem, Denmark. VMware. http://www.vmware.com. Acesso em: maio e novembro de 2007. Virtual PC. http://www.microsoft.com/windows/products/winfamily/virtualpc/ default.mspx. Acesso em: abril e novembro de 2007. SMITH, J. E.; NAIR, R. The Architecture of Virtual Machines. p. 32-38, maio 2005. SUGERMAN, J.; VENKITACHALAM, G.; LIM, B. H. Virtualizing I/O Devices on VMware Workstation s Hosted Virtual Machine Monitor. 30 jun. 2001. Virtual Server. http://www.microsoft.com/brasil/technet/colunas/virtualserver 2005.mspx. Acesso em: maio e outubro de 2007. GARFINKEL, T.; PFAFF, B.; CHOW, J.; ROSENBLUM, M.; BONEH, D. Terra: A Virtual Machine-Based Platform for Trusted Computing. 2003. NOVELL. Novell Virtualization on Suse Linux Enterprise Server Virtualization Technology. p. 53, 7 ago. 2006. CIO. http://cio.uol.com.br. Acesso em: abril e novembro de 2007.

Standard Performance Evoluation Corporation. Spec INT 2000. http://www.spec.org/cpu/cint2000, 26 set. 2003. Acesso em: novembro de 2007. Xen. http://www.xensource.com. Acesso em: maio e outubro de 2007. The Xen Source. Volume Virtualization via the Next Generation of Server Virtualization. Introducing the Xen Server Product Family: A Xen Source With Paper V12102006, 12 out. 2006. Wikipedia. http://pt.wikipedia.org/wiki/m%c3%a1quina_virtual. Acesso em: novembro de 2007. Sisnema. http://sisnema.com.br. Acessado em: maio e novembro de 2007.