AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1490188
Accepted
Columbia Rover
Columbia Rover
Asked: 2019-10-09 01:11:32 +0800 CST2019-10-09 01:11:32 +0800 CST 2019-10-09 01:11:32 +0800 CST

Qual é a diferença e relação entre kvm, virt-manager, qemu e libvirt?

  • 772

Eu investiguei este tópico e aqui estão minhas conclusões (mas ainda tenho dúvidas e, por favor, corrija-me se cometi algum erro em minha conclusão):

VMware:

VMWare desenvolveu seu VM Hypervisor SW em 1999, mas era proprietário.

QEMU:

4 anos depois do VMWare, o desenvolvedor francês Fabrice Bellard desenvolveu o QEMU (Quick Emulator) Hyporvisor em 2003 e o tornou gratuito e de código aberto. O QEMU tornou-se então um hypervisor tipo 2 de "virtualização completa" após anos de desenvolvimento da comunidade.

  • O QEMU é capaz de emular vários HWs, incluindo CPU e dispositivos de E/S.
  • O QEMU é capaz de interpretar as instruções enviadas para a vCPU da VM em instruções reais e enviá-las para a CPU física.
  • Alguns dispositivos emulados QEMU são amplamente utilizados pelos SWs de virtualização, como o VirtualBox.
  • QEMU tem sua própria GUI e CLI.

QEMU é capaz de rodar independentemente sem qualquer outro VM SW.

Virtualização de HW:

Tanto a Intel quanto a AMD lançaram sua tecnologia de virtualização HW (VT-x e AMD-V) em 2006.

KVM:

Em 2006, uma pequena empresa (que foi adquirida pela Red Hat 2 anos depois, em 2008) desenvolveu um módulo kernal carregável para Linux chamado "KVM", que é capaz de criar VMs usando as tecnologias de virtualização de HW mencionadas anteriormente. Foi então oficialmente incorporado ao kernel do Linux em 2007.

  • O KVM não emula vCPU, mas usa tecnologias de virtualização de HW fornecidas pela CPU física.
  • Como um kernel do Linux, o KVM não possui GUI nem CLI. É preciso escrever, digamos, código C para chamar o módulo KVM para criar VM, tornando-o inútil para os usuários finais.
  • O KVM é considerado um Hypervisor.

O KVM é capaz de criar VMs independentemente, sem qualquer suporte de hipervisores, como o QEMU.

libvirt:

Como existem muitos Hypervisors no mercado, o libvirt foi desenvolvido no final de 2005 para unificar a API e CLI de criação e gerenciamento de VMs. Do ponto de vista dos usuários finais, fornece ferramentas CLI como:

  • virsh
  • virt-manager
  • virt-install

A própria libvirt não cria ou gerencia a máquina virtual, mas mapeia o comando emitido pelo usuário para uma ou uma série de chamadas de API para o hipervisor subjacente.

libvirt é gratuito e de código aberto.

virt-manager:

Quando as pessoas usam o KVM para criar VMs, elas provavelmente veem esta tela:

GUI do Gerenciador de Máquinas Virtuais

Eu costumava considerar este SW como a GUI do KVM, mas após minha investigação descobri que é outro SW chamado "Virtual Machine Manager", como o título mostra. Também é chamado virt-manager. virt-manager é apoiado pela Red Hat.

De acordo com seu site, virt-manager visa principalmente VMs KVM, mas também gerencia Xen e LXC. Consulte o site oficial do Virtual Machine Manager .

O virt-manager é construído sobre o libvirt. Ou seja, concentra-se em interfaces de usuário (GUI e CLI). Para o gerenciamento de VM subjacente, ele simplesmente chama libvirt, que finalmente chama o hipervisor subjacente, como KVM.

Minhas perguntas:

  1. Há algum erro na minha conclusão?
  2. Por que a GUI virt-manager mostra "localhost (QEMU)" ou "QEMU/KVM" em sua lista de VMs quando crio uma máquina virtual KVM?
  3. libvirt afirma que quase todas as ferramentas de virtualização que começam com virt-* são ferramentas libvirt, especialmente virt-manager e virt-install. Consulte as perguntas frequentes sobre lib-virt . Mas virt-manager alcal virt-install faz parte do virt-manager. Consulte o site do virt-manager . Então qual é o correto? A que exatamente o virt-install e o virt-manager pertencem?
  4. Alguns artigos falam sobre qemu-kvm, mas de acordo com minha investigação, eles são apenas dois hipervisores diferentes. Posso usar o KVM de forma independente para criar VMs, então por que devo usar o qemu-kvm? E o que é qemu-kvm? É um QEMU que usa alguns recursos KVM quando necessário ou um KVM que precisa usar alguns recursos QEMU, caso contrário, não será capaz de criar VMs?
virtual-machine qemu
  • 1 1 respostas
  • 9821 Views

1 respostas

  • Voted
  1. Best Answer
    user1686
    2019-10-09T01:50:22+08:002019-10-09T01:50:22+08:00

    O KVM é capaz de criar VMs independentemente, sem qualquer suporte de hipervisores, como o QEMU.

    Sim e não; ele pode criar VMs, mas não pode fornecer hardware diferente de CPU e RAM.

    Por que a GUI virt-manager mostra "localhost (QEMU)" ou "QEMU/KVM" em sua lista de VMs quando crio uma máquina virtual KVM?

    O KVM não funciona sozinho; é apenas uma API fornecida pelo kernel para o espaço do usuário. Assim como você observou: "Como um kernel do Linux, o KVM não tem GUI nem CLI. É preciso escrever, digamos, código C para chamar o módulo KVM para criar VM, tornando-o inútil para os usuários finais."

    Portanto, os usuários finais geralmente usam o KVM por meio do QEMU (onde ele está presente como um método de aceleração). Você inicia a VM usando a CLI qemu já familiar e apenas adiciona -accel kvmou -enable-kvm(versões mais antigas). Existem alguns outros gerenciadores de VM que usam KVM, como kvmtool, mas o QEMU é o mais popular.

    O mesmo se aplica ao libvirt – ele não gerencia o KVM diretamente, mas apenas inicia o QEMU com as opções corretas.

    Além disso, o KVM não emula a maioria dos hardwares – ele não fornecerá à VM um disco ou uma placa de rede; ele fornece apenas os ganchos necessários para permitir que um programa de espaço de usuário faça isso. O próprio KVM lida principalmente com apenas as instruções privilegiadas da CPU.

    Isso significa que há outra vantagem em usar o QEMU – você pode usar todo o hardware emulado (adaptadores SCSI, controladores Ethernet) que o QEMU já implementou, em vez de ter que fazer tudo do zero.

    libvirt afirma que quase todas as ferramentas de virtualização que começam com virt-* são ferramentas libvirt, especialmente virt-manager e virt-install. Consulte as perguntas frequentes sobre lib-virt.

    Tais reivindicações são inexequíveis. Se alguém quiser usar virt-* para o nome de seu programa (especialmente quando o programa gerencia principalmente libvirt de qualquer maneira), então eles podem apenas nomeá-lo virt-*.

    Alguns artigos falam sobre qemu-kvm, mas de acordo com minha investigação, eles são apenas dois hipervisores diferentes. Posso usar o KVM de forma independente para criar VMs, então por que devo usar o qemu-kvm? E o que é qemu-kvm? É um QEMU que usa alguns recursos KVM quando necessário ou um KVM que precisa usar alguns recursos QEMU, caso contrário, não será capaz de criar VMs?

    Originalmente, era um fork do QEMU, com suporte de aceleração baseado em KVM adicionado. Mais tarde, ele foi mesclado novamente no QEMU da linha principal, então o qemu-kvmcomando tornou-se apenas qemu -enable-kvm(e mais tarde foi ajustado para qemu -accel=kvm).

    • 18

relate perguntas

  • Não é possível baixar o xCode da App Store (Mojave VM Ware)

  • caixa virtual convidado linux morto após atualização automática do host MacOS enquanto o convidado estava em execução

  • pasta compartilhada vmwared não está funcionando

  • O virtualbox requer uma CPU para suportar VT-d para hospedar sistemas operacionais convidados de 64 bits?

  • O serviço de arbitragem USB da estação de trabalho VMware não inicia automaticamente

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve