Software Livre nas Nuvens - XEN Apresentador: Gunther Boeckmann
Objetivos
Objetivos Introduzir os conceitos básicos de virtualização: explicar os tipos existentes, citar suas principais características e aplicações. Expor os direcionamentos e requisitos da solução para o SERPRO. Apresentar a arquitetura do Xen. Expor as tecnologias e padrões adotados.
Roteiro
Roteiro Conceitos Gerais de Virtualização Motivações Tipos de Virtualização Principais Players Aplicações Direcionamentos e requisitos Arquitetura do Xen Modelo Tecnológico e Topologia adotada
Conceitos Gerais
Conceitos Gerais Virtualização:... do latim virtus: qualidades do homem, coragem, energia, valor, mérito. http://www.priberam.pt/dlpo/default.aspx?pal=virtual Virtualização de Hardware Técnica que permite compartilhar e utilizar recursos de um único sistema computacional em vários outros denominados de máquinas virtuais. http://pt.wikipedia.org/wiki/virtualização
Conceitos Gerais Motivações: Melhor aproveitamento dos recursos do servidor Redução do ROI (Return of Investiment). Economia de espaço e energia elétrica Redução do TCO (Total Cost of Ownership). Fácil isolamento de máquinas. Rápido provisionamento. Compartilhamento de recursos físicos. Ambientes facilmente portáveis e redundantes.
Conceitos Gerais Máquina real: Host, Hospedeiro. Máquina virtual (VM): Guest, Convidado, Dom0 (Privilegiada) ou DomU. Sistemas de Virtualização: Hypervisor, VMM, Microkernel. Recursos virtuais: CPUs, memória, discos, placas de rede, switchs.
Conceitos Gerais Sem Virtualização Com Virtualização
Conceitos Gerais Tipos de Virtualização: Completa: implementado como um processo em um kernel real as VMs são executadas sobre ele. - Emulação de Hardware: abstração completa, mas fraco desempenho. Ex: QEMU - Tradução Binária: bom desempenho, mas alta complexidade. Ex: VMware ESX - Virtualização Nativa (Virtualização Assistida por Hardware): médio desempenho e baixa complexidade, Intel-VT ou AMD-V. Ex: Xen, KVM Paravirtualização: implementado entre o hardware e os sistemas convidados (VM) através de modificação do Kernel.
Conceitos Gerais Tipos de virtualização: Virtualização Completa Exemplos: VMware Server VirtualBox QEMU
Conceitos Gerais Tipos de virtualização: Paravirtualização Exemplos: Xen GPL Citrix XenServer XCP MS Hyper-V Sun xvm Oracle VI
Conceitos Gerais Principais Players Destaques: VMware ** Hyper-V ** Citrix XenServer * QEMU KVM Xen Outros: MS Virtual Server ** Virtual Box * Parallels ** Bochs UML * - Parcialmente proprietário ** - Completamente proprietário
Conceitos Gerais Outros tipos: Virtualização do Desktop: FreeNX, MS TService Virtualiação de Código: Java VM Virtualização do Sistema Operacional: Chroot, Jails, OpenVZ Sb 2 Contexto 1002 Processos IPC /proc eth0:0 Processos Kernel Devices Drivers Hardware Sb 3 Contexto 1003 Processos eth0:2 Sb 1 Contexto 1001
Conceitos Gerais Aplicações Consolidação de Servidores e Data Centers
Conceitos Gerais Aplicações: Migração de Plataformas ou Manutenção de Sistemas Legados
Conceitos Gerais Aplicações: Serviços de Internet Hosting Internet Server Farm / Pool
Conceitos Gerais Aplicações: Ensino, pesquisa e laboratórios Solução 1 Máquinas físicas com imagens de Sistemas Virtuais. Solução 2 Servidor único com várias Máquinas Virtuais.
Conceitos Gerais Aplicações: Segurança: Honeypots, Honeynets e Detecção de Intrusão Servidor Real VLAN 03 VLAN 02
Conceitos Gerais Aplicações: Alta Disponibilidade (HA) e Balanceamento de Carga (melhor performance ou economia de energia)
Conceitos Gerais O Futuro Novas arquiteturas de Hardware: Acesso aos recursos físicos (Barramento, DMA, I/O etc.): Intel Virtualization Technology for Directed I/O (VT-d), Intel VT-c (Intel VT for Connectivity), NPIV, SR IOV etc. Cloud Computing IaaS Infrasctructure as a Service PaaS Plataform as a Service SaaS Software as a Service
Conceitos Gerais Evolução: Automatização baseada em políticas Cloud Valor de Negócio Particionamento consolidação Rápido Provisionamento Alta disponibilidade Recuperação desastre Gerenciamento de carga Redução do custo operacional Qualquer aplicação ou recurso a qualquer tempo Eficiência operacional Custo reduzido de soluções em HA e DR Investimento reduzido e melhor utilização do hardware Maturidade da Virtualização
Direcionamentos
Conceitos Gerais Problemas atuais no SERPRO: Parque antigo Salas de Central de Dados lotadas Consumo de energia elétrica elevado Frequente necessidade de adequação dos Nobreaks Administração do parque complexa Ambiente de homologação e de teste inflexíveis para as Superintendências de desenvolvimento Dificuldade de disponibilizar servidores frentes as demandas atuais
Conceitos Gerais Estratégico (Diretoria e Coordenações) Primário: Utilizar Hypervisor GPL e ferramentas de administração gratuitas e sem subscrição. Apenas em casos excepcionais deverá haver aquisição de uma solução proprietária. Secundário: Dominar uma solução de Virtualização GPL sem depender de fornecedores. Gerencial e Operacional (Superintendências) Oferecer Suporte Técnico de 1º, 2º e 3º nível Assimilar e Disseminar o conhecimento Desenvolver ferramentas complementares de virtualização, como HA e Console de Gerência GPL Integrar a outros Projetos (Segmentação de Rede, Cloud Computing, VDI e de Clientes do Serpro)
Direcionamentos Solução: Adotar como padrão o Hypervisor GPL Xen Citrix XenServer Free Estratégia: 3ª Fase - Evolução - Solução de Cloud Computing - Virtualização de Desktop 1ª Fase Adaptação e Implantação - Definição e capacitação da equipe - Personalização do Citrix XenServer - Repasse de conhecimento - Integração com outros Projetos 2ª Fase - Melhorias - Desenvolvimento Ferramentas complementares - Autenticação no Serviço de Diretório - Política de Backup - Avaliação do Xen Cloud Plataform (XCP) - Gerenciamento e monitoração
Direcionamentos Ações pontuais: Formação de um Grupo de Trabalho de Virtualização Execução de Laboratórios Documentação: Modelo de Serviço, Tecnológico e Manuais Operacionais Treinamento nas Regionais Repositório Central de Virtualização - Imagens ISO, Virtual Appliance, Templates, Ferramentas, Atualizações etc.
Direcionamentos Estado atual: Modernização do Ambiente de Desenvolvimento 10 Regionais, Ferramentas: Jboss, Demoiselle, Apache, Pentaho, Zope/Plone,.NET, ASP/VB, Cold Fusion, Lotus Notes etc. 74 Servidores físicos Expresso em Nuvem 750.000 usuários, 80.000 simultâneos, 6 Hosts, >20 VM (4xQuad, 32GB RAM e 6TB SAN) Consolidação de Servidores nas Regionais 30 Servidores físicos (4xQuad, 128GB RAM, 2xDual HBA, 2x QuadEthernet, Mananger) e 106 TB de Storage distribuídos
Resultados Uso da virtualização Total: 755 Máquinas Virtuais (SUPOP, jun/2011)
Resultados Regional Fortaleza SUPOP: 04 SUPDE: 39 SUPST: 46 Total: 89 VM +207 % - 25 % Fev/2011 Abr/2011
Arquitetura do Xen
Arquitetura do Xen Anéis de Cebola e o Xen:
Arquitetura do Xen Paravirtualização Exemplos: Xen GPL UML MS Hyper-V Ring3 Execução direta (Código Guest - UserMode) Ring1 Ring0 PageFaults, Syscall int. OS modificados KernelMode VMM Manipulação do Código Guest IRET, sysret
Arquitetura do Xen Máquinas Virtuais
Arquitetura do Xen Controle e Gerenciamento dos Domínios Conjunto de Deamons (Serviços) que tem por objetivo manter o controle e viabilizar o gerenciamento dos Domínios do Xen. xm (xe): principal comando de interação com o Xen. xend: Aplicação em Python considerado como gerenciador do ambiente. Libxenctrl: Biblioteca em C que provê ao Xend a abilidade de interagir com o Hypervisor via Dom0 através de mensagens XML RPC. XenStored: Mantem o registro de informações em memória e canais de evento entre Dom0 e os DomU
Arquitetura do Xen Interaguindo com o Hypervisor XenStored XenStored Xend Xend Libxenctrl Libxenctrl XML RPC # xm # xm DomU DomU Dom0 Dom0 privcmd Xen Xen Hypervisor
Modelo Tecnológico
Modelo Tecnológico Tecnologias adotadas Sistemas homologados Padrões de nome Configuração do ambiente Políticas de: Sistemas, segurança e uso Definição da topologia do ambiente
Modelo Tecnológico Sistemas suportados (versão 2.2): Xenserver 5.6 SP2 Virtualização completa (HVM) Microsoft Windows 32 e 64-bit: Server 2000 SP4, Server 2003 SP2, Server 2008, Server 2008 R2 e Windows 7 Paravirtualização (PVM): CentOS 5.0, 5.1, 5.2, 5.3, 5.4, 5.5 RedHat 5.0, 5.1, 5.2, 5.3, 5.4, 5.5 RedHat 6.0 Debian Lenny e Squeeze 5.0 32bits Ubuntu 10.04 LTS
Modelo Tecnológico Requisitos de Hardware Arquitetura 64-bit x86 CPU: 2 GHz ou superior e Multi-core Intel VT ou AMD-V 3 Placas de rede 1 Gb/s ou superior 8 GB de memória física. 100 GB de Disco Local em RAID para XenServer 2 Placas HBA conectadas em Storage remoto. Controladoras de acesso remoto a console física dos Servidores (DRAC, RSA, ILO etc.)
Modelo Tecnológico Serviços e Aplicações Virtualizáveis Serviços de rede em geral IO Bond x CPU Bond Nem todas as aplicações são interessantes de serem utilizadas em ambientes virtuais compartilhados de produção. Possível, mas não recomendado: Bancos de Dados IDS/IPS Proxy/Cache
Modelo Tecnológico Configuração de Básica da Rede Host X VM01 VM04 VM05 Host Y VM02 Host Z VM03 VM06 KVM Xen DRAC/ILO/RSA Gerência da Virtualização Redes de Produção das VM Rede A Rede B Rede C
Modelo Tecnológico Configuração de rede com VLAN (802.1q) Host X Rede FC VM01 VM04 VM05 Host Y VM02 Host Z VM03 Storage VM06 KVM Xen Tagged DRAC/ILO/RSA Ger. XenServer VLan A VLan B VLan C Rede de Produção das VM
Modelo Tecnológico Áreas de exclusão de Pools, segundo os níveis de segurança: Host X VM01 Nível 0 Nível 1 Nível 2 Nível 3 Pools #1 Host Y VM03 Host N VM01 Pools #2 Host P VM03 Host W VM01 Pools #3 Host Z VM03 Outros Pools Host N VM01 Host P VM03 VM02 VM02 VM02 VM02 Internet Após o Firewall Intranet Outros Casos ZDM 0 ZDM 1 ZDM 2 ZDM4 Entreposto Local Serviços Desenvolv. RFB SUSEP
Modelo Tecnológico Integração Projeto de Segmentação de Rede: Interligação entre as ZDM de Gerência de Virtualização
Modelo Tecnológico Integração Projeto de Segmentação de Rede: Entreposto
Dúvidas? Elaboração por Gunther Boeckmann - gunther.silva@serpro.gov.br e José Oliveira - jose.almeida-filho@serpro.gov.br