Início
» LINUX
»
Guia de Configuração de Virtualização KVM e Inicialização Automática de VMs no SLES 15
Guia de Configuração de Virtualização KVM e Inicialização Automática de VMs no SLES 15
O SUSE Linux Enterprise Server 15 pode funcionar como um host KVM com o hipervisor QEMU/KVM e o pacote de gerenciamento libvirt. Este guia foi escrito como uma referência prática para administradores que desejam uma configuração repetível: confirmar a virtualização de hardware, instalar os componentes suportados, escolher a rede e o armazenamento, criar uma máquina virtual, habilitar a inicialização automática por máquina virtual e verificar se a máquina virtual retorna após a reinicialização do host.
Os comandos e caminhos de menu abaixo foram verificados no Guia de Virtualização do SUSE Linux Enterprise Server 15 SP7 , cuja publicação atual é de 10 de setembro de 2026. Os service packs anteriores do SLES 15 são semelhantes, mas as versões dos pacotes, os padrões do daemon e os perfis de convidado disponíveis podem ser diferentes. A SUSE recomenda o gerenciamento da virtualização suportada por meio do libvirt, em vez de combinar o libvirt com o gerenciamento direto específico do hipervisor.
Lista de verificação para planejamento rápido
Item
O que decidir ou verificar
CPU
A virtualização de hardware é suportada e habilitada no firmware: Intel VT-x ou AMD-V em sistemas x86.
Recursos do host
Deixe capacidade suficiente de CPU, RAM, armazenamento e E/S tanto para o próprio SLES quanto para cada máquina virtual convidada.
Redes de contatos
Utilize uma ponte quando os convidados precisarem de acesso normal de Camada 2 à LAN; utilize uma rede virtual libvirt quando o isolamento por NAT ou roteamento for mais adequado.
Armazenar
Escolha onde as imagens de disco do sistema operacional convidado serão armazenadas e certifique-se de que o sistema de arquivos ou o pool de armazenamento subjacente tenha espaço livre suficiente.
Gerenciamento
Utilize as ferramentas do libvirt, como virsh, virt-install e Virtual Machine Manager, de forma consistente.
Comportamento de inicialização
A inicialização automática é configurada individualmente para cada máquina virtual persistente, e não com uma única opção global para todos os sistemas operacionais convidados.
1. Verifique se o host pode executar o KVM.
O KVM requer suporte à virtualização de processador e configurações de firmware que exponham esse suporte ao sistema operacional. Em um host x86, uma verificação inicial rápida é procurar pelo sinalizador de CPU Intel vmxou AMD svm. O pacote cliente libvirt também fornece virt-host-validateuma verificação mais abrangente do host.
Uma contagem positiva do sinalizador de CPU é útil, mas não é o único requisito. Se a validação indicar que o KVM não está disponível, verifique primeiro as configurações da BIOS ou UEFI, especialmente em um servidor recém-provisionado. A documentação do host KVM da SUSE afirma que a virtualização deve ser suportada pela CPU e habilitada na BIOS/firmware. Lembre-se também de que a virtualização aninhada é um recurso separado; no SLES 15 SP7, a SUSE documenta o KVM aninhado como uma tecnologia em pré-visualização, e não como um padrão com suporte de produção.
Visão do terminal na fase de pré-voo: os sinalizadores de virtualização da CPU e a validação do host são verificados antes da criação de qualquer máquina virtual.
2. Instale o servidor KVM e as ferramentas de gerenciamento do libvirt.
O caminho com maior suporte é o YaST. Abra o YaST > Virtualização > Instalar Hipervisor e Ferramentas , selecione Servidor KVM e selecione Ferramentas KVM se desejar o pacote de gerenciamento libvirt. A SUSE documenta o yast2-vmpacote como o módulo YaST usado para essa configuração.
Para automação de linha de comando, o SLES agrupa a mesma funcionalidade em padrões de instalação. Instale os padrões de host e de gerenciamento:
O kvm_serverpadrão instala o ambiente básico de host QEMU/KVM. Ele kvm_toolsadiciona ferramentas baseadas em libvirt para gerenciar e monitorar máquinas virtuais. A lista exata de dependências varia de acordo com o pacote de serviços, portanto, instalar os padrões documentados é preferível a manter uma lista de pacotes personalizada, a menos que você tenha um projeto de host mínimo controlado.
No YaST, selecione Servidor KVM e Ferramentas KVM para instalar o hipervisor e o pacote de gerenciamento libvirt.
3. Escolha o modelo de rede da VM antes de migrar o tráfego de produção.
A SUSE descreve uma ponte de rede como a conexão padrão e recomendada quando as máquinas virtuais precisam se conectar diretamente à LAN do host. Uma ponte funciona como um switch de Camada 2: a interface física do host e as interfaces virtuais da máquina virtual compartilham o mesmo segmento Ethernet. Essa geralmente é a opção mais adequada para máquinas virtuais de infraestrutura que precisam de seus próprios endereços LAN, serviços de entrada, reservas de DHCP ou visibilidade normal para outras máquinas.
Uma rede virtual libvirt costuma ser melhor quando os convidados precisam de isolamento ou conectividade de saída simples. O NAT permite que vários convidados compartilhem o endereço externo do host, permanecendo em uma sub-rede privada. O modo roteado encaminha o tráfego sem tradução de endereços, mas requer roteamento adequado na rede circundante.
Se o host usar o NetworkManager wicked, que a SUSE documenta como o serviço de gerenciamento de rede padrão em servidores, crie a ponte com o YaST ou a configuração de linha de comando correspondente. Sistemas NetworkManager podem usar o NetworkManager nmcli. Tenha cuidado em servidores remotos: mover a configuração de IP do host para uma ponte pode interromper o SSH se a alteração for feita incorretamente. Agende uma janela de manutenção ou certifique-se de ter acesso ao console.
Um exemplo de rede em ponte com br0 conectado a uma interface Ethernet física, adequado quando os convidados precisam de acesso à LAN de Camada 2.
4. Confirme se os módulos do kernel KVM estão carregados.
Após a instalação, verifique o lado do kernel do KVM. Hosts Intel normalmente usam kvm_intel; hosts AMD usam kvm_amd. O guia de configuração do host KVM da SUSE demonstra como carregar o módulo específico do processador e verificá-lo com lsmod.
Você deverá ver o kvmmódulo genérico e o módulo específico do processador. Se o módulo não carregar, não prossiga simplesmente criando uma máquina virtual em emulação por software. Verifique novamente as configurações de virtualização de firmware e a compatibilidade com o host, a menos que a emulação somente por software faça parte intencionalmente do seu projeto.
A verificação de módulos esperada em um host Intel mostra tanto o módulo KVM genérico quanto o módulo KVM específico da Intel.
5. Verifique o modelo do daemon libvirt usado pelo seu pacote de serviços.
O SLES 15 SP7 habilita o modelo de daemon modular libvirt por padrão. Para KVM, o daemon do hipervisor primário é o libvirt virtqemud. Daemons secundários lidam com funções como rede virtual e armazenamento. A SUSE ainda documenta a libvirtdimplantação monolítica tradicional, mas você não deve habilitar ambos os modelos arbitrariamente.
Em um host KVM SP7 padrão, verifique o daemon QEMU:
systemctl status virtqemud.service
sudo systemctl enable --now virtqemud.service
A SUSE recomenda especificamente configurar o serviço libvirt relevante para iniciar na inicialização do sistema quando as VMs também estiverem configuradas para inicialização automática na inicialização do host. Em uma instalação mais antiga que utiliza intencionalmente o libvirt monolítico, verifique o arquivo `libvirt.conf` libvirtd.servicee seus sockets. Antes de trocar o modelo de daemon em um host já estabelecido, siga o procedimento de transição documentado pela SUSE e pare ou evacue as máquinas virtuais.
Na versão atual do SLES 15 SP7, verifique o serviço modular virtqemud antes de confiar na inicialização automática da VM na inicialização do host.
6. Preparar os meios de armazenamento e instalação
Antes de criar a máquina virtual convidada, defina onde seu disco virtual será alocado e onde a imagem ISO de instalação será montada. As configurações padrão são convenientes para um host pequeno e independente, enquanto instalações maiores podem usar volumes LVM dedicados, sistemas de arquivos separados, NFS, iSCSI ou outros tipos de armazenamento gerenciados pelo libvirt. A principal regra operacional é evitar o preenchimento silencioso do sistema de arquivos raiz do host com imagens de máquinas virtuais em constante crescimento.
Para um sistema operacional convidado com suporte a arquivos, verifique o espaço livre antes de criar o disco:
df -h /var/lib/libvirt/images
ls -lh /data/ISOs/
Se você usa um pool de armazenamento libvirt, verifique virsh pool-list --allse o pool desejado está ativo. Para sistemas de produção, inclua o armazenamento de VMs no seu projeto de monitoramento de capacidade e backup, em vez de tratar a imagem do disco como um arquivo opaco que se autogerencia.
7. Crie a máquina virtual.
Você pode criar uma máquina virtual graficamente com o Virtual Machine Manager ou pela linha de comando com o comando `virtual` virt-install. O SUSE descreve virt-installo `virtual` como a ferramenta de linha de comando para criar máquinas virtuais através do libvirt, sendo particularmente útil para builds repetíveis e administração remota.
No Gerenciador de Máquinas Virtuais, crie uma nova máquina virtual, escolha a mídia de instalação local, selecione o sistema operacional convidado, aloque memória e CPUs virtuais, selecione o armazenamento e, em seguida, escolha a rede virtual desejada. A tela abaixo usa uma ISO do SLES 15 como exemplo ilustrativo; use a imagem de instalação e o perfil exatos apropriados para o seu pacote de serviços licenciado.
O Virtual Machine Manager pode criar uma máquina virtual a partir de uma mídia ISO local; escolha a imagem correta do SLES 15 para o pacote de serviços que você pretende instalar.
Ajuste a memória, o número de CPUs, o tamanho do disco, o caminho da ISO, a origem da rede, o firmware e as opções gráficas de acordo com sua carga de trabalho. Se estiver usando uma rede NAT libvirt em vez de uma ponte, substitua a opção de ponte pela rede virtual apropriada. Confirme os sistemas operacionais convidados e as opções de dispositivo compatíveis na documentação de suporte à virtualização da SUSE quando o suporte em produção for importante.
Um fluxo de trabalho virt-install define o nome do convidado, a RAM, as vCPUs, o disco, a mídia de instalação e a conexão de rede em um único comando repetível.
8. Ative a inicialização automática da VM
A inicialização automática de máquinas virtuais é uma propriedade do libvirt em cada convidado persistente. A documentação da SUSE deixa claro que o recurso não está habilitado por padrão e deve ser ativado individualmente; não existe uma opção global que marque todas as máquinas virtuais para inicialização automática.
Habilite para o convidado:
sudo virsh autostart sles15-vm
Verifique a configuração:
sudo virsh dominfo sles15-vm | grep -i autostart
Para desativar esse comportamento posteriormente:
sudo virsh autostart --disable sles15-vm
No Gerenciador de Máquinas Virtuais, o controle equivalente está em Exibir > Detalhes > Opções de Inicialização do convidado , onde você pode habilitar Iniciar máquina virtual na inicialização do host e aplicar a alteração.
Após habilitar a inicialização automática, o comando `virsh dominfo` deve reportar que a máquina virtual está configurada para iniciar automaticamente com o serviço de virtualização do host.
9. Teste a configuração em vez de presumir que a inicialização automática funciona.
O teste relevante é uma reinicialização controlada do host durante uma janela de manutenção. Antes de reiniciar, registre o estado atual e verifique se a máquina virtual é persistente:
sudo virsh list --all
sudo virsh dominfo sles15-vm
Em seguida, reinicie o host. Após o host reiniciar, confirme o estado do daemon de virtualização e do sistema convidado:
systemctl is-active virtqemud.service
sudo virsh list --all
Se sua implementação usa libvirt monolítico, substitua a verificação de serviço por libvirtd. Uma VM iniciada automaticamente deve fazer a transição para runningsem uma intervenção manual virsh start. Verifique também o serviço dentro do sistema operacional convidado, não apenas o estado da VM. Uma VM em execução ainda pode apresentar uma aplicação com falha, configuração de rede ausente ou um problema de recuperação do sistema de arquivos.
Referência para resolução de problemas
Sintoma
Área provável para verificar
Comando útil
KVM indisponível
Virtualização de firmware desativada, CPU não suportada ou módulo do kernel ausente.
virt-host-validate qemu
A máquina virtual não consegue alcançar a LAN.
Associação à ponte, atribuição de IP ao host, VLAN, firewall ou política de switch
ip linkebridge link
A definição da máquina virtual existe, mas não inicia.
Caminho do disco, permissões, pool de armazenamento, XML ou recursos esgotados
virsh start VMNAMEmais registros de diário
A máquina virtual não inicia após a reinicialização do host.
A flag de inicialização automática ou o daemon libvirt não estão habilitados para inicialização do host.
O desligamento se comporta como uma perda de energia.
Comportamento de desligamento do sistema operacional convidado ou do ACPI convidado
virsh shutdown VMNAME
A SUSE alerta que um desligamento forçado virsh destroyé equivalente a uma remoção abrupta de energia e pode causar corrupção do sistema de arquivos da máquina virtual ou perda de dados. Teste o comportamento correto de desligamento e reinicialização antes de usar uma máquina virtual em produção.
Base prática para um host KVM SLES 15 confiável
Uma base limpa é simples: mantenha o host em um pacote de serviços SLES 15 compatível, instale os padrões documentados kvm_server, kvm_toolsuse o libvirt de forma consistente, escolha conectividade em ponte ou rede virtual deliberadamente, mantenha o armazenamento da VM fora de um sistema de arquivos raiz subdimensionado e marque apenas os convidados que realmente precisam de inicialização no momento da inicialização com virsh autostart.
Para o SLES 15 SP7, lembre-se de um detalhe importante sobre o daemon que pode passar despercebido: os daemons modulares do libvirt são o padrão, sendo esse virtqemudo serviço que você normalmente valida para KVM, em vez de presumir que todos os hosts atuais utilizam o daemon monolítico legado libvirtd. Essa distinção é crucial ao diagnosticar uma máquina virtual que está corretamente configurada para inicialização automática, mas que ainda assim não aparece após a reinicialização do host.