SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
Virtualização usando KVM e LXC
Luís Eduardo Tenório Silva
lets@cin.ufpe.br
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
Breve introdução a virtualização
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)
Ambiente virtualizado (a direita)
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;
Técnicas de virtualização
Virtualização total e para-
virtualização
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
Virtualização em nível de
SO
Mão na massa (KVM)
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
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
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
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
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
Instalando o Ubuntu Server na imagem de disco
Executando uma VM
$ kvm -m 1G -hda ubuntu.qcow
VM em execução
● Facilita o manejamento e configurações
mais avançadas
● Ferramenta utilizada: virt-manager
● Execução
GUI
$ sudo apt-get install virt-manager
$ virt-manager&
Virt-manager em execução
Mão na massa (LXC)
Introdução
LXC (Linux Containers)
● Conjunto de ferramentas para criação e gerenciamento
de containers em userspace.
● Integra as funcionalidade do Cgroups e Namespace
Instalação
● Instalando o LXC
● Verificando as configurações
$ sudo apt-get install lxc
$ sudo lxc-checkconfig
Instalação
Criando seu primeiro
container
● Criando container com nome CT1
Onde:
● -t : template
● -n : nome do container
$ sudo lxc-create -t ubuntu -n CT1
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
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/
Gerenciando seu primeiro
container
● Ver informações sobre todos os containers
● Iniciando um container
$ sudo lxc-ls -f
$ sudo lxc-start -n CT1
Gerenciando seu primeiro
container
● Parando um container
● Destruindo um container
$ sudo lxc-stop -n CT1
$ sudo lxc-destroy -n CT1
Gerenciando seu primeiro
container
● Clonando um container
Onde:
● -o: Origem
● -n: Nome do arquivo clonado
$ sudo lxc-clone -o CT1 -n CloneCT1
DUVIDAS?
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/

Mais conteúdo relacionado

Mais procurados

Ubuntu Linux
Ubuntu LinuxUbuntu Linux
Ubuntu Linuxisraeljrs
 
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...Edureka!
 
Virtualization using VMWare Workstation
Virtualization using VMWare WorkstationVirtualization using VMWare Workstation
Virtualization using VMWare WorkstationHitesh Gupta
 
La virtualisation de_serveurs
La virtualisation de_serveursLa virtualisation de_serveurs
La virtualisation de_serveursNidhal Fersi
 
Virtual Machines
Virtual MachinesVirtual Machines
Virtual MachinesJoa Ebert
 
Linux basics part 1
Linux basics part 1Linux basics part 1
Linux basics part 1Lilesh Pathe
 
Introdução à Virtualização
Introdução à VirtualizaçãoIntrodução à Virtualização
Introdução à VirtualizaçãoLucas Miranda
 
Course 101: Lecture 5: Linux & GNU
Course 101: Lecture 5: Linux & GNU Course 101: Lecture 5: Linux & GNU
Course 101: Lecture 5: Linux & GNU Ahmed El-Arabawy
 
VMWARE VS MS-HYPER-V
VMWARE VS MS-HYPER-VVMWARE VS MS-HYPER-V
VMWARE VS MS-HYPER-VDavid Ramirez
 
Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Valerio Radice
 
A 2018 practical guide to hacking RFID/NFC
A 2018 practical guide to hacking RFID/NFCA 2018 practical guide to hacking RFID/NFC
A 2018 practical guide to hacking RFID/NFCSecuRing
 
Linux interview questions and answers
Linux interview questions and answersLinux interview questions and answers
Linux interview questions and answersGanapathi Raju
 
Introduction to virtualization
Introduction to virtualizationIntroduction to virtualization
Introduction to virtualizationAhmad Hafeezi
 
Using Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And TestingUsing Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And Testingelliando dias
 
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)Igalia
 

Mais procurados (20)

Ubuntu Linux
Ubuntu LinuxUbuntu Linux
Ubuntu Linux
 
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
 
