Instale e configure o Qemu-KVM no Arch Linux [atualizado]

Gerente Virtual

Num artigo anterior nós vimos como instalar Qemu-KVM en debian chiado graças à colaboração de Fico e desta vez, vou mostrar como fazer, mas em Arch Linux.

Comparado com Debian, o que vou mostrar a seguir é um pouco mais pesado, mas vamos lá, é muito fácil chegar ao resultado final. Vamos começar:

Instalando os pacotes necessários

Vamos instalar os pacotes de que precisamos para fazer funcionar Qemu-KVM e ser capaz de gerenciar nossas máquinas virtuais.

$ sudo pacman -S qemu dmidecode ebtables dnsmasq libvirt bridge-utils openbsd-netcat radvd urlgrabber virtviewer virtinst virt-manager ifplugd ifenslave tcl

Anteriormente, o pacote era chamado qemu-kvm, pra mim não mais, agora é só qemu. O resto dos pacotes são aqueles necessários para as opções de rede e assim por diante para funcionar.

O pacote virtuoso não mais encontrado em repositórios ou renomeado. Agora apenas os pacotes são necessários virt-manager, libvirt-glib, libvirt, vde2 y qemu

Assim que esses pacotes forem instalados, adicionamos nosso usuário aos grupos Kvm y polkitd:

$ sudo gpasswd -a your_kvm user $ sudo gpasswd -a your_polkitd user

Em seguida, levantamos os módulos necessários, que podem variar dependendo da nossa placa de vídeo:

$ sudo modprobe kvm-intel $ sudo modprobe kvm

Se você tiver AMD, deve usar kvm-amd, e suponho que kvm-nvidia para usuários NVidia. Sinceramente, não tenho certeza sobre o último.

Agora ativamos o serviço:

$ sudo systemctl enable libvirtd.service

E se quisermos começar, você já sabe:

systemctl start libvirtd.service

Precisamos apenas criar ou editar uma regra para o Policykit que nos permita gerenciar as máquinas virtuais com nosso usuário. Para isso, editamos ou criamos o arquivo:

$ sudo nano /etc/polkit-1/rules.d/50-org.libvirt.unix.manage.rules

E inserimos as seguintes linhas dentro:

polkit.addRule (função (ação, assunto) {if (action.id == "org.libvirt.unix.manage" && subject.user == "your_user") {return polkit.Result.YES;}});

Devemos substituir seu usuário pelo nosso usuário, é claro. O que teríamos sobrado? Em seguida, reinicie o computador e tente fazer uma nova máquina virtual.

No meu caso específico, ao tentar criar uma nova máquina virtual com uma imagem existente, recebi um erro de permissão quando concluí o assistente. Eu só tive que dar permissões de leitura / gravação para o arquivo .img

referências: Fator QM.


O conteúdo do artigo segue nossos princípios de Ética editorial. Para relatar um erro, clique Clique aqui.

33 comentários, deixe o seu

Deixe um comentário

Seu endereço de email não será publicado.

*

*

  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.   Federico A. Valdés Toujague dito

    Saudações Elav !!! Eu realmente não vejo isso como mais complicado do que no Debian. Comandos talvez diferentes. Sempre vale a pena executar alguns comandos para ter instalado esta ferramenta poderosa de fazer máquinas virtuais. Mesmo se você não usar o Arch, obrigado por nos informar como ele está instalado naquela distro.

    1.    elav. dito

      Você tem que fazer algumas etapas extras ... isso é o que quero dizer com complicado. No Debian, não há necessidade de fazer nada além de instalar os pacotes e adicionar nosso usuário ao grupo correspondente.

  2.   Ozkar dito

    Uma pergunta elav: O Arch já usa o systemd, é necessário colocar o .service no serviço? Ainda não foi reconhecido pelo systemctl 'action' kdm, por exemplo?

    1.    elav. dito

      Sim, o Arch usa o Systemd. Não sei se isso pode ser feito sem o .service, e como está no Wiki, bem fiz

    2.    eles carregam dito

      Se você reconhece, você não precisa colocá-lo.

  3.   Pandev92 dito

    muito legal o osx ... OHH ESPERE XD

    1.    elav. dito

      xDD Eu gostaria que o OSX fosse meu KDE 😛

      1.    Pandev92 dito

        Manhã.

        1.    eliotime3000 dito

          Concordo com @elav, pois a interface Aqua do OSX consome 256 MB de vídeo, em comparação com o KDE que varia de 96 MB (o mínimo suportado), e 128 MB (o mínimo recomendado).

          No Slackware, o KDE roda com 96 MB de vídeo, como se tivesse 128 MB. Enfim, entre sabores e cores ...

          1.    Pandev92 dito

            Não me importo com o consumo, compro outro módulo de 4 GB e é isso XDD

          2.    Pandev92 dito

            em vídeo, qualquer placa dos últimos 4 anos vem com 1 gb ddr2 ou ddr3 xD .., até uma nvidia gt610 de 40 euros.

          3.    eliotime3000 dito

            @ pandev92:

            Eu moro em um país da América Latina onde o poder de compra limita a possibilidade de adquirir uma boa placa de vídeo para o cidadão comum, mas gostaria de usar um Gigabyte com chipset Intel (por si só, é a melhor marca de placas-mãe que tenho usado até agora).

          4.    Javier dito

            Obviamente, o poder de compra não importa para pandev92, sem falar no XD

  4.   Leão dito

    Arch não é complicado, você só precisa de um pouco mais de tempo para ler o wiki.

    1.    eliotime3000 dito

      Por si só, Arch é KISS e RTFM ao mesmo tempo (você sempre depende das atualizações do wiki para evitar qualquer modificação que eles façam no processo de atualização).

  5.   Pandev92 dito

    Não é que seja complicado ou não, simplesmente não é adequado para o usuário final.

    1.    eliotime3000 dito

      Se você não quiser estar neste modo RTFM (Read The Fucking Manual), é melhor usar o Mint.

    2.    Javier dito

      isso não é para o usuário final, eu não me importaria XD

  6.   berny dito

    Você deve deixar o kit de políticas assim, então verifique se ele está no grupo ou não e pronto,
    então se você tiver mais de um usuário daria acesso se estiver no grupo, embora eu só use a máquina para mim eu tenho vários usuários para projetos diferentes, se você colocar como usuário só vai com esse usuário

    uma saudação

    polkit.addRule (função (ação, assunto) {
    if (action.id == "org.libvirt.unix.manage" &&
    subject.isInGroup ("libvirt")) {
    return polkit.Result.YES;
    }
    });

    1.    berny dito

      Eu coloquei o grupo libvirt mas você pode colocar o grupo que quiser, no seu caso kvm ou polkitd

  7.   XoslorgGenericName dito

    Olá, alguém sabe por que o kvm dá esse erro:

    Incapaz de completar a instalação: 'erro interno: processo encerrado durante a conexão com o monitor: dispositivo de char redirecionado para / dev / pts / 0 (rótulo charserial0)
    qemu-system-x86_64: -drive file = / home / zpabuin / Downloads / Fedora-Live-LXDE-x86_64-19-1.iso, if = none, id = drive-ide0-1-0, readonly = on, format = raw: não foi possível abrir a imagem do disco /home/zpabuin/Descargas/Fedora-Live-LXDE-x86_64-19-1.iso: permissão negada
    '

    Traceback (última chamada mais recente):
    Arquivo "/usr/share/virt-manager/virtManager/asyncjob.py", linha 100, em cb_wrapper
    retorno de chamada (asyncjob, * args, ** kwargs)
    Arquivo "/usr/share/virt-manager/virtManager/create.py", linha 1920, em do_install
    guest.start_install (False, meter = meter)
    Arquivo "/usr/share/virt-manager/virtinst/Guest.py", linha 1134, em start_install
    noboot)
    Arquivo "/usr/share/virt-manager/virtinst/Guest.py", linha 1202, em _create_guest
    dom = self.conn.createLinux (start_xml ou final_xml, 0)
    Arquivo "/usr/lib/python2.7/site-packages/libvirt.py", linha 2892, em createLinux
    se ret for Nenhum: aumentar libvirtError ('virDomainCreateLinux () falhou', conn = self)
    libvirtError: erro interno: processo encerrado ao conectar ao monitor: dispositivo char redirecionado para / dev / pts / 0 (rótulo charserial0)
    qemu-system-x86_64: -drive file = / home / zpabuin / Downloads / Fedora-Live-LXDE-x86_64-19-1.iso, if = none, id = drive-ide0-1-0, readonly = on, format = raw: não foi possível abrir a imagem do disco /home/zpabuin/Descargas/Fedora-Live-LXDE-x86_64-19-1.iso: permissão negada

    Obrigado, a propósito, virtinst é um pacote desatualizado no arch desde maio e não é obrigatório.

  8.   Javier dito

    Pergunte ...

    quando tento levantar o módulo do kernel kvm-intel (que é o processador que tenho), ele me diz:

    modprobe: ERROR: não foi possível inserir 'kvm_intel': Operação não suportada

    Olhando em meu sistema, noto que o módulo kvm-intel existe em
    /usr/lib/modules/3.10.10-1-ARCH/kernel/arch/x86/kvm/kvm-intel.ko.gz

    (e sim, executando egrep -c "(svm | vmx)" / proc / cpuinfo, é certo que ele deve suportar virtualização aqui)

    Minha pergunta é dupla:

    -Não vou precisar habilitar / habilitar algo em meu kernel para suportar isso?
    -Meu sistema é de 64 bits e vejo que o módulo mora em x86, é por causa disso? Nesse caso, eu pergunto, há módulos de 64 bits que eu posso instalar e parar de me irritar?

    obrigado antecipadamente!

    1.    Javier dito

      Problema resolvido, preciso habilitar a virtualização na BIOS do meu sistema ... 🙂

      obrigado!

  9.   leonardopc1991 dito

    Eu entendo que ele não pode encontrar este arquivo «virtinst»

    1.    maykel535 dito

      O pacote virtinst eu não instalei, porque ele não está mais no repos.

      Recebo o mesmo erro que Xorlogs:

      Incapaz de completar a instalação: 'Erro interno: processo encerrado ao conectar ao monitor: qemu-system-x86_64: -drive file = / home / maykel / archlinux-2013.10.01-dual.iso, if = none, id = drive-ide0 -1-0, somente leitura = ativado, formato = bruto: não foi possível abrir a imagem do disco /home/maykel/archlinux-2013.10.01-dual.iso: permissão negada
      '

      Traceback (última chamada mais recente):
      Arquivo "/usr/share/virt-manager/virtManager/asyncjob.py", linha 100, em cb_wrapper
      retorno de chamada (asyncjob, * args, ** kwargs)
      Arquivo "/usr/share/virt-manager/virtManager/create.py", linha 1920, em do_install
      guest.start_install (False, meter = meter)
      Arquivo "/usr/share/virt-manager/virtinst/Guest.py", linha 1134, em start_install
      noboot)
      Arquivo "/usr/share/virt-manager/virtinst/Guest.py", linha 1202, em _create_guest
      dom = self.conn.createLinux (start_xml ou final_xml, 0)
      Arquivo "/usr/lib/python2.7/site-packages/libvirt.py", linha 2897, em createLinux
      se ret for Nenhum: aumentar libvirtError ('virDomainCreateLinux () falhou', conn = self)
      libvirtError: Erro interno: o processo terminou durante a conexão com o monitor: qemu-system-x86_64: -drive file = / home / maykel / archlinux-2013.10.01-dual.iso, if = none, id = drive-ide0 -1 -0, readonly = on, format = raw: não foi possível abrir a imagem do disco /home/maykel/archlinux-2013.10.01-dual.iso: permissão negada

      1.    elav. dito

        No momento, o que instalei é:

        - libvirt
        - libvirt-glib
        - virt-manager
        - virtviewer

        Verifique 😉

        1.    maykel535 dito

          Você atualizou o arco ?? Você viu o bug legal no virt-manager com a atualização virt-manager 0.10.0-4

          Erro: o objeto 'NoneType' não possui o atributo '__getitem__'

          https://bugs.archlinux.org/task/37990

  10.   Alquimista do Som dito

    Seu tutorial está bem, e graças ao virt-manager ele funciona quase sem problemas, em sua nota você não explica a que permissões .img são adicionadas, e eu não fui capaz de criar uma máquina virtual

  11.   edo dito

    O pacote virtinst não existe, ele também me diz “openbsd-netcat e gnu-netcat estão em conflito. Remover gnu-netcat? [s / n] ', então não posso sair do gnu-netcat?

  12.   manual dito

    olá oie Eu tenho um Chromebook samsung do modelo que eu acho que é Snow Clear, eu quero saber se Qemu pode ser instalado em uma base ARM, eu sei como instalar o ubuntu, na verdade eu desinstalei pelo simples fato de que não conseguia executar arquivos exe, o wine não funciona neste base apenas com intel, mas parece que sim, mas não sei como instalar: Espero que me responda logo, obrigado, bom trabalho.

  13.   seu dito

    Se bem me lembro, o KVM serve para acelerar o qemu. Como o qemu emula todo o processador, ele é mais lento do que as máquinas virtuais como o virtualbox. Então, pelo que eu sei, o KVM faz o qemu se comportar como uma máquina virtual quando a arquitetura do convidado é a mesma do host. Não ?. Enfim, interessante o artigo.

    Qemu rox!!

    Saudações.

  14.   Roberto dito

    Boa tarde, obrigado pelo tutorial que estava procurando por ele, mas preciso da sua ajuda, por favor, de como instalar uma máquina virtual em um disco externo, não usar o espaço físico do host, obrigado

  15.   Página Asgardius dito

    Na parte onde os módulos do kernel são ativados com modprobe, aqueles correspondentes à cpu são realmente ativados, uma vez que o kvm usa as instruções de virtualização da cpu para funcionar. Eu tenho um pc com Intel cpu e amd gpu e funcionou assim para mim

bool (verdadeiro)