26
2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012 Open Virtualization Virtualização em Software Livre Frederico Madeira LPIC-1, LPIC-2, CCNA [email protected] www.madeira.eng.br

Open Virtualization - Virtualização em Software Livre

Embed Size (px)

DESCRIPTION

Apresentação na 2ª SETIC - Semana de Tecnologia da Informação e Comunicação da UNINASSAU

Citation preview

Page 1: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Open Virtualization

Virtualização em Software Livre

Frederico MadeiraLPIC­1, LPIC­2, [email protected]

Page 2: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

O que é Virtualização ?

“É um termo que se refere a criação de máquinas virtuais que se comportam com se fosse um computador real. O software executado nesta máquina virtual é separado do hardware real da máquina.”

Red Hat Enterprise Linux 5Virtualization Guide

“É um termo amplo da computação que se refere a capacidade de executar software, comumente, sistemas operacionais, concorrentemente e isolados de outros programas do sistema.”

Wikipedia

“É a criação de substitutos flexíveis para recursos reais — substitutos que têm as mesmas funções e interfaces externas que seus equivalentes reais, mas diferem em atributos como tamanho, desempenho e custo. Esses substitutos são denominados recursos virtuais; seus usuários geralmente não têm conhecimento da substituição.”

IBM DeveloperWorks: Hypervisores, virtualização e a nuvem

Page 3: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Page 4: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Por que Virtualizar ?

➔ Consolidação de Servidores (redução do número físico de servidores)

➔ Menor Complexidade em infra-estrutura física

➔ Rápido aprovisionamento de novos servidores

➔ Recuperação de desastres

➔ Redução de Custo

➔ Com Hardware: contratos de manutenção, upgrades, aquisições➔ Energia➔ Espaço➔ Tempo de instalação➔ Gerenciamento➔ Produtividade do administrador aumentada

Page 5: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Hypervisors

➔ Os hypervisors são componentes de software ou firmware que podem virtualizar recursos do sistema.

➔ A virtualização geralmente é implementada através de um Hypervisor

➔ Também chamado de Virtual Machine Monitor (Monitor de Máquina Virtual) ou VMM

➔ Oferecem uma forma conveniente de usar o mesmo hardware do computador físico para outras tarefas diferentes

➔ Os hypervisors não são iguais, mas todos oferecem recursos semelhantes

Page 6: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Tipos de Hypervisors

➔ Tipo 1

➔ Funcionam diretamente no HW➔ Chamados de HardV➔ Recomendados para servidores de produção➔ Pode ser carregado via pendrive➔ Baixo overhead

➔ Tipo 2

➔ Funcionam sobre um sistema operacional host e oferecem o serviço de virtualização

➔ Chamados de SoftV➔ Não recomendado para servidores de produção➔ Normalmente utilizados como porta de entrada para a virtualização➔ Alto overhead, pois o SO Host consome recursos do Hw

➔ Temos outros tipos de virtualização, mas para escopo deste trabalho, não foram descritos aqui

Page 7: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Tipos de Hypervisors

Page 8: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Exemplo de Hypervisors

➔ PowerVM: Um recurso dos servidores IBM POWER5, POWER6 e POWER7, suporte fornecido por IBM i, AIX®e Linux®. http://www-03.ibm.com/systems/power/software/virtualization/index.html

➔ VMware ESX Server (vSphere): Hypervisor integrado "do zero", os hypervisores de software empresariais da VMware ESX funcionam diretamente no hardware do servidor sem a necessidade de outro sistema operacional subjacente.http://www.vmware.com/products/datacenter-virtualization/vsphere/index.html

➔ Xen (Citrix): Os sistemas do Xen têm uma estrutura com o hypervisor Xen como a camada mais baixa e mais privilegiada.http://www.citrix.com/products/xenserver/overview.html

Page 9: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Exemplo de Hypervisors