مهارات متقدمة في معالج النصوص word 2010
مهارات متقدمة في معالج النصوص word 2010مهارات متقدمة في معالج النصوص word 2010
مهارات متقدمة في معالج النصوص word 2010
 
Virtualization using VMWare Workstation
Virtualization using VMWare WorkstationVirtualization using VMWare Workstation
Virtualization using VMWare Workstation
 
La virtualisation de_serveurs
La virtualisation de_serveursLa virtualisation de_serveurs
La virtualisation de_serveurs
 
Virtual Machines
Virtual MachinesVirtual Machines
Virtual Machines
 
Linux basics part 1
Linux basics part 1Linux basics part 1
Linux basics part 1
 
Introdução à Virtualização
Introdução à VirtualizaçãoIntrodução à Virtualização
Introdução à Virtualização
 
Course 101: Lecture 5: Linux & GNU
Course 101: Lecture 5: Linux & GNU Course 101: Lecture 5: Linux & GNU
Course 101: Lecture 5: Linux & GNU
 
VMWARE VS MS-HYPER-V
VMWARE VS MS-HYPER-VVMWARE VS MS-HYPER-V
VMWARE VS MS-HYPER-V
 
Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]
 
Hypervisor
HypervisorHypervisor
Hypervisor
 
A 2018 practical guide to hacking RFID/NFC
A 2018 practical guide to hacking RFID/NFCA 2018 practical guide to hacking RFID/NFC
A 2018 practical guide to hacking RFID/NFC
 
Kali Linux
Kali LinuxKali Linux
Kali Linux
 
Linux interview questions and answers
Linux interview questions and answersLinux interview questions and answers
Linux interview questions and answers
 
Introduction to virtualization
Introduction to virtualizationIntroduction to virtualization
Introduction to virtualization
 
Linux para leigos
Linux para leigos Linux para leigos
Linux para leigos
 
Using Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And TestingUsing Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And Testing
 
Linux
LinuxLinux
Linux
 
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
 

Destaque

