El entorno virtual de Proxmox (VE) se puede gestionar con una interfaz gráfica amigable en un navegador web. Sin embargo, en escenarios específicos, es mejor usar la interfaz de línea de comandos (CLI). La CLI proporciona ventajas como una configuración más detallada, procesamiento por lotes, scripting y automatización.
Existen comandos estándar de Linux y comandos específicos de Proxmox para gestionar entornos virtuales de Proxmox. Esta entrada de blog cubre los 10 principales comandos específicos de Proxmox con ejemplos para una administración efectiva.
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 de Proxmox (Proxmox VE). Las máquinas virtuales en Proxmox están basadas en QEMU/KVM, y el comando qm interactúa con ellas. Puedes crear, editar, configurar, iniciar, detener y migrar VMs con este comando.
La sintaxis general del comando es:
qm [opciones] <comando> [argumentos]
Listar máquinas virtuales
Puedes ver el estado y el ID de la VM. Puede que necesites el ID para gestionar esta VM en la CLI de Proxmox.
qm list
Creando una nueva máquina virtual
Sintaxis general:
qm create <vmid> [opciones]
Ejemplo:
qm create 103 --name "DebianVM" --memory 2048 --net0 virtio,bridge=vmbr0 --sockets 1 --cores 2 --ostype l26
El siguiente comando de la CLI de Proxmox crea una VM con ID 103 llamada “DebianVM” con 2GB de RAM, 1 socket, 2 núcleos y una interfaz de red Virtio conectada a vmbr0. El tipo de sistema operativo es Linux (indicado por l26).
Adjuntando un disco a una VM
qm set 105 --scsi0 local-lvm:32G
Adjunta un disco de 32GB a la VM 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 VM para la instalación de un sistema operativo invitado u otros propósitos.
Configurando el orden de arranque
qm set 105 --boot order=ide2;scsi0
El comando utilizado en este ejemplo configura la VM para arrancar primero desde el CD-ROM (IDE2), luego desde el disco (SCSI0).
Iniciando una máquina virtual
Sintaxis:
qm start <vmid>
Ejemplo:
qm start 103
Iniciando la VM con ID 103
Deteniendo una VM
qm stop <vmid>
Este comando detiene una VM en ejecución de inmediato. Esta forma de detener una VM es la misma que desconectar el cable de alimentación en una máquina física.
qm stop 103
Deteniendo la VM con ID 103.
Apagar una VM en Proxmox CLI
qm shutdown <vmid>
Este comando apaga una VM de manera ordenada, permitiendo que el sistema operativo invitado cierre archivos y termine procesos adecuadamente.
qm shutdown 101
Enviando una señal de apagado a la VM con ID 101.
Migrando una VM a otro nodo
qm migrate <vmid> <targetnode>
Este comando migra una VM de su nodo actual a otro nodo dentro del mismo clúster de Proxmox.
Por ejemplo, para migrar una VM con el ID 103 a node2, podemos usar el comando:
qm migrate 103 node2
Tomando una instantánea de una VM
qm snapshot <vmid> <snapshotname>
El comando crea una instantánea de la VM, 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“. Usar el comando para tomar una instantánea es útil antes de realizar operaciones arriesgadas, como actualizaciones de software.
Restaurando el estado de una VM desde una instantánea
qm rollback <vmid> <snapshotname>
Este comando retrocede una VM a una instantánea anterior, restaurando su estado al momento en que se tomó la instantánea.
Por ejemplo, si la actualización de software dentro de una VM fue fallida y fracasó, 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. Puedes elegir clonar ya sea todo el disco (clon completo) o solo 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.
Ajustar el tamaño del 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 VM, ya sea expandiéndolo o reduciéndolo. Asegúrate de que el sistema operativo invitado pueda manejar el cambio.
qm resize 103 scsi0 +10G
Este comando de la CLI de Proxmox aumenta 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 la configuración del firewall en el entorno virtual de Proxmox, incluidos los clústeres de Proxmox. Este comando de la CLI de Proxmox proporciona opciones amigables para configurar reglas de firewall y permite a los administradores controlar el tráfico de red hacia y desde los nodos de Proxmox, máquinas virtuales y contenedores. El firewall de Proxmox se integra estrechamente con la interfaz de gestión de Proxmox y hace que la gestión del firewall en todo el entorno de 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 de firewall en comparación con el enfoque más granular y manual utilizado en iptables.
Sintaxis:
pve-firewall <comando> [opciones]
Ejecute el comando pve-firewall
para ver el uso principal del comando.
Comprobar el estado
Comprobando el estado del servicio de firewall de Proxmox VE:
pve-firewall status
La salida muestra si el firewall está en ejecución o no en el nodo actual.
Iniciar el firewall
Iniciando el servicio de firewall en el nodo Proxmox actual:
pve-firewall start
Recargar el firewall
Recargando el servicio de firewall y aplicando los cambios en la configuración del firewall sin necesidad de detener e iniciar el servicio de firewall.
pve-firewall reload
Aceptar tráfico SSH
Creando una regla de firewall que acepta tráfico SSH:
pve-firewall create rule -action accept -macro ssh
Este comando crea una regla para permitir el acceso SSH al entorno de Proxmox.
Donde: create <object> crea un nuevo objeto de firewall, como una regla, grupo de seguridad o conjunto de IP.
Eliminar regla
Para eliminar la regla, utiliza el comando:
pve-firewall delete rule <rule-id>
Mostrar registro
Mostrar el registro del firewall, que muestra el tráfico y las coincidencias de reglas:
pve-firewall log
La salida muestra las entradas más recientes del registro del firewall.
Denegar tráfico HTTP
Para crear una regla de firewall que deniegue cualquier tráfico HTTP, utiliza el comando:
pve-firewall create rule -action drop -macro http
3. pvesm
El comando pvesm
en la CLI de Proxmox 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, puedes crear, eliminar, modificar y gestionar grupos de almacenamiento. Además, puedes realizar varias tareas relacionadas con el almacenamiento, como crear directorios, agregar dispositivos de almacenamiento y gestionar tipos de contenido.
Sintaxis:
pvesm <command> [options]
Listar almacenamiento
pvesm list <storage>
Donde <storage> es el nombre del grupo de almacenamiento (datastore) a listar.
Verificando el estado de todos o de grupos de almacenamiento específicos.
pvesm status
La salida muestra el estado del grupo de almacenamiento, incluyendo información sobre si está activo o inactivo, el tipo de almacenamiento y el uso actual.
Creando un nuevo grupo de almacenamiento
pvesm create <type> <storage-id> --options
Donde:
<type> es el tipo de backend de almacenamiento a crear (por ejemplo, dir, lvm, nfs, zfs).
<storage-id> es el nombre o ID único para el grupo de almacenamiento.
––options define las opciones adicionales específicas del tipo de almacenamiento.
Ejemplo:
Creando un nuevo grupo de almacenamiento basado en directorio llamado 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
Agregando 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, se agrega el almacenamiento que ya existe a la configuración de Proxmox para hacerlo disponible.
Ejemplo:
Agregando un recurso compartido NFS existente ubicado en 192.168.101.100 en /export/data a Proxmox VE bajo 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
Modificar la configuración de un grupo de almacenamiento existente
pvesm set <storage-id> --options
Ejemplo:
Modificando el grupo local-storage01 para permitir almacenar imágenes de VM, archivos ISO y archivos de respaldo:
pvesm set local-storage01 --content images,iso,backup
Asignar un nuevo volumen en un grupo de almacenamiento especificado para una VM o contenedor
pvesm alloc <storage-id> <vmid> <size>
Ejemplo:
El comando para asignar un volumen de 10 GB en el grupo de almacenamiento local-storage-name para la VM 100:
pvesm alloc local-storage-name 100 10G
4. pveum
El Entorno Virtual Proxmox permite crear múltiples usuarios para gestionar Proxmox VE. Esto se puede hacer con comandos de la 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 para actuar 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ñadiendo el nuevo usuario a Proxmox VE
pveum useradd <userid> --password <password> --comment <comment> --groups <group>
Donde:
––contraseña <contraseña> es la contraseña para el nuevo usuario.
––comentario <comentario> es un comentario o descripción opcional para el usuario.
––grupos <grupo> es el grupo (o grupos) al que el usuario debería pertenecer.
Ejemplo:
pveum useradd user2@pve --password UserSecretPassword111 --comment "user2 – grupo admin" --groups admin
Este comando se utiliza para agregar 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, utiliza el comando pveum
con la misma lógica que para agregar un usuario, por ejemplo:
pveum userdel user3@pve
Este comando se utiliza para eliminar a user3 en un host de Proxmox.
Crear un grupo
Para crear un nuevo grupo en Proxmox CLI, utiliza el comando groupadd
.
Sintaxis:
pveum groupadd <nombregrupo> --comment <comentario>
Ejemplo:
pveum groupadd soporte --comment "Grupo de Equipo de Soporte"
Este comando crea un nuevo grupo llamado soporte con la descripción “Grupo de Equipo de Soporte“.
Eliminar un grupo
Similar a eliminar un usuario, puedes eliminar un grupo. Por ejemplo, para eliminar un grupo de invitados, puedes usar el comando:
pveum groupdel guests
Agregando 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 <nombre_del_rol> --privs <privilegios>
Donde:
<nombre_del_rol> es el nombre del rol a crear.
––privs <privilegios> es una lista separada por comas de privilegios que se asignarán 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 la configuración de energía de las VM y configurar CD-ROMs.
Modificando un rol existente
Los administradores pueden modificar los roles y permisos existentes con el comando rolemod
(agregar o quitar privilegios).
Sintaxis:
pveum rolemod <nombre_del_rol> --privs <privilegios>
Ejemplo:
pveum rolemod vmmanager --privs +VM.Config.Network
Este comando agrega el privilegio VM.Config.Network al rol vmmanager.
Modificando 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 <ruta> --roles <nombre_rol> --users <id_usuario> --groups <nombre_grupo>
Donde:
<ruta> es la ruta del objeto sobre la que se debe establecer el ACL (por ejemplo, /vms/100 para una VM específica o / para todo el clúster).
––roles <nombre_rol> es el rol que se va a asignar.
––users <id_usuario> es el usuario al que se le asigna el rol.
––groups <nombre_grupo> es el grupo al que se le asigna el rol.
Ejemplo:
pveum aclmod /vms/104 --roles vmmanager --users user4@pve
Este comando asigna el rol vmmanager a user4@pve en la VM 104, permitiendo al usuario (user4) gestionar esa VM específica de acuerdo con los privilegios en el rol vmmanager. El comando aclremove
se utiliza para eliminar ACLs de objetos en consecuencia.
Gestión de dominios de autenticación
Un dominio de autenticación define cómo los usuarios se autentican con el sistema (por ejemplo, usando PAM, LDAP o Active Directory). Puedes gestionar dominios de autenticación con el comando realm
en Proxmox VE.
Sintaxis:
pveum realm <comando> [opciones]
Donde el comando puede ser:
list para listar todos los dominios disponibles
add para agregar un nuevo dominio
modify para modificar un dominio existente
eliminar para eliminar un reino existente
Por ejemplo, para listar todos los reinos de autenticación configurados en Proxmox VE, utiliza el comando:
pveum realm list
Gestionando usuarios existentes
Puedes listar, editar y eliminar usuarios existentes con este comando de usuario.
Sintaxis:
pveum user <comando> <userid> [opciones]
Los comandos pueden ser:
listar para listar todos los usuarios
modificar para modificar los detalles del usuario, como cambiar una contraseña o actualizar el comentario
eliminar para eliminar un usuario
Por ejemplo, para listar todos los usuarios en un host de Proxmox, utiliza el comando:
pveum user list
Para ver más comandos y opciones disponibles, ejecuta el comando pveum help
en Proxmox CLI.
5. pvesh
Al utilizar el comando pvesh
, los administradores pueden interactuar con la API REST de Proxmox. Esta herramienta de línea de comandos te permite realizar casi cualquier acción que se pueda hacer a través de la interfaz web de Proxmox directamente desde la CLI de Proxmox. El comando pvesh
actúa como un shell para la API REST de Proxmox VE, permitiéndote realizar llamadas a la API utilizando comandos directamente desde la línea de comandos. Con este comando, puedes gestionar máquinas virtuales, almacenamiento, red y otros elementos de la infraestructura virtual de Proxmox.
Sintaxis:
pvesh <comando> [opciones]
Listando recursos o puntos finales de la API
Este comando es similar al comando ls en Linux, pero lista las rutas o recursos de API disponibles en el entorno de Proxmox VE.
pvesh ls /path
Ejemplo:
pvesh ls /cluster/resources
Este comando lista todos los recursos en el clúster de Proxmox, incluyendo máquinas virtuales, contenedores y almacenamiento.
Recuperando información
El comando get recupera información de un endpoint de API específico. Este comando se utiliza para consultar un recurso para obtener detalles.
pvesh get /path
Donde path es la ruta de la API de la que deseas 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, puedes usar el comando:
pvesh get /nodes/pve-node1/status
Modificando la configuración
El comando set se utiliza para modificar o actualizar la configuración de un recurso. Esto es equivalente a hacer 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 deseas cambiar.
Ejemplo:
pvesh set /nodes/pve-node1/qemu/100/config --name new-vm-name
Este comando cambia el nombre de la VM 100 en el nodo pve-node1 a new-vm-name.
Creando un recurso
El comando create te permite crear un nuevo recurso, como una nueva VM o volumen de almacenamiento.
Sintaxis:
pvesh create /path --key value [--key value ...]
Por ejemplo, puedes crear 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.
Iniciar VMs
Hay 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, puedes ejecutar el comando:
pvesh start /nodes/pve-node1/qemu/101
Apagar VM
A diferencia del comando stop, el comando shutdown apaga una VM o contenedor de manera ordenada:
pvesh shutdown /path
Por ejemplo, para apagar una VM con el ID 101 en un host Proxmox, cuyo nombre es pve-node1, utiliza el comando:
pvesh shutdown /nodes/pve-node1/qemu/101
Iniciar todas las VMs
Para iniciar o detener todas las VMs en un nodo o en todo el clúster, puedes usar 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 de Proxmox que se utiliza para gestionar y configurar un clúster de Proxmox. Puedes utilizar esta herramienta para crear un clúster, así como para unirte y gestionar los nodos dentro de un clúster de Proxmox. Un clúster se gestiona como una única entidad con características de configuración, como Alta Disponibilidad, migración en vivo de máquinas virtuales, almacenamiento compartido, etc.
Sintaxis:
pvecm <comando> [opciones]
Para ver todos los comandos pvecm
soportados, ejecuta este comando:
man pvecm
Creando un clúster
Para crear un nuevo clúster de Proxmox VE, puedes utilizar el comando create . Debes ejecutar este comando en el primer nodo (nodo maestro) que formará el clúster.
pvecm create <nombre-del-clúster>
Ejemplo:
El comando a continuación crea un clúster llamado cluster01. Este nodo (donde ejecutamos el comando) se convierte en el nodo maestro del clúster.
pvecm create cluster01
Añadiendo un nodo a un clúster
Utiliza el comando addnode para añadir nuevos nodos a un clúster existente de Proxmox. Ejecuta este comando en un nodo que deseas añadir al clúster.
pvecm add <ip-del-nodo-maestro>
Ejemplo:
Añadiendo el host de Proxmox actual a un clúster controlado por un nodo maestro con la dirección IP 192.168.101.121:
pvecm add 192.168.101.121
Eliminando un nodo de un clúster
El comando delnode se utiliza en la CLI de Proxmox para eliminar un nodo del clúster.
Sintaxis:
pvecm delnode <nombre_del_nodo>
Ejemplo:
El comando para eliminar el nodo llamado pve-node2 del clúster es:
pvecm delnode pve-node2
Listando todos los nodos de un clúster
El comando para listar todos los nodos del clúster y mostrar su estado, incluidos los nombres de los nodos y las direcciones IP, es:
pvecm nodes
Configurando el nuevo nodo maestro
Puedes establecer otro nodo del clúster como maestro en un clúster de Proxmox:
pvecm setmaster <nombre_del_nodo>
Donde <nombre_del_nodo> es el nombre del nodo que deseas designar como maestro.
Mostrando el estado del clúster
Puedes mostrar el estado de un clúster de Proxmox, incluida la información sobre el quórum, el número de nodos y sus roles.
pvecm status
Configurando el número esperado de nodos
Puedes verificar cuántos nodos se esperan para lograr el quórum en el clúster con el comando expected. Es posible que necesites usar 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 “split-brain” cuando diferentes nodos del clúster tienen información contradictoria sobre el estado del clúster.
pvecm expected <número>
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 clúster de Proxmox. Esta utilidad de línea de comandos permite configurar la Alta Disponibilidad para VMs críticas y establecer cómo reiniciarlas en un clúster si el nodo en el que se están ejecutando falla. La herramienta hamanager en Proxmox CLI interactúa con el Gestor de Alta Disponibilidad de Proxmox.
Sintaxis:
ha-manager <comando> [opciones]
Visualizando el estado
Para ver el estado actual de los recursos de HA, puedes usar el comando:
ha-manager status
La salida muestra información sobre qué VMs o CTs están configurados para HA, su estado actual (iniciado, detenido), incluyendo el estado de HA y el estado de conmutación por error, y en qué nodo se están ejecutando.
Habilitando HA para una VM
Sintaxis:
ha-manager add <vmid> --group <nombregrupo> --max-restarts <n> --max-migrate-tries <n>
Donde:
<vmid> es el ID de la VM o CT que deseas agregar a HA.
––group <nombregrupo> es el grupo de HA al que se debe agregar 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 ser reiniciado.
Ejemplo:
Añadiendo una VM con ID 105 al administrador 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
Desactivando el estado de HA de una VM
Utiliza el comando remove para desactivar el estado de alta disponibilidad de una máquina virtual y eliminar la VM del administrador de HA.
ha-manager remove <vmid>
Por ejemplo, para desactivar el estado de HA para la VM con ID 105, ejecuta el comando:
ha-manager remove 105
Después de ejecutar el comando, la VM ya no será gestionada como un recurso de alta disponibilidad.
Migración de VM
Puedes migrar manualmente una VM de alta disponibilidad a otro nodo en el clúster con el comando migrate :
ha-manager migrate <vmid> <targetnode>
Por ejemplo, para migrar una VM con ID 106 a un nodo llamado pve-node2, ejecuta el comando:
ha-manager migrate 106 pve-node2
8. vzdump
El comando vzdump
se utiliza para crear copias de seguridad en Proxmox VE con herramientas nativas de Proxmox. Este comando admite la copia de seguridad de VMs y contenedores. Las copias de seguridad pueden guardarse en formato .vma, .tgz o .lzo.
Sintaxis:
vzdump [options] <vmid> [<vmid2> ...]
Donde:
vmid es el ID de una VM o contenedor que deseas respaldar.
––modo <modo> define el modo de copia de seguridad. Hay tres modos de copia de seguridad soportados:
- instantánea – toma una instantánea en vivo de una máquina virtual o contenedor Proxmox. Este modo se utiliza por defecto y permite realizar una copia de seguridad cuando una VM o contenedor está en funcionamiento.
- suspender – este modo se utiliza para suspender la VM o contenedor antes de realizar la copia de seguridad, lo que permite asegurar que los datos sean consistentes. El corto tiempo de inactividad causado por este modo es una desventaja.
- detener – detiene la máquina virtual o contenedor antes de realizar la copia de seguridad. Este enfoque permite preservar la consistencia de los datos de la copia de seguridad, pero requiere un tiempo de inactividad más prolongado.
––comprimir <tipo> se utiliza para especificar el método de compresión. Hay tres opciones de compresión soportadas:
- lzo – compresión ligera y rápida para copia de seguridad Proxmox (utilizada por defecto).
- gzip – este es un método de compresión más eficiente 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 altas tasas de compresión con un rendimiento óptimo.
––almacenamiento <almacenamiento> especifica el destino de almacenamiento para el archivo de copia de seguridad. Esto puede ser un directorio local, un recurso compartido NFS o un grupo de almacenamiento Proxmox.
––maxfiles <n> limita el número de archivos de copia de seguridad a mantener. Las copias de seguridad más antiguas se eliminan automáticamente si se alcanza el límite.
––eliminar <modo> elimina automáticamente los archivos de respaldo según el modo especificado. Los modos incluyen:
- antiguo – elimina respaldos antiguos cuando se crean nuevos.
- fallo – elimina solo respaldos fallidos.
Respaldar múltiples VMs
Respaldar VMs con los IDs 101, 102 y 103 secuencialmente:
vzdump 101 102 103
Guardar respaldo con compresión
vzdump 101 --storage local --compress gzip --maxfiles 3
El comando vzdump con estas opciones realiza las siguientes acciones:
- Guarda el respaldo de la VM 101 en el almacenamiento denominado local. El almacenamiento local podría ser un directorio local en un host Proxmox o un grupo de almacenamiento.
- Se utiliza la compresión gzip. Crear un respaldo cifrado con compresión gzip puede tardar más, pero terminas con un archivo de respaldo más pequeño.
- Solo se mantienen los 3 respaldos más recientes, mientras que los más antiguos se eliminan automáticamente.
Omitir archivos de registro
vzdump 102 --exclude-path /var/log
Respalda la VM 102 pero excluye el /var/log directorio, reduciendo el tamaño del respaldo al omitir archivos de registro.
Eliminar respaldos antiguos
vzdump 101 --storage nfs-backup --maxfiles 5 --remove old
Esta es una copia de seguridad automatizada con la eliminación de copias de seguridad antiguas. Realiza una copia de seguridad de la VM 101, almacena la copia de seguridad en el almacenamiento nfs-backup, y mantiene solo las 5 copias de seguridad más recientes, eliminando automáticamente cualquier copia de seguridad más antigua.
Copia de seguridad en modo instantánea
vzdump --all --mode snapshot --storage nfs-backup --bwlimit 20480 --remove old --maxfiles 7
Creando copias de seguridad (como una copia de seguridad nocturna) de todas las VMs y contenedores utilizando el modo de copia de seguridad instantánea. Las copias de seguridad 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 sobrecargas en la red. Solo se retienen las últimas 7 copias de seguridad, y las copias de seguridad más antiguas se eliminan automáticamente.
9. qmrestore
El comando qmrestore
se utiliza para restaurar máquinas virtuales a partir de copias de seguridad creadas con el comando vzdump
en el entorno virtual de Proxmox. Estos comandos vzdump y qmrestore son herramientas nativas de Proxmox para la copia de seguridad y recuperación de VMs. Una copia de seguridad se puede restaurar en una VM nueva o existente.
Sintaxis:
qmrestore [opciones] <archivo_de_copia_de_seguridad> <vmid>
Donde:
<archivo_de_copia_de_seguridad> es la ruta al archivo de copia de seguridad que deseas restaurar. Este archivo se genera típicamente con el comando vzdump
y se almacena en un directorio o en un dispositivo de almacenamiento en red.
<vmid> es el ID de la VM que deseas restaurar. Si el ID de la VM ya existe, la VM existente será sobrescrita a menos que se utilicen opciones específicas para evitarlo.
Opciones del comando:
––forzar se utiliza para sobrescribir una VM existente con el mismo ID, y no hay pregunta de confirmación. Puedes usar esta opción para restaurar una VM cuando no te importa perder el estado actual de la máquina virtual con el mismo ID.
––único se utiliza para generar un nuevo ID de VM único para una VM restaurada. Considera usar esta opción para restaurar una copia de seguridad creando una nueva VM sin sobrescribir ninguna VM existente.
––almacenamiento <almacenamiento> especifica la ubicación de almacenamiento objetivo para las imágenes de disco virtual de la VM restaurada. Si esta opción no se especifica, la VM se restaurará a su almacenamiento original o al almacenamiento predeterminado.
––grupo <grupo> te permite asignar la VM restaurada a un grupo de recursos específico en el entorno virtual de Proxmox. Los grupos de recursos se utilizan para agrupar máquinas virtuales para una gestión más fácil.
––nombre de host <nombre> establece el nombre de host de la VM restaurada. Esta opción es útil si deseas establecer un nombre de host diferente para la VM restaurada del nombre de host original.
––nombre <nombre> establece un nombre personalizado para la VM restaurada (un nombre que se muestra en la interfaz de usuario de Proxmox), diferente del nombre de VM original que fue respaldado.
Restaurar VM a ID original
Restaurando 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 copia de seguridad vzdump-qemu-101-2023_08_27-00_00_00.vma a la VM con ID 101. Si ya existe una VM con ID 101, será sobreescrita.
Recuperar copia de seguridad a nueva VM
Restaurando la copia de seguridad 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 la copia de seguridad a una nueva VM con ID 102, almacenando sus imágenes de disco en el almacenamiento local-lvm.
Recuperar y cambiar el nombre del host y el nombre de la VM
Restaurando la copia de seguridad y cambiando el nombre del host 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 la copia de seguridad a una nueva VM con ID 103, renombra la VM a MyRestoredVM y establece su nombre de host a restored-vm.
10. proxmox-backup-client
El comando proxmox-backup-client
es una utilidad de línea de comandos utilizada en conjunto con Proxmox Backup Server, una solución de copia de seguridad nativa de Proxmox, utilizada para operaciones de copia de seguridad 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 copias de seguridad
Sintaxis:
proxmox-backup-client <comando> [opciones]
La sintaxis básica del comando de copia de seguridad
proxmox-backup-client backup <nombre-del-archivo> <ruta> --repository <repositorio> [opciones]
Donde:
<nombre-del-archivo> es el nombre que quieres dar al archivo de respaldo.
<ruta> define la ruta al directorio o archivo que deseas respaldar.
––repository <repositorio> es el repositorio de destino en el Proxmox Backup Server, típicamente en la forma de usuario@pbs:datastore
Ejemplo:
proxmox-backup-client backup etc.pxar /etc --repository root@[email protected]:datastore1
Este comando respalda el directorio /etc en el datastore1 del Proxmox Backup Server ubicado en 10.10.10.101. El respaldo se almacena como un archivo llamado etc.pxar.
La sintaxis básica del comando de restauración
El comando de restauración para las herramientas de línea de comandos proxmox-backup-client
se utiliza para restaurar datos desde un Proxmox Backup Server al sistema local.
proxmox-backup-client restore <nombre-del-archivo> <ruta> --repository <repositorio> [opciones]
Donde:
<nombre-del-archivo> es el nombre del archivo que deseas restaurar.
<ruta> es la ruta donde los datos deben ser restaurados.
––repository <repositorio> es el repositorio donde se almacena el respaldo.
Ejemplo:
proxmox-backup-client restore etc.pxar /restore/etc --repository root@[email protected]:datastore1
Este comando restaura el archivo etc.pxar desde datastore1 en el Proxmox Backup Server en 10.10.10.101 al directorio local /restore/etc.
Conclusión
Los comandos de la CLI de Proxmox son un conjunto poderoso de herramientas para gestionar el entorno virtual de Proxmox, incluyendo almacenamiento, máquinas virtuales, clústeres, respaldo de VM, etc. Si deseas implementar una estrategia integral de respaldo de VM, instala NAKIVO Backup & Replication y utiliza la capacidad de respaldo sin agente para las VMs de Proxmox VE.
Source:
https://www.nakivo.com/blog/top-10-proxmox-cli-commands-every-admin-should-know/