Você está na página 1de 10

Virtualização com KVM no Linux – iMasters

Abril.com

Mais sites Abril

http://imasters.com.br/artigo/23448/linux/virtualizacao-com

Grupo Abril

Abril Mídia

Distribuição

Gráfica

Abril Educação

Assine

Loja

Mídia Distribuição Gráfica Abril Educação Assine Loja PORTAL PORTAL COLETIVOS AGENDA IMASTERS PRO MULTIMÍDIA BOX
Mídia Distribuição Gráfica Abril Educação Assine Loja PORTAL PORTAL COLETIVOS AGENDA IMASTERS PRO MULTIMÍDIA BOX

PORTALPORTAL COLETIVOS AGENDA

IMASTERS PRO

MULTIMÍDIA

BOX

CODE

FÓRUM

Faça Login / Cadastre-se

PRO MULTIMÍDIA BOX CODE FÓRUM Faça Login / Cadastre-se Linux Pesquisar Linux Virtual Linux Terça-feira, 31/01/2012
PRO MULTIMÍDIA BOX CODE FÓRUM Faça Login / Cadastre-se Linux Pesquisar Linux Virtual Linux Terça-feira, 31/01/2012

Linux

Pesquisar

Linux

Virtual

Linux

Terça-feira, 31/01/2012 às 09h00, por developerWorks Brasil

31/01/2012 às 09h00, por developerWorks Brasil Virtualização significa a utilização de um sistema

Virtualização significa a utilização de um sistema operacional real sobre uma máquina virtual. Isto é, qualquer sistema operacional pode ser instalado sobre uma máquina virtual emulando o comportamento de uma máquina real. Assim, o sistema operacional funciona sem conhecimento, na maioria das vezes, de que está sobre uma camada de software, e não diretamente sobre o hardware.

A virtualização está em evidência atualmente. Um dos motivos para sua ascensão é a

evolução da capacidade de processamento e memória dos servidores, que permite executar máquinas virtuais em praticamente qualquer hardware disponível atualmente. Outro motivo é a necessidade de economia de energia, espaço e custo nos Data Centers, que a virtualização permite através da consolidação em um único hardware de servidores que no passado precisariam de suas próprias máquinas físicas.

Embora virtualização seja uma palavra da moda hoje em dia, o conceito já existe há muito tempo. Algumas máquinas IBM foram pioneiras em sua utilização, ainda na década de 70.

O conceito de virtualização é simples, embora a implementação contenha aspectos de

difícil entendimento, uma vez que um sistema computacional precisa ser completamente emulado.

Na arquitetura que apresentamos aqui, esta emulação é feita por um software chamado Qemu, que em conjunto com o KVM (Kernel Virtual Machine), que é um módulo de kernel, provê a pilha de software necessária para a virtualização em Linux.

No mundo da virtualização, a máquina que prove a virtualização é chamada de hospedeiro, ou host, enquanto a máquina virtualizada tem o nome de guest. A máquina guest, no caso do Qemu, é sempre vista como um (ou mais) processos na maquina host.

Casos de uso

A virtualização de sistemas operacionais tem inúmeras utilidades, entre elas:

Flexibilidade: Algumas vezes é necessário utilizar um software que só existe para uma determinada plataforma (por exemplo o Windows 2000, ou XP). Neste caso, pode-se manter uma máquina virtual com o SO específico instalado e ligá-la somente quando houver necessidade;sistemas operacionais tem inúmeras utilidades, entre elas: Consolidação: No caso de possuir várias máquinas

Consolidação: No caso de possuir várias máquinas físicas diferentes, pode-se substituí-las por somente um servidor mais potente com várias máquinas virtuais, economizando o custo com hardware, eletricidade e espaço físico; além de facilitar amáquina virtual com o SO específico instalado e ligá-la somente quando houver necessidade; 1 de 10

Virtualização com KVM no Linux – iMasters

http://imasters.com.br/artigo/23448/linux/virtualizacao-com

