Prof. Luiz Fernando Bittencourt MO809L. Tópicos em Sistemas Distribuídos 1 semestre, 2015



Documentos relacionados
SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

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

Virtualização Gerencia de Redes Redes de Computadores II

Sistemas Operacionais 1/66

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

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

Prof. José Maurício S. Pinheiro UniFOA

4 Estrutura do Sistema Operacional Kernel

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

A Academia Brasileira de Letras diz que este verbete não existe.

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

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

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

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

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

ESTUDO DE CASO WINDOWS VISTA

Professor Esp.: Douglas Diego de Paiva

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

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

Hypervisor. Diego Souza Gomes 3 de maio de 2007

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

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

Virtualização: VMWare e Xen

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

Sistemas Operacionais

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

Sistema Operacional Correção - Exercício de Revisão

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

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

Computação na Nuvem: Virtualização e Migração de VM. André Meireles Estêvão Monteiro Monique Soares

Processos (Threads,Virtualização e Migração de Código)

SISTEMAS OPERACIONAIS

Sistemas Distribuídos

Virtualização. Prof. Emiliano Monteiro

Capítulo 1. Introdução

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Xen e a Arte da Virtualização

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

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

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla

Virtualização de Sistemas Operacionais

Sistemas Operacionais

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

Marcos Vinicios Marques Professor Cidão. Professor Marcelo Neves

Sistemas Operacionais

Sistemas Operacionais

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

Visão Geral de Sistemas Operacionais

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

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

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

Sistemas Operacionais

Capítulo 8. Software de Sistema

Profs. Deja e Andrei

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Figura 01 Kernel de um Sistema Operacional

Sistemas Operacionais. Conceitos de um Sistema Operacional

Sistemas Operacionais

Virtualização. Presente e futuro

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Sistemas Operacionais

Sistemas Distribuídos

SISTEMAS OPERACIONAIS 2007

Virtualização - VMWare e Xen

ANDRE KUSUMOTO VIRTUALIZAÇÃO

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

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

Benefícios e processos relacionados à migração e servidores dedicados para cloud servers. Juliano Simões. Diretor de Tecnologia

Introdução ao Modelos de Duas Camadas Cliente Servidor

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

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

SISTEMAS OPERACIONAIS

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

Introdução a Computação

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal

Introdução. Sistemas Operacionais

Apresentação resumida

Sistemas Operacionais

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

Resumo. Prof. Alejandro - Introdução à Sistemas Operacionais Resumo Informativo, complemente o material assistindo as Aulas 19/08/2015 1

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

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

Análise Comparativa de Desempenho do Hipervisor Xen: Paravirtualização versus Virtualização Total

Estruturas do Sistema de Computação

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

Arquitetura de Computadores para. Sistemas Operacionais. Sistemas Operacionais. Sumário

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Máquinas Virtuais E eu com isso???

Sistemas Operacionais. Prof. André Y. Kusumoto

Manual de Vendas. Chegou a oportunidade de aumentar os lucros com o Windows Server 2012 R2

6 - Gerência de Dispositivos

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

GESTÃO DE SISTEMAS OPERACIONAIS II

3 SCS: Sistema de Componentes de Software

Transcrição:

MO809L Tópicos em Sistemas Distribuídos 1 semestre, 2015

Virtualização

Virtualização Threads/processos: Modo de fazer mais coisas ao mesmo tempo. Concorrência - impressão de execução paralela em computador monoprocessado. fingir maior capacidade Pode ser estendida a outros tipos de recursos. Virtualização de recursos.

Virtualização Virtualização de recursos Utilizada há muito tempo. Interesse renovado Sistemas com maior capacidade. Sistemas distribuídos tornaram-se mais comuns e complexos.

Virtualização Sistema de computadores Interface de programação para software de alto nível. Diferentes interfaces Conjunto básico de instruções oferecido por uma CPU. Conjunto de interfaces de programação de middlewares. Virtualização: estender ou substituir uma interface de modo a imitar o comportamento de um outro sistema.

Virtualização

