===== Exemplos do comando virsh ===== ==== Domain Management ==== * **Listar todas as máquinas virtuais (domínios):** - virsh list --all - Lista todas as máquinas virtuais, incluindo as que estão ativas e inativas. * **Iniciar uma máquina virtual:** - virsh start nome_da_vm - Inicia a máquina virtual `nome_da_vm`. * **Desligar uma máquina virtual:** - virsh shutdown nome_da_vm - Envia um sinal de desligamento para a máquina virtual `nome_da_vm`. * **Forçar o desligamento de uma VM:** - virsh destroy nome_da_vm - Força o desligamento imediato da máquina virtual `nome_da_vm`. * **Reiniciar uma máquina virtual:** - virsh reboot nome_da_vm - Reinicia a máquina virtual `nome_da_vm`. * **Suspender uma máquina virtual:** - virsh suspend nome_da_vm - Suspende a execução da máquina virtual `nome_da_vm` (congela o estado). * **Retomar uma máquina virtual suspensa:** - virsh resume nome_da_vm - Retoma a execução de uma VM que estava suspensa. * **Definir uma VM para iniciar automaticamente no boot do host:** - virsh autostart nome_da_vm - Configura a VM `nome_da_vm` para iniciar automaticamente quando o host é reiniciado. * **Remover a configuração de autostart de uma VM:** - virsh autostart --disable nome_da_vm - Desativa o autostart da VM `nome_da_vm`. * **Excluir uma máquina virtual:** - virsh undefine nome_da_vm - Remove a configuração da máquina virtual do hypervisor, mas não afeta os volumes de disco. ==== Domain Monitoring ==== * **Exibir informações detalhadas de uma máquina virtual:** - virsh dominfo nome_da_vm - Mostra detalhes sobre a máquina virtual, como UUID, memória, CPU e estado. * **Exibir a utilização de recursos de CPU por uma VM:** - virsh cpu-stats nome_da_vm - Exibe estatísticas de uso de CPU para a máquina virtual `nome_da_vm`. * **Monitorar o uso de memória de uma VM:** - virsh dommemstat nome_da_vm - Exibe estatísticas detalhadas sobre o uso de memória da VM `nome_da_vm`. * **Exibir o log de console de uma VM:** - virsh console nome_da_vm - Conecta ao console da VM para visualizar logs e interagir diretamente com a máquina. * **Monitorar o estado de execução de uma VM em tempo real:** - virsh domstate nome_da_vm --monitor - Monitora o estado de execução da máquina virtual em tempo real. ==== Host and Hypervisor ==== * **Verificar o estado do hypervisor:** - virsh nodeinfo - Exibe informações sobre o host/hypervisor, como número de CPUs, arquitetura, e memória disponível. * **Listar os recursos disponíveis do hypervisor:** - virsh capabilities - Mostra as capacidades do hypervisor, incluindo suporte a várias arquiteturas de virtualização. * **Exibir o tempo de atividade do host:** - virsh uptime - Exibe o tempo de atividade (uptime) do sistema host que executa o hypervisor. * **Exibir o log global de eventos do hypervisor:** - virsh event --all - Monitora os eventos globais do hypervisor, incluindo inicializações e encerramentos de VMs. * **Migrar uma VM para outro host:** - virsh migrate nome_da_vm qemu+ssh://outro_host/system - Migra a máquina virtual `nome_da_vm` para outro host de virtualização. ==== Checkpoint ==== * **Criar um checkpoint de uma máquina virtual:** - virsh checkpoint-create-as nome_da_vm nome_do_checkpoint - Cria um checkpoint da VM `nome_da_vm` chamado `nome_do_checkpoint`. * **Listar todos os checkpoints de uma máquina virtual:** - virsh checkpoint-list nome_da_vm - Lista todos os checkpoints criados para a VM `nome_da_vm`. * **Excluir um checkpoint de uma VM:** - virsh checkpoint-delete nome_da_vm nome_do_checkpoint - Remove o checkpoint `nome_do_checkpoint` da VM `nome_da_vm`. * **Restaurar uma VM para um checkpoint específico:** - virsh checkpoint-revert nome_da_vm nome_do_checkpoint - Restaura a VM `nome_da_vm` ao estado do checkpoint `nome_do_checkpoint`. * **Criar um checkpoint sem parar a VM (live checkpoint):** - virsh checkpoint-create-as nome_da_vm nome_do_checkpoint --live - Cria um checkpoint ao vivo, sem parar a execução da VM. ==== Interface ==== * **Listar todas as interfaces de rede disponíveis no host:** - virsh iface-list - Lista as interfaces de rede disponíveis e o status de cada uma. * **Ativar uma interface de rede:** - virsh iface-start nome_da_interface - Ativa a interface de rede `nome_da_interface`. * **Desativar uma interface de rede:** - virsh iface-destroy nome_da_interface - Desativa a interface de rede `nome_da_interface`. * **Definir uma interface de rede para iniciar automaticamente no boot:** - virsh iface-autostart nome_da_interface - Configura a interface `nome_da_interface` para iniciar automaticamente no boot. * **Remover uma interface de rede:** - virsh iface-undefine nome_da_interface - Remove a configuração da interface de rede `nome_da_interface`. ==== Network Filter ==== * **Listar todos os filtros de rede disponíveis:** - virsh nwfilter-list - Exibe uma lista de filtros de rede disponíveis no hypervisor. * **Aplicar um filtro de rede a uma VM:** - virsh attach-interface nome_da_vm --type network --source default --filterref nome_do_filtro - Aplica o filtro `nome_do_filtro` à interface de rede da VM `nome_da_vm`. * **Criar um novo filtro de rede a partir de um arquivo XML:** - virsh nwfilter-define filtro.xml - Cria um filtro de rede com base na definição no arquivo XML `filtro.xml`. * **Remover um filtro de rede:** - virsh nwfilter-undefine nome_do_filtro - Remove o filtro de rede chamado `nome_do_filtro`. ==== Networking ==== * **Listar todas as redes virtuais:** - virsh net-list --all - Lista todas as redes virtuais, incluindo as que estão ativas e inativas. * **Criar uma rede virtual a partir de um arquivo XML:** - virsh net-define rede.xml - Cria uma rede virtual baseada nas definições do arquivo XML `rede.xml`. * **Iniciar uma rede virtual:** - virsh net-start nome_da_rede - Inicia a rede virtual `nome_da_rede`. * **Desativar uma rede virtual:** - virsh net-destroy nome_da_rede - Desativa a rede virtual `nome_da_rede`. * **Definir uma rede para iniciar automaticamente no boot:** - virsh net-autostart nome_da_rede - Configura a rede `nome_da_rede` para iniciar automaticamente no boot. ==== Node Device ==== * **Listar todos os dispositivos de hardware detectados no host:** - virsh nodedev-list - Exibe uma lista de dispositivos de hardware (PCI, USB, etc.) disponíveis no host. * **Exibir informações detalhadas de um dispositivo de hardware:** - virsh nodedev-dumpxml nome_do_dispositivo - Exibe as informações detalhadas do dispositivo `nome_do_dispositivo` em formato XML. * **Desativar um dispositivo de hardware:** - virsh nodedev-detach nome_do_dispositivo - Desativa o dispositivo de hardware `nome_do_dispositivo`. * **Reativar um dispositivo de hardware:** - virsh nodedev-reattach nome_do_dispositivo - Reativa o dispositivo de hardware `nome_do_dispositivo`. * **Remover a definição de um dispositivo de hardware:** - virsh nodedev-undefine nome_do_dispositivo - Remove a definição do dispositivo de hardware `nome_do_dispositivo`. ==== Secret ==== * **Listar todos os segredos gerenciados pelo hypervisor:** - virsh secret-list - Exibe uma lista de todos os segredos armazenados no hypervisor. * **Criar um novo segredo a partir de um arquivo XML:** - virsh secret-define secret.xml - Cria um segredo (chave) usando a definição do arquivo XML `secret.xml`. * **Remover um segredo:** - virsh secret-undefine uuid_do_segredo - Remove o segredo identificado pelo `uuid_do_segredo`. * **Definir o valor de um segredo:** - virsh secret-set-value uuid_do_segredo --base64 novo_valor - Define o valor do segredo identificado pelo `uuid_do_segredo` em base64. * **Exibir informações detalhadas de um segredo:** - virsh secret-dumpxml uuid_do_segredo - Exibe as informações de um segredo específico em formato XML. ==== Snapshot ==== * **Criar um snapshot de uma VM:** - virsh snapshot-create-as nome_da_vm nome_do_snapshot - Cria um snapshot da máquina virtual `nome_da_vm` com o nome `nome_do_snapshot`. * **Listar todos os snapshots de uma VM:** - virsh snapshot-list nome_da_vm - Exibe uma lista de todos os snapshots criados para a VM `nome_da_vm`. * **Excluir um snapshot de uma VM:** - virsh snapshot-delete nome_da_vm nome_do_snapshot - Exclui o snapshot `nome_do_snapshot` da máquina virtual `nome_da_vm`. * **Restaurar uma VM a partir de um snapshot:** - virsh snapshot-revert nome_da_vm nome_do_snapshot - Restaura a VM `nome_da_vm` ao estado salvo no snapshot `nome_do_snapshot`. * **Exibir detalhes de um snapshot em formato XML:** - virsh snapshot-dumpxml nome_da_vm nome_do_snapshot - Exibe os detalhes do snapshot `nome_do_snapshot` da VM `nome_da_vm` em formato XML. ==== Storage Pool ==== * **Listar todos os pools de armazenamento disponíveis:** - virsh pool-list --all - Exibe uma lista de pools de armazenamento, incluindo os ativos e inativos. * **Criar um pool de armazenamento a partir de um arquivo XML:** - virsh pool-define pool.xml - Define um novo pool de armazenamento usando o arquivo `pool.xml`. * **Iniciar um pool de armazenamento:** - virsh pool-start nome_do_pool - Inicia o pool de armazenamento `nome_do_pool`. * **Desativar um pool de armazenamento:** - virsh pool-destroy nome_do_pool - Desativa o pool de armazenamento `nome_do_pool`. * **Exibir informações detalhadas de um pool de armazenamento:** - virsh pool-info nome_do_pool - Mostra informações detalhadas do pool de armazenamento `nome_do_pool`. ==== Storage Volume ==== * **Listar todos os volumes de armazenamento de um pool:** - virsh vol-list nome_do_pool - Exibe uma lista de todos os volumes no pool de armazenamento `nome_do_pool`. * **Criar um volume de armazenamento em um pool:** - virsh vol-create-as nome_do_pool nome_do_volume 10G - Cria um volume de armazenamento de `10G` no pool `nome_do_pool`. * **Excluir um volume de armazenamento:** - virsh vol-delete nome_do_volume --pool nome_do_pool - Exclui o volume de armazenamento `nome_do_volume` do pool `nome_do_pool`. * **Exibir informações detalhadas de um volume de armazenamento:** - virsh vol-info nome_do_volume --pool nome_do_pool - Mostra detalhes sobre o volume de armazenamento `nome_do_volume` no pool `nome_do_pool`. * **Redimensionar um volume de armazenamento:** - virsh vol-resize nome_do_volume 20G --pool nome_do_pool - Redimensiona o volume de armazenamento `nome_do_volume` para `20G` no pool `nome_do_pool`.