máquinas virtuais · 2006-11-27 · o xen, é um monitor de máquinas virtuais. as máquinas...
TRANSCRIPT
Máquinas Virtuais
Agenda
Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão
Histórico
Mainframe “É um computador de grande porte, dedicado normalmente ao processamento de um volume grande de informações”
Surgiram em 1946 “Foram sempre sendo aperfeiçoados”
Ainda são utilizados
Histórico
Desktops “São os computadores de mesa, estes que tem tudo separado (mouse, teclado, CPU ou gabinete, monitor, impressora...) e são os de menor custo”
Surgiram entre 1970 e 1980 “Originalmente conhecido como microcomputadores”
Custo menor
Máquinas Virtuais
Máquinas Virtuais 1º Definição: “Software que cria um ambiente entre a plataforma e o utilizador final” 2º Definição: “Uma cópia isolada de um sistema físico”
É um computador fictício criado por um programa de simulação “Sua memória, processador e outros recursos são virtualizados”
2 tipos: guest system(tipo1), host system(tipo2)
Emuladores
Emuladores “É um software criado para essencialmente transcrever instruções de um processador alvo para o processador no qual ele está rodando”
Também é responsável pela simulação dos circuitos integrados ou chips do sistema de hardware em um software.
Popularização com a internet e os emuladores de video games
Vantagens Consolidação de servidores
Gerência Aproveitamento de hardware, espaço e
energia Testes
Simulação de alterações e falhas (kernel, etc..)
Ensino Cada aluno pode ter várias Vms
Isolamento Migração de aplicações legadas
Desvantagens
Desempenho Custo do processo de virtualização
Diversidade de equipamentos Esforço de programação para garantir
compatibilidade Consolidação
Diversos SO´s utilizando um mesmo hardware
VMware
VMware
VMware é um produto desenvolvido pela empresa VMware Inc.
O que é? É um software que visa criar ambientes para
instalação de sistemas distintos, permitindo a utilização de um sistema operacional sobre outro com suporte real a software de outro sistema.
VMware
VMware WorkStation VMware GSX Server VMware ESX Server VMware Infrastructure
Hosted Architecture
Roda sobre o sistema operacional Suporta uma escala ampla para
configuração de hardware.
Hypervisor Architecture
Acesso direto aos recurso de hardware Permiti melhor escalabilidade e
performace
VMware
VMware Workstation Lançado em 1999 Hosted Architecture Suporte a aceleração gráfica (DirectX) Mal gerênciamento de multiplos usuários
VMware
VMware GSX Server Lançado em 2001 Hosted Architecture Uso baseado em servidor Acesso remoto via console de administração
das VM's Permiti vários acesso simultãneos a uma
mesma maquina virtual
VMware
VMware ESX Server Mesma finalidade do GSX Server, porém é do
tipo Hypervisor Architecture
VMware
VMware infrastructure Suíte completa de virtualização Serviços complementares de virtualização e
gerenciamento VMware VMotion VM P2V Assistent agentes monitorando cada VM Única no mercado
VMware Virtual Center
QUEMU
Definição Um emulador de processador que
consegue boa velocidade na emulação dinâmica
Operação Emulação completa do sistema Emulação da modalidade do usuário
SO`s Suportados na arquitetura x86/x86_64:
PE Fedora Core 1OK0.5.5 GNU/Linux Fedora Core 2OK0.6.0 Debian 3.0OK0.5.5 GNU/Linux Debian SID (new beta
installer)OK0.5.5 Solaris 9 x86OK0.6.0 Solaris 10 x86OK0.6.0 Windows 2000OK0.5.5
Vantagens
GNU General Public License Virtualiza todo o hardware Não requer alteração no kernel Suporta alta emulação
Módulo do Acelerador de QEMU
Aumentar a velocidade Aumento de desempenho próximo
sistema nativo
Termos do uso - Acelerador Não é permitido distribuir Proprietário Licença específica
Xen
Apresentação
Xen “O objetivo do Xen é executar, em uma mesma máquina, instâncias de Sistemas Operacionais (iguais ou diferentes) com todas as suas características, de forma completamente funcional, em VM (Virtual Machine)”
Desenvolvido pela universidade de Cambridge
Proporciona controle de recursos e garantia de serviços
Motivação
Compartilhamento de sistemas operacionais Alto desempenho Vários servidores virtuais em uma única
máquina Portabilidade (Até 100 VM's) Segurança das operações (Isolamento e
controle de recursos) Balanceamento de carga entre as máquinas
virtuais
Paravirtualização
O monitor Xen utiliza a técnica de paravirtualização
Na paravirtualização apenas alguns elementos são virtualizados
Chega a utilizar o mesmo kernel para a máquina real e para a máquina virtual
Atualmente, está preparado para operar sobre Linux e NetBSD.
Alta performace
Estrutura
O Xen, é um monitor de máquinas virtuais. As máquinas serão construídas artesanalmente e o
monitor irá mantê-las em execução. Máquina real: “Domínios” domínio0, domain0 ou
xen0 Máquina virtual: guest, domínioU, domainU ou
xenU. Hypervisor(micro kernel): Ligação entre o xen0 e
as xenU. As máquinas virtuais não possuirão kernel
Controle
Núcleo de sistema operacional principal modificado
Modificação mínima no núcleo kernel 2.4 menos de 3.000 linhas de
código kernel 2.6 nenhum arquivo core do
sistemas foi alterado controle efetivo: hypervisor(micro kernel) Suse, Slackware, Fedora, Debian
completo suporte ao Xen
Vantagens
A utilização de um único kernel base e de um micro kernel (apenas dois elementos) para a máquina real e todas as virtuais ao mesmo tempo
A rapidez e a leveza, por realizar pouca virtualização, ao aproveitar a maior parte dos recursos existentes na máquina real
Estabilidade e a confiabilidade A segurança, em virtude de isolar totalmente as
máquinas virtuais (só há comunicação por rede) O perfeito controle sobre o uso da memória e do
processador por parte de cada máquina virtual Software livre
Desvantagens
Limitação a poucos sistemas operacionais;
Instalação e configuração trabalhosa A obrigatoriedade de utilizar um kernel
modificado e um micro kernel para estabelecer a máquina real e as máqunas virtuais.
Xen
User-Mode Linux
O User-Mode Linux
Monitor de máquinas virtuais (tipo II)
Composta de um sistema anfitrião, um kernel uml e arquivo de filesystem
Executa Linux sobre Linux Projeto Open Source
Parte oficial do kernel 2.6
Características do UML
Linux como um processo do Linux
Figura da Máquina Virtual User-Mode Linux
Linux
UML AplicaçõesUMLAplicações
Apl AplAplApl
Hardware x86
Características do UML
Usuários e processos distintos do sistema real Cada usuário pode ser root
Dispositivos virtualizados Disco virtual é um arquivo no sistema real Interfaces de rede, console, etc
Controle da chamada de sistema Virtualização de Hardware com
rastreamento de chamadas (ptrace)
Características do UML
Int 0x80Notifica o kernel pai
Continua a execução
após a chamada de sistema
Executa a chamada de
sistema.Envia um sinal ao
final da
execução.
Retorna o estado do processo.Seta um código de retornopara a chamada de sistema.
Anula a chamada de sistema.Salava o estado do processo.Força o processo pararetornar a pilha do kernel.
User space(processo)
Kernel convidado
Thread de rastreament
o
Exemplo de virtualização da chamada de sistema no UML
Comparação de VMs
Nome Host Processor Técnica Licença Utilização
QEMU GPL/LGPL 10-20% CPU
Intel x86 Intel x86 Linux Linux GPL2
Intel x86, AMD64 Linux, Windows Proprietário
Xen Intel x86, AMD64 NetBSD, Linux GPL Nativa
Guest Processor
Plataforma do SO anfitrião
Plataforma do SO convidado
Desempenho
Intel x86, AMD64, IA-64, PowerPC, Alpha, SPARC 32
and 64, ARM, S/390, M68k
Intel x86, AMD64, ARM, SPARC 32 and 64, PowerPC,
MIPS
Linux,Windows, MAC OS,
FreeBSD, BeOS Troca
regularmenteRecompilação
dinâmica
Acadêmico, Desenvolvimen
to,Produção
User Mode Linux
Virtualização total
utilizando rastreamento de chamadas
Acadêmico, Desenvolvimen
to,Produção
Nativa (mais lenta
quando todas as
chamadas são
raastreadas)
Vmware ESX 3.0
Intel x86, AMD64
Windows,DOS, Linux, Unix BSD, Netware, Solaris
Virtualização total e
recompilação dinâmica
Acadêmico, Desenvolvimen
to,ProduçãoQuase Nativa
Intel x86, AMD64
Linux, Unix BSD, Windows XP (todos com
modificações)Paravirtualiza
ção
Acadêmico, Desenvolvimen
to,Produção
Conclusão
Muitos sistemas tem sido desenhados para utilizar virtualização a fim de subdividir os recursos dos computadores modernos. Alguns necessitam de hardware especializado, ou não suportam os sistemas operacionais mais comuns. Alguns garantem 100% de compatibilidade binária, tendo terríveis problemas de performance. Outros, sacrificam a segurança ou suas funcionalidades por velocidade. Poucos oferecem isolamentos de recursos ou garantias de performance. O ideal é monitor de máquinas virtuais que permite compartilhar sistemas operacionais comuns com o hardware convencional, sem sacrificar performance, funcionalidades e segurança
Bibliografia Máquinas Virtuais e Emuladores. Laureano, Marcos. http://br.geocities.com/cesarakg/user-mode-linux.html http://www.ime.usp.br/~baroni/docs/uml.html http://user-mode-linux.sourceforge.net/ http://en.wikipedia.org/wiki/Comparison_of_virtual_machines http://en.wikipedia.org/wiki/Xen http://www.eriberto.pro.br/xen/ http://www.xensource.com/ http://en.wikipedia.org/wiki/VMware www.guiadohardware.net/termos/vmware