Proxmox VE é uma plataforma de virtualização de código aberto baseada em Debian, que oferece poderosas ferramentas para criar e gerenciar ambientes de virtualização. Neste artigo, vamos explorar os principais comandos e conceitos para gerenciar máquinas virtuais (VMs) e containers no Proxmox VE.
Gestão de Máquinas Virtuais
# listar VMs
qm list
# Criar ou restaurar uma máquina virtual.
qm create <vmid>
# Criar ou restaurar uma máquina virtual com núcleo, memória e discos especificados.
qm create <vmid> --name <nome-da-vm> --cores <número-de-núcleos> --memory <tamanho-da-memória-em-bytes> --scsi0 file=<nome-vg>:<tamanho-em-gb> --cdrom local:<nome-iso> --net0 virtio,bridge=<nome-da-ponte>
# iniciar uma VM
qm start <vmid>
# Suspender máquina virtual.
qm suspend <vmid>
# desligar uma VM
qm shutdown <vmid>
# reiniciar uma VM
qm reboot <vmid>
# reiniciar uma VM
qm reset <vmid>
# parar uma VM
qm stop <vmid>
# Destruir a VM e todos os volumes utilizados/proprietários.
# Remove quaisquer permissões específicas da VM e regras de firewall
qm destroy <vmid>
# Acessar a interface Qemu Monitor.
qm monitor <vmid>
# Obter a configuração da máquina virtual com valores atuais e pendentes.
qm pending <vmid>
# Enviar evento de tecla para máquina virtual.
qm sendkey <vmid> <tecla> [OPÇÕES]
# Mostrar linha de comando utilizada para iniciar a VM (informações de depuração).
qm showcmd <vmid> [OPÇÕES]
# Desbloquear a VM.
qm unlock <vmid>
# Clonar uma VM
qm clone <vmid> <novo-id>
# Clonar uma VM no modo de clonagem completa e também setar o nome.
qm clone <vmid> <novo-id> --full --name <nome>
# Migrar uma VM
qm migrate <vmid> <nó-destino>
# Mostrar estado da VM
qm status <vmid>
# Limpar recursos de uma VM
qm cleanup <vmid> <desligamento-limpo> <pedido-do-hóspede>
Cloudinit
# Obter configuração cloudinit gerada automaticamente.
qm cloudinit dump <vmid> <tipo>
# Obter a configuração cloudinit com valores atuais e pendentes.
qm cloudinit pending <vmid>
# Regenerar e alterar configuração cloudinit drive.
qm cloudinit update <vmid>
Disco
# Importar uma imagem de disco externa como um disco não utilizado em uma VM.
# O formato da imagem deve ser suportado pelo qemu-img(1).
qm disk import <vmid> <origem> <armazenamento>
# Mover volume para outro armazenamento ou para uma VM diferente.
qm disk move <vmid> <disco> [<armazenamento>] [OPÇÕES]
# Reconhecer todos os armazenamentos e atualizar tamanhos de disco e imagens de disco não utilizadas.
qm disk rescan [OPÇÕES]
# Ampliar tamanho do volume.
qm disk resize <vmid> <disco> <tamanho> [OPÇÕES]
# Desvincular/excluir imagens de disco.
qm disk unlink <vmid> --idlist <cadeia> [OPÇÕES]
# reconhecer volumes
qm rescan
Snapshot
# Listar todos os snapshots.
qm listsnapshot <vmid>
# Snapshot de uma VM
qm snapshot <vmid> <nome-do-snapshot>
# Apagar um snapshot.
qm delsnapshot <vmid> <nome-do-snapshot>
# Reverter um snapshot
qm rollback <vmid> <nome-do-snapshot>
# Abrir um terminal usando um dispositivo serial
# (A VM precisa ter um dispositivo serial configurado, por exemplo, serial0: socket)
qm terminal <vmid> [OPÇÕES]
# Proxy de tráfego VNC da VM para stdin/stdout
qm vncproxy <vmid>
Outros
# Executar comandos Qemu Guest Agent.
qm guest cmd <vmid> <comando>
# Executa o comando fornecido via guest agent
qm guest exec <vmid> [<argumentos-extra>] [OPÇÕES]
# Obtém o status do pid fornecido iniciado pelo guest-agent
qm guest exec-status <vmid> <pid>
# Define a senha para o usuário fornecido para a senha fornecida
qm guest passwd <vmid> <nome-de-utilizador> [OPÇÕES]
PV, VG & LV Management
# Criar um PV
pvcreate <nome-do-dispositivo-de-disco>
# Remover um PV
pvremove <nome-do-dispositivo-de-disco>
# Listar todos os PVs
pvs
# Criar um VG
vgcreate <nome-do-vg> <nome-do-dispositivo-de-disco>
# Remover um VG
vgremove <nome-do-vg>
# Listar todos os VGs
vgs
# Criar um LV
lvcreate -L <tamanho-do-lv> -n <nome-do-lv> <nome-do-vg>
# Remover um LV
lvremove <nome-do-vg>/<nome-do-lv>
# Listar todos os LVs
lvs
Gestão de Armazenamento
# Criar um novo armazenamento.
pvesm add <tipo> <armazenamento> [OPÇÕES]
# Alocar imagens de disco.
pvesm alloc <armazenamento> <vmid> <nome-do-ficheiro> <tamanho> [OPÇÕES]
# Excluir volume
pvesm free <volume> [OPÇÕES]
# Excluir configuração de armazenamento.
pvesm remove <armazenamento>
# Listar conteúdo de armazenamento.
pvesm list <armazenamento> [OPÇÕES]
# Um alias para pvesm scan lvm.
pvesm lvmscan
# Um alias para pvesm scan lvmthin.
pvesm lvmthinscan
# Listar grupos de volume LVM locais.
pvesm scan lvm
# Listar Piscinas Finas LVM locais.
pvesm scan lvmthin <vg>
# Obter status para todos os datastores.
pvesm status [OPÇÕES]
Gestão de Templates
# listar todos os templates
pveam available
# listar todos os templates
pveam list <armazenamento>
# Baixar templates de appliance
pveam download <armazenamento> <template>
# Remover um template.
pveam remove <caminho-do-template>
# Atualizar o Banco de Dados de Template de Container.
pveam update
Gestão de Containers
# Listar containers
pct list
# Criar ou restaurar um container.
pct create <vmid> <ostemplate> [OPÇÕES]
# Iniciar o container.
pct start <vmid> [OPÇÕES]
# Criar um clone/cópia de container
pct clone <vmid> <novo-id> [OPÇÕES]
# Suspender o container. Isso é experimental.
pct suspend <vmid>
# Retomar o container.
pct resume <vmid>
# Parar o container.
# Isso irá parar abruptamente todos os processos em execução no container.
pct stop <vmid> [OPÇÕES]
# Desligar o container.
# Isso irá acionar um desligamento limpo do container, consulte lxc-stop(1) para mais detalhes.
pct shutdown <vmid> [OPÇÕES]
# Destruir o container (também exclui todos os arquivos usados).
pct destroy <vmid> [OPÇÕES]
# Mostrar status do CT.
pct status <vmid> [OPÇÕES]
# Migrar o container para outro nó. Cria uma nova tarefa de migração.
pct migrate <vmid> <alvo> [OPÇÕES]
# Obter configuração do container.
pct config <vmid> [OPÇÕES]
# Imprimir a lista de conjuntos de CPUs atribuídos.
pct cpusets
# Obter configuração do container, incluindo alterações pendentes.
pct pending <vmid>
# Reiniciar o container desligando-o e iniciando-o novamente. Aplica as alterações pendentes.
pct reboot <vmid> [OPÇÕES]
# Criar ou restaurar um container.
pct restore <vmid> <ostemplate> [OPÇÕES]
# Definir opções de container.
pct set <vmid> [OPÇÕES]
# Criar um Template.
pct template <vmid>
# Desbloquear o container.
pct unlock <vmid>
Disco
# Obter uso atual do disco do container.
pct df <vmid>
# Executar uma verificação de sistema de arquivos (fsck) em um volume de container.
pct fsck <vmid> [OPÇÕES]
# Executar fstrim em um CT escolhido
e seus pontos de montagem.
pct fstrim <vmid> [OPÇÕES]
# Montar o sistema de arquivos do container no host.
# Isso irá manter um bloqueio no container e é destinado apenas para manutenção de emergência
# pois impedirá operações adicionais no container além de iniciar e parar.
pct mount <vmid>
# Mover um rootfs-/mp-volume para um armazenamento diferente ou para um container diferente.
pct move-volume <vmid> <volume> [<armazenamento>] [<vmid-destino>] [<volume-destino>] [OPÇÕES]
# Desmontar o sistema de arquivos do container.
pct unmount <vmid>
# Redimensionar um ponto de montagem do container.
pct resize <vmid> <disco> <tamanho> [OPÇÕES]
# Reconhecer todos os armazenamentos e atualizar tamanhos de disco e imagens de disco não utilizadas.
pct rescan [OPÇÕES]
# Iniciar um console para o container especificado.
pct console <vmid> [OPÇÕES]
# Iniciar um shell para o container especificado.
pct enter <vmid>
# Iniciar um comando dentro do container especificado.
pct exec <vmid> [<argumentos-extra>]
# Copiar um arquivo do container para o sistema local.
pct pull <vmid> <caminho> <destino> [OPÇÕES]
# Copiar um arquivo local para o container.
pct push <vmid> <ficheiro> <destino> [OPÇÕES]
Snapshot
# Snapshot de um container.
pct snapshot <vmid> <nome-do-snapshot> [OPÇÕES]
# Listar todos os snapshots.
pct listsnapshot <vmid>
# Reverter estado LXC para o snapshot especificado.
pct rollback <vmid> <nome-do-snapshot> [OPÇÕES]
# Excluir um snapshot LXC.
pct delsnapshot <vmid> <nome-do-snapshot> [OPÇÕES]
Web GUI
# Reiniciar GUI web
service pveproxy restart
Caminhos de Ficheiros/Dirs Importantes
PVE
/etc/pve/authkey.pub Chave pública usada pelo sistema de bilhetes
/etc/pve/ceph.conf Ficheiro de configuração do Ceph (nota: /etc/ceph/ceph.conf é um link simbólico para isto)
/etc/pve/corosync.conf Ficheiro de configuração do cluster Corosync (antes do Proxmox VE 4.x, este ficheiro era chamado cluster.conf)
/etc/pve/datacenter.cfg Configuração de todo o centro de dados do Proxmox VE (layout do teclado, proxy, …)
/etc/pve/domains.cfg Domínios de autenticação do Proxmox VE
/etc/pve/firewall/cluster.fw Configuração do firewall aplicada a todos os nós
/etc/pve/firewall/<NOME>.fw Configuração do firewall para nós individuais
/etc/pve/firewall/<VMID>.fw Configuração do firewall para VMs e containers
/etc/pve/ha/crm_commands Exibe operações de HA que estão sendo realizadas pelo CRM
/etc/pve/ha/manager_status Informações em formato JSON sobre os serviços de HA no cluster
/etc/pve/ha/resources.cfg Recursos gerenciados pela alta disponibilidade e seu estado atual
/etc/pve/nodes/<NOME>/config Configuração específica do nó
/etc/pve/nodes/<NOME>/lxc/<VMID>.conf Dados de configuração de VM para containers LXC
/etc/pve/nodes/<NOME>/openvz/ Antes do PVE 4.0, usado para dados de configuração de containers (descontinuado, em breve será removido)
/etc/pve/nodes/<NOME>/pve-ssl.key Chave SSL privada para pve-ssl.pem
/etc/pve/nodes/<NOME>/pve-ssl.pem Certificado SSL público para o servidor web (assinado pelo CA do cluster)
/etc/pve/nodes/<NOME>/pveproxy-ssl.key Chave SSL privada para pveproxy-ssl.pem (opcional)
/etc/pve/nodes/<NOME>/pveproxy-ssl.pem Certificado SSL público (cadeia) para o servidor web (substituição opcional para pve-ssl.pem)
/etc/pve/nodes/<NOME>/qemu-server/<VMID>.conf Dados de configuração de VM para VMs KVM
/etc/pve/priv/authkey.key Chave privada usada pelo sistema de bilhetes
/etc/pve/priv/authorized_keys Chaves SSH dos membros do cluster para autenticação
/etc/pve/priv/ceph* Chaves de autenticação do Ceph e capacidades associadas
/etc/pve/priv/known_hosts Chaves SSH dos membros do cluster para verificação
/etc/pve/priv/lock/* Arquivos de bloqueio usados por vários serviços para garantir operações seguras em todo o cluster
/etc/pve/priv/pve-root-ca.key Chave privada do CA do cluster
/etc/pve/priv/shadow.cfg Ficheiro de senha de sombra para utilizadores do Realm PVE
/etc/pve/priv/storage/<ID-ARMAZENAMENTO>.pw Contém a senha de um armazenamento em texto simples
/etc/pve/priv/tfa.cfg Configuração de autenticação de dois fatores codificada em base64
/etc/pve/priv/token.cfg Segredos de token da API de todos os tokens
/etc/pve/pve-root-ca.pem Certificado público do CA do cluster
/etc/pve/pve-www.key Chave privada usada para gerar tokens CSRF
/etc/pve/sdn/* Ficheiros de configuração partilhados para Redes Definidas por Software (SDN)
/etc/pve/status.cfg Configuração do servidor externo de métricas do Proxmox VE
/etc/pve/storage.cfg Configuração de armazenamento do Proxmox VE
/etc/pve/user.cfg Configuração de controlo de acesso do Proxmox VE (utilizadores/grupos/…)
/etc/pve/virtual-guest/cpu-models.conf Para armazenar modelos de CPU personalizados
/etc/pve/vzdump.cron Programação de trabalho de cópia de segurança vzdump em todo o cluster
Depuração
/etc/pve/.version versões de ficheiros (para detetar modificações de ficheiros)
/etc/pve/.members Informações sobre membros do cluster
/etc/pve/.vmlist Lista de todas as VMs
/etc/pve/.clusterlog Log do cluster (últimas 50 entradas)
/etc/pve/.rrd Dados RRD (entradas mais recentes)
Secção OpenVZ
/etc/vz/conf/xxx.conf configuração
/var/lib/vz/root/xxx dados
/var/lib/vz/template/cache modelo
/var/lib/vz/dump snapshot
/etc/vz/vz.conf configuração do OpenVZ
Secção KVM
/var/lib/vz/images/xxx dados
/var/lib/vz/template/iso modelo
/var/lib/vz/dump snapshot
Secção LXC
/var/lib/lxc/xxx/config configuração
/var/lib/vz/images/xxx dados
/var/lib/vz/template/cache modelo
/var/lib/vz/dump
Comandos para Gestão de VMs:
- Utilize comandos como
qm list
para listar todas as VMs. - Crie uma nova VM com
qm create <vmid>
e especifique detalhes como núcleos, memória e discos. - Inicie, suspenda, desligue, reinicie e pare VMs com comandos como
qm start <vmid>
,qm suspend <vmid>
,qm shutdown <vmid>
,qm reboot <vmid>
eqm stop <vmid>
.
Gestão de Disco e Snapshot:
- Importe e mova discos entre VMs com
qm disk import
eqm disk move
. - Tire snapshots com
qm snapshot
, reverta comqm rollback
e delete comqm delsnapshot
.
Gestão de Containers:
- Para containers, use comandos como
pct list
para listar,pct create
para criar epct start
para iniciar. - Para gerenciar discos e snapshots, utilize comandos similares aos de VMs.
Outras Funcionalidades:
- Gerencie armazenamentos com
pvesm add
, templates compveam list
, e faça migrações compct migrate
. - A interface web pode ser reiniciada com
service pveproxy restart
.
Caminhos Importantes:
- Os ficheiros de configuração e logs estão localizados em diretórios específicos dentro de
/etc/pve/
.
Este guia fornece uma visão geral dos comandos essenciais para gerenciar virtualização com Proxmox VE. Com essas ferramentas, você pode criar, configurar e gerenciar ambientes virtuais de forma eficiente e flexível.