➔ KVM: Estrutura de virtualização para Linux kernel, o KVM suporta a virtualização nativa em processadores com extensões de virtualização de hardware (Intel VT ou AMD-V). O KVM é nativo no kernel do linux a partir da versão 2.6.20.http://www.linux-kvm.org/page/Main_Page

➔ z/VM: Versão atual dos sistemas operacionais de máquina virtual da IBM, o z/VM funciona no zSeries da IBM e pode ser usado para suportar uma grande quantidade (milhares) de máquinas virtuais Linux.http://www.vm.ibm.com/

Page 10: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Funcionalidades desejadas em um Hypervisor

➔ Desempenho da máquina virtual

Os sistemas virtuais deveriam ter desempenho similar ou superior aos seus equivalentes, pelo menos em relação aos aplicativos dentro cada servidor. Qualquer coisa além dessa referência é lucro.

➔ Gerenciamento de memória

➔ Alta disponibilidade

Cada grande fornecedor tem sua própria solução de alta disponibilidade e a maneira como cada um atinge isso pode ser bem diferente, variando desde métodos minimalistas até muito complexos

➔ Migração ativa

Migração ativa em diferentes plataformas e a capacidade de migrar simultaneamente duas ou mais VMs

Page 11: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Funcionalidades desejadas em um Hypervisor

➔ Redes, armazenamento e segurança

Em rede, os hypervisors devem suportar agrupamento de cartões de interface de rede (NICs) e balanceamento de carga, isolamento Unicast e suporte para o entroncamento de rede de área local virtual (VLAN) padrão (802.1Q).Em armazenamento, devem suportar armazenamento em rede iSCSI e Fibre Channel

➔ Recursos de gerenciamento

Devem oferecer recursos de trap do Simple Network Management Protocol (SNMP), integração com outros softwares de gerenciamento e tolerância a falhas do servidor de gerenciamento.Interface para o gerenciamento da solução

Page 12: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

KVM – Kernel-based Virtual Machine

➔ É um módulo do kernel Linux que transforma o Linux em um hypervisor

➔ Requer extensões de virtualização da CPU

# grep -E 'svm|vmx' /proc/cpuinfo

onde svm(AMD) e vmx(Intel)

➔ Possui performance competitiva em relação aos outros hypervisors e é rico em funcionalidades

➔ Possui sistema avançado de gerenciamento de memória

➔ Bastante integrado ao kernel Linux.

Page 13: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

KVM – Kernel-based Virtual Machine

➔ Um hypervisor necessita de:

➔ Gerenciamento de memória e um escalonador➔ I/O stack➔ Device drivers➔ Gerenciamento de pilha➔ Rede

➔ O linux é reconhecidamente eficiente em todas as tarefas acima, então por que reinventar a roda ?

➔ Reuso do código linux sempre que possível

Page 14: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

KVM – Arquitetura

➔ Guest OS, executado no user-space

➔ Cada Guest OS representa um único processo no Host OS.

➔ O hypervisor é um módulo carregado no kernel como qualquer outro.

➔ A CPU provê suporte a virtualização

➔ A memória é virtualizada através do módulo KVM

➔ O I/O e demais recursos de hardware como disco, rede são virtualizados através do QEMU

Page 15: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Libvirt – Virtualization Library

➔ É uma API Linux para virtualização que suporta diversos hypervisors como Xen, KVM, QEMU, OpenVZ, etc.

➔ Biblioteca para gerenciamento de sistemas operacionais Guest “hypervisor-agnostic”

➔ Representa apenas a API sobre a qual devem ser desenvolvidas ferramentas para gerenciamento das máquinas virtuais

➔ Originalmente desenvolvida para gerenciamento do Xen, mas estendida para outros hypervisors

➔ Controla tanto hypervisors locais como remotos, através de protocolos seguros como TLS e Kerberos

➔ Na parte de rede, suporta bridging, bondig, vlans

Page 16: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Libvirt – Virtualization Library

Gerenciamento Local Gerenciamento Remoto

Page 17: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Ferramentas