Virtualização Virtualização na década de 70: Softwares em hardwares caros de mainframes. Onde software pode ser: Aplicações. Sistemas operacionais (SOs). Aplicações + SO para os quais havia sido desenvolvido. Mainframes IBM 370 e sucessores. Ofereciam máquina virtual para diferentes SOs.

Virtualização Erich Amrehn, Jim Elliot. 45 (40)Years of Mainframe Virtualization: CP-67/CMS and VM/370 to z/vm. 2012.

Virtualização Hardware mais barato. Computadores mais potentes. Menor quantidade de SOs. Virtualização deixava de ser importante. Final da década de 90 Virtualização voltou a se tornar importante.

Virtualização Atualmente Servidores mais baratos Maior capacidade computacional. Custo total da posse inclui outras variáveis Manutenção Suporte e administração Custos associados a brechas de segurança e falhas. Consolidação de servidores Motivador importante para uso de virtualização.

Virtualização Máquina virtual em diferentes níveis de abstração Processos individuais Sistemas completos Máquinas virtuais Uso flexível de hardware e isolamento de software. Tradução de conjuntos de instruções. Variedade de arquiteturas de máquinas virtuais. Máquinas virtuais de processo e de sistema.

Virtualização - motivação Reduzir a quantidade de plataformas de hardware Atende softwares com necessidades diferentes. Cada aplicação executa em sua própria máquina virtual. Incluindo bibliotecas e o sistema operacional. Portabilidade Flexibilidade Gerenciamento mais fácil de replicação. Cópia dinâmica de servidores + ambiente.

Virtualização - motivação Consolidação de servidores. Consolidação de aplicações. Sandboxing. Múltiplos ambientes de execução. Hardware virtual. Executar múltiplos SOs simultaneamente.

Virtualização - motivação Depuração Depuração de aplicações de usuário sem preocupação com problemas de interrupção de outras aplicações/ serviços. Migração Facilita migração de software. Administração Empacotar aplicações junto com ambiente de execução. Teste Produção de cenários de teste arbitrários difíceis de produzir na prática.

Abstração e virtualização

Abstração e virtualização Abstração com interfaces bem definidas ajuda no desenvolvimento e manutenção. Escondem detalhes de implementação Ex.: SO abstrai sistema de arquivos e endereçamento. Disco aparece como um conjunto de arquivos de tamanhos variados, escondendo setores e trilhas. Programadores manipulam arquivos pelos nomes.

Abstração e virtualização Arquitetura do conjunto de instruções (ISA) exemplo das vantagens de interfaces bem definidas. IA-32 (x86) Intel e AMD implementam. Softwares são desenvolvidos para esse conjunto de instruções Devem compilar e executar corretamente em qualquer computador com processador IA-32.

Abstração e virtualização Abstração possui limitações. Binários compilados estão amarrados à arquitetura-alvo. Impede interoperabilidade. Importante em computadores heterogêneos conectados. Mapeamento para sistema real potencialmente diferente pode contornar esse problema. Sistema virtual apresentado como outro sistema, ou múltiplos sistemas.

Abstração e virtualização Virtualização Não necessariamente simplificar ou esconder detalhes. Ex.: virtualização de disco 1 disco grande à dois virtuais menores, cada um com seu conjunto de trilhas e setores. Software de virtualização utiliza a abstração de arquivos como um passo intermediário para o mapeamento entre disco real e virtual. Escrita no disco virtual à escrita de arquivo no disco real. Nível de detalhes virtual X real Não há abstração.

Abstração e virtualização James E. Smith, Ravi Nair. The Architecture of Virtual Machines. IEEE Computer.

Arquiteturas de máquinas virtuais

Arquiteturas de Máquinas Virtuais Aplicável a máquinas inteiras e outros componentes. Para discutir máquinas virtuais (virtual machines VMs) é preciso entender arquitetura de sistemas de forma geral. Arquitetura: especificação formal de interfaces do sistema. Implementação: personificação de uma arquitetura.