[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de Instâncias[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de InstânciasAugusto Giles
 
Virtualização a Nível de Sistema Operacional e sua Proposta de Segurança
Virtualização a Nível de Sistema Operacional e sua Proposta de SegurançaVirtualização a Nível de Sistema Operacional e sua Proposta de Segurança
Virtualização a Nível de Sistema Operacional e sua Proposta de SegurançaAugusto Giles
 
Arte, tecnologia e instalação interativa
Arte, tecnologia e instalação interativaArte, tecnologia e instalação interativa
Arte, tecnologia e instalação interativaecoarte
 
Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.4LinuxCursos
 
Como lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQLComo lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQLDiego Santos
 
MySQL - Instalação e Alguns comandos de Banco de Dados
MySQL - Instalação e Alguns comandos de Banco de DadosMySQL - Instalação e Alguns comandos de Banco de Dados
MySQL - Instalação e Alguns comandos de Banco de DadosClayton de Almeida Souza
 
Apresentação - Curso de Monitoramento com Zabbix - HOTMART
Apresentação - Curso de Monitoramento com Zabbix - HOTMARTApresentação - Curso de Monitoramento com Zabbix - HOTMART
Apresentação - Curso de Monitoramento com Zabbix - HOTMARTThiago Braga
 
Apostila Programação Java
Apostila Programação JavaApostila Programação Java
Apostila Programação Javainfo_cimol
 
Kabanata 20: Ang Napapalagay (El Filibusterismo)
Kabanata 20: Ang Napapalagay (El Filibusterismo)Kabanata 20: Ang Napapalagay (El Filibusterismo)
Kabanata 20: Ang Napapalagay (El Filibusterismo)Snowfoot
 
El filibusterismo kab 21 30
El filibusterismo kab 21 30El filibusterismo kab 21 30
El filibusterismo kab 21 30Jennifer Perez
 

Destaque (11)

[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de Instâncias[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de Instâncias
 
Virtualização a Nível de Sistema Operacional e sua Proposta de Segurança
Virtualização a Nível de Sistema Operacional e sua Proposta de SegurançaVirtualização a Nível de Sistema Operacional e sua Proposta de Segurança
Virtualização a Nível de Sistema Operacional e sua Proposta de Segurança
 
Arte, tecnologia e instalação interativa
Arte, tecnologia e instalação interativaArte, tecnologia e instalação interativa
Arte, tecnologia e instalação interativa
 
Namespace
NamespaceNamespace
Namespace
 
Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.
 
Como lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQLComo lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQL
 
MySQL - Instalação e Alguns comandos de Banco de Dados
MySQL - Instalação e Alguns comandos de Banco de DadosMySQL - Instalação e Alguns comandos de Banco de Dados
MySQL - Instalação e Alguns comandos de Banco de Dados
 
Apresentação - Curso de Monitoramento com Zabbix - HOTMART
Apresentação - Curso de Monitoramento com Zabbix - HOTMARTApresentação - Curso de Monitoramento com Zabbix - HOTMART
Apresentação - Curso de Monitoramento com Zabbix - HOTMART
 
Apostila Programação Java
Apostila Programação JavaApostila Programação Java
Apostila Programação Java
 
Kabanata 20: Ang Napapalagay (El Filibusterismo)
Kabanata 20: Ang Napapalagay (El Filibusterismo)Kabanata 20: Ang Napapalagay (El Filibusterismo)
Kabanata 20: Ang Napapalagay (El Filibusterismo)
 
El filibusterismo kab 21 30
El filibusterismo kab 21 30El filibusterismo kab 21 30
El filibusterismo kab 21 30
 

Semelhante a Virtualização usando KVM e LXC

Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?Marcos Paulo de Souza
 
Instalação do sistemas operacionais dualboot
Instalação do sistemas operacionais dualbootInstalação do sistemas operacionais dualboot
Instalação do sistemas operacionais dualbootWilliam Menegais
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux EmbarcadoDiego Sueiro
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!Evandro Couto
 
Padrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresPadrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresCarlos Andre Fernandes
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao dockerBenicio Ávila
 
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVinícius Krolow
 
VDI e Projeto OSDVT
VDI e Projeto OSDVTVDI e Projeto OSDVT
VDI e Projeto OSDVTapsegundo
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucaoFernando Ike
 
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containersTDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containerstdc-globalcode
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfdadalt1
 
Conhecendo o ubuntu enterprise cloud - UEC
Conhecendo o ubuntu enterprise cloud - UECConhecendo o ubuntu enterprise cloud - UEC
Conhecendo o ubuntu enterprise cloud - UECFabiano Weimar
 

Semelhante a Virtualização usando KVM e LXC (20)

Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?
 
Instalação do sistemas operacionais dualboot
Instalação do sistemas operacionais dualbootInstalação do sistemas operacionais dualboot
Instalação do sistemas operacionais dualboot
 
Virtualiza%e7%e3o(3)
Virtualiza%e7%e3o(3)Virtualiza%e7%e3o(3)
Virtualiza%e7%e3o(3)
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
Consegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + PuppetConsegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + Puppet
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!
 
Padrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresPadrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhores
 
Boteco Xen
Boteco XenBoteco Xen
Boteco Xen
 
Docker
DockerDocker
Docker
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizado
 
VDI e Projeto OSDVT
VDI e Projeto OSDVTVDI e Projeto OSDVT
VDI e Projeto OSDVT
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containersTDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
 
Aula- Virtualização
Aula- VirtualizaçãoAula- Virtualização
Aula- Virtualização
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Conhecendo o ubuntu enterprise cloud - UEC
Conhecendo o ubuntu enterprise cloud - UECConhecendo o ubuntu enterprise cloud - UEC
Conhecendo o ubuntu enterprise cloud - UEC
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
 

Virtualização usando KVM e LXC