➔ Graças a as API's do libvirt, temos diversas ferramentas para gerenciamento de nosso ambiente virtualizado.

➔ virsh: Ferramenta de linha de comando que oferece um shell interativo e uma ferramenta de scipting batch para gerenciamento de todos os domínios libvirt, rede e armazenamento

➔ virt-top: Verifique a utilização de CPU, memória e disco de todas as máquians virtuais que estão rodando em um host

➔ virt-install: Fornece uma interface para criação de novas máquinas virtuais. Suporta instalação a partir de imagens locais de CD/DVD ou via rede através de NFS, HTTP e FTP

➔ Virt-manager: Ferramenta de gerenciamento de máquinas virtuais. Permite o gerenciamento de VM's tanto na máquina local como em máquinas remotas, efetuando conexões a seus hipervisors. Direcionada para utilização em casa e pequenos escritórios, gerencia até 20 hosts e suas máquinas virtuais

➔ Lista completa em: http://libvirt.org/apps.html#configmgmt

Page 18: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Ferramentas - Virsh

Page 19: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Ferramentas - virt-manager

Fonte: http://wiki.deimos.fr/KVM_:_Mise_en_place_de_KVM

Page 20: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

oVirt

➔ Definido como uma plataforma de gerenciamento para datacenter virtual para:

Provisionar, gerenciar, e monitorar hosts, hypervisors, máquinas virtuais, storage e network

➔ É um projeto do Open Virtualization project

➔ Open Source

➔ Baseado em virtualização linux KVM

➔ É um servidor rico em funcionalidades, oferecendo diversas funcionalidades encontradas apenas nas soluções de mercado como VmWare, Citrix, alternativa ou vCenter/vSphere

➔ Base de solução de virtualização da RedHat

➔ Provê imagem de instalação para o nó oVirt

Page 21: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Ovirt - Funcionalidades

➔ High availability para prover tolerância a falhas

➔ Live migration para mover hosts entre máquinas físicas sem interrupção

➔ Storage management

➔ System scheduler onde é possível criar políticas para balanceamento dos recursos

➔ Image Engine para criar, gerenciar e provisionar máquinas virtuais

➔ Storage Virtualization para garantir acesso a storage de qualquer servidor

➔ Compatível com Glustefs

Page 22: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Ovirt - Arquitetura

Page 23: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Ovirt - Dashboard

Page 24: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Ovirt - Comparativo

➔ Solução de virtualização da RedHat é baseada em KVM e oVirt

➔ Segundo lugar frente a soluções conhecidas de mercado

➔ Fonte: http://bit.ly/virtshootout

Page 25: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Dúvidas

Page 26: Open Virtualization - Virtualização em Software Livre

2ª SETIC - Semana de Tecnologia da Informação e Comunicação, 2012

Referências

● Hypervisores, virtualização e a nuvem, disponível em:http://www.ibm.com/developerworks/br/cloud/library/cl-hypervisorcompare/

● Virtualização, verbete wikipedia, disponível em:http://en.wikipedia.org/wiki/Virtualization

● Red Hat Enterprise Linux 5, Admin Guide, disponível em:https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Virtualization/sect-Virtualization-Preface-What_Is.html

● Virtualization – The Beguines guide, McGraw Hill

● Dez benefícios da virtualização e consolidação de servidores. Disponível em: http://www.a2f.com.br/blog/consolidacao-e-virtualizacao/10-beneficios-da-consolidacao-e-virtualizacao-de-servidores

● Discover the Linux Kernel Virtual Machine - http://www.ibm.com/developerworks/linux/library/l-linux-kvm/

● Anatomy of the libvirt virtualization library - http://www.ibm.com/developerworks/linux/library/l-libvirt/

● Virtualization shoot-out: Citrix, Microsoft, Red Hat, and Vmware http://www.infoworld.com/d/virtualization/virtualization-shoot-out-citrix-microsoft-red-hat-and-vmware-666