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 no blog cobre 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
Criar 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 ao 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 OS
qm set 105 --ide2 local:iso/debian-10.7.0-amd64-netinst.iso,media=cdrom
Este comando anexa uma ISO do Debian à unidade de CD-ROM IDE da VM para instalação de um sistema operacional convidado ou outros propósitos.
Configurando a ordem de inicialização
qm set 105 --boot order=ide2;scsi0
O comando usado neste exemplo configura a VM para inicializar primeiro do CD-ROM (IDE2), depois do 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>
Este comando para uma VM em execução imediatamente. Essa forma de parar uma VM é a mesma que puxar o cabo de alimentação 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 elegante, 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, disco e 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 a partir 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 que a captura foi realizada 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 optar por 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 um clone completo, copiando todos os dados.
Aumentando o tamanho do disco de uma máquina virtual
qm resize <vmid> <disk> <size>
O comando qm resize
é usado para redimensionar um disco virtual anexado a uma VM, seja expandindo ou reduzindo. Certifique-se de que o sistema operacional convidado pode lidar com a mudança.
qm resize 103 scsi0 +10G
Este comando da 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 dos nós Proxmox, máquinas virtuais e contêineres. O firewall do Proxmox se integra de forma estreita 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 utiliza 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 alterações de configuração do firewall sem a necessidade de parar e reiniciar 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
Exibir o log do firewall, que mostra tráfego e correspondências de regras:
pve-firewall log
A saída exibe as entradas de log do firewall mais recentes.
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 a 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 único 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 que você crie 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 de 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
Este 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
Este comando é usado para excluir user3 em um host Proxmox.
Criando um grupo
Para criar um novo grupo na CLI do Proxmox, use o comando groupadd
.
Sintaxe:
pveum groupadd <nomedogrupo> --comment <comentário>
Exemplo:
pveum groupadd support --comment "Grupo da Equipe de Suporte"
Este comando cria um novo grupo chamado support 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 aos quais 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
Os 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
Os 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 sobre o 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 alterar 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 através da 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 pontos finais 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 /caminho
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 de API específico. Este comando é usado para consultar um recurso em busca de detalhes.
pvesh get /caminho
Onde caminho é o caminho da API do qual você deseja recuperar informações.
Por exemplo, para recuperar as informações de status do 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 /caminho --chave valor [--chave valor ...]
––chave valor são os pares chave-valor das configurações que você deseja alterar.
Exemplo:
pvesh set /nodes/pve-node1/qemu/100/config --name novo-nome-vm
Este comando altera o nome da VM 100 no nó pve-node1 para novo-nome-vm.
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 com 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 contêiner 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 contêiner de forma elegante:
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 clusters Proxmox que é usada para gerenciar e configurar um cluster Proxmox. Você pode usar essa ferramenta para criar um cluster, assim como para unir 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 do 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) torna-se 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 <nomedonó>
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 <nomedonó>
Onde <nomedonó> é o nome do nó que você deseja designar como o 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 . Pode ser necessário 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 <número>
7. hamanager
O comando hamanager
é usado para gerenciar o recurso de Alta Disponibilidade (HA) para máquinas virtuais após a criação de um cluster Proxmox. Esta ferramenta de linha de comando permite configurar a Alta Disponibilidade para VMs críticas e definir como reiniciá-las em um cluster caso o nó em que estão rodando falhe. A ferramenta hamanager no 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 de HA e o estado de failover, e em qual nó estão rodando.
Ativando 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 desativar 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 desativar 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 de alta disponibilidade.
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 [opções] <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 – faz uma captura instantânea ao vivo de uma máquina virtual ou contêiner Proxmox. Este modo é usado por padrão e permite que você realize um backup quando uma VM ou contêiner está em execução.
- suspender – este modo é usado para suspender a VM ou contêiner antes de fazer o backup, o que permite garantir que os dados estejam consistentes. O curto tempo de inatividade causado por este modo é uma desvantagem.
- parar – para a máquina virtual ou contêiner antes de realizar o backup. Esta abordagem permite preservar a consistência dos dados de backup, mas requer um tempo de inatividade mais prolongado.
––comprimir <tipo> é usado 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 (usado 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 utiliza um algoritmo de compressão moderno, oferecendo 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 com falha.
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 essas 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 levar mais tempo, mas resulta em um arquivo de backup menor.
- Apenas 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 espaço de armazenamento nfs-backup e mantém apenas os 5 backups mais recentes, deletando 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 a partir 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 para uma nova VM ou para uma VM existente.
Sintaxe:
qmrestore [opções] <arquivo_de_backup> <vmid>
Onde:
<arquivo_de_backup> é 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 impedir isso.
Opções do 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 importar 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 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 gerenciamento mais fácil.
––hostname <nome> define o hostname da VM restaurada. Esta opção é útil se você quiser definir um hostname diferente para a VM restaurada do hostname 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á sobrescrita.
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 mudar o hostname e o nome da VM
Restaurando o backup e mudando o hostname 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 hostname como restored-vm.
10. proxmox-backup-client
O comando proxmox-backup-client
é uma utilidade 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/