administração;

Segurança: Ao invés de concentrar vários serviços (banco de dados, web server, servidor de e-mail) em um só servidor, spode-se criar uma máquina virtual para cada um, garantindo, assim, que caso ocorra uma invasão os outros serviços permanecerão intactos;administração; Testes e desenvolvimento de software: Um desenvolvedor web,

Testes e desenvolvimento de software: Um desenvolvedor web, por exemplo, pode usar máquinas virtuais para testar um site em vários sistemas operacionais e navegadores diferentes sem precisar reiniciar o computador ou trocar de máquina.uma invasão os outros serviços permanecerão intactos; Virtualização no Atualmente, existem inúmeros softwares

Virtualização no

Atualmente, existem inúmeros softwares que permitem a criação de máquinas virtuais, sendo os mais conhecidos VMWare, VirtualBox, e o Kernel Based Virtual Machine (KVM) no Linux.

Neste artigo descreveremos o KVM, um ótimo virtualizador gratuito disponível para inúmeros tipos de uso, inclusive em ambientes corporativos com alta demanda de processamento e disponibilidade. O KVM é um subsistema do Linux que, quando utilizado com o Qemu, permite a criação de máquinas virtuais que executam com baixo overhead, isto é, o sistema operacional na máquina virtual funciona em uma velocidade próxima da real (caso estivesse na máquina física).

Ferramentas de g

O sistema de virtualização do KVM conta com um sistema de gerenciamento chamado de Virt-manager, que provê um ambiente gráfico através do qual se pode criar, configurar e alterar os parâmetros da máquina virtual a ser usada, incluindo memória, configurações de rede e disco.

da máquina virtual a ser usada, incluindo memória, configurações de rede e disco. 2 de 10
da máquina virtual a ser usada, incluindo memória, configurações de rede e disco. 2 de 10

Virtualização com KVM no Linux – iMasters

http://imasters.com.br/artigo/23448/linux/virtualizacao-com

http://imasters.com.br/artigo/23448/linux/virtualizacao-com Há também uma série de utilitários adicionais para

Há também uma série de utilitários adicionais para efetuar algumas tarefas auxiliares:

virt-install - criação de máquinas virtuais novas; - criação de máquinas virtuais novas;

virt-clone - criação de uma cópia de uma máquina virtual existente; - criação de uma cópia de uma máquina virtual existente;

virt-img - criação de uma nova imagem de disco, a ser usado para simular um disco - criação de uma nova imagem de disco, a ser usado para simular um disco virtual;

virt-viewer - possibilita a interação com a interface gráfica da máquina virtual. - possibilita a interação com a interface gráfica da máquina virtual.

Configurando um

Para configurar um ambiente com máquinas virtuais no Linux iremos utilizar um host Linux Ubuntu Server Edition versão 10.04.

O processo de instalação para hosts Ubuntu Desktop é exatamente o mesmo e pode ser

realizado desta mesma forma.

Requisitos

A priori, não existe uma configuração de hardware mínima para que seja possível rodar

máquinas virtuais em um host Linux, porém, uma vez que o host irá abrigar outros sistemas

operacionais, é aconselhável que ele tenha as seguintes configurações mínimas para que

o sistema seja minimamente utilizável:

- Processador Dual Core 1.5 GHz ou maior

- 2 GB ou mais de memória RAM

mínim

Existem alguns processadores que possuem suporte à virtualização nativa. Neste caso, o desempenho dos guests chega a ser comparado com o do host. Para checar se um processador possui este suporte, execute o comando abaixo, e verifique se a saída contém a flag vmx.

#egrep '(vmx|svm)' --color=always /proc/cpuinfo

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse

Instalação dos pa

Para instalar o sistema KVM na sua máquina, basta executar os comandos abaixo:

# apt-get install kvm

# apt-get install libvirt virt-manager

O Ubuntu Server não possui interface gráfica, o que é um problema porque o virt-manager

