Top 10 Comandos CLI do Proxmox que Todo Administrador Deve Conhecer

O ambiente virtual Proxmox (VE) pode ser gerenciado com uma interface gráfica amigável em um navegador da web. No entanto, em cenários específicos, é melhor usar a interface de linha de comando (CLI). A CLI oferece vantagens como configuração mais detalhada, processamento em lote, scripting e automação.

Existem comandos padrão do Linux e comandos específicos do Proxmox para gerenciar ambientes virtuais Proxmox. Este post do blog aborda os 10 principais comandos específicos do Proxmox com exemplos para uma administração eficaz.

1. qm

O comando qm é um dos principais comandos da CLI do Proxmox, e qm é a abreviação de QEMU Manager. Ele é usado para gerenciar máquinas virtuais (VMs) em um ambiente virtual Proxmox (Proxmox VE). As máquinas virtuais no Proxmox são baseadas em QEMU/KVM, e o comando qm interage com elas. Você pode criar, editar, configurar, iniciar, parar e migrar VMs com este comando.

A sintaxe geral do comando é:

qm [opções] <comando> [argumentos]

Listar máquinas virtuais

Você pode ver o status e o ID da VM. Você pode precisar do ID para gerenciar esta VM na CLI do Proxmox.

qm list

Criando uma nova máquina virtual

Sintaxe geral:

qm create <vmid> [opções]

Exemplo:

qm create 103 --name "DebianVM" --memory 2048 --net0 virtio,bridge=vmbr0 --sockets 1 --cores 2 --ostype l26

O seguinte comando CLI do Proxmox cria uma VM com ID 103 chamada “DebianVM” com 2GB de RAM, 1 soquete, 2 núcleos e uma interface de rede Virtio conectada a vmbr0. O tipo de sistema operacional é Linux (indicado por l26).

Anexando um disco a uma VM

qm set 105 --scsi0 local-lvm:32G

Anexa um disco de 32GB à VM usando a interface SCSI.

Anexar um CD-ROM para instalação do SO

qm set 105 --ide2 local:iso/debian-10.7.0-amd64-netinst.iso,media=cdrom

Esse comando anexa uma ISO do Debian à unidade de CD-ROM IDE da VM para instalação de um sistema operacional convidado ou outros fins.

Configurando a ordem de inicialização

qm set 105 --boot order=ide2;scsi0

O comando usado neste exemplo configura a VM para inicializar primeiro a partir do CD-ROM (IDE2), depois o disco (SCSI0).

Iniciando uma máquina virtual

Sintaxe:

qm start <vmid>

Exemplo:

qm start 103

Iniciando a VM com ID 103

Parando uma VM

qm stop <vmid>

Esse comando para uma VM em execução imediatamente. Essa forma de parar uma VM é a mesma que puxar o plugue de energia de uma máquina física.

qm stop 103

Parando a VM com ID 103.

Desligar uma VM no Proxmox CLI

qm shutdown <vmid>

Este comando desliga uma VM de forma adequada, permitindo que o sistema operacional convidado feche arquivos e termine processos corretamente.

qm shutdown 101

Enviando um sinal de desligamento para a VM com ID 101.

Migrando uma VM para outro nó

qm migrate <vmid> <targetnode>

Este comando migra uma VM de seu nó atual para outro nó dentro do mesmo cluster Proxmox.

Por exemplo, para migrar uma VM com o ID 103 para node2, podemos usar o comando:

qm migrate 103 node2

Fazendo um snapshot de uma VM

qm snapshot <vmid> <snapshotname>

O comando cria um snapshot da VM, capturando seu estado atual, incluindo a memória, o disco e o status dos dispositivos.

qm snapshot 103 "before_upgrade"

Este comando tira um snapshot da VM com ID 103 e o nomeia como “before_upgrade“. Usar o comando para fazer um snapshot é útil antes de realizar operações arriscadas, como atualizações de software.

Restaurando o estado de uma VM de um snapshot

qm rollback <vmid> <snapshotname>