Arquiteturas de Máquinas Virtuais Em geral, sistemas de computadores oferecem 4 tipos diferentes de interfaces em 4 níveis diferentes: 1: instruções de máquina que podem ser invocadas por qualquer pograma. 2: instruções de máquina que podem ser invocadas somente por programas privilegiados, como o sistema operacional. 3: Chamadas de sistema: oferecidas por um sistema operacional. 4: Chamadas de biblioteca: conjunto conhecido como interface de programação de aplicativo (API).

Arquiteturas de Máquinas Virtuais

Arquiteturas de Máquinas Virtuais

Arquiteturas de Máquinas Virtuais Instruction Set Architecture (ISA)

Arquiteturas de Máquinas Virtuais Application Binary Interface (IBA)

Arquiteturas de Máquinas Virtuais Application Programming Interface (API)

Arquiteturas de Máquinas Virtuais Máquina: Espaço lógico de memória atribuído ao processo. Instruções de nível de usuário. Registradores que permitem a execução do código do processo. E/S é visível somente através de chamadas de sistema (SO). ABI define uma máquina como vista pelos processos.

Arquiteturas de Máquinas Virtuais Do ponto de vista do SO e das aplicações: Sistema roda sobre uma máquina subjacente É capaz de suportar múltiplos processos simultaneamente. Processos compartilham dispositivos de E/S. Sistema sobrevive às idas e vindas dos processos. Aloca memória real e recursos de E/S aos processos Controla acesso. Da perspectiva do sistema: hardware define a máquina ISA fornece interface entre sistema e a máquina.

Arquiteturas de Máquinas Virtuais Também há ponto de vista diferente para máquinas virtuais. Máquina virtual de processo Plataforma que executa apenas um processo. Existe somente para suportar o processo. Criado quando o processo é criado. Termina quando processo termina. Máquina virtual de sistema Fornece um ambiente de sistema completo e persistente. Suporta um sistema operacional e seu conjunto de processos de usuário. Fornece ao sistema operacional convidado acesso a recursos de hardware virtuais (rede, E/S etc.)

Arquiteturas de Máquinas Virtuais Convidado: processo ou sistema em uma VM. Hospedeiro: plataforma que suporta a VM. Virtualização pode ocorrer de dois modos. Virtualização de processo, através de runtime software. Virtualização de máquina, através de virtual machine monitor.

Arquiteturas de Máquinas Virtuais Máquina virtual de processo Sistema de execução com conjunto de instruções abstrato para executar aplicações. Instruções interpretadas (p. ex. Java). Emulação (Wine) necessário imitar comportamento de chamadas de sistema (não trivial). Chamada de máquina virtual de processo (Smith e Nair) / runtime software.

Arquiteturas de Máquinas Virtuais Máquina virtual de processo

Arquiteturas de Máquinas Virtuais Máquina virtual de sistema Protege completamente o hardware original. Interface: conjunto de instruções completo do mesmo (ou de outro) hardware. Pode ser oferecida simultaneamente a programas diferentes. Vários sistemas operacionais executando independente e concorrentemente na mesma plataforma. Camada chamada de Virtual Machine Monitor VMM ou hypervisor. Exemplos de VMMs: VMWare, Xen, KVM.

Arquiteturas de Máquinas Virtuais Máquina virtual de sistema

Arquiteturas de Máquinas Virtuais Tipos de monitores de máquina virtual (VMMs) Tipo 1: nativa (bare metal): executa sobre uma interface direta com hardware. Tipo 2: hospedada (hosted): executa sobre um sistema operacional em uma máquina hospedeira.

Arquiteturas de Máquinas Virtuais

Arquiteturas de Máquinas Virtuais VM de processo: software de virtualização está no nível de ABI ou API. Emula instruções de nível de usuário e chamadas de sistema.

Arquiteturas de Máquinas Virtuais VM de sistema: software de virtualização está entre o hardware e o software convidado. Se mostra como ISA potencialmente diferente do hospedeiro. VMM muitas vezes tem o papel de fornecer recursos de hardware virtualizados ao invés de tradução de ISA

Arquiteturas de Máquinas Virtuais Importante para confiabilidade e segurança. Isolamento de uma aplicação completa e seu ambiente. Falha não afeta outras VMs. Melhor portabilidade. Desacopla hardware e software. Permite mover ambiente completo. Máquinas paralelas Permite consolidação de servidores. Maximizar utilização.