não pode rodar em modo texto. Este problema pode ser solucionado basicamente de duas

formas:

Virtualização com KVM no Linux – iMasters

http://imasters.com.br/artigo/23448/linux/virtualizacao-com

1. Instalando um gerenciador gráfico e logando localmente no host:

# apt-get install gdm

A instalação do pacote GDM irá instalar vários outros pacotes para tornar possível o login

gráfico. Após a instalação, faça login no host e abra no menu principal o virt-manager.

2 - Instalando o servidor de login remoto SSH e logando remotamente no host:

# apt-get install openssh-server

Neste caso, o acesso deverá ser feito de um outro terminal que possua interface gráfica. Deve ser aberto um shell neste terminal e conectar-se remotamente através do comando:

ssh -X <user>@<host ip>. Após a autenticação, deve ser aberto o virt-manager através do comando: virt-manager.

Criação da

O primeiro passo para a criar uma máquina virtual é conectar no host.

passo para a criar uma máquina virtual é conectar no host. Os passos seguintes são simples

Os passos seguintes são simples e diretos conforme as figuras abaixo:

conectar no host. Os passos seguintes são simples e diretos conforme as figuras abaixo: máqu 4
conectar no host. Os passos seguintes são simples e diretos conforme as figuras abaixo: máqu 4

máqu

Virtualização com KVM no Linux – iMasters

http://imasters.com.br/artigo/23448/linux/virtualizacao-com

http://imasters.com.br/artigo/23448/linux/virtualizacao-com Após o último passo, o sistema operacional guest
http://imasters.com.br/artigo/23448/linux/virtualizacao-com Após o último passo, o sistema operacional guest

Após o último passo, o sistema operacional guest começará a instalação. Assim, os procedimentos seguintes dependem to tipo do sistema operacional guest (Linux, Windows, etc).

Acessando

Para acessar a máquina virtual a partir do virt-manager, basta clicar duas vezes sobre a máquina virtual na aba principal, e então, abrirá uma nova janela que mostrará o conteúdo da tela da máquina virtual, tanto o modo console quanto a interface gráfica (quando apropriado). A próxima figura mostra com detalhes este procedimento.

A próxima figura mostra com detalhes este procedimento. De mais, basta clicar com o botão direito

De mais, basta clicar com o botão direito sobre o nome da máquina virtual para mudar o estado da máquina, como por exemplo, iniciá-la.

Fora isso, também é possível acessar a máquina virtual através de uma conexão segura, como é o caso do SSH ou mesmo através do protocolo VNC. Para acessá-la via VNC é necessário instalar um servidor VNC na máquina virtual, iniciar o daemon vncd e então conectar-se a ela com um cliente VNC, como por exemplo o vncviewer.

Utilizando o

Além do virt-manager, é possível executar a virtualização no Linux utilizando somente a

a inte

Qem

Virtualização com KVM no Linux – iMasters

http://imasters.com.br/artigo/23448/linux/virtualizacao-com

linha de comando. Para tanto, é necessário ter instalado o qemu-kvm, assim como compilar o kernel do sistema operacional com a flag CONFIG_KVM habilitada.

O Qemu-kvm deve ser obtido no site do KVM e compilado seguindo sua documentação.

Além do mais, é necessário instalar o módulo kvm.ko, que é gerado quando o flag CONFIG_KVM é habilitado, conforme o exemplo:

# modprobe kvm

Quando o módulo kvm é instalado, deve-se verificar se não há erro no 'dmesg'. Uma vez que o módulo pode ser carregado e mesmo assim apresentar algum problema.

O próximo passo é criar a imagem de disco. Para tanto, é necessário utilizar a ferramenta

qemu-img e passar as opções desejadas, como por exemplo o tamanho da imagem, o formato e o nome.

# qemu-img create <imagem> <tamanho>

Note que podem-se criar outros tipos de imagem, tais como qcow, qcow2, cow, vdi, vmdk entre outras, passando a opção -f.

Uma vez carregado este módulo, é necessário passar o parâmetro "–enable-kvm" para o Qemu, para que o Qemu consiga gerenciar a máquina virtual de maneira eficiente, tirando proveito das características de emulação dos processadores modernos, denominadas VT-d

e VT-X. Outra alternativa é a utilização do comando qemu-kvm que já assume essa opção, conforme o exemplo a seguir:

# qemu-kvm -hda <imagem> -m <quantidade de memoria em MB

Caso apareça a mensagem "open /dev/kvm: No such file or directory ", significa que o módulo kvm não foi habilitado corretamente. Em alguns casos, para o módulo ser carregado corretamente, deve-se habilitar a opção de virtualização na BIOS do computador em questão.

Caso seja necessário passar alguma imagem adicional, basta utilizar os parâmetros -hd acompanhado de uma letra, como -hdb, -hdc, etc. Caso queria tornar a imagem um CD-ROM, basta utilizar a opção -cdrom.

Conclusão

Este artigo explicou os conceitos de virtualização, assim como a implementação no Linux utilizando uma das melhores ferramentas para tal, o KVM.

Também foi mostrado, passo a passo, como configurar uma máquina virtual utilizando o aplicativo virt-manager, além de uma configuração manual, somente com o módulo KVM e

o Qemu.

Em um próximo artigo, será descrito como configurar acesso à rede e como tornar sua máquina virtual mais segura.

Referências

1. Linux KVM

2. Manage Virtual Machines with Virt-managers

3. Qemu site

4. Virtualization on Red Hat Enterprise Linux

5. Intel Virtualization and Technology

Sobre os autores:

Breno Leitao é engenheiro de software no Linux Technology Center (LTC) onde atual como desenvolvedor

Breno Leitao é engenheiro de software no Linux Technology Center (LTC) onde atual como desenvolvedor especializado nas áreas de performance,

Virtualização com KVM no Linux – iMasters

http://imasters.com.br/artigo/23448/linux/virtualizacao-com

device drivers e virtualização.Pedro Scarapicchia Junior atualmente trabalha na Totvs, trabalhando na equipe de desenvolvimento das aplicações para

Pedro Scarapicchia Junior atualmente trabalha na Totvs, trabalhando na equipe de desenvolvimento das aplicações para ambiente Linux. Além disso já trabalhou com desenvolvimento de device drives para virtualização em máquinas Power.device drivers e virtualização. Formado em Engenharia de Computação pela Universidade Federal de São Carlos (2006)

Formado em Engenharia de Computação pela Universidade Federal de São Carlos (2006) e pós-graduado em Sistemas Distribuídos e Redes pela Universidade Federal de São Carlos (2009) também pela Universidade Federal de São Carlos, Erlon Cruz atua atualmente na área de pesquisa e desenvolvimento na área de arquitetura de computadores junto ao FIT - Flextonics Instituto de Tecnologia.de device drives para virtualização em máquinas Power. Pratip é graduado em ciência da computação e

Pratip é graduado em ciência da computação e trabalha como egenheiro de software junto ao FIT.de pesquisa e desenvolvimento na área de arquitetura de computadores junto ao FIT - Flextonics Instituto

Só a TECLA tem Cloud Computing verdadeiramente elástico, com atendimento acessível e capacitado.

elástico, com atendimento acessível e capacitado. developerWorks B é a parte brasileira do portal de
elástico, com atendimento acessível e capacitado. developerWorks B é a parte brasileira do portal de

developerWorks B é a parte brasileira do portal de tecnologia da IBM para profissionais de TI de todo o mundo. Colabore, crie aplicativos inovadores e compreenda tecnologias avançadas. Acesse mais artigos e tutoriais em www.ibm.com/developerworks/br/

Página do

autor E

Leia os últimos artigos publicados por developerworks_brasil

Reutilização bem-sucedida do código com desenvolvimento e modelagem centrados no código

