Qemu-Kvm + Virt-Manager no Debian - Redes de Computadores para PMEs

Índice geral da série: Redes de computadores para PMEs: introdução

Em maio de 2013 publicamos neste blog, dois artigos dedicado à instalação de Qemu-Kvm no Debian 7 «enferrujado«. Eles ainda são válidos. Como o cenário de instalação e configuração no Debian 8 "Jessie" mudou um pouco, queremos atualizar o procedimento.

Não seria diferente do que antes de mergulhar na leitura deste Como se faz, eles visitarão o artigo anterior Virtualização no Debian: Introdução - Redes de Computadores para SMBs, para ter um pouco de conhecimento sobre o assunto.

Sites que sugerimos visitar

Observação

  • Copiamos a saída dos comandos, pois são muito mais didáticos do que qualquer outra composição escrita por nós. Sugerimos que leia atentamente as mensagens dos diferentes mandatos, pois é uma das melhores formas de aprender sem ter que ir a uma pesquisa na Internet. Pelo menos essa é a nossa opinião.

instalação

Começamos com a instalação básica de um Debian "Jessie" como vimos em Instalação de estação de trabalho - Redes de computadores para PMEs. Em seguida, instalamos o Desktop ou Desktop de nossa preferência, como vimos em 6 Desktops Debian - Rede de Computadores para PMEs.

Para este artigo, escolhemos o Área de Trabalho Canela. Nós o selecionamos porque muitos leitores adoram esse ambiente de desktop. 😉

Os dados gerais de nossa estação de trabalho são:

Nome do domínio: desdelinux.ventilador
Nome da equipe : sysadmin
FQDN: administrador de sistema.desdelinux.ventilador
Direção IP : 192.168.10.3
SubNet: 192.168.10.0/24
Usuário normal: zumbido
Nome completo do usuário: Primeiro SO Buzz do Debian

Verificamos suporte para virtualização

Em um console, executamos:

buzz @ sysadmin: ~ $ egrep -c "(svm | vmx)" / proc / cpuinfo
2

No nosso caso, o comando nos retorna que temos 2 CPUs com o devido suporte.

Pacotes que iremos instalar

Em primeiro lugar, descobrimos que vamos instalar usando os seguintes comandos:

buzz @ sysadmin: ~ $ aptitude search kvm
p ikvm - máquina virtual Java para CLI          
v kvm                             - p libicsharpcode-nrefactory-ikvm5 - Biblioteca de análise e refatoração C # - IKVM p libikvm-native - biblioteca nativa para IKVM.NET p nova-compute-kvm - OpenStack Compute - compute node (KVM)    
p qemu-kvm - virtualização completa QEMU em hardware x86

buzz @ sysadmin: ~ $ aptitude show nova-compute-kvm
Pacote: nova-compute-kvm Novo: sim Status: não instalado Versão: 2014.1.3-11 Prioridade: extra Seção: net Desenvolvedor: PKG OpenStack Arquitetura: tudo não compactado Tamanho: 50.2k Depende de: adduser, dpkg-dev, qemu-kvm | kvm, libvirt-daemon-system, nova-common, nova-compute, python-libvirt Dependente de: dpkg (> = 1.15.6 ~) Recomendar: guestmount Tem conflitos com: nova-baremetal, nova-compute-lxc, nova- compute-qemu, nova-compute-uml, nova-compute-xen Fornece: nova-compute-hypervisor Descrição: OpenStack Compute - compute node (KVM) OpenStack é uma infraestrutura de nuvem confiável. Sua missão é produzir a onipresente plataforma de computação em nuvem que atenderá às necessidades de provedores de nuvem pública e privada, independentemente do tamanho, por ser simples de implementar e extremamente escalonável. OpenStack Compute, codinome Nova, é um controlador de malha de computação em nuvem projetado para ser modular e fácil de estender e adaptar. Além de sua API OpenStack "nativa", ele também oferece suporte à API Amazon EC2 e a muitos back-ends de banco de dados diferentes (incluindo SQLite, MySQL e PostgreSQL), hipervisores (KVM, Xen) e sistemas de diretório de usuário (LDAP, SQL ) Este é um pacote de dependência para nós de computação usando KVM. Página principal: http://www.openstack.org/software/openstack-compute/
  • Não vamos instalar o pacote OpenStack, porque não precisamos de toda uma infraestrutura de virtualização para a nuvem - Na nuvem.
buzz @ sysadmin: ~ $ aptitude show qemu-kvm
Pacote: qemu-kvm Novo: sim Status: não instalado Multi-Arch: estrangeiro Versão: 1: 2.1 + dfsg-12 + deb8u1 Prioridade: opcional Seção: misc Desenvolvedor: Equipe Debian QEMU Arquitetura: amd64 Tamanho não compactado: 60.4 k Depende de: qemu-system-x86 (> = 1.7.0 + dfsg-2 ~) Tem conflitos com: kvm Break: qemu-system-x86 (<1.7.0 + dfsg-2 ~) Substitui: qemu-system-x86 (<1.7.0 + dfsg-2 ~) Fornece: kvm Descrição: QEMU Virtualização completa em hardware x86 QEMU é um emulador de processador rápido. Este pacote fornece apenas um script de wrapper / usr / bin / kvm que executa qemu-system-x86 no modo kvm para compatibilidade com versões anteriores. Observe que os arquivos de configuração qemu-kvm antigos (em / etc / kvm /) não são mais usados.
Página inicial: http://www.qemu.org/

Instalamos a plataforma de virtualização Qemu-Kvm

buzz @ sysadmin: ~ $ sudo aptitude install qemu-kvm libvirt-bin bridge-utils
Os seguintes NOVOS pacotes serão instalados:     
  augeas-lenses {a} bridge-utils dmeventd {a} ebtables {a} ethtool {a} hdparm {a} ipxe-qemu {a} libaio1 {a} libapparmor1 {a} libaugeas0 {a} libboost-thread1.55.0 {a } libdevmapper-event1.02.1 {a} libfdt1 {a} libiscsi2 {a} liblvm2cmd2.02 {a} libnetcf1 {a} libnuma1 {a} librados2 {a} librbd1 {a} libreadline5 {a} libseccomp2 {a} libspice-server1 {a} libvdeplug2 {a} libvirt-bin libvirt-clients {a} libvirt-daemon {a} libvirt-daemon-system {a} libvirt0 {a} libx86-1 {a} libxen-4.4 {a} libxenstore3.0 { a} libxml2-utils {a} lvm2 {a} netcat-openbsd {a} pm-utils {a} powermgmt-base {a} qemu-kvm qemu-system-common {a} qemu-system-x86 {a} qemu -utils {a} seabios {a} vbetool {a} 0 pacotes atualizados, 42 novos instalados, 0 para remover e 0 não atualizados. Preciso baixar 8,422 KB / 14.8 MB de arquivos. Após a descompactação, 53.3 MB serão usados. Você quer continuar? [S / n /?] E

importante

  • Como estamos instalando em um Desktop, precisaremos de uma interface para gerenciar o KVM. Se estivéssemos instalando em um ou mais servidores, tanto a instalação do Desktop quanto a instalação do Virtual Machine Manager, que iremos instalar mais tarde. Cem uma única instância desta interface gráfica, podemos gerenciar todos os servidores nos quais instalamos os pacotes qemu-kvm, libvirt-bin y ponte-utils.
  • O principal demônio - demônio da virtualização é o libvirtd. Para saber seu status, executamos:
buzz @ sysadmin: ~ $ sudo systemctl status libvirtd
buzz @ sysadmin: ~ $ sudo service libvirtd status
  • Se na saída de qualquer um dos comandos anteriores lemos algumas linhas em vermelho, é saudável reiniciar o serviço libvirtd e verifique novamente ou reinicie o computador e verifique. Ele escritalibvirtd.serviço quem dirige sistema, se encontra em /lib/systemd/system/libvirtd.service. Observe que também podemos invocar esse demônio à moda antiga, isto é:
buzz @ sysadmin: ~ $ sudo service libvirtd
Uso: /etc/init.d/libvirtd {start | stop | restart | reload | force-reload | status | force-stop}

buzz @ sysadmin: ~ $ sudo serviço libvirtd reiniciar buzz @ sysadmin: ~ $ sudo serviço libvirtd statuslibvirtd.service - Daemon de virtualização
   Carregado: carregado (/lib/systemd/system/libvirtd.service; habilitado)
   Ativo: ativo (em execução) desde Dom 2016-11-27 11:23:53 EST; 8min atrás Docs: man: libvirtd (8) http://libvirt.org PID principal: 1112 (libvirtd) CGroup: /system.slice/libvirtd.service └─1112 / usr / sbin / libvirtd
  • El escrita localizado em /etc/init.d/qemu-system-x86, se encarrega de inserir os módulos necessários para o correto funcionamento do Qemu-Kvm. Depois de fazer seu trabalho com sucesso, está feito. Se verificarmos seu status, ele retornará que é 0 ou bem-sucedido.
buzz @ sysadmin: ~ $ sudo systemctl status qemu-system-x86 ● qemu-system-x86.service - LSB: script de carregamento do módulo QEMU KVM Carregado: carregado (/etc/init.d/qemu-system-x86)
   Ativo: ativo (saiu) desde Dom 2016-11-27 11:18:17 EST; 18min atrás Processo: 172 ExecStart = / etc / init.d / qemu-system-x86 start (código = saiu, status = 0 / SUCCESS)
  • Se temos curiosidade e queremos saber quais são os módulos e a sua localização, executamos:
buzz @ sysadmin: ~ $ sudo updatedb

buzz @ sysadmin: ~ $ locate kvm | grep ko
/lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/kvm-amd.ko
/lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/kvm-intel.ko
/lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/kvm.ko

buzz @ sysadmin: ~ $ ls -l /lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/
total 1016 -rw-r - r-- 1 root 97120 17 2015 de julho de XNUMX kvm-amd.ko
-rw-r - r-- 1 root root 223680 17 de julho de 2015 kvm-intel.ko
-rw-r - r-- 1 root root 715920 17 de julho de 2015 kvm.ko

Instalamos o Virtual Machine Manager

buzz @ sysadmin: ~ $ sudo aptitude install virt-manager
[sudo] senha para buzz: Os seguintes NOVOS pacotes serão instalados: gir1.2-gtk-vnc-2.0 {a} gir1.2-libvirt-glib-1.0 {a} gir1.2-spice-client-glib-2.0 { a} gir1.2-spice-client-gtk-3.0 {a} libvirt-glib-1.0-0 {a} python-ipaddr {a} python-libvirt {a} python-urlgrabber {a} virt-manager virt-viewer {a} virtinst {a} 0 pacotes atualizados, 11 novos instalados, 0 para remover e 0 não atualizados. Preciso baixar 2,041 KB de arquivos. Após a descompactação, 12.5 MB serão usados. Você quer continuar? [S / n /?] E
  • Após instalar o pacote, consultamos:
buzz @ sysadmin: ~ $ cat /usr/share/doc/virt-manager/README.Debian 
Controle de acesso ============== O acesso ao soquete libvirt é controlado pela associação ao grupo "libvirt". Se você deseja gerenciar máquinas virtuais como não root, você precisa adicionar seu usuário a esse grupo ou usar a sessão uris como qemu: /// session. Consulte também /usr/share/doc/libvirt-bin/README.Debian. - Guido Guenther Qui, 04 de junho de 2010 11:46:03 +0100
  • O acima indica que devemos tornar o usuário buzz um membro do grupo libvirt para acessar a interface recém-instalada:
buzz @ sysadmin: ~ $ sudo adduser buzz libvirt
Adicionando usuário `buzz 'ao grupo` libvirt' ... Adicionando usuário buzz ao grupo libvirt Concluído.
  • Agora fechamos a sessão e a iniciamos novamente. Depois de entrar em nosso Cinnamon Desktop, vamos para Menu -> Administração -> Gerenciador de Máquina Virtual, e acessamos a interface de administração de nosso KVM. gerenciador de virt

Redes virtuais no gerenciador de máquina virtual

Apesar de o Virtual Machine Manager ser fácil de usar e com a prática diária podermos obter o grau de Mestre na sua utilização, oferecemos um Dica sobre como modificar a rede virtual que o Qemu-Kvm instala por padrão.

Nós navegamos no seu Menu -> Editar -> Detalhes de conexão, e vamos para a guia «Redes Virtuais«. Se clicarmos no link Configuração IPv4, a Vermelho, e também nos informa que o servidor DHCP está ativado para isso. Esse servidor funciona graças ao pacote base dnsmasq, que está instalado.

Para obter mais informações, consulte o arquivo: /usr/share/doc/libvirt-bin/README.Debian. redes

Se quisermos mudar a configuração da rede «omissão", Procederemos da seguinte forma:

buzz @ sysadmin: ~ $ sudo cp /etc/libvirt/qemu/networks/default.xml /etc/libvirt/qemu/networks/default.xml.original
buzz @ sysadmin: ~ $ cat /etc/libvirt/qemu/networks/default.xml.original
padrão 

buzz @ sysadmin: ~ $ sudo nano /etc/libvirt/qemu/networks/default.xml
padrão 

buzz @ sysadmin: ~ $ sudo systemctl restart libvirtd
buzz @ sysadmin: ~ $ sudo systemctl status libvirtd

Se não tivéssemos fechado o Virtual Machine Manager antes de reiniciar o demônio libvirtd, receberemos a seguinte mensagem de erro, o que é normal que isso aconteça: erro

Só temos que fechar o Gerenciador de Virts e reabri-lo. Voltamos à parte da configuração das Redes Virtuais, e verificamos que a rede omissão, você já tem os parâmetros modificados.

Sugerimos habilitar o início automático da rede omissão, marcando a caixa «Autonicizar".

Armazenamento no Virt-Manager

Outro aspecto que queremos abordar é o armazenamento - Armazenamento no Virt-Manager. Por padrão, a pasta do sistema para salvar todas as imagens das máquinas virtuais está localizada em / var / lib / libvirt / images. Suponha que temos um disco rígido totalmente dedicado a essa função e o instalamos / home / vms. Para adicionar a Gerenciador de Virts, navegamos pelo seu Menu -> Editar -> Detalhes da conexão -> Armazenamento. No canto inferior esquerdo clicamos no botão «+«. Em seguida, um assistente é exibido para «Criar intervalo de armazenamento": armazenamento

Vamos dar uma olhada nos diferentes tipos de armazenamento que podemos escolher. Documentação detalhada que encontraremos em Guia de implantação e administração de virtualização, da Red Hat. Vamos selecionar o primeiro «dir: Diretório do sistema de arquivos". storage2

storage3

No final do assistente, o novo tanque de armazenamento está Ativo e inicia automaticamente.

Primeira máquina virtual

Devemos navegar e ler as diferentes opções que o Virt-Manager nos oferece. Observemos na penúltima imagem daquelas mostradas a seguir, que quando chegamos à edição da máquina virtual recém-criada e antes Comece a instalação, na opção «processador«, Marcamos a caixa "Configuração" Copia a configuração da CPU do computador host. Pode não ser necessário fazer isso, mas seguimos as recomendações do Debian e nossa prática de servidor HP.

Para obter mais informações, consulte o arquivo: /usr/share/doc/libvirt-bin/README.Debian. cria-vm01

cria-vm02

cria-vm03

cria-vm04

cria-vm05

cria-vm06

cria-vm07

cria-vm08

cria-vm09

Vamos apenas acrescentar que, por mais de três anos, tivemos essa plataforma de virtualização em produção em duas empresas. Apesar das falhas de energia, computadores normais «adaptado»Para que funcionem como servos, e de todas as dificuldades que possam existir em um país subdesenvolvido como o nosso, o Qemu-Kvm sempre funcionou corretamente, assim como os servidores virtuais que rodam nele.

Esperamos que este artigo seja útil para você.

Próxima entrega?

«Virsh no Debian«

Lembre-se de que esta será uma série de artigos de Redes de computadores para PMEs. Estaremos esperando por você!


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Zodíaco dito

    Artigo didático que vai me ajudar na implementação do meu par de servidores com Qemu-KVM. Muito obrigado Federico e continuaremos aguardando suas postagens.

  2.   Alberto dito

    Artigo muito bom para qualquer iniciação no Qemu-KVM.
    Seria muito interessante que em artigos futuros você explicasse os arquivos XML das máquinas virtuais e o provisionamento thin dos discos rígidos, conseguindo assim uma implementação muito eficiente.
    Saudações e obrigado por contribuir.

  3.   Federico dito

    Muito obrigado por seus comentários !.

    Alberto: o objetivo principal de nossos artigos, como já escrevemos em muitos deles, é oferecer um Ponto de Entrada para os temas abordados. Às vezes muito conciso e às vezes um pouco mais explícito. Depende da complexidade do assunto. Por isso, damos toda uma série de links para outros sites para que os leitores, iniciados ou não, encontrem mais literatura para enriquecer seus conhecimentos. Eu estou no topo dessa lista de leitores. 😉

    Pelo seu comentário, vejo que você não é um iniciado no assunto. Você me pede para explicar um recurso bastante técnico, como o "Provisionamento fino", embora o usemos de uma forma ou de outra em nosso trabalho diário.

    "Thin Provisioning", para fins práticos, é quando empregamos tecnologias de virtualização para dar a impressão de que temos mais recursos de hardware do que realmente temos. Se um sistema sempre tem à sua disposição os recursos de hardware necessários para suportar todos os recursos virtualizados, então não podemos falar em ter o Light Provisioning implementado nesse sistema.

    Procuro que os recursos de memória necessários, espaço em disco rígido, número de processadores, etc., para a execução dos servidores virtuais ou Convidados, não ultrapassem os recursos do próprio Host.

    Tento ter uma fonte pesada ou Provisionamento de Tick. Organizo a virtualização -quando posso- para que a totalidade dos recursos utilizados no Guest, se aproxime da totalidade dos recursos disponíveis.

    Sugere-se que a eficiência do tipo de provisionamento depende de como o utilizamos e não da tecnologia de virtualização. O provisionamento pesado é mais eficiente quando a quantidade de recursos de hardware usados ​​se aproxima da quantidade de recursos disponíveis. O Thin Provisioning é mais eficiente quando a quantidade de recursos de hardware usados ​​é muito menor do que o disponível.

    Para obter mais informações sobre compras, visite em primeira instância: https://en.wikipedia.org/wiki/Thin_provisioning.

    A propósito, comento que no documento "Guia de implantação e administração de virtualização" mencionado neste artigo, apenas uma referência ao provisionamento Thin é feita, e é para nos dizer que este tipo de provisionamento não é suportado por Storage Depots ou Storage Pool, com LVM ou Logical Volume Manager.

    Por fim, gostaria de chamar sua atenção para o fato de que uma postagem não pode cobrir ou substituir a literatura especializada em um determinado tópico. Por exemplo, o antigo documento da Red Hat tem 565 páginas.

  4.   federico dito

    Luigys, estou tendo dificuldade em receber os comentários postados.

    1.    Luigys toro dito

      Nós trabalhamos nisso

  5.   marty mcfly dito

    Porque em Desde Linux Não se falou sobre o lançamento 25 da popular distribuição Fedora? Tenho a impressão de que este blog é especializado apenas em Debian e Ubuntu... Que pena que sou um leitor ávido e ao mesmo tempo usuário do Fedora

    1.    Luigys toro dito

      Meu caro Marty, sem dúvida esquecemos algo do Fedora, não é por prazer, mas por necessidade. O GNU / Linux e o mundo livre estão em constante movimento e nossas habilidades para testar, aprender e se comunicar são limitadas. Gostaríamos de ter dias de 48 horas, para poder de uma forma ou de outra poder contribuir cada vez mais sobre temas.

      Em algum momento, vamos escrever sobre o Fedora, desculpe se não for agora, estamos trabalhando para alcançar cada vez mais colaboradores para nos ajudar a criar conteúdo, desta forma haverá mais pontos que podemos cobrir.

      Todos estão convidados a colaborar DesdeLinux, para isso existe o Guia para Editores e Guia dos Editores https://blog.desdelinux.net/guia-redactores-editores/ Portanto, esperamos ter muito mais material para oferecer em algum momento.

    2.    federico dito

      Você gostaria que publicássemos também sobre CentOS?

  6.   crespo88 dito

    Artigo especial, estamos acostumados a isso. Obrigado por este entregador irmão, você já está tocando temas muito mais interessantes, o que não tira do resto dos posts, digo assim do meu ponto de vista porque meu follow-up do Qemu-KVM começou há alguns anos e desde que o conheci Eu não tenho nenhuma reclamação sobre isso.
    Espero que o Qemu-KVM permaneça forte e continuando no futuro do Debian.

  7.   Federico dito

    Se você é um observador do Crespo88, nesses novos artigos sobre Qemu-KVM, eu me aprofundo, como você já viu no próximo, e você verá nos outros dois que publicarei em breve. No mundo atual, a virtualização é uma tecnologia essencial. Vale a pena mergulhar em seu uso. Obrigado por comentar!!!.

  8.   Ismael Álvarez Wong dito

    Artigo muito bom sobre como colocar em prática de forma simples e acessível a teoria sobre virtualização baseada em KVM (ou Máquina Virtual baseada em Kernel), ou seja, esse é o básico para começar:
    1º) Instale a plataforma de virtualização Qemu-Kvm.
    2º) Como o host possui interface gráfica, precisamos do Virtual Machine Manager para gerenciar a virtualização do KVM.
    3º) Muito boas dicas para adicionar nosso usuário buzz ao grupo libvirt para ter acesso à interface do Virtual Machine Manager; para modificar a interface de rede virtual e o armazenamento padrão no Virt-Manager para outra partição "montada" de um segundo disco rígido.
    4ª e última) A criação do 1º MV.
    Obrigado por compartilhar essas informações "abnegadamente" para nos aprimorarmos ainda mais no mundo do Linux.

  9.   federico dito

    Muito obrigado pelo seu comentário, amigo Wong. Mensagens como a sua são o que me fazem continuar escrevendo para a Comunidade DesdeLinux e para todos os amantes do Linux