Los 10 principales comandos CLI de Proxmox que cada administrador debe conocer
El entorno virtual (VE) de Proxmox se puede gestionar con una interfaz gráfica fácil de usar en un navegador web. Sin embargo, en determinados casos, es mejor utilizar la interfaz de línea de comandos (CLI). La CLI ofrece ventajas como una configuración más detallada, procesamiento por lotes, secuencias de comandos y automatización.
Existen comandos estándar de Linux y comandos específicos de Proxmox para gestionar los entornos virtuales de Proxmox. Esta entrada de blog cubre los 10 principales comandos específicos de Proxmox con ejemplos para una administración eficaz.
1. qm
El comando qm es uno de los principales comandos CLI de Proxmox, y qm es la abreviatura de QEMU Manager. Se utiliza para gestionar máquinas virtuales (VM) en un entorno virtual Proxmox (Proxmox VE). Las máquinas virtuales en Proxmox están basadas en QEMU/KVM, y el comando qm interactúa con ellas. Puede crear, editar, configurar, iniciar, detener y migrar máquinas virtuales con este comando.
La sintaxis general del comando es:
qm [options] <command> [arguments]
Lista de máquinas virtuales
Puede ver el estado y el ID de la máquina virtual. Es posible que necesite el ID para gestionar esta VM en la CLI de Proxmox.
qm list
Creación de una nueva máquina virtual
Sintaxis general:
qm create <vmid> [options]
Ejemplo:
qm create 103 --name "DebianVM" --memory 2048 --net0 virtio,bridge=vmbr0 --sockets 1 --cores 2 --ostype l26
El siguiente comando CLI de Proxmox crea una máquina virtual con ID 103 llamada«DebianVM» con 2 GB de RAM, 1 zócalo, 2 núcleos y una interfaz de red Virtio puenteada a vmbr0. El tipo de sistema operativo es Linux (indicado por l26).
Adjuntar un disco a una máquina virtual
qm set 105 --scsi0 local-lvm:32G
Adjunta un disco de 32 GB a la máquina virtual utilizando la interfaz SCSI.
Adjuntar un CD-ROM para la instalación del sistema operativo
qm set 105 --ide2 local:iso/debian-10.7.0-amd64-netinst.iso,media=cdrom
Este comando adjunta una ISO de Debian a la unidad de CD-ROM IDE de la máquina virtual para la instalación de un sistema operativo huésped u otros propósitos.
Configuración del orden de inicio
qm set 105 --boot order=ide2;scsi0
El comando utilizado en este ejemplo configura la máquina virtual para que arranque primero desde el CD-ROM (IDE2) y después desde el disco (SCSI0).
Arrancar una máquina virtual
Sintaxis:
qm start <vmid>
Ejemplo:
qm start 103
Arranque de la máquina virtual con ID 103
Detener una máquina virtual
qm stop <vmid>
Este comando detiene inmediatamente una máquina virtual en ejecución. Esta forma de detener una máquina virtual es la misma que desenchufar una máquina física.
qm stop 103
Detención de la máquina virtual con ID 103.
Apagar una VM en Proxmox CLI
qm shutdown <vmid>
Este comando apaga una máquina virtual con elegancia, permitiendo al sistema operativo huésped cerrar archivos y terminar procesos correctamente.
qm shutdown 101
Enviando una señal de apagado a la VM con ID 101.
Migración de una máquina virtual a otro nodo
qm migrate <vmid> <targetnode>
Este comando migra una máquina virtual de su nodo actual a otro nodo dentro del mismo cluster Proxmox.
Por ejemplo, para migrar una VM con el ID 103 al nodo2, podemos utilizar el comando:
qm migrate 103 node2
Realización de una instantánea de una máquina virtual
qm snapshot <vmid> <snapshotname>
El comando crea una instantánea de la máquina virtual, capturando su estado actual, incluyendo la memoria, el disco y el estado de los dispositivos.
qm snapshot 103 "before_upgrade"
Este comando toma una instantánea de la VM con ID 103 y la nombra«before_upgrade«. Utilizar el comando para tomar una instantánea es útil antes de realizar operaciones arriesgadas, como actualizaciones de software.
Restauración del estado de una máquina virtual a partir de una instantánea
qm rollback <vmid> <snapshotname>
Este comando retrocede una máquina virtual a una instantánea anterior, restaurando su estado al punto en el que se tomó la instantánea.
Por ejemplo, si la actualización de software dentro de una VM no tuvo éxito y falló, podemos restaurar el estado de la VM con el comando:
qm rollback 103 "before_upgrade"
Cualquier cambio realizado desde que se tomó la instantánea se descarta (deshace).
Clonación de una máquina virtual
qm clone <vmid> <newid> [--name <newname>] [--full]
El comando qm clone
clona una VM existente para crear una nueva VM con un ID diferente. Puede elegir clonar todo el disco (clon completo) o sólo el almacenamiento vinculado.
qm clone 103 104 --name "DebianClone" --full
Este comando clona la VM con ID 103 en una nueva VM con ID 104, nombrándola«DebianClone«. La opción ––full crea un clon completo, copiando todos los datos.
Redimensionar el disco de una máquina virtual
qm resize <vmid> <disk> <size>
El comando qm resize
se utiliza para cambiar el tamaño de un disco virtual adjunto a una máquina virtual, ya sea ampliándolo o reduciéndolo. Asegúrese de que el sistema operativo huésped puede gestionar el cambio.
qm resize 103 scsi0 +10G
Este comando CLI de Proxmox incrementa el tamaño del disco scsi0 en la VM con ID 103 en 10GB.
2. pve-firewall
El comando pve-firewall
se utiliza para gestionar los ajustes del cortafuegos en el entorno Virtual Proxmox, incluyendo los clusters Proxmox. Este comando CLI de Proxmox proporciona opciones amigables para configurar reglas de cortafuegos y permite a los administradores controlar el tráfico de red hacia y desde nodos, máquinas virtuales y contenedores Proxmox. El cortafuegos Proxmox se integra estrechamente con la interfaz de gestión Proxmox y hace que la gestión del cortafuegos en todo el entorno Proxmox sea más conveniente. La herramienta pve-firewall está desarrollada especialmente para Proxmox VE y utiliza una abstracción de alto nivel para gestionar las reglas del cortafuegos en comparación con el enfoque más granular y manual utilizado en iptables.
Sintaxis:
pve-firewall <command> [options]
Ejecute el comando pve-firewall
para ver el uso del comando principal.
Comprobar el estado
Comprobación del estado del servicio de cortafuegos de Proxmox VE:
pve-firewall status
La salida muestra si el cortafuegos se está ejecutando o no en el nodo actual.
Iniciar el cortafuegos
Iniciando el servicio de cortafuegos en el nodo Proxmox actual:
pve-firewall start
Recargar el cortafuegos
Recargar el servicio de cortafuegos y aplicar los cambios de configuración del cortafuegos sin necesidad de detener e iniciar el servicio de cortafuegos.
pve-firewall reload
Aceptar tráfico SSH
Crear una regla de cortafuegos que acepte tráfico SSH:
pve-firewall create rule -action accept -macro ssh
Este comando crea una regla para permitir el acceso SSH al entorno Proxmox.
Dónde: crear <object> crea un nuevo objeto de cortafuegos, como una regla, un grupo de seguridad o un conjunto de IP.
Eliminar regla
Para eliminar la regla, utilice el comando:
pve-firewall delete rule <rule-id>
Mostrar registro
Muestra el registro del cortafuegos, que muestra el tráfico y las coincidencias de reglas:
pve-firewall log
La salida muestra las entradas de registro de cortafuegos más recientes.
Denegar tráfico HTTP
Para crear una regla de cortafuegos que deniegue cualquier tráfico HTTP, utilice el comando
pve-firewall create rule -action drop -macro http
3. pvesm
El comando pvesm
en Proxmox CLI es la utilidad de línea de comandos que se utiliza para gestionar la configuración de almacenamiento en Proxmox VE. Con esta herramienta de línea de comandos, puede crear, eliminar, modificar y gestionar grupos de almacenamiento. Además, puede realizar varias tareas relacionadas con el almacenamiento, como crear directorios, añadir dispositivos de almacenamiento y gestionar tipos de contenido.
Sintaxis:
pvesm <command> [options]
Almacenamiento de listas
pvesm list <storage>
Donde <storage> es el nombre del conjunto de almacenamiento (almacén de datos) a listar.
Comprobación del estado de todos los grupos de almacenamiento o de grupos específicos
pvesm status
La salida muestra el estado del pool de almacenamiento, incluyendo información sobre si está activo o inactivo, el tipo de almacenamiento y el uso actual.
Creación de un nuevo grupo de almacenamiento
pvesm create <type> <storage-id> --options
Donde:
<tipo> es el tipo de backend de almacenamiento a crear (por ejemplo, dir, lvm, nfs, zfs).
<storage-id> es el nombre único o ID del grupo de almacenamiento.
––options define las opciones adicionales específicas del tipo de almacenamiento.
Ejemplo:
Creación de un nuevo grupo de almacenamiento basado en directorios denominado new-datastore1 ubicado en /mnt/storage-name, que puede almacenar imágenes de VM y archivos ISO:
pvesm create dir new-datastore1 --path /mnt/storage-name --content images,iso
Añadir un backend de almacenamiento existente a Proxmox VE
El principio de este comando es similar al comando pvesm create
, pero en lugar de crear un nuevo almacenamiento, el almacenamiento que ya existe se añade a la configuración de Proxmox para que esté disponible.
Ejemplo:
Adición de un recurso compartido NFS existente ubicado en 192.168.101.100 en /export/data a Proxmox VE con el nombre 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
Modificación de la configuración de un grupo de almacenamiento existente
pvesm set <storage-id> --options
Ejemplo:
Modificar el pool local-storage01 para permitirle almacenar imágenes VM, archivos ISO y archivos de backups:
pvesm set local-storage01 --content images,iso,backup
Asignación de un nuevo volumen en un grupo de almacenamiento especificado para una máquina virtual o contenedor
pvesm alloc <storage-id> <vmid> <size>
Ejemplo:
El comando para asignar un volumen de 10 GB en el pool local-nombre-del-almacenamiento para VM 100:
pvesm alloc local-storage-name 100 10G
4. pveum
El Entorno Virtual de Proxmox le permite crear múltiples usuarios para la gestión de Proxmox VE. Esto se puede hacer con los comandos CLI de Proxmox utilizando el comando pveum
(gestión de usuarios). Los administradores de Proxmox pueden gestionar usuarios y grupos y configurar controles de acceso y permisos. Esto, a su vez, define quién puede tener acceso y está autorizado a realizar acciones en las diferentes partes de la infraestructura de Proxmox. Los administradores pueden asignar permisos para acceder a objetos, como máquinas virtuales, almacenamiento, nodos de clúster, etc.
Sintaxis:
pveum <command> [options]
Añadir el nuevo usuario a Proxmox VE
pveum useradd <userid> --password <password> --comment <comment> --groups <group>
Donde:
––contraseña <password> es la contraseña del nuevo usuario.
––comment <comment> es un comentario o descripción opcional para el usuario.
––groups <group> es el grupo (o grupos) al que debe pertenecer el usuario.
Ejemplo:
pveum useradd user2@pve --password UserSecretPassword111 --comment "user2 – admin group" --groups admin
Este comando se utiliza para añadir un usuario cuyo nombre es user2 al grupo admin con una descripción y establecer la contraseña para este usuario.
Eliminar un usuario
Para eliminar un usuario, utilice el comando pveum
con la misma lógica que para añadir un usuario, por ejemplo:
pveum userdel user3@pve
Este comando se utiliza para eliminar el usuario3 en un host Proxmox.
Crear un GRUPO
Para crear un nuevo grupo en Proxmox CLI, utilice el comando groupadd
.
Sintaxis:
pveum groupadd <groupname> --comment <comment>
Ejemplo:
pveum groupadd support --comment "Support Team Group"
Este comando crea un nuevo grupo llamado support con la descripción«Grupo de equipo de asistencia«.
Eliminar un grupo
De forma similar a eliminar un usuario, puedes eliminar un grupo. Por ejemplo, para eliminar un grupo de invitados, puede utilizar el comando:
pveum groupdel guests
Añadir roles
Los roles se utilizan para definir un conjunto de permisos para los usuarios y grupos a los que se asigna este rol.
Sintaxis:
pveum roleadd <rolename> --privs <privileges>
Donde:
<rolename> es el nombre del rol a crear.
–privs <privilegios> es una lista separada por comas de privilegios para asignar al rol (por ejemplo, VM.PowerMgmt,VM.Config.Disk).
Ejemplo:
pveum roleadd vmmanager --privs VM.PowerMgmt,VM.Config.CDROM
Este comando crea un rol llamado vmmanager con permisos para gestionar los ajustes de energía de la VM y configurar los CD-ROMs.
Modificación de un rol existente
Los administradores pueden modificar los roles y permisos existentes con el comando rolemod
(añadir o eliminar privilegios).
Sintaxis:
pveum rolemod <rolename> --privs <privileges>
Ejemplo:
pveum rolemod vmmanager --privs +VM.Config.Network
Este comando añade el privilegio VM.Config.Redes al rol vmmanager.
Modificación de ACL
Los administradores de Proxmox pueden modificar las Listas de Control de Acceso (ACL) asignando roles a usuarios o grupos en objetos específicos de Proxmox.
Sintaxis:
pveum aclmod <path> --roles <rolename> --users <userid> --groups <groupname>
Donde:
<path> es la ruta del objeto en la que se va a establecer la ACL (por ejemplo, /vms/100 para una VM específica o / para todo el clúster).
––roles <rolename> es el rol a asignar.
––users <userid> es el usuario al que se asigna el rol.
––groups <groupname> es el grupo al que se asigna el rol.
Ejemplo:
pveum aclmod /vms/104 --roles vmmanager --users user4@pve
Este comando asigna el rol vmmanager a user4@pve en VM 104, permitiendo al usuario(user4) gestionar esa VM específica de acuerdo a los privilegios en el rol vmmanager. El comando aclremove
se utiliza para eliminar las ACL de los objetos correspondientes.
Gestión del ámbito de autenticación
Un dominio de autenticación define cómo se autentican los usuarios con el sistema (por ejemplo, utilizando PAM, LDAP o Active Directory). Puede gestionar los reinos de autenticación con el comando realm
en Proxmox VE.
Sintaxis:
pveum realm <command> [options]
Donde el comando puede ser:
list para listar todos los reinos disponibles
add para añadir un nuevo reino
modify para modificar un reino existente
remove para eliminar un reino existente
Por ejemplo, para listar todos los reinos de autenticación configurados en Proxmox VE, utilice el comando:
pveum realm list
Gestionar los usuarios existentes
Puede listar, editar y eliminar usuarios existentes con este comando de usuario.
Sintaxis:
pveum user <command> <userid> [options]
Los comandos pueden ser:
list para listar todos los usuarios
modify para modificar detalles del usuario, como cambiar una contraseña o actualizar el comentario
delete para eliminar un usuario
Por ejemplo, para listar todos los usuarios de un host Proxmox, utilice el comando:
pveum user list
Para ver más comandos y opciones disponibles, ejecute el comando pveum help
en la CLI de Proxmox.
5. pvesh
Mediante el comando pvesh
, los administradores pueden interactuar con la API REST de Proxmox. Esta herramienta de línea de comandos le permite realizar casi cualquier acción que se puede hacer a través de la interfaz web Proxmox directamente desde la CLI Proxmox. El comando pvesh
actúa como un intérprete de comandos para la API REST de Proxmox VE, lo que le permite realizar llamadas a la API utilizando comandos directamente desde la línea de comandos. Con este comando, puede gestionar máquinas virtuales, almacenamiento, redes y otros elementos de la infraestructura virtual de Proxmox.
Sintaxis:
pvesh <command> [options]
Listado de recursos o puntos finales de API
Este comando es similar al comando ls en Linux, pero lista las rutas API disponibles o recursos en el entorno Proxmox VE.
pvesh ls /path
Ejemplo:
pvesh ls /cluster/resources
Este comando lista todos los recursos del cluster Proxmox, incluyendo máquinas virtuales, contenedores y almacenamiento.
Recuperar información
El comando get recupera información de un punto final específico de la API. Este comando se utiliza para consultar los detalles de un recurso.
pvesh get /path
Donde path es la ruta de la API de la que desea recuperar información.
Por ejemplo, para recuperar la información de estado del nodo pve-node1, como la carga de CPU, el uso de memoria y el tiempo de actividad, puede utilizar el comando:
pvesh get /nodes/pve-node1/status
Modificar la configuración
El comando set se utiliza para modificar o actualizar la configuración de un recurso. Esto equivale a realizar una solicitud POST o PUT en la API REST.
Sintaxis:
pvesh set /path --key value [--key value ...]
––key value son los pares clave-valor de los ajustes que desea cambiar.
Ejemplo:
pvesh set /nodes/pve-node1/qemu/100/config --name new-vm-name
Este comando cambia el nombre de VM 100 en el nodo pve-node1 a new-vm-name.
Crear un recurso
El comando crear permite crear un nuevo recurso, como una nueva máquina virtual o volumen de almacenamiento.
Sintaxis:
pvesh create /path --key value [--key value ...]
Por ejemplo, se crea una nueva VM con parámetros específicos con el comando:
pvesh create /nodes/pve-node1/qemu --vmid 106 --name new-vm-name --memory 2048 --cores 2
Este comando crea una nueva VM con ID 106 en el nodo pve-node1, con el nombre new-vm-name, 2 GB de RAM y 2 núcleos de CPU.
Arranque de máquinas virtuales
Existe un comando para iniciar una VM o contenedor con pvesh:
pvesh start /path
Por ejemplo, para iniciar la VM con ID 101 en el nodo pve-node1, puede ejecutar el comando:
pvesh start /nodes/pve-node1/qemu/101
Apagado de la máquina virtual
A diferencia del comando stop, el comando shutdown apaga una VM o contenedor de forma elegante:
pvesh shutdown /path
Por ejemplo, para apagar una máquina virtual con el ID 101 en un host Proxmox, cuyo nombre es pve-node1, utilice el comando:
pvesh shutdown /nodes/pve-node1/qemu/101
Inicio de todas las máquinas virtuales
Para iniciar o detener todas las máquinas virtuales de un nodo o de todo el clúster, puede utilizar el comando correspondiente:
pvesh startall /nodes/<nodename>
pvesh stopall /nodes/<nodename>
6. pvecm
El comando pvecm
es una herramienta para la gestión de clústeres Proxmox que se utiliza para gestionar y configurar un clúster Proxmox. Puede utilizar esta herramienta para crear un cluster así como unir y gestionar los nodos dentro de un cluster Proxmox. Un clúster se gestiona como una única entidad con funciones de configuración, como alta disponibilidad, migración de máquinas virtuales en tiempo real, almacenamiento compartido, etc.
Sintaxis:
pvecm <command> [options]
Para ver todos los comandos compatibles de pvecm
, ejecute este comando:
man pvecm
Creación de un clúster
Para crear un nuevo clúster Proxmox VE, puede utilizar el comando create . Debe ejecutar este comando en el primer nodo (nodo maestro) que formará el cluster.
pvecm create <clustername>
Ejemplo:
El siguiente comando crea un cluster llamado cluster01. Este nodo (donde ejecutamos el comando) se convierte en el nodo maestro del cluster.
pvecm create cluster01
Añadir un nodo a un clúster
Utilice el comando addnode para añadir nuevos nodos a un cluster Proxmox existente. Ejecute este comando en un nodo que desee añadir al clúster.
pvecm add <master-node-ip>
Ejemplo:
Añadir el host Proxmox actual a un cluster controlado por un nodo maestro con la dirección IP 192.168.101.121:
pvecm add 192.168.101.121
De eliminar un nodo de un cluster
El comando delnode se utiliza en la CLI de Proxmox para eliminar un nodo del cluster.
Sintaxis:
pvecm delnode <nodename>
Ejemplo:
El comando para eliminar el nodo llamado pve-node2 del cluster es:
pvecm delnode pve-node2
Listado de todos los nodos de un clúster
El comando para listar todos los nodos del cluster y mostrar su estado, incluyendo los nombres de los nodos y las direcciones IP, es:
pvecm nodes
Configuración del nuevo nodo maestro
Puede configurar otro nodo del clúster para que sea el maestro en un clúster Proxmox:
pvecm setmaster <nodename>
Donde <nodename> es el nombre del nodo que desea designar como maestro.
Visualización del estado del cluster
Puede visualizar el estado de un cluster Proxmox, incluyendo información sobre el quórum, el número de nodos y sus roles.
pvecm status
Ajuste del número previsto de nodos
Puede comprobar cuántos nodos se espera que alcancen el quórum en el clúster con el comando esperado . Es posible que tenga que utilizar este comando cuando algunos nodos del clúster estén temporalmente fuera de línea para evitar interrupciones. El quórum se utiliza para evitar situaciones de «cerebro dividido» cuando diferentes nodos del clúster tienen información contradictoria sobre el estado del clúster.
pvecm expected <number>
7. hamanager
El comando hamanager
se utiliza para gestionar la función de Alta Disponibilidad (HA) para máquinas virtuales después de crear un cluster Proxmox. Esta utilidad de línea de comandos le permite configurar la Alta Disponibilidad para máquinas virtuales críticas y establecer cómo reiniciarlas en un clúster si falla el nodo en el que se están ejecutando. La herramienta hamanager de Proxmox CLI interactúa con Proxmox High Availability Manager.
Sintaxis:
ha-manager <command> [options]
Ver estado
Para ver el estado actual de los recursos de HA puede utilizar el comando:
ha-manager status
La salida muestra información sobre qué máquinas virtuales o CT están configuradas para HA, su estado actual (iniciadas, detenidas), incluido el estado de HA y el estado de conmutación por error, y en qué nodo se están ejecutando.
Activación de HA para una máquina virtual
Sintaxis:
ha-manager add <vmid> --group <groupname> --max-restarts <n> --max-migrate-tries <n>
Donde:
<vmid> es el ID de la VM o CT que desea añadir a HA.
––group <groupname> es el grupo de HA al que debe añadirse el recurso (opcional).
––max-restarts <n> es el número máximo de intentos de reinicio si el recurso falla.
––max-migrate-tries <n> es el número máximo de intentos de migración a otro nodo si el recurso no puede reiniciarse.
Ejemplo:
Añadir una VM con ID 105 al gestor de HA con un máximo de 3 intentos de reinicio y 1 intento de migración en caso de fallo:
ha-manager add 105 --max-restarts 3 --max-migrate-tries 1
Desactivación del estado de HA de una máquina virtual
Utilice el comando remove para desactivar el estado de alta disponibilidad de una máquina virtual y eliminar la VM de la gestión de HA.
ha-manager remove <vmid>
Por ejemplo, para desactivar el estado de HA para la VM con ID 105, ejecute el comando:
ha-manager remove 105
Después de ejecutar el comando, la máquina virtual ya no se gestionará como recurso de alta disponibilidad.
Migración de máquinas virtuales
Puede migrar manualmente una máquina virtual de alta disponibilidad a otro nodo del clúster con el comando migrate :
ha-manager migrate <vmid> <targetnode>
Por ejemplo, para migrar una máquina virtual con ID 106 a un nodo llamado pve-node2, ejecute el comando:
ha-manager migrate 106 pve-node2
8. vzdump
El comando vzdump
se utiliza para crear backups en Proxmox VE con herramientas nativas de Proxmox. Este comando hace backups de máquinas virtuales y contenedores. Los backups se pueden guardar en formato.vma,.tgz o.lzo.
Sintaxis:
vzdump [options] <vmid> [<vmid2> ...]
Donde:
vmid es el ID de una VM o contenedor del que quieres hacer backup.
––mode <mode> define el modo de backup. Hay tres modos de backups compatibles:
- snapshot – toma una instantánea en vivo de una máquina virtual o contenedor Proxmox. Este modo se utiliza por defecto y permite hacer backups cuando una máquina virtual o contenedor está en ejecución.
- suspend: este modo se utiliza para suspender la máquina virtual o el contenedor antes de hacer backup, lo que permite garantizar la coherencia de los datos. El corto tiempo de inactividad causado por este modo es una desventaja.
- stop – detiene la máquina virtual o el contenedor antes de hacer backups. Este enfoque permite preservar la coherencia de los datos de backup, pero requiere un tiempo de inactividad más prolongado.
––compress <type> se utiliza para especificar el método de compresión. Hay tres opciones de compresión compatibles:
- lzo – compresión ligera y rápida para backups de Proxmox (usada por defecto).
- gzip – es un método de compresión más eficaz, pero requiere más tiempo para comprimir los datos (compresión más lenta).
- zstd – Este tipo de compresión utiliza un algoritmo de compresión moderno que ofrece altos ratios de compresión con un rendimiento óptimo.
––storage <storage> especifica el destino de almacenamiento para el archivo de backup. Puede ser un directorio local, un recurso compartido NFS o un grupo de almacenamiento Proxmox.
––maxfiles <n> limita el número de archivos backups a hacer backups. Los backups más antiguos se eliminan automáticamente si se alcanza el límite.
––remove <mode> elimina automáticamente los archivos de backups según el modo especificado. Los modos incluyen:
- old – elimina los backups antiguos cuando se crean nuevos.
- fail – elimina solo los backups fallidos.
Hacer backup de varias máquinas virtuales
Hacer backup de máquinas virtuales con los ID 101, 102 y 103 secuencialmente:
vzdump 101 102 103
Guardar backups con compresión
vzdump 101 --storage local --compress gzip --maxfiles 3
El comando vzdump con estas opciones realiza las siguientes acciones:
- Guarda el backup de la VM 101 en el almacenamiento llamado local. El almacenamiento local puede ser un directorio local en un host Proxmox o un pool de almacenamiento.
- Se utiliza la compresión gzip. Crear un backup cifrado con compresión gzip puede llevar más tiempo, pero al final se obtiene un archivo de backup más pequeño.
- Sólo se conservan los 3 backups más recientes, mientras que los más antiguos se eliminan automáticamente.
Omitir archivos de registro
vzdump 102 --exclude-path /var/log
Hace backups de la VM 102 pero excluye el directorio /var/log, reduciendo el tamaño del backup al omitir los archivos de registro.
Eliminar backups antiguos
vzdump 101 --storage nfs-backup --maxfiles 5 --remove old
Se trata de un backup automatizado con eliminación de backups antiguos. Hace backups de la VM 101, almacena el backup en nfs-backup storage, y guarda sólo los 5 backups más recientes, eliminando cualquier backups antiguo automáticamente.
Hacer backup en modo instantánea
vzdump --all --mode snapshot --storage nfs-backup --bwlimit 20480 --remove old --maxfiles 7
Crear backups (como una copia de seguridad nocturna) de todas las máquinas virtuales y contenedores utilizando el modo de copia de seguridad instantánea. Los backups se guardan en un recurso compartido NFS llamado nfs-backup. El ancho de banda está limitado a 20480 Kbytes por segundo (20 MBps) para evitar la sobrecarga de la red. Sólo se conservan los 7 últimos backups, y los más antiguos se eliminan automáticamente.
9. qmrestore
El comando qmrestore
se utiliza para restaurar máquinas virtuales a partir de backups creados con el comando vzdump
en el entorno virtual Proxmox. Estos comandos vzdump y qmrestore son herramientas nativas de Proxmox para hacer backups y recuperaciones de VM. Un backups puede ser restaurado a una VM nueva o existente.
Sintaxis:
qmrestore [options] <backupfile> <vmid>
Donde:
<backupfile> es la ruta al archivo de backup que desea restaurar. Este archivo se genera normalmente mediante el comando vzdump
y se almacena en un directorio o en un dispositivo de almacenamiento en red.
<vmid> es el ID de la máquina virtual que desea restaurar. Si el ID de la VM ya existe, la VM existente se sobrescribirá a menos que se utilicen opciones específicas para evitarlo.
Opciones del comando:
––force se utiliza para sobrescribir una VM existente con el mismo ID, y no hay pregunta de confirmación. Puede utilizar esta opción para restaurar una máquina virtual cuando no le importe perder el estado actual de la máquina virtual con el mismo ID.
––unique se utiliza para generar un ID de máquina virtual nuevo y único para una máquina virtual restaurada. Considere la posibilidad de utilizar esta opción para restaurar un backup haciendo una nueva máquina virtual sin sobrescribir ninguna máquina virtual existente.
––storage <storage> especifica la ubicación de almacenamiento de destino para las imágenes de disco virtual de la máquina virtual restaurada. Si no se especifica esta opción, la máquina virtual se restaurará en su almacenamiento original o en el almacenamiento predeterminado.
––pool <pool> permite asignar la VM restaurada a un pool de recursos específico en el entorno virtual Proxmox. Los pools de recursos se utilizan para agrupar máquinas virtuales y facilitar su gestión.
––hostname <name> establece el nombre de host de la máquina virtual restaurada. Esta opción es útil si desea establecer un nombre de host para la máquina virtual restaurada diferente del nombre de host original.
––name <name> establece un nombre personalizado para la máquina virtual restaurada (un nombre que se muestra en la interfaz de usuario de Proxmox), diferente del nombre original de la máquina virtual del que se hizo la copia de seguridad.
Restaurar VM a ID original
Restaurar una VM a su ID original:
qmrestore /var/lib/vz/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 101
Este comando restaura el archivo de backup vzdump-qemu-101-2023_08_27-00_00_00.vma a la VM con ID 101. Si ya existe una máquina virtual con ID 101, se sobrescribirá.
Recuperar backups a nueva VM
Restaurando el backups a una nueva VM:
qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 102 --storage local-lvm
Este comando restaura el backup a una nueva VM con ID 102, almacenando sus imágenes de disco en el almacenamiento local-lvm.
Recuperar y cambiar el nombre de host y el nombre de la máquina virtual
Restaura el backup y cambia el hostname y el nombre:
qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 103 --hostname restored-vm --name "MyRestoredVM"
Restaura el backup a una nueva VM con ID 103, cambia el nombre de la VM a MyRestoredVM y establece su nombre de host a restored-vm.
10. proxmox-backup-cliente
El comando proxmox-backup-client
es una utilidad de línea de comandos que se utiliza junto con Proxmox Backup Server, una solución de backup nativa de Proxmox, utilizada para operaciones de backup y restauración. Esta herramienta permite a los administradores proteger máquinas virtuales, contenedores y otros tipos de datos. La herramienta proxmox-backup-client interactúa con un Proxmox Backup Server (PBS) para gestionar backups
Sintaxis:
proxmox-backup-client <command> [options]
La sintaxis básica del comando backups
proxmox-backup-client backup <archive-name> <path> --repository <repository> [options]
Donde:
<archive-name> es el nombre que desea dar al archivo de backups.
<path> define la ruta al directorio o archivos de los que quieres hacer backup.
––repository <repository> es el repositorio de destino en el servidor de backups de Proxmox, normalmente en la forma user@pbs:datastore
Ejemplo:
proxmox-backup-client backup etc.pxar /etc --repository root@pbs@10.10.10.101:datastore1
Este comando hace backups del directorio /etc al datastore1 en el Proxmox Backup Server ubicado en 10.10.10.101. El backup se almacena como un archivo llamado etc.pxar.
La sintaxis básica del comando restaurar
El comando de restauración de las herramientas de línea de comandos proxmox-backup-client
se utiliza para restaurar los datos de un servidor de copia de seguridad Proxmox al sistema local.
proxmox-backup-client restore <archive-name> <path> --repository <repository> [options]
Donde:
<archive-name> es el nombre del archivo que desea restaurar.
<path> es la ruta donde deben restaurarse los datos.
––repository <repository> es el repositorio donde se almacena el backup.
Ejemplo:
proxmox-backup-client restore etc.pxar /restore/etc --repository root@pbs@10.10.10.101:datastore1
Este comando restaura el archivo etc.pxar desde datastore1 en el servidor de backup de Proxmox en 10.10.10.101 al directorio local /restore/etc.
Conclusión
Los comandos CLI de Proxmox son un potente conjunto de herramientas para gestionar el entorno virtual de Proxmox, incluyendo almacenamiento, máquinas virtuales, clusters, backups de VM, etc. Si desea implementar una estrategia integral de backup de máquinas virtuales, instale NAKIVO Backup & Replication y utilice la función de backup sin agente para máquinas virtuales Proxmox VE.