Projetando um banco de dados para multilocação na nuvem

Fazendo mágica com o ImageMagick

Integrando MediaWiki com LDAP

JavaScript funcional com CoffeeScript e Node

1 COMENTÁRIO

COMENTE T

Essa dica foi maravilhosa! No meu Q8200 2 Quad não conseguia rodar máquinas 64bits com o virtualbox, mas utilizando o KVM e suas ferramentas rodou tranquilo.funcional com CoffeeScript e Node 1 COMENTÁRIO COMENTE T Há 2 meses · Responder QUAL A

Há 2 meses · Responder

suas ferramentas rodou tranquilo. Há 2 meses · Responder QUAL A SUA OPINIÃO Escreva seu comentário

QUAL A SUA OPINIÃO

Escreva seu comentário aqui

Virtualização com KVM no Linux – iMasters

http://imasters.com.br/artigo/23448/linux/virtualizacao-com

http://imasters.com.br/artigo/23448/linux/virtualizacao-com ÚLTIMAS NOTÍCIAS 13/03 às 9h20 Linux Mint 12 "

ÚLTIMAS NOTÍCIAS

13/03 às 9h20

Linux Mint 12 " liberado

29/02 às 14h30

Service Pack 2 Enterprise Serv disponível

28/02 às 9h20

Oracle libera K Enterprise 5.0

23/01 às 11h40

Primeiro releas Linux 3.3 é libe

16/01 às 11h40

Mageia 2 Alpha disponível para

VER MAIS NOTÍCIAS

CURSOS ONLINE

2 Alpha disponível para VER MAIS NOTÍCIAS CURSOS ONLINE Gestão de conteúd Ensinar ao participante como

Gestão de conteúd

Ensinar ao participante como planejar, instalar e configurar um site completo com o Joomla!, aproveitando ao máximo os recursos oferecidos pelo CMS.

aproveitando ao máximo os recursos oferecidos pelo CMS. Desenvolvimento d Aprenda a desenvolver aplicações para

Desenvolvimento d

Aprenda a desenvolver aplicações para iPhones e iPads de uma maneira simples e prática. Abordaremos o uso das ferramentas essenciais para que no final, você esteja capacitado para atender boa parte das demandas de aplicativos da AppStore.

final, você esteja capacitado para atender boa parte das demandas de aplicativos da AppStore. 8 de

Virtualização com KVM no Linux – iMasters

http://imasters.com.br/artigo/23448/linux/virtualizacao-com

http://imasters.com.br/artigo/23448/linux/virtualizacao-com Criação de Loja Vir Gerencie sua loja virtual com Magento

Criação de Loja Vir

Gerencie sua loja virtual com Magento E-commerce, instalando módulos e templates, deixando-a com a sua cara e necessidades.

Encontre-nos no Facebook iMasters Curtir 11,424 pessoas curtiram iMasters. Bruno Douglas Marcelo Agatangelo Micael
Encontre-nos no Facebook
iMasters
Curtir
11,424 pessoas curtiram iMasters.
Bruno
Douglas
Marcelo
Agatangelo
Micael
Cristiano
Marcelo
Phelipe
Diogo
Anderson
Plug-in social do Facebook
Micael Cristiano Marcelo Phelipe Diogo Anderson Plug-in social do Facebook PARCEIROS 9 de 10 16-04-2012 13:42

PARCEIROS

Micael Cristiano Marcelo Phelipe Diogo Anderson Plug-in social do Facebook PARCEIROS 9 de 10 16-04-2012 13:42

Virtualização com KVM no Linux – iMasters

© 2001 iMasters FFPA Informática Ltda Todos os direitos reservados.

FFPA Informática Ltda Todos os direitos reservados. http://imasters.com.br/artigo/23448/linux/virtualizacao-com

http://imasters.com.br/artigo/23448/linux/virtualizacao-com

Sobre o iMasters Política de privacidade Anuncie Fale conosco