Red Hat Training

A Red Hat training course is available for RHEL 8

1.3. Componentes de máquinas virtuais e sua interação

A virtualização no RHEL 8 consiste nos seguintes componentes principais de software:

Hypervisor

A base da criação de máquinas virtuais (VMs) no RHEL 8 é o hypervisor, uma camada de software que controla o hardware e permite executar múltiplos sistemas operacionais em uma máquina host.

O hipervisor inclui o módulo Kernel-based Virtual Machine (KVM) e drivers do kernel de virtualização, tais como virtio e vfio. Estes componentes garantem que o kernel Linux na máquina host fornece recursos de virtualização para o software do espaço do usuário.

Em nível de espaço do usuário, o emulador QEMU simula uma plataforma de hardware virtualizada completa na qual o sistema operacional convidado pode rodar, e gerencia como os recursos são alocados no host e apresentados ao convidado.

Além disso, o pacote de software libvirt serve como uma camada de gerenciamento e comunicação, tornando a QEMU mais fácil de interagir, aplicando regras de segurança, e fornecendo uma série de ferramentas adicionais para configurar e executar VMs.

Configuração em XML

Um arquivo de configuração XML baseado em host (também conhecido como um arquivo domain XML ) determina todas as configurações e dispositivos em uma VM específica. A configuração inclui:

  • Metadados como o nome do VM, fuso horário, e outras informações sobre o VM.
  • Uma descrição dos dispositivos na VM, incluindo CPUs virtuais (vCPUS), dispositivos de armazenamento, dispositivos de entrada/saída, placas de interface de rede, e outros hardwares, reais e virtuais.
  • Configurações da VM, como a quantidade máxima de memória que ela pode usar, configurações de reinício e outras configurações sobre o comportamento da VM.

Para mais informações sobre o conteúdo de uma configuração XML, veja exemplo de configuração VM XML.

Interação dos componentes

Quando uma VM é iniciada, o hipervisor usa a configuração XML para criar uma instância da VM como um processo de espaço do usuário no host. O hipervisor também torna o processo da VM acessível às interfaces baseadas no host, tais como virsh, virt-install e guestfish utilitários, ou a GUI do console web.

Quando estas ferramentas de virtualização são utilizadas, a libvirt traduz suas contribuições em instruções para a QEMU. A QEMU comunica as instruções à KVM, o que garante que o núcleo atribua adequadamente os recursos necessários para executar as instruções. Como resultado, QEMU pode executar as mudanças de espaço do usuário correspondentes, tais como criar ou modificar uma VM, ou executar uma ação no sistema operacional convidado da VM.

Nota

Embora o QEMU seja um componente essencial da arquitetura, ele não se destina a ser usado diretamente nos sistemas RHEL 8, devido a preocupações com a segurança. Portanto, o uso dos comandos qemu-* não é suportado pela Red Hat, e é altamente recomendável interagir com QEMU usando libvirt.

Para mais informações sobre as interfaces baseadas em host, veja Seção 1.4, “Ferramentas e interfaces para o gerenciamento da virtualização”.

Figura 1.1. Arquitetura de virtualização RHEL 8

virt architecture