Curso de Virtualização Curso de Virtualização Bruno Otto Theodoro Rosa (FCL) Diego Pagliarini Vivencio (IQ) Rafael da Silva Faria (FCL) Agenda • • • • • Motivação Conceitos Storages Prática I - Orientada Prática II Motivação • Agora que "ganhei" um DELL 2950, o que eu faço?? o Instalo a última versão de um Linux novo e migro todos os serviços para ele... Mas quanto tempo vou levar para consolidar serviços? E o servidor de aplicações WINDOWS? E se o DELL cair?? Vão todos os serviços de uma vez?? Motivação • Vou então solicitar dois servidores DELL 2950, um para WINDOWS e outro para Unix o OK. A carga do meu servidor WINDOWS fica em 2%. o Ou a carga dos meus servidores UNIX não atinge mais que "1" o "Compartilhamento" de serviços na mesma máquina. Motivação • Meu servidor pifou!!! E agora? • Tradicionalmente (2~3 dias + aquisição): o o backup dos dados, e da configuração do sistema reinstalar sistema e restaurar o backup • Virtualizando (1 hora): o pegar última cópia da VM e restaurar backup o sem ter que lembrar aquela linha mágica que precisa mexer em um .conf • Com um Storage centralizado (1 minuto): o reiniciar a VM em outro servidor Opção: Virtualização • Melhor aproveitamento do hardware • Consolidação de serviços em vários servidores. • Provisionamento de servidores • Backup de servidores • Testes de soluções sem a necessidade de dispor de hardware ocioso Por que virtualizar? • Menor número de servidores físicos o Melhor qualidade dos equipamentos Servidor de verdade, e não um "DeskServer" RAID, memórias ECC o Redução do TCO menor infra estrutura de rede redução da necessidade de ar-condicionado redução de consumo de energia elétrica Por que virtualizar? • Compatibilidade de hardware o Hardware virtual estável no longo prazo o Linux de 2003 rodaria num hardware atual? • Criação de Templates o Diminuir o Time to Market • Criação de Appliances o Fornecer soluções prontas às outras Unidades, eliminando incompatibilidades Por que virtualizar? • SandBoxing o Isolar serviços, garantindo segurança o Restaurar após um update mal-sucedido • Projeção de Crescimento o Planejamento da implementação de vários servidores ao longo do tempo com um investimento inicial único. • Backup de servidores completos o Cópia full da VM, totalmente funcional Por que virtualizar? • Manutenção o A máquina toda é um diretório pode ser copiado e armazenado compactado mais prático que um HD o Tempo de manutenção ampliado migração entre servidores o Monitoramento da performance de um servidor virtualizado mais preciso (out-of-band) Por que virtualizar? • Facilidade para lidar com aplicações legadas, que normalmente não se adaptam bem a Sistemas Operacionais mais novos. o PHP4 + MySQL 3.23 o Aplicações em COBOL o Windows NT o Aplicações em DOS o Aplicações em CLIPPER "Capacity Planning" • Ferramentas o VMware Capacity Planner Cliente coletor local / Servidor: Visão organizada dos dados "Dashboard" - ferramenta de análise de capacidade, com análises pré construída. É possível detectar "gargalos" e modelar cenários de execução. • "Estimativas de Consolidação" • "Avaliação de capacidades" • Esta ferramenta/serviço só pode ser utilizado junto com o produto comercial. A aquisição do "Infra-Structure" prevê este serviço incluído. "Capacity Planning" • • • • CPU Memória Disco Rede CPU • Quanto cada máquina consome de CPU? oE quando? • Aumento da potencialidade do servidor o ganho exponencial com aumento de núcleos Memória • Primeiro recurso a se esgotar • Memory Overcommitment o Page Trimming o Transparent Page Sharing o Memory Ballooning • SOs de 32 bits consomem menos memória RAM • Conjunto de SOs parecidos propicia maior compartilhamento de páginas Disco • Quanto espaço é realmente ocupado? o E daqui 6 meses? o E daqui 3 anos? • Quando os discos são acessados? o Boot o Backup Rede Virtual • Switches virtuais (vSwitches) • Placa de rede do servidor se torna um uplink "Capacity Planning" • Mais importante o "Bom senso e prototipação" VMware Converter • Conversões P2V (Physical To Virtual) o o o Permite converter uma máquina Windows "a quente" Converter Enterprise permite cópia a frio, mas é pago VM convertida ser criada diretamente no servidor • Conversões V2V (Virtual To Virtual) o o Permite migrar VMs entre soluções diferentes (VMware ESXi, VMware Server, MS Virtual Server, etc) Permite criar templates padronizados (OVF) padrão aberto proposto pela VMware inter-operável com outras soluções (Ex.: Xen) Tips & Tricks • ESXi mantém RAM da VM disk-based o Facilitar Suspend e Snapshots e swapping em caso de falta de memória RAM o Política lazy de atualização o Manter nos discos locais, evitando tráfego com o Storage (opção de configuração) • Reduzir carga no servidor físico o Desativar serviços inúteis (cpuspeed, smartd) o Retirar modo gráfico do boot o Reduzir freqüência do kernel para 100Hz (Linux 2.6.x e FreeBSD) o Não utilizar vSMP se não for estritamente necessário o Resultado: consumo em idle abaixo dos 30MHz/VM Tips & Tricks • Separar em discos diferentes SO, arquivo de troca e dados o maior flexibilidade o alocar em arrays distintos • Política para escolha de SO o VMs podem ser migradas eternamente o Inviável se o SO tornar-se vulnerável o SOs com suporte de longo prazo. Ex.: RHEL/CentOS Ubuntu Server LTS Windows Server FreeBSD • Sincronização de Relógio (NTP) o VMs podem atrasar ou adiantar levemente o relógio o Consistência de logs Storages • Porque utilizar storage centralizado? • Hardware VS. Software RAID • Homebrew Storage - FreeBSD 7 - GEOM + ZFS • GEOM - Gate Server • GEOM - Gate Client • ZFS - Pools • ZFS - Pontos de Montagem • ZFS - Snapshots ESXi + Storage 2 Nós de Processamento Porque utilizar Storage? Sem Storage 1. Temos muito espaço em disco livre em diversos servidores 2. Falta espaço em disco em servidores críticos 3. As informações ficam espalhadas 4. Dados normalmente não tem replicação 5. Backup dificil Com Storage 1. Dados centralizados 2. Discos centralizados 3. Único sistema de backup 4. Espaço em disco bem otimizado 5. Facilidade para crescimento da área em disco disponível, agregando-se mais discos ao Storage Hardware VS Software RAID Hardware Software • Gerenciamento fácil • Alto desempenho • Cada controladora armazena os dados da sua maneira • Baixa intercompatibilidade • Alto downtime em problemas. • RAID-5 não confiável (Write Hole) • Gerenciamento especializado • Médio Desempenho • Sistema Operacional gerencia os dados • Baixo downtime em problemas • RAID-5 com Copy On Write usando ZFS (RAIDZ) Storage FreeBSD GEOM + ZFS GEOM • Gated – Exportação de dispositivos (/dev/ad0) via TCP-IP • Facilidade de configuração e de uso ZFS • SUN Microsystems – Novembro 2005 • Novo método de alocação de espaços em “Pools” • Facilidade de exportação de NFS (possível atravéz de uma “flag” em um diretório) • Capacidade de manter integridade de arquivos em desastres • Ao adicionar um novo disco, a capacidade da pool é alterada GEOM Gated Configurando o GEOM Gated: • Editando o arquivo /etc/gg.exports o 10.0.0.0/8 RW /dev/da1 o 10.0.0.0/8 RW /dev/da2 • Editando o arquivo /etc/rc.local o /sbin/ggated • Executando o GEOM Gated para iniciar o processo imediatamente o ggated • Liberando a porta do GEOM Gated no firewall o pass on $ext_if inet proto tcp from 10.0.0.0/8 to ($ext_if) port 3080 GEOM Gate Client Configurando o GEOM Gatec: • Habilitando o GEOM Gatec no FreeBSD: o Editando o /boot/loader.conf geom_gate_enable="YES" • Editando o /etc/rc.local o /sbin/ggatec create 10.0.0.1 /dev/da1 o /sbin/ggatec create 10.0.0.1 /dev/da2 • Executando os comandos acima para ativar o GEOM Gate imediatamente o ggatec create 10.0.0.1 /dev/da1 ggate0 o ggatec create 10.0.0.1 /dev/da2 ggate1 ZFS - Pools • Habilitando o ZFS no /etc/rc.conf o zfs_enable="YES" • Criando o pool e adicionando discos o zpool create datastore raidz /dev/da1 /dev/da2 /dev/da3 • Verificando a estrutura do pool o zpool status • Exibir estado da utilização do pool o zpool list • Ver histórico de comandos do pool o zpool history • Ver utilização do pool em intervalos de 1 segundo o zpool iostat 1 ZFS - Pontos de Montagem • Criando um novo ponto de montagem no pool o zfs create datastore/backups • Definindo compressão nível 9 neste ponto de montagem o zfs set compression=gzip-9 datastore/backups • Desativando indicador de último acesso nos arquivos do ponto de montagem o zfs set atime=off datastore/backups • Habilitando exportação de NFS no /etc/rc.conf o rpcbind_enable="YES" o rpc_lockd_enable="YES" o rpc_statd_enable="YES" o nfs_server_enable="YES" • Compartilhando o ponto de montagem no ZFS o zfs set sharenfs=on datastore/backups ZFS - Snapshots • Criando um snapshot de um ponto de montagem o zfs snapshot datastore/backups@20081101 • Criando um clone do snapshot o zfs clone datastore/backups@20081101 datastore/backups_anterior • Destruindo o clone o zfs destroy datastore/backups_anterior • Restaurando o snapshot o zfs rollback datastore/backups@20081101 • Destruindo o snapshot o zfs destroy datastore/backups@20081101 Parte Prática I • Objetivos: o Instalação do o Configuração VMware ESXi para utilização de um Storage centralizado o Configuração de Rede o Criação de Pool de Recursos o Demonstração de Instalação de VMs Windows 2000 Linux - CentOS 5.2 FreeBSD 7 Linux - Ubuntu JeOS 8.04.1 LTS VMware Tools • Pacote de drivers e utilitários o Driver de rede pára-virtualizado (vmxnet) o Gerenciador de memória para Ballooning o Desligamento e reínicio amigável da VM o Integração do desktop da VM com o do SO do VI Client Mouse Copy'n'Paste o Execução de scripts dentro da VM o Sincronização de relógio Parte Prática II • Objetivos: o Auxílio na configuração dos Servidores o Acompanhamento na criação de VMs o Dúvidas em geral VMware ESXi VI Client Conversões Storage Como convencer meu diretor a adotar? Obrigado!!! Dúvidas? Bruno Otto Theodoro Rosa (FCL) [email protected] (16) 3301-6278 Diego Pagliarini Vivencio (IQ) [email protected] (16) 3301-6690 Rafael da Silva Faria (FCL) [email protected] (16) 3301-6278 Mais informações? “Grupo de Estudos em Virtualização” <[email protected]>