Alguns conceitos em máquinas virtuais

Máquinas virtuais

Máquinas virtuais Simulação instrução por instrução: conhecida há décadas. Ex.: aplicação para um computador X cujo hardware ainda está em desenvolvimento. Simulador para X (processador, memória, periféricos) que rode em máquina de propósito geral G. Programas que rodam em G poderão rodar em X com mesmos resultados. Espaço de memória simulado, dispositivos simulados, executar instruções na máquina simulada. Camada que filtra e protege os recursos da máquina G.

Máquinas virtuais Múltiplos programas: Múltiplas cópias do simulador. Simulador capaz de dividir o tempo entre aplicações. Ilusão de múltiplas cópias da interface de hardwaresoftware da máquina X em G.

Máquinas virtuais X e G arbitrários Software de simulação pode ser muito complexo Desempenho impraticável. Mais utilizado para desenvolvimento de software. X e G idênticos Muitas cópias da interface hardware-software de G em G. Cada usuário com sua cópia privada da máquina G. Escolha do SO para rodar em sua máquina privada. Desenvolver/depurar seu próprio SO. Simuladores não interferem um no outro. Slowdown menor que para X diferente de G.

Máquinas virtuais Surgimento dos VMMs Necessidade de simuladores mais eficientes de múltiplas cópias de uma máquina sobre seu próprio hardware. Parte do software para máquinas simuladas roda sobre o hardware, sem interpretação de software. Chamados de Virtual Machine Systems. Máquinas simuladas: máquinas virtuais (VMs). Software simulador: virtual machine monitor (VMM).

Máquinas virtuais VMM: interface única à ilusão de muitas máquinas. Cada interface (VM) é uma réplica eficiente do sistema de computação original. Todas as instruções de processador (privilegiadas ou não). Todos os recursos dos sistema (memória e E/S). VMs em paralelo à diversos SOs (núcleos privilegiados) concorrentemente. VMs fornecem réplicas isoladas de um ambiente em um sistema de computação.

Máquinas virtuais Recursos extras (CPU, memória) são usados pelo VMM. Potencial queda na vazão do sistema. Manter estado do processador virtual. Integridade de todos os registradores visíveis, bits de estado e locais de memória reservada (controle de interrupção) devem ser preservados. Captura e simulação de instruções privilegiadas. Suporte a paginação em máquinas virtuais.

Máquinas virtuais Podem ser utilizadas para manter sistemas antigos Novos sistemas podem ser testados Programas podem ser convertidos. Atualizar/adicionar novos dispositivos sem alterar SO da máquina virtual VM já suporta o dispositivo virtualizado. Usuário tira vantagem do dispositivo atualizado sem necessidade de alteração de software.

Máquinas virtuais Teste de softwares de rede. Confiabilidade de software através de isolamento. VMM é provavelmente correta: pequena e verificável. Segurança de dados.

Máquinas virtuais VMM Camada software/hardware físico programável, Transparente ao software acima Usa eficientemente o hardware abaixo dela. De forma similar: Virtualização de rede Virtualização de armazenamento Fornecem capacidade de multiplexar, em um único recurso físico, vários sistemas virtuais isolados uns dos outros.

Máquinas virtuais de sistema

Máquinas virtuais de sistema VM Fornece ambiente completo de sistema VMM 1 plataforma de hardware. Múltiplas VMs à múltiplos ambientes de sistema operacional independentes simultaneamente. Lembrete: isolamento entre sistemas concorrentes no mesmo hardware. Característica importante de máquinas virtuais. Sem interferência em caso de falha.

Máquinas virtuais de sistema VMM fornece, primordialmente, replicação de plataforma. Problema central: dividir recursos de hardware limitados entre múltiplos sistemas operacionais convidados. VMM tem acesso e gerencia todos os recursos de hardware.

Máquinas virtuais de sistema SO convidado e suas aplicações são gerenciadas sob controle (escondido) do VMM. SO realiza instrução privilegiada ou acesso a recurso: VMM intercepta a operação, realiza verificações, e a realiza em nome do SO convidado. SO convidado não é ciente dessa camada.

Máquinas virtuais de sistema Para usuário, sistemas de VM fornecem essencialmente a mesma funcionalidade Diferem na forma de implementação. Sistema de VMs clássico VMM sobre o hardware. Modo de privilégio mais alto. Sistemas convidados: privilégios reduzidos Permite a interceptação pela VMM. Ações de SO convidado: seriam interação direta com o hardware; são tratadas pela VMM.

Máquinas virtuais de sistema Hosted VMs: Software de virtualização roda sobre um sistema operacional hospedeiro. Vantagem: usuário instala VMM como um software típico. Software de virtualização pode se apoiar no sistema operacional hospedeiro para utilizar drivers de dispositivos e outros serviços de nível mais baixo. VMWare GSX Server

Máquinas virtuais de sistema Paravirtualização: Modificações no SO hospedeiro. Interface para um sistema similar mas não idêntico ao hardware nativo subjacente. Interface de paravirtualização especialmente projetada para contornar características que tornam difícil a virtualização do ISA subjacente. Ganho de desempenho; menor portabilidade e compatibilidade. Ex.: Xen.

Máquinas virtuais de sistema Whole-system VMs: Hospedeiro e sistema convidado podem não utilizar mesmo ISA (Ex. Windows / Power-PC). Whole-system VMs virtualizam todo o software, incluindo SO e aplicações. ISA diferentes: necessário emular códigos das aplicações e do SO. Virtual PC.

Máquinas virtuais de sistema Multiprocessor virtualization Hospedeiro é máquina grande e multiprocessada. Particionar em sistemas menores multiprocessados Distribui os recursos de hardware Particionamento físico: recursos físicos separados para cada sistema virtualizado. Alto grau de isolamento. Particionamento lógico: hardware é multiplexado no tempo entre as diferentes partições. Melhora utilização dos recursos. Perde-se benefícios de isolamento de hardware.

Máquinas virtuais de sistema Codesigned VMs Implementam ISA novo e proprietário focado em melhoria de desempenho e eficiência energética. ISA do hospedeiro: novo ou extensão de ISA existente. Não possui aplicações nativas. VMM tem propósito de emular ISA do software convidado. VMM reside em região de memória oculta dos softwares convencionais. Inclui tradutor binário que converte instruções do convidado em sequências otimizadas de instruções do ISA do hospedeiro.

Máquinas virtuais de sistema Codesigned VM: Transmeta Crusoe Hardware: VLIW. Convidado: Intel IA-32 Economia de energia.

Taxonomia

Migração de Máquinas Virtuais

Migração de VMs Trocar, dinamicamente, VM de máquina hospedeira. Semelhança com migração de processos. Problemas: incompatibilidade de sistema operacional; dependências entre módulos do SO. Esses problemas são evitados na migração de VMs SO (origem dos problemas) é migrado também.

Migração de VMs Desafios relacionados a migração Queda de serviço Consumo de banda Overhead de gerência Riscos de segurança Tomada de decisão na migração é foco de pesquisa De onde mover Para onde mover Quando mover Funções objetivo (desempenho, qualidade de serviço SLA, economia de energia).

Migração de VMs Migração deve levar estado de recursos utilizados pela VM para nova máquina CPU Memória Disco Rede Mais de um modo de realizar migração

Migração de VMs Non-live migration Método mais simples Suspender, transferir, retomar Utilização limitada a casos específicos Tempo que VM permanece desligada não permite aplicação ampla.

Migração de VMs Local Area Live VM Migration: pre-copy e post-copy Pre-copy: Copia conteúdo de memória para destino Marca páginas sujas, alteradas na origem durante a cópia Recopia páginas sujas Repete até sobrarem poucas páginas sujas ou atingir limite de cópias. Retoma VM no destino; destrói na origem. Baixo tempo de desligamento, tempo alto de migração.

Migração de VMs Post-copy: Transfere estado do processo Pode retomar VM rapidamente no destino Acesso à conteúdo de memória pode gerar falta, o que leva à busca do conteúdo na máquina origem. Pode usar técnicas para migrar primeiro conteúdo com maior probabilidade de uso. Menor tempo de migração, maior número de interrupções de serviço.

Migração de VMs

Máquinas virtuais e nuvens

VMs e nuvens Compartilhamento dos recursos do datacenter entre clientes da nuvem. Virtualização permite a existência da característica de elasticidade. Consolidação à maximiza utilização. Permite oferecer computação a um preço que compensa

VMs e nuvens

VMs e nuvens

VMs e nuvens

VMs e nuvens

Tecnologias de máquina virtual

Tecnologias de máquina virtual Diversas implementações diferentes de monitores de máquinas virtuais KVM, VMWare, Xen, Microsoft Virtual Server, Parallels, etc. Utilizadas por ferramentas de nuvem OpenStack

VMWare VMWare 1999: lançado VMWare Workstation 1.0 (Windows e Linux). Tradução binária + execução direta no processador Overhead aceitável. Instruções sofrem trap e são tratadas pelo hipervisor. Nem todas podem sofrer trap Tradução binária.

VMWare

Xen 2002/2003: Xen 1.0 Paravirtualização Melhor desempenho que VMWare quando lançado Linux 2.4 2004 Incluido no Debian (unstable) XenSource Xen 2.0 2005 Fedora 4 + Xen 3.0, Solaris

Xen

KVM 2006 - Kernel-based Virtual Machine KVM Implementado como um módulo de kernel Carregável. Converte o Linux em um hypervisor bare-metal. Projetado após o advento da virtualização assistida por hardware. Requer processadores com Intel VT-x ou AMD-V habilitado. Solução otimizada sem necessidade de modificar SO.

KVM QEMU à virtualizador de processador KVM sobre QEMU E/S e acesso a dispositivos KVM: Linux + drivers para CPUs Intel e AMD + QEMU Simples de usar, rápido e robusto.

KVM

OpenStack Camada para gerência para controle de conjunto de recursos virtualizados. Cloud operating system Controla aglomerados de recursos de computação, armazenamento e rede. Controle através de um Dashboard Administradores controlam o ambiente. Usuários controlam provisão de recursos.

OpenStack Dashboard, Compute, Networking, Storage

OpenStack Dashboard Interface gráfica para administração e usuários. Personalizável para provedores de serviço Desenvolvedores Podem utilizar outros recursos (APIs) para automatizar tarefas sem uso do dashboard.

OpenStack Dashboard

OpenStack Dashboard

OpenStack Dashboard

OpenStack Dashboard

OpenStack Dashboard

OpenStack Dashboard

OpenStack Dashboard

OpenStack Dashboard

OpenStack Dashboard

OpenStack Compute (Nova) OpenStack Compute: Provision and manage large networks of virtual machines Arquitetura flexível permite implantação diretamente sobre o hardware ou sobre uma camada de virtualização. Frequentemente implementado usando KVM ou Xen.

OpenStack Networking OpenStack Networking: Pluggable, scalable, API-driven network and IP management. Gerencia IPs Re-roteamento de tráfego durante manutenção ou falha. Usuários podem criar suas próprias redes Controlar tráfego Conectar servidores e dispositivos a uma ou mais redes. Extensão permite serviços adicionais Detecção de intrusão, balanceamento de carga, firewalls, VPNs.

OpenStack Storage OpenStack Storage: Object and Block storage for use with servers and applications. Object storage Acessível por APIs Pode ser integrada diretamente às aplicações ou usada para backup. Block storage Uso de dispositivos de disco através das instâncias.

OpenStack Object Storage Sistema de armazenamento distribuído para dados estáticos Imagens de VMs Fotos Emails Backups... Objetos e arquivos: escritos em múltiplos discos Espalhados pelos servidores no datacenter. OpenStack é responsável por replicação e integridade. Escalabilidade horizontal através da adição de mais servidores.

OpenStack Block Storage Armazenamento persistente para instâncias de computação. Gerencia criação, acoplamento e desacoplamento dos dispositivos de bloco aos servidores. Permite ao usuário gerenciar suas necessidades. Apropriado para cenários sensíveis a desempenho. Snapshot permite backups Restauração ou reutilização para criar novos volumes.