Este comando reverte uma VM para um snapshot anterior, restaurando seu estado para o ponto em que o snapshot foi tirado.

Por exemplo, se a atualização de software dentro de uma VM não foi bem-sucedida e falhou, podemos restaurar o estado da VM com o comando:

qm rollback 103 "before_upgrade"

Quaisquer alterações feitas desde a captura da imagem são descartadas (desfeitas).

Clonando uma máquina virtual

qm clone <vmid> <newid> [--name <newname>] [--full]

O comando qm clone clona uma VM existente para criar uma nova VM com um ID diferente. Você pode escolher clonar todo o disco (clonagem completa) ou apenas o armazenamento vinculado.

qm clone 103 104 --name "DebianClone" --full

Este comando clona a VM com ID 103 em uma nova VM com ID 104, nomeando-a como “DebianClone“. A opção full cria uma clonagem completa, copiando todos os dados.

Redimensionando o disco de uma máquina virtual

qm resize <vmid> <disk> <size>

O comando qm resize é usado para redimensionar um disco virtual conectado a uma VM, expandindo ou reduzindo. Certifique-se de que o sistema operacional convidado possa lidar com a mudança.

qm resize 103 scsi0 +10G

Este comando CLI do Proxmox aumenta o tamanho do disco scsi0 na VM com ID 103 em 10GB.

2. pve-firewall

O comando pve-firewall é usado para gerenciar as configurações do firewall no ambiente virtual Proxmox, incluindo clusters Proxmox. Este comando da CLI do Proxmox oferece opções amigáveis para configurar regras de firewall e permite que os administradores controlem o tráfego de rede para e a partir de nós Proxmox, máquinas virtuais e contêineres. O firewall do Proxmox integra-se estreitamente com a interface de gerenciamento do Proxmox e torna o gerenciamento do firewall em todo o ambiente Proxmox mais conveniente. A ferramenta pve-firewall é desenvolvida especialmente para o Proxmox VE e usa uma abstração de alto nível para gerenciar regras de firewall em comparação com a abordagem mais granular e manual usada em iptables.

Sintaxe:

pve-firewall <comando> [opções]

Execute o comando pve-firewall para ver o uso principal do comando.

Verificar o status

Verificando o status do serviço de firewall do Proxmox VE:

pve-firewall status

A saída exibe se o firewall está em execução ou não no nó atual.

Iniciar o firewall

Iniciando o serviço de firewall no nó Proxmox atual:

pve-firewall start

Recarregar o firewall

Recarregando o serviço de firewall e aplicando as mudanças de configuração do firewall sem a necessidade de parar e iniciar o serviço de firewall.

pve-firewall reload

Aceitar tráfego SSH

Criando uma regra de firewall que aceita tráfego SSH:

pve-firewall create rule -action accept -macro ssh

Este comando cria uma regra para permitir o acesso SSH ao ambiente Proxmox.

Onde: create <object> cria um novo objeto de firewall, como uma regra, grupo de segurança ou conjunto de IP.

Excluir regra

Para excluir a regra, use o comando:

pve-firewall delete rule <rule-id>

Exibir log

Exiba o log do firewall, que mostra o tráfego e as correspondências de regras:

pve-firewall log

A saída exibe as entradas mais recentes do log do firewall.

Negar tráfego HTTP

Para criar uma regra de firewall que nega qualquer tráfego HTTP, use o comando:

pve-firewall create rule -action drop -macro http

3. pvesm

O comando pvesm na CLI do Proxmox é a ferramenta de linha de comando usada para gerenciar a configuração de armazenamento no Proxmox VE. Com esta ferramenta de linha de comando, você pode criar, excluir, modificar e gerenciar pools de armazenamento. Além disso, você pode realizar várias tarefas relacionadas ao armazenamento, como criar diretórios, adicionar dispositivos de armazenamento e gerenciar tipos de conteúdo.

Sintaxe:

pvesm <command> [options]

Listar armazenamento

pvesm list <storage>

Onde <storage> é o nome do pool de armazenamento (datastore) a ser listado.

Verificando o status de todos ou de pools de armazenamento específicos

pvesm status

A saída exibe o status do pool de armazenamento, incluindo informações sobre se está ativo ou inativo, o tipo de armazenamento e o uso atual.

Criando um novo pool de armazenamento

pvesm create <type> <storage-id> --options

Onde:

<type> é o tipo de backend de armazenamento a ser criado (por exemplo, dir, lvm, nfs, zfs).

<storage-id> é o nome ou ID exclusivo para o pool de armazenamento.

options define as opções adicionais específicas para o tipo de armazenamento.

Exemplo:

Criando um novo pool de armazenamento baseado em diretório chamado new-datastore1 localizado em /mnt/storage-name, que pode armazenar imagens de VM e arquivos ISO:

pvesm create dir new-datastore1 --path /mnt/storage-name --content images,iso

Adicionando um backend de armazenamento existente ao Proxmox VE

O princípio deste comando é semelhante ao comando pvesm create, mas em vez de criar um novo armazenamento, o armazenamento que já existe é adicionado à configuração do Proxmox para torná-lo disponível.

Exemplo:

Adicionando um compartilhamento NFS existente localizado em 192.168.101.100 em /export/data ao Proxmox VE sob o nome test-nfs-storage:

pvesm add nfs test-nfs-storage --server 192.168.101.100 --export /export/data --path /mnt/pve/test-nfs-storage --content images,iso

Modificando a configuração de um pool de armazenamento existente

pvesm set <storage-id> --options

Exemplo:

Modificando o pool local-storage01 para permitir que ele armazene imagens de VM, arquivos ISO e arquivos de backup:

pvesm set local-storage01 --content images,iso,backup

Alocando um novo volume em um pool de armazenamento especificado para uma VM ou contêiner

pvesm alloc <storage-id> <vmid> <size>

Exemplo:

O comando para alocar um volume de 10 GB no pool local-storage-name para a VM 100:

pvesm alloc local-storage-name 100 10G

4. pveum

O Proxmox Virtual Environment permite criar vários usuários para gerenciar o Proxmox VE. Isso pode ser feito com comandos da CLI do Proxmox usando o comando pveum (gerenciamento de usuários). Administradores do Proxmox podem gerenciar usuários e grupos e configurar controles de acesso e permissões. Isso, por sua vez, define quem pode ter acesso e está autorizado a agir nas diferentes partes da infraestrutura do Proxmox. Administradores podem atribuir permissões para acessar objetos, como máquinas virtuais, armazenamento, nós do cluster, etc.

Sintaxe:

pveum <command> [options]

Adicionando um novo usuário ao Proxmox VE

pveum useradd <userid> --password <password> --comment <comment> --groups <group>

Onde:

senha <senha> é a senha para o novo usuário.

comentário <comentário> é um comentário ou descrição opcional para o usuário.

grupos <grupo> é o grupo (ou grupos) ao qual o usuário deve pertencer.

Exemplo:

pveum useradd user2@pve --password UserSecretPassword111 --comment "user2 – grupo admin" --groups admin

Esse comando é usado para adicionar um usuário cujo nome é user2 ao grupo admin com uma descrição e definindo a senha para este usuário.

Excluindo um usuário

Para excluir um usuário, use o comando pveum com a mesma lógica que para adicionar um usuário, por exemplo:

pveum userdel user3@pve

Esse comando é usado para excluir user3 em um host Proxmox.

Criando um grupo

Para criar um novo grupo no CLI do Proxmox, use o comando groupadd.

Sintaxe:

pveum groupadd <nomedogrupo> --comment <comentário>

Exemplo:

pveum groupadd suporte --comment "Grupo da Equipe de Suporte"

Esse comando cria um novo grupo chamado suporte com a descrição “Grupo da Equipe de Suporte“.

Excluindo um grupo

Semelhante à exclusão de um usuário, você pode excluir um grupo. Por exemplo, para excluir um grupo convidados, você pode usar o comando:

pveum groupdel guests

Adicionando funções

As funções são usadas para definir um conjunto de permissões para usuários e grupos a quem essa função é atribuída.

Sintaxe:

pveum roleadd <nomedafuncao> --privs <permissoes>

Onde:

<nomedafuncao> é o nome da função a ser criada.

privs <permissoes> é uma lista separada por vírgulas de permissões a serem atribuídas à função (por exemplo, VM.PowerMgmt, VM.Config.Disk).

Exemplo:

pveum roleadd vmmanager --privs VM.PowerMgmt,VM.Config.CDROM

Este comando cria uma função chamada vmmanager com permissões para gerenciar configurações de energia da VM e configurar CD-ROMs.

Modificando uma função existente

Administradores podem modificar funções e permissões existentes com o comando rolemod (adicionar ou remover permissões).

Sintaxe:

pveum rolemod <nomedafuncao> --privs <permissoes>

Exemplo:

pveum rolemod vmmanager --privs +VM.Config.Network

Este comando adiciona a permissão VM.Config.Network à função vmmanager.

Modificando ACL

Administradores do Proxmox podem modificar Listas de Controle de Acesso (ACL) atribuindo funções a usuários ou grupos em objetos específicos do Proxmox.

Sintaxe:

pveum aclmod <caminho> --roles <nome_do_papel> --users <id_do_usuario> --groups <nome_do_grupo>

Onde:

<caminho> é o caminho do objeto no qual definir a ACL (por exemplo, /vms/100 para uma VM específica ou / para todo o cluster).

roles <nome_do_papel> é o papel a ser atribuído.

users <id_do_usuario> é o usuário ao qual o papel é atribuído.

groups <nome_do_grupo> é o grupo ao qual o papel é atribuído.

Exemplo:

pveum aclmod /vms/104 --roles vmmanager --users user4@pve

Este comando atribui o papel vmmanager a user4@pve na VM 104, permitindo que o usuário (user4) gerencie essa VM específica de acordo com os privilégios no papel vmmanager. O comando aclremove é usado para remover ACLs de objetos conforme necessário.

Gerenciamento de domínio de autenticação

Um domínio de autenticação define como os usuários se autenticam no sistema (por exemplo, usando PAM, LDAP ou Active Directory). Você pode gerenciar domínios de autenticação com o comando realm no Proxmox VE.

Sintaxe:

pveum realm <comando> [opções]

Onde o comando pode ser:

list para listar todos os domínios disponíveis

add para adicionar um novo domínio

modify para modificar um domínio existente

remover para remover um reino existente

Por exemplo, para listar todos os reinos de autenticação configurados no Proxmox VE, use o comando:

pveum realm list

Gerenciando usuários existentes

Você pode listar, editar e excluir usuários existentes com este comando de usuário.

Sintaxe:

pveum user <comando> <userid> [opções]

Os comandos podem ser:

listar para listar todos os usuários

modificar para modificar os detalhes do usuário, como mudar uma senha ou atualizar o comentário

excluir para excluir um usuário

Por exemplo, para listar todos os usuários em um host Proxmox, use o comando:

pveum user list

Para ver mais comandos e opções disponíveis, execute o comando pveum help no CLI do Proxmox.

5. pvesh

Usando o comando pvesh, os administradores podem interagir com a API REST do Proxmox. Esta ferramenta de linha de comando permite que você execute quase qualquer ação que pode ser feita via a interface web do Proxmox diretamente do CLI do Proxmox. O comando pvesh atua como um shell para a API REST do Proxmox VE, permitindo que você faça chamadas de API usando comandos diretamente da linha de comando. Com este comando, você pode gerenciar máquinas virtuais, armazenamento, rede e outros elementos da infraestrutura virtual do Proxmox.

Sintaxe:

pvesh <comando> [opções]

Listando recursos ou endpoints da API

Este comando é semelhante ao comando ls no Linux, mas lista os caminhos ou recursos de API disponíveis no ambiente Proxmox VE.

pvesh ls /path

Exemplo:

pvesh ls /cluster/resources

Este comando lista todos os recursos no cluster Proxmox, incluindo VMs, contêineres e armazenamento.

Recuperando informações

O comando get recupera informações de um endpoint específico da API. Este comando é usado para consultar um recurso por detalhes.

pvesh get /path

Onde path é o caminho da API do qual você deseja recuperar informações.

Por exemplo, para recuperar informações de status para o nó pve-node1, como carga da CPU, uso de memória e tempo de atividade, você pode usar o comando:

pvesh get /nodes/pve-node1/status

Modificando a configuração

O comando set é usado para modificar ou atualizar a configuração de um recurso. Isso é equivalente a fazer uma solicitação POST ou PUT na API REST.

Sintaxe:

pvesh set /path --key value [--key value ...]

key value são os pares chave-valor das configurações que você deseja alterar.

Exemplo:

pvesh set /nodes/pve-node1/qemu/100/config --name new-vm-name

Este comando altera o nome da VM 100 no nó pve-node1 para new-vm-name.

criando um recurso

O comando create permite que você crie um novo recurso, como uma nova VM ou volume de armazenamento.

Sintaxe:

pvesh create /path --key value [--key value ...]

Por exemplo, você cria uma nova VM com parâmetros específicos usando o comando:

pvesh create /nodes/pve-node1/qemu --vmid 106 --name new-vm-name --memory 2048 --cores 2

Este comando cria uma nova VM com ID 106 no nó pve-node1, com o nome new-vm-name, 2 GB de RAM e 2 núcleos de CPU.

Iniciando VMs

Há um comando para iniciar uma VM ou container com pvesh:

pvesh start /path

Por exemplo, para iniciar a VM com ID 101 no nó pve-node1, você pode executar o comando:

pvesh start /nodes/pve-node1/qemu/101

Desligamento da VM

Ao contrário do comando stop, o comando shutdown desliga uma VM ou container de forma suave:

pvesh shutdown /path

Por exemplo, para desligar uma VM com o ID 101 em um host Proxmox, cujo nome é pve-node1, use o comando:

pvesh shutdown /nodes/pve-node1/qemu/101

Iniciando todas as VMs

Para iniciar ou parar todas as VMs em um nó ou em todo o cluster, você pode usar o comando correspondente:

pvesh startall /nodes/<nodename>

pvesh stopall /nodes/<nodename>

6. pvecm

O comando pvecm é uma ferramenta para gerenciamento de cluster Proxmox que é usada para gerenciar e configurar um cluster Proxmox. Você pode usar essa ferramenta para criar um cluster, bem como adicionar e gerenciar os nós dentro de um cluster Proxmox. Um cluster é gerenciado como uma única entidade com recursos de configuração, como Alta Disponibilidade, migração de VM ao vivo, armazenamento compartilhado, etc.

Sintaxe:

pvecm <comando> [opções]

Para ver todos os comandos suportados pelo pvecm, execute este comando:

man pvecm

Criando um cluster

Para criar um novo cluster Proxmox VE, você pode usar o comando create. Você deve executar este comando no primeiro nó (nó mestre) que formará o cluster.

pvecm create <nomedocluster>

Exemplo:

O comando abaixo cria um cluster chamado cluster01. Este nó (onde executamos o comando) se torna o nó mestre do cluster.

pvecm create cluster01

Adicionando um nó a um cluster

Use o comando addnode para adicionar novos nós a um cluster Proxmox existente. Execute este comando em um nó que você deseja adicionar ao cluster.

pvecm add <ip-do-nó-mestre>

Exemplo:

Adicionando o host Proxmox atual a um cluster controlado por um nó mestre com o endereço IP 192.168.101.121:

pvecm add 192.168.101.121

Excluindo um nó de um cluster

O comando delnode é usado na CLI do Proxmox para remover um nó do cluster.

Sintaxe:

pvecm delnode <nodename>

Exemplo:

O comando para remover o nó chamado pve-node2 do cluster é:

pvecm delnode pve-node2

Listando todos os nós de um cluster

O comando para listar todos os nós do cluster e exibir seu status, incluindo nomes de nós e endereços IP, é:

pvecm nodes

Definindo o novo nó mestre

Você pode definir outro nó do cluster como mestre em um cluster Proxmox:

pvecm setmaster <nodename>

Onde <nodename> é o nome do nó que você deseja designar como mestre.

Exibindo o status do cluster

Você pode exibir o status de um cluster Proxmox, incluindo informações sobre o quorum, o número de nós e seus papéis.

pvecm status

Definindo o número esperado de nós

Você pode verificar quantos nós são esperados para alcançar o quorum no cluster com o comando expected . Você pode precisar usar este comando quando alguns nós do cluster estiverem temporariamente offline para evitar interrupções. O quorum é usado para evitar situações de split-brain quando diferentes nós do cluster têm informações conflitantes sobre o estado do cluster.

pvecm expected <number>

7. hamanager

O comando hamanager é usado para gerenciar o recurso de Alta Disponibilidade (HA) para máquinas virtuais após criar um cluster Proxmox. Esta ferramenta de linha de comando permite configurar Alta Disponibilidade para VMs críticas e definir como reiniciá-las em um cluster caso o nó em que estão executando falhe. A ferramenta hamanager na CLI do Proxmox interage com o Gerenciador de Alta Disponibilidade do Proxmox.

Sintaxe:

ha-manager <comando> [opções]

Visualizando o status

Para visualizar o status atual dos recursos HA, você pode usar o comando:

ha-manager status

A saída exibe informações sobre quais VMs ou CTs estão configurados para HA, seu estado atual (iniciado, parado), incluindo o estado HA e o estado de failover, e em qual nó estão sendo executados.

Habilitando HA para uma VM

Sintaxe:

ha-manager add <vmid> --group <nomegrupo> --max-restarts <n> --max-migrate-tries <n>

Onde:

<vmid> é o ID da VM ou CT que você deseja adicionar ao HA.

group <nomegrupo> é o grupo HA ao qual o recurso deve ser adicionado (opcional).

max-restarts <n> é o número máximo de tentativas de reinício se o recurso falhar.

max-migrate-tries <n> é o número máximo de tentativas de migração para outro nó se o recurso não puder ser reiniciado.

Exemplo:

Adicionando uma VM com ID 105 ao gerenciador de HA com um máximo de 3 tentativas de reinício e 1 tentativa de migração em caso de falha:

ha-manager add 105 --max-restarts 3 --max-migrate-tries 1

Desabilitando o status de HA de uma VM

Use o comando remove para desabilitar o status de alta disponibilidade de uma máquina virtual e remover a VM do gerenciador de HA.

ha-manager remove <vmid>

Por exemplo, para desabilitar o status de HA para a VM com ID 105, execute o comando:

ha-manager remove 105

Após executar o comando, a VM não será mais gerenciada como um recurso altamente disponível.

Migração de VM

Você pode migrar manualmente uma VM altamente disponível para outro nó no cluster com o comando migrate:

ha-manager migrate <vmid> <targetnode>

Por exemplo, para migrar uma VM com ID 106 para um nó chamado pve-node2, execute o comando:

ha-manager migrate 106 pve-node2

8. vzdump

O comando vzdump é usado para criar backups no Proxmox VE com ferramentas nativas do Proxmox. Este comando suporta backup de VMs e contêineres. Os backups podem ser salvos nos formatos .vma, .tgz ou .lzo.

Sintaxe:

vzdump [options] <vmid> [<vmid2> ...]

Onde:

vmid é o ID de uma VM ou contêiner que você deseja fazer backup.

modo <modo> define o modo de backup. Existem três modos de backup suportados:

  • snapshot – tira uma cópia instantânea ao vivo de uma máquina virtual ou container Proxmox. Este modo é utilizado por padrão e permite realizar um backup quando uma VM ou container está em execução.
  • suspender – este modo é usado para suspender a VM ou container antes do backup, o que permite garantir que os dados sejam consistentes. O curto tempo de inatividade causado por este modo é uma desvantagem.
  • parar – para a máquina virtual ou container antes de realizar o backup. Esta abordagem permite preservar a consistência dos dados de backup, mas requer um tempo de inatividade mais prolongado.

compressão <tipo> é usada para especificar o método de compressão. Existem três opções de compressão suportadas:

  • lzo – compressão leve e rápida para backup Proxmox (usada por padrão).
  • gzip – este é um método de compressão mais eficiente, mas requer mais tempo para comprimir os dados (compressão mais lenta).
  • zstd – Este tipo de compressão usa um algoritmo moderno de compressão que oferece altas taxas de compressão com desempenho otimizado.

armazenamento <armazenamento> especifica o destino de armazenamento para o arquivo de backup. Isso pode ser um diretório local, um compartilhamento NFS ou um pool de armazenamento Proxmox.

maxfiles <n> limita o número de arquivos de backup a serem mantidos. Backups mais antigos são excluídos automaticamente se o limite for alcançado.

remover <modo> remove automaticamente arquivos de backup de acordo com o modo especificado. Os modos incluem:

  • antigo – remove backups antigos quando novos são criados.
  • falha – remove apenas backups falhados.

Fazer backup de várias VMs

Fazer backup das VMs com os IDs 101, 102 e 103 sequencialmente:

vzdump 101 102 103

Salvar backup com compressão

vzdump 101 --storage local --compress gzip --maxfiles 3

O comando vzdump com estas opções realiza as seguintes ações:

  • Salva o backup da VM 101 no armazenamento chamado local. O armazenamento local pode ser um diretório local em um host Proxmox ou um pool de armazenamento.
  • A compressão gzip é utilizada. Criar um backup criptografado com compressão gzip pode demorar mais, mas você acaba com um arquivo de backup menor.
  • Somente os 3 backups mais recentes são mantidos, enquanto os mais antigos são excluídos automaticamente.

Omitir arquivos de log

vzdump 102 --exclude-path /var/log

Faz backup da VM 102 mas exclui o diretório /var/log, reduzindo o tamanho do backup ao omitir arquivos de log.

Remover backups antigos

vzdump 101 --storage nfs-backup --maxfiles 5 --remove old

Este é um backup automatizado com a remoção de backups antigos. Ele faz backup da VM 101, armazena o backup no armazenamento nfs-backup e mantém apenas os 5 backups mais recentes, excluindo automaticamente quaisquer backups mais antigos.

Fazer backup em modo de snapshot

vzdump --all --mode snapshot --storage nfs-backup --bwlimit 20480 --remove old --maxfiles 7

Criando backups (como um backup noturno) de todas as VMs e contêineres usando o modo de backup de snapshot. Os backups são salvos em um compartilhamento NFS chamado nfs-backup. A largura de banda é limitada a 20480 Kbytes por segundo (20 MBps) para evitar sobrecarga na rede. Apenas os últimos 7 backups são retidos, e backups mais antigos são removidos automaticamente.

9. qmrestore

O comando qmrestore é usado para restaurar máquinas virtuais de backups criados usando o comando vzdump no ambiente virtual Proxmox. Esses comandos vzdump e qmrestore são ferramentas nativas do Proxmox para backup e recuperação de VMs. Um backup pode ser restaurado em uma nova VM ou em uma VM existente.

Sintaxe:

qmrestore [options] <backupfile> <vmid>

Onde:

<backupfile> é o caminho para o arquivo de backup que você deseja restaurar. Este arquivo é tipicamente gerado pelo comando vzdump e armazenado em um diretório ou em um dispositivo de armazenamento em rede.

<vmid> é o ID da VM que você deseja restaurar. Se o ID da VM já existir, a VM existente será sobrescrita, a menos que opções específicas sejam usadas para evitar isso.

Opções de comando:

forçar é usado para sobrescrever uma VM existente com o mesmo ID, e não há pergunta de confirmação. Você pode usar esta opção para restaurar uma VM quando não se importa em perder o estado atual da máquina virtual com o mesmo ID.

único é usado para gerar um novo ID de VM único para uma VM restaurada. Considere usar esta opção para restaurar um backup criando uma nova VM sem sobrescrever nenhuma VM existente.

armazenamento <armazenamento> especifica o local de armazenamento alvo para as imagens de disco virtual da VM restaurada. Se esta opção não for especificada, a VM será restaurada para seu armazenamento original ou para o armazenamento padrão.

pool <pool> permite que você atribua a VM restaurada a um pool de recursos específico no ambiente virtual Proxmox. Pools de recursos são usados para agrupar máquinas virtuais para uma gestão mais fácil.

nome do host <nome> define o nome do host da VM restaurada. Esta opção é útil se você quiser definir um nome de host diferente para a VM restaurada em relação ao nome do host original.

nome <nome> define um nome personalizado para a VM restaurada (um nome que é exibido na interface do usuário do Proxmox), diferente do nome original da VM que foi feito backup.

Restaurar VM para ID original

Restaurando uma VM para seu ID original:

qmrestore /var/lib/vz/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 101

Este comando restaura o arquivo de backup vzdump-qemu-101-2023_08_27-00_00_00.vma para a VM com ID 101. Se uma VM com ID 101 já existir, ela será substituída.

Recuperar backup para nova VM

Restaurando o backup para uma nova VM:

qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 102 --storage local-lvm

Este comando restaura o backup para uma nova VM com ID 102, armazenando suas imagens de disco no armazenamento local-lvm.

Recuperar e alterar o nome do host e o nome da VM

Restaurando o backup e alterando o nome do host e o nome:

qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 103 --hostname restored-vm --name "MyRestoredVM"

Restaura o backup para uma nova VM com ID 103, renomeia a VM para MyRestoredVM e define seu nome de host como restored-vm.

10. proxmox-backup-client

O comando proxmox-backup-client é uma ferramenta de linha de comando usada em conjunto com o Proxmox Backup Server, uma solução nativa de backup do Proxmox, utilizada para operações de backup e restauração. Esta ferramenta permite que administradores protejam máquinas virtuais, contêineres e outros tipos de dados. A ferramenta proxmox-backup-client interage com um Proxmox Backup Server (PBS) para gerenciar backups

Sintaxe:

proxmox-backup-client <comando> [opções]

A sintaxe básica do comando de backup

proxmox-backup-client backup <nome-do-arquivo> <caminho> --repository <repositório> [opções]

Onde:

<nome-do-arquivo> é o nome que você deseja dar ao arquivo de backup.

<caminho> define o caminho para o diretório ou arquivo que você deseja fazer backup.

repository <repositório> é o repositório de destino no Proxmox Backup Server, tipicamente na forma de user@pbs:datastore

Exemplo:

proxmox-backup-client backup etc.pxar /etc --repository root@[email protected]:datastore1

Este comando faz backup do diretório /etc para o datastore1 no Proxmox Backup Server localizado em 10.10.10.101. O backup é armazenado como um arquivo chamado etc.pxar.

A sintaxe básica do comando de restauração

O comando de restauração para as ferramentas de linha de comando proxmox-backup-client é usado para restaurar dados de um Proxmox Backup Server para o sistema local.

proxmox-backup-client restore <nome-do-arquivo> <caminho> --repository <repositório> [opções]

Onde:

<nome-do-arquivo> é o nome do arquivo que você deseja restaurar.

<caminho> é o caminho onde os dados devem ser restaurados.

repository <repositório> é o repositório onde o backup está armazenado.

Exemplo:

proxmox-backup-client restore etc.pxar /restore/etc --repository root@[email protected]:datastore1

Este comando restaura o arquivo etc.pxar do datastore1 no Proxmox Backup Server em 10.10.10.101 para o diretório local /restore/etc.

Conclusão

Os comandos CLI do Proxmox são um conjunto poderoso de ferramentas para gerenciar o ambiente virtual Proxmox, incluindo armazenamento, máquinas virtuais, clusters, backup de VM, etc. Se você deseja implementar uma estratégia abrangente de backup de VM, instale o NAKIVO Backup & Replication e use a capacidade de backup sem agente para VMs do Proxmox VE.

Source:
https://www.nakivo.com/blog/top-10-proxmox-cli-commands-every-admin-should-know/