Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Virtualização usando KVM e LXC

451 views

Published on

Minicurso introdutório sobre virtualização e ferramentas apresentado no IFAL no dia 23/07/16.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Virtualização usando KVM e LXC

  1. 1. Virtualização usando KVM e LXC Luís Eduardo Tenório Silva lets@cin.ufpe.br
  2. 2. Sumário ● Breve introdução a virtualização ○ O que é virtualização? ○ Porque virtualizar? ○ Técnicas de virtualização ● Mão na massa (KVM): ○ Introdução ○ Instalação ○ Criando sua primeira máquina virtual ● Mão na massa (LXC): ○ Instalação ○ Criando seu primeiro container ■ Diretórios e arquivos de configuração ○ Gerenciando seu primeiro container
  3. 3. Breve introdução a virtualização
  4. 4. O que é virtualização? “Técnica responsável por promover uma camada de abstração entre o hardware e o software” (MENASCÉ, 2005) “Abstração das funcionalidades e recursos empregados em hardware para um ambiente gerenciado por software” (BUYYA et al, 2012)
  5. 5. Ambiente virtualizado (a direita)
  6. 6. Motivos de virtualização ● Isolamento entre diversos serviços executando em uma única máquina; ● Utilização inteligente dos recursos disponíveis; ● Flexibilidade na manutenção de infraestruturas; ● Utilização de diversos sistemas operacionais (SOs) ao mesmo tempo;
  7. 7. Técnicas de virtualização
  8. 8. Virtualização total e para- virtualização
  9. 9. Virtualização total e para- virtualização Virtualização total ● Pode virtualizar qualquer tipo de SO em qualquer versão ● Facilidade na realização da virtualização ● Performance ruim Para-virtualização ● Virtualiza SOs com drivers específicos (modificados) ● Virtualização apenas a sistemas adaptados ● Boa performance
  10. 10. Virtualização em nível de SO
  11. 11. Mão na massa (KVM)
  12. 12. Introdução KVM (Kernel-based Virtual Machine) ● Infraestrutura de virtualização integrada no kernel Linux (desde a versão 2.6.20) ● Provê virtualização assistida por hardware ● Utiliza o qemu como ferramenta de userspace
  13. 13. Instalação ● Pré-requisitos ● Instalação ● Observar se módulo está ativo $ sudo grep -cE 'vmx|svm' /proc/cpuinfo $ sudo apt-get install qemu-kvm libvirt-bin $ sudo kvm-ok
  14. 14. Preparando a imagem de disco ● O KVM necessita de uma imagem de disco para armazenar todo SO e ferramentas que serão utilizadas pelas VMs. ● Existem diversos tipos de imagens de disco (.img, .vdi , .qcow, .qcow2, .raw) ○ KVM suporta grande parte deles, quando não, pode- se converter facilmente ○ Por padrão, utiliza-se o formato qcow2* *qemu copy on write
  15. 15. Preparando a imagem de disco ● Criando imagem de disco Onde ● -f : formato da imagem ● 8G: Tamanho da imagem (8 GB) $ qemu-img create -f qcow2 ubuntu.qcow 8G
  16. 16. Instalando um SO na imagem ● Necessário uma imagem .iso com a imagem do SO (no linux, baixado na página principal da distribuição) Onde: ● m: quantidade de memória RAM (1GB) ● hda: hd principal (imagem de disco) ● cdrom: Imagem ISO que será emulado no drive de CDROM $ kvm -m 1G -hda ubuntu.qcow -cdrom ubuntu14.04.iso
  17. 17. Instalando o Ubuntu Server na imagem de disco
  18. 18. Executando uma VM $ kvm -m 1G -hda ubuntu.qcow
  19. 19. VM em execução
  20. 20. ● Facilita o manejamento e configurações mais avançadas ● Ferramenta utilizada: virt-manager ● Execução GUI $ sudo apt-get install virt-manager $ virt-manager&
  21. 21. Virt-manager em execução
  22. 22. Mão na massa (LXC)
  23. 23. Introdução LXC (Linux Containers) ● Conjunto de ferramentas para criação e gerenciamento de containers em userspace. ● Integra as funcionalidade do Cgroups e Namespace
  24. 24. Instalação ● Instalando o LXC ● Verificando as configurações $ sudo apt-get install lxc $ sudo lxc-checkconfig
  25. 25. Instalação
  26. 26. Criando seu primeiro container ● Criando container com nome CT1 Onde: ● -t : template ● -n : nome do container $ sudo lxc-create -t ubuntu -n CT1
  27. 27. Criando seu primeiro container Total de templates disponíveis (versão 2.0.3): 19 ● alpine ● altlinux ● archlinux ● busybox ● centos ● cirros ● debian ● ... Mais em : /usr/share/lxc/templates
  28. 28. Criando seu primeiro container Diretórios e arquivos importantes: ● Armazenamento dos containers: /var/lib/lxc/ ● Arquivo de configuração: /var/lib/lxc/CT1/config ● Armazenamento dos templates: /var/cache/lxc/
  29. 29. Gerenciando seu primeiro container ● Ver informações sobre todos os containers ● Iniciando um container $ sudo lxc-ls -f $ sudo lxc-start -n CT1
  30. 30. Gerenciando seu primeiro container ● Parando um container ● Destruindo um container $ sudo lxc-stop -n CT1 $ sudo lxc-destroy -n CT1
  31. 31. Gerenciando seu primeiro container ● Clonando um container Onde: ● -o: Origem ● -n: Nome do arquivo clonado $ sudo lxc-clone -o CT1 -n CloneCT1
  32. 32. DUVIDAS?
  33. 33. Referências [1]https://escotilhalivre.wordpress. com/2015/06/10/virtualizacao-definicao/ [2]https://escotilhalivre.wordpress. com/2015/06/16/instalacao-e-configuracao-do- kvm-no-linux/ [3]https://escotilhalivre.wordpress. com/2015/06/22/usando-o-lxc-introducao/

×