Capítulo 19. Diagnosticando problemas de máquinas virtuais
Ao trabalhar com máquinas virtuais (VMs), você pode encontrar problemas com diferentes níveis de severidade. Alguns problemas podem ter uma correção rápida e fácil, enquanto para outros, você pode ter que capturar dados e registros relacionados às máquinas virtuais para relatar ou diagnosticar os problemas.
As seções seguintes fornecem informações detalhadas sobre a geração de logs e diagnóstico de alguns problemas comuns da VM, bem como sobre a comunicação desses problemas.
19.1. Geração de logs de depuração de máquinas virtuais
Para diagnosticar problemas da máquina virtual (VM), é útil gerar e revisar os logs de depuração. A anexação de logs de depuração também é útil quando se pede suporte para resolver problemas relacionados à VM.
As seções seguintes explicam o que são registros de depuração, como você pode defini-los para serem persistentes, habilitá-los durante o tempo de execução e anexá-los ao relatar problemas.
19.1.1. Entendendo os logs de depuração de máquinas virtuais
Os logs de depuração são arquivos de texto que contêm dados sobre eventos que ocorrem durante o tempo de execução da máquina virtual (VM). Os logs fornecem informações sobre funcionalidades fundamentais do lado do servidor, tais como bibliotecas host e o serviço libvirtd
. Os arquivos de log também contêm a saída de erro padrão (stderr
) de todas as VMs em execução.
O registro de depuração não é habilitado por padrão e tem que ser habilitado quando a libvirt começa. Você pode habilitar o registro para uma única sessão ou de forma persistente. Você também pode habilitar o registro quando uma sessão de daemon libvirtd
já estiver em execução, modificando as configurações de tempo de execução da daemon.
Anexar os logs da libvirt debug também é útil ao solicitar suporte com um problema de VM.
19.1.2. Permitindo configurações persistentes para registros de depuração de máquinas virtuais
Você pode configurar o registro de depuração da máquina virtual (VM) para ser ativado automaticamente sempre que a libvirt começar editando o arquivo de configuração libvirtd.conf
, que está localizado no diretório /etc/libvirt
.
Procedimento
-
Abra o arquivo
libvirtd.conf
em um editor. Substitua ou ajuste os filtros de acordo com suas exigências.
Ajustando o valor do filtro para:
- 1: registra todas as mensagens geradas pela libvirt.
- 2: registra todas as informações não depuradoras.
- 3: registra todas as mensagens de aviso e erro. Este é o valor padrão.
- 4: registra apenas mensagens de erro.
Por exemplo, o seguinte comando:
-
Registra todas as mensagens de erro e aviso das camadas
remote
,util.json
, erpc
-
Registra apenas mensagens de erro da camada
event
. Salva os logs filtrados para
/var/log/libvirt/libvirtd.log
log_filters="3:remote 4:event 3:util.json 3:rpc" log_outputs="1:file:/var/log/libvirt/libvirtd.log"
- Salvar e sair.
Reinicie o serviço
libvirtd
.$ systemctl restart libvirtd.service
19.1.3. Habilitação de registros de depuração de máquinas virtuais durante o tempo de execução
Você pode modificar as configurações de tempo de execução do daemon libvirt para habilitar os logs de depuração e salvá-los em um arquivo de saída.
Isto é útil ao reiniciar o libvirtd
não é possível porque reiniciar conserta o problema, ou porque há outro processo, como migração ou backup, rodando ao mesmo tempo. A modificação das configurações de tempo de execução também é útil se você quiser tentar um comando sem editar os arquivos de configuração ou reiniciar o daemon.
Pré-requisitos
-
Assegure-se de que o pacote
libvirt-admin
esteja instalado.
Procedimento
Optional: Cópia de segurança do conjunto ativo de filtros de log.
# virt-admin daemon-log-filters >> virt-filters-backup
NotaÉ recomendável que você faça backup do conjunto ativo de filtros para que possa restaurá-los após a geração dos logs. Se você não restaurar os filtros, as mensagens continuarão a ser registradas, o que pode afetar o desempenho do sistema.
Use o utilitário
virt-admin
para permitir a depuração e ajustar os filtros de acordo com suas necessidades.Ajustando o valor do filtro para:
- 1: registra todas as mensagens geradas pela libvirt.
- 2: registra todas as informações não depuradoras.
- 3: registra todas as mensagens de aviso e erro. Este é o valor padrão.
- 4: registra apenas mensagens de erro.
Por exemplo, o seguinte comando:
-
Registra todas as mensagens de erro e aviso das camadas
remote
,util.json
, erpc
Registra apenas mensagens de erro da camada
event
.# virt-admin daemon-log-filters "3:remote 4:event 3:util.json 3:rpc"
Use o utilitário
virt-admin
para salvar os logs em um arquivo ou diretório específico.
Por exemplo, o seguinte comando salva a saída dos logs no arquivolibvirt.log
no diretório/var/log/libvirt/
.# virt-admin daemon-log-outputs "1:file:/var/log/libvirt/libvirtd.log"
Optional: Você também pode remover os filtros para gerar um arquivo de registro que contenha todas as informações relacionadas à VM. Entretanto, não é recomendado, pois este arquivo pode conter uma grande quantidade de informações redundantes produzidas pelos módulos da libvirt.
Use o utilitário
virt-admin
para especificar um conjunto vazio de filtros.# virt-admin daemon-log-filters Logging filters:
-
Optional: Restaurar os filtros ao seu estado original usando o arquivo de backup.
Execute a segunda etapa com os valores salvos para restaurar os filtros.
19.1.4. Anexação de logs de depuração de máquinas virtuais para suporte de pedidos
Talvez você tenha que solicitar suporte adicional para diagnosticar e resolver problemas da máquina virtual (VM). Anexar os logs de depuração ao pedido de suporte é altamente recomendado para garantir que a equipe de suporte tenha acesso a todas as informações necessárias para fornecer uma solução rápida do problema relacionado à máquina virtual.
Procedimento
- Para comunicar um problema e solicitar apoio, abra um caso de apoio.
Com base nos problemas encontrados, anexe os seguintes registros junto com seu relatório:
-
Para problemas com o serviço de libvirt, anexe o arquivo
/var/log/libvirt/libvirtd.log
do anfitrião. Para problemas com um VM específico, anexe seu respectivo arquivo de log.
Por exemplo, para o testguest1 VM, anexe o arquivo
testguest1.log
, que pode ser encontrado em/var/log/libvirt/qemu/testguest1.log
.
-
Para problemas com o serviço de libvirt, anexe o arquivo
Recursos adicionais
- Para mais informações sobre comoanexar arquivos de log, veja Como fornecer arquivos ao Suporte da Red Hat?