Топ 10 команд Proxmox CLI, которые должен знать каждый администратор

Proxmox виртуальная среда (VE) может управляться с помощью удобного графического интерфейса в веб-браузере. Однако в определенных ситуациях лучше использовать интерфейс командной строки (CLI). CLI предоставляет такие преимущества, как более детальная настройка, пакетная обработка, написание сценариев и автоматизация.

Существует стандартные команды Linux и команды, специфичные для Proxmox, для управления виртуальными средами Proxmox. В этом блоге рассматриваются 10 основных команд Proxmox с примерами для эффективного администрирования.

1. qm

Команда qm является одной из основных команд CLI Proxmox, и qm является сокращением от QEMU Manager. Она используется для управления виртуальными машинами (VM) в виртуальной среде Proxmox (Proxmox VE). Виртуальные машины в Proxmox основаны на QEMU/KVM, и команда qm взаимодействует с ними. Вы можете создавать, редактировать, настраивать, запускать, останавливать и мигрировать VM с помощью этой команды.

Общая синтаксис команды:

qm [options] <command> [arguments]

Список виртуальных машин

Вы можете увидеть статус и идентификатор VM. Вам может понадобиться идентификатор для управления этой VM в CLI Proxmox.

qm list

Создание новой виртуальной машины

Общий синтаксис:

qm create <vmid> [options]

Пример:

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

Следующая команда Proxmox CLI создает виртуальную машину с ID 103, названную “DebianVM”, с 2 ГБ оперативной памяти, 1 разъемом, 2 ядрами и сетевым интерфейсом Virtio, подключенным к vmbr0. Тип ОС – Linux (указан l26).

Подключение диска к виртуальной машине

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

Подключает диск объемом 32 ГБ к виртуальной машине с помощью интерфейса SCSI.

Подключение CD-ROM для установки ОС

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

Эта команда подключает ISO-образ Debian к IDE CD-ROM виртуальной машины для установки гостевой операционной системы или других целей.

Настройка порядка загрузки

qm set 105 --boot order=ide2;scsi0

Команда, используемая в этом примере, настраивает виртуальную машину на загрузку сначала с CD-ROM (IDE2), а затем с диска (SCSI0).

Запуск виртуальной машины

Синтаксис:

qm start <vmid>

Пример:

qm start 103

Запуск виртуальной машины с ID 103

Остановка виртуальной машины

qm stop <vmid>

Эта команда немедленно останавливает работающую виртуальную машину. Этот способ остановки виртуальной машины аналогичен вытаскиванию шнура питания у физической машины.

qm stop 103

Остановка виртуальной машины с ID 103.

Выключение виртуальной машины в Proxmox CLI

qm shutdown <vmid>

Эта команда корректно завершает работу виртуальной машины (VM), позволяя гостевой операционной системе закрыть файлы и корректно завершить процессы.

qm shutdown 101

Отправка сигнала завершения работы виртуальной машине с ID 101.

Миграция виртуальной машины на другой узел

qm migrate <vmid> <targetnode>

Эта команда перемещает виртуальную машину с текущего узла на другой узел в том же кластере Proxmox.

Например, чтобы мигрировать виртуальную машину с ID 103 на node2, можно использовать команду:

qm migrate 103 node2

Создание снимка виртуальной машины

qm snapshot <vmid> <snapshotname>

Команда создает снимок виртуальной машины, фиксируя ее текущее состояние, включая память, диски и статус устройств.

qm snapshot 103 "before_upgrade"

Эта команда создает снимок виртуальной машины с ID 103 и называет его “before_upgrade“. Использование команды для создания снимка полезно перед выполнением рискованных операций, таких как обновления программного обеспечения.

Восстановление состояния виртуальной машины из снимка

qm rollback <vmid> <snapshotname>

Эта команда откатывает виртуальную машину к предыдущему снимку, восстанавливая ее состояние до момента, когда был сделан снимок.

Например, если обновление программного обеспечения внутри виртуальной машины завершилось неудачно и потерпело неудачу, мы можем восстановить состояние виртуальной машины с помощью команды:

qm rollback 103 "before_upgrade"

Любые изменения, внесенные с момента создания снимка, отменяются.

Клонирование виртуальной машины

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

Команда qm clone клонирует существующую виртуальную машину, создавая новую виртуальную машину с другим идентификатором. Вы можете выбрать клонировать либо весь диск (полное клонирование), либо только связанное хранилище.

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

Эта команда клонирует виртуальную машину с идентификатором 103 в новую виртуальную машину с идентификатором 104, назвав её “DebianClone“. Опция full создает полное клонирование, копируя все данные.

Изменение размера диска виртуальной машины

qm resize <vmid> <disk> <size>

Команда qm resize используется для изменения размера виртуального диска, прикрепленного к виртуальной машине, как для увеличения, так и для уменьшения. Убедитесь, что гостевая ОС может обработать это изменение.

qm resize 103 scsi0 +10G

Эта команда CLI Proxmox увеличивает размер диска scsi0 на виртуальной машине с идентификатором 103 на 10 ГБ.

2. pve-firewall

Команда pve-firewall используется для управления настройками брандмауэра в виртуальной среде Proxmox, включая кластеры Proxmox. Эта команда CLI Proxmox предоставляет удобные опции для настройки правил брандмауэра и позволяет администраторам контролировать сетевой трафик к узлам Proxmox, виртуальным машинам и контейнерам. Брандмауэр Proxmox интегрирован с интерфейсом управления Proxmox, что делает управление брандмауэром по всей среде Proxmox более удобным. Инструмент pve-firewall разработан специально для Proxmox VE и использует высокоуровневую абстракцию для управления правилами брандмауэра по сравнению с более детальным и ручным подходом, используемым в iptables.

Синтаксис:

pve-firewall <command> [options]

Запустите команду pve-firewall, чтобы увидеть основные параметры использования команды.

Проверка статуса

Проверка статуса службы брандмауэра Proxmox VE:

pve-firewall status

Вывод показывает, работает ли брандмауэр на текущем узле или нет.

Запуск брандмауэра

Запуск службы брандмауэра на текущем узле Proxmox:

pve-firewall start

Перезагрузка брандмауэра

Перезагрузка службы брандмауэра и применение изменений конфигурации брандмауэра без необходимости останавливать и запускать службу брандмауэра.

pve-firewall reload

Прием SSH-трафика

Создание правила брандмауэра, которое принимает SSH-трафик:

pve-firewall create rule -action accept -macro ssh

Эта команда создает правило для разрешения доступа по SSH к окружению Proxmox.

Где: create <object> создает новый объект брандмауэра, такой как правило, группа безопасности или набор IP.

Удалить правило

Чтобы удалить правило, используйте команду:

pve-firewall delete rule <rule-id>

Отобразить журнал

Отобразить журнал брандмауэра, который показывает трафик и совпадения правил:

pve-firewall log

Вывод отображает самые последние записи журнала брандмауэра.

Запретить HTTP-трафик

Чтобы создать правило брандмауэра, которое запрещает любой HTTP-трафик, используйте команду:

pve-firewall create rule -action drop -macro http

3. pvesm

Команда pvesm в Proxmox CLI — это утилита командной строки, которая используется для управления конфигурацией хранения в Proxmox VE. С помощью этого инструмента командной строки вы можете создавать, удалять, изменять и управлять пулами хранения. Кроме того, вы можете выполнять различные задачи, связанные с хранением, такие как создание каталогов, добавление устройств хранения и управление типами контента.

Синтаксис:

pvesm <command> [options]

Список хранилищ

pvesm list <storage>

Где <storage> — это название пула хранения (хранилища), который нужно отобразить.

Проверка статуса всех или конкретных пулов хранения

pvesm status

Вывод отображает статус пула хранения, включая информацию о том, активен он или неактивен, тип хранения и текущее использование.

Создание нового пула хранения

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

Где:

<type> – это тип бэкенда хранения, который нужно создать (например, dir, lvm, nfs, zfs).

<storage-id> – это уникальное имя или ID для пула хранения.

options определяет дополнительные параметры, специфичные для типа хранения.

Пример:

Создание нового пула хранения на основе директории с именем new-datastore1, расположенного по адресу /mnt/storage-name, который может хранить образы ВМ и ISO файлы:

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

Добавление существующего бэкенда хранения в Proxmox VE

Принцип этой команды аналогичен команде pvesm create, но вместо создания нового хранилища, уже существующее хранилище добавляется в конфигурацию Proxmox, чтобы сделать его доступным.

Пример:

Добавление существующей NFS расшаренной папки, расположенной на 192.168.101.100 по адресу /export/data, в Proxmox VE под именем 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

Изменение конфигурации существующего пула хранения

pvesm set <storage-id> --options

Пример:

Изменение пула local-storage01, чтобы разрешить хранение изображений ВМ, ISO-файлов и файлов резервного копирования:

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

Выделение нового тома в указанном пуле хранения для ВМ или контейнера

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

Пример:

Команда для выделения 10 ГБ объема в пуле local-storage-name для ВМ 100:

pvesm alloc local-storage-name 100 10G

4. pveum

Proxmox Virtual Environment позволяет создавать несколько пользователей для управления Proxmox VE. Это можно сделать с помощью команд Proxmox CLI, используя команду pveum (управление пользователями). Администраторы Proxmox могут управлять пользователями и группами, а также настраивать контроль доступа и разрешения. Это, в свою очередь, определяет, кто может получить доступ и имеет право действовать в разных частях инфраструктуры Proxmox. Администраторы могут назначать разрешения на доступ к объектам, таким как виртуальные машины, хранилище, узлы кластера и т. д.

Синтаксис:

pveum <command> [options]

Добавление нового пользователя в Proxmox VE

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

Где:

пароль <password> – это пароль для нового пользователя.

комментарий <comment> – это необязательный комментарий или описание для пользователя.

группы <group> – это группа (или группы), к которым должен принадлежать пользователь.

Пример:

pveum useradd user2@pve --password UserSecretPassword111 --comment "user2 – администраторская группа" --groups admin

Эта команда используется для добавления пользователя с именем user2 в администраторскую группу с описанием и установкой пароля для этого пользователя.

Удаление пользователя

Чтобы удалить пользователя, используйте команду pveum с такой же логикой, как при добавлении пользователя, например:

pveum userdel user3@pve

Эта команда используется для удаления user3 на хосте Proxmox.

Создание группы

Чтобы создать новую группу в Proxmox CLI, используйте команду groupadd.

Синтаксис:

pveum groupadd <groupname> --comment <comment>

Пример:

pveum groupadd support --comment "Группа поддержки"

Эта команда создает новую группу под названием support с описанием “Группа поддержки“.

Удаление группы

Аналогично удалению пользователя, вы можете удалить группу. Например, чтобы удалить группу guests, вы можете использовать команду:

pveum groupdel guests

Добавление ролей

Роли используются для определения набора разрешений для пользователей и групп, которым назначена эта роль.

Синтаксис:

pveum roleadd <rolename> --privs <privileges>

Где:

<rolename> — это имя создаваемой роли.

privs <privileges> — это список привилегий, разделенных запятыми, которые будут назначены роли (например, VM.PowerMgmt,VM.Config.Disk).

Пример:

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

Эта команда создает роль под названием vmmanager с разрешениями на управление настройками питания ВМ и конфигурацию CD-ROM.

Изменение существующей роли

Администраторы могут изменять существующие роли и разрешения с помощью команды rolemod (добавлять или удалять привилегии).

Синтаксис:

pveum rolemod <rolename> --privs <privileges>

Пример:

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

Эта команда добавляет привилегию VM.Config.Network к роли vmmanager.

Изменение ACL

Администраторы Proxmox могут изменять списки контроля доступа (ACL), назначая роли пользователям или группам на конкретных объектах Proxmox.

Синтаксис:

pveum aclmod <путь> --roles <имя_роли> --users <идентификатор_пользователя> --groups <имя_группы>

Где:

<путь> это путь к объекту, для которого нужно установить ACL (например, /vms/100 для конкретной ВМ или / для всего кластера).

roles <имя_роли> это роль, которую нужно назначить.

users <идентификатор_пользователя> это пользователь, которому назначается роль.

groups <имя_группы> это группа, которой назначается роль.

Пример:

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

Эта команда назначает роль vmmanager пользователю user4@pve на ВМ 104, позволяя пользователю (user4) управлять этой конкретной ВМ в соответствии с привилегиями роли vmmanager. Команда aclremove используется для удаления ACL с объектов соответственно.

Управление областью аутентификации

Область аутентификации определяет, как пользователи аутентифицируются в системе (например, с использованием PAM, LDAP или Active Directory). Вы можете управлять областями аутентификации с помощью команды realm в Proxmox VE.

Синтаксис:

pveum realm <команда> [опции]

Где команда может быть:

list для перечисления всех доступных областей

add для добавления новой области

modify для изменения существующей области

удалить для удаления существующей области

Например, чтобы получить список всех настроенных областей аутентификации в Proxmox VE, используйте команду:

pveum realm list

Управление существующими пользователями

Вы можете перечислять, редактировать и удалять существующих пользователей с помощью этой команды пользователя.

Синтаксис:

pveum user <команда> <userid> [опции]

Команды могут быть:

список для перечисления всех пользователей

изменить для изменения данных пользователя, таких как изменение пароля или обновление комментария

удалить для удаления пользователя

Например, чтобы получить список всех пользователей на хосте Proxmox, используйте команду:

pveum user list

Чтобы увидеть больше доступных команд и опций, выполните команду pveum help в CLI Proxmox.

5. pvesh

С помощью команды pvesh администраторы могут взаимодействовать с Proxmox REST API. Этот инструмент командной строки позволяет выполнять почти любое действие, которое можно выполнить через веб-интерфейс Proxmox, непосредственно из CLI Proxmox. Команда pvesh действует как оболочка для REST API Proxmox VE, позволяя вам выполнять API-запросы с помощью команд напрямую из командной строки. С помощью этой команды вы можете управлять виртуальными машинами, хранилищем, сетью и другими элементами виртуальной инфраструктуры Proxmox.

Синтаксис:

pvesh <команда> [опции]

Перечисление ресурсов или конечных точек API

Эта команда похожа на команду ls в Linux, но она перечисляет доступные API пути или ресурсы в среде Proxmox VE.

pvesh ls /path

Пример:

pvesh ls /cluster/resources

Эта команда перечисляет все ресурсы в кластере Proxmox, включая ВМ, контейнеры и хранилище.

Получение информации

Команда get извлекает информацию из конкретной конечной точки API. Эта команда используется для запроса ресурса на детали.

pvesh get /path

Где path – это путь API, из которого вы хотите получить информацию.

Например, чтобы получить информацию о статусе узла pve-node1, такую как загрузка ЦП, использование памяти и время работы, вы можете использовать команду:

pvesh get /nodes/pve-node1/status

Изменение конфигурации

Команда set используется для изменения или обновления конфигурации ресурса. Это эквивалентно выполнению POST или PUT запроса в REST API.

Синтаксис:

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

ключ значение – это пары ключ-значение настроек, которые вы хотите изменить.

Пример:

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

Эта команда изменяет имя ВМ 100 на узле pve-node1 на new-vm-name.

Создание ресурса

Команда create позволяет создавать новый ресурс, такой как новая виртуальная машина или объем хранилища.

Синтаксис:

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

Например, вы создаете новую виртуальную машину с конкретными параметрами с помощью команды:

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

Эта команда создает новую виртуальную машину с ID 106 на узле pve-node1, с именем new-vm-name, 2 ГБ ОЗУ и 2 ядрами процессора.

Запуск ВМ

Существует команда для запуска виртуальной машины или контейнера с помощью pvesh:

pvesh start /path

Например, чтобы запустить виртуальную машину с ID 101 на узле pve-node1, вы можете выполнить команду:

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

Выключение ВМ

В отличие от команды stop, команда shutdown завершает работу виртуальной машины или контейнера корректно:

pvesh shutdown /path

Например, чтобы выключить виртуальную машину с ID 101 на хосте Proxmox, имя которого pve-node1, используйте команду:

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

Запуск всех ВМ

Чтобы запустить или остановить все виртуальные машины на узле или во всем кластере, вы можете использовать соответствующие команды:

pvesh startall /nodes/<nodename>

pvesh stopall /nodes/<nodename>

6. pvecm

Команда pvecm является инструментом для управления кластерами Proxmox, который используется для управления и конфигурации кластера Proxmox. Вы можете использовать этот инструмент для создания кластера, а также для присоединения и управления узлами внутри кластера Proxmox. Кластер управляется как единое целое с конфигурацией таких функций, как высокая доступность, миграция виртуальных машин в реальном времени, общие хранилища и т. д.

Синтаксис:

pvecm <command> [options]

Чтобы увидеть все поддерживаемые команды pvecm, выполните эту команду:

man pvecm

Создание кластера

Чтобы создать новый кластер Proxmox VE, вы можете использовать команду create . Вы должны выполнить эту команду на первом узле (главном узле), который будет формировать кластер.

pvecm create <clustername>

Пример:

Команда ниже создает кластер с именем cluster01. Этот узел (где мы выполняем команду) становится главным узлом кластера.

pvecm create cluster01

Добавление узла в кластер

Используйте команду addnode, чтобы добавить новые узлы в существующий кластер Proxmox. Выполните эту команду на узле, который вы хотите добавить в кластер.

pvecm add <master-node-ip>

Пример:

Добавление текущего хоста Proxmox в кластер, управляемый главным узлом с IP-адресом 192.168.101.121:

pvecm add 192.168.101.121

Удаление узла из кластера

Команда delnode используется в Proxmox CLI для удаления узла из кластера.

Синтаксис:

pvecm delnode <имя_узла>

Пример:

Команда для удаления узла с именем pve-node2 из кластера выглядит так:

pvecm delnode pve-node2

Список всех узлов кластера

Команда для отображения всех узлов кластера и их статуса, включая имена узлов и IP-адреса, выглядит так:

pvecm nodes

Установка нового главного узла

Вы можете назначить другой узел кластера главным в кластере Proxmox:

pvecm setmaster <имя_узла>

Где <имя_узла> — это имя узла, который вы хотите назначить главным.

Отображение статуса кластера

Вы можете отобразить статус кластера Proxmox, включая информацию о кворуме, количестве узлов и их ролях.

pvecm status

Установка ожидаемого количества узлов

Вы можете проверить, сколько узлов ожидается для достижения кворума в кластере с помощью команды expected. Вам может понадобиться использовать эту команду, когда некоторые узлы кластера временно находятся вне сети, чтобы избежать сбоев. Кворум используется для предотвращения ситуаций “разделенного мозга”, когда различные узлы кластера имеют противоречивую информацию о состоянии кластера.

pvecm expected <число>

7. hamanager

Команда hamanager используется для управления функцией высокой доступности (HA) для виртуальных машин после создания кластера Proxmox. Этот инструмент командной строки позволяет настраивать высокую доступность для критически важных ВМ и задавать, как их перезапускать в кластере, если узел, на котором они работают, выходит из строя. Инструмент hamanager в Proxmox CLI взаимодействует с менеджером высокой доступности Proxmox.

Синтаксис:

ha-manager <command> [options]

Просмотр статуса

Чтобы просмотреть текущий статус ресурсов HA, вы можете использовать команду:

ha-manager status

Вывод отображает информацию о том, какие ВМ или CT настроены для HA, их текущее состояние (запущены, остановлены), включая состояние HA и состояние переключения, а также на каком узле они работают.

Включение HA для ВМ

Синтаксис:

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

Где:

<vmid> — это идентификатор ВМ или CT, который вы хотите добавить в HA.

group <groupname> — это группа HA, в которую должен быть добавлен ресурс (необязательно).

max-restarts <n> — это максимальное количество попыток перезапуска, если ресурс выходит из строя.

max-migrate-tries <n> — это максимальное количество попыток миграции на другой узел, если ресурс не может быть перезапущен.

Пример:

Добавление ВМ с ID 105 в менеджер HA с максимальным количеством 3 попыток перезапуска и 1 попыткой миграции в случае сбоя:

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

Отключение статуса HA для ВМ

Используйте команду remove, чтобы отключить статус высокой доступности виртуальной машины и удалить ВМ из менеджера HA.

ha-manager remove <vmid>

Например, чтобы отключить статус HA для ВМ с ID 105, выполните команду:

ha-manager remove 105

После выполнения команды ВМ больше не будет управляться как ресурс высокой доступности.

Миграция ВМ

Вы можете вручную мигрировать высокодоступную ВМ на другой узел в кластере с помощью команды migrate:

ha-manager migrate <vmid> <targetnode>

Например, чтобы мигрировать ВМ с ID 106 на узел с именем pve-node2, выполните команду:

ha-manager migrate 106 pve-node2

8. vzdump

Команда vzdump используется для создания резервных копий в Proxmox VE с помощью нативных инструментов Proxmox. Эта команда поддерживает резервное копирование ВМ и контейнеров. Резервные копии могут сохраняться в формате .vma, .tgz или .lzo.

Синтаксис:

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

Где:

vmid — это ID ВМ или контейнера, который вы хотите сохранить.

mode <mode> определяет режим резервного копирования. Поддерживаются три режима резервного копирования:

  • snapshot – делает живой снимок виртуальной машины или контейнера Proxmox. Этот режим используется по умолчанию и позволяет выполнять резервное копирование, когда ВМ или контейнер работает.
  • suspend – этот режим используется для приостановки ВМ или контейнера перед резервным копированием, что позволяет гарантировать согласованность данных. Кратковременные простои, вызванные этим режимом, являются недостатком.
  • stop – останавливает виртуальную машину или контейнер перед выполнением резервного копирования. Этот подход позволяет сохранить согласованность данных резервной копии, но требует более длительного простоя.

compress <type> используется для указания метода сжатия. Поддерживаются три варианта сжатия:

  • lzo – легкое и быстрое сжатие для резервного копирования Proxmox (используется по умолчанию).
  • gzip – это более эффективный метод сжатия, но требует больше времени для сжатия данных (медленное сжатие).
  • zstd – этот тип сжатия использует современный алгоритм сжатия, предлагающий высокие коэффициенты сжатия с оптимальной производительностью.

storage <storage> определяет целевое хранилище для файла резервной копии. Это может быть локальный каталог, общий ресурс NFS или пул хранилищ Proxmox.

maxfiles <n> ограничивает количество файлов резервной копии, которые необходимо сохранить. Более старые резервные копии автоматически удаляются, если достигнут лимит.

удалить <mode> автоматически удаляет резервные копии в соответствии с заданным режимом. Режимы включают:

  • старые – удаляет старые резервные копии при создании новых.
  • неудачные – удаляет только неудавшиеся резервные копии.

Резервное копирование нескольких ВМ

Резервное копирование ВМ с идентификаторами 101, 102 и 103 последовательно:

vzdump 101 102 103

Сохранить резервную копию с компрессией

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

Команда vzdump с этими параметрами выполняет следующие действия:

  • Сохраняет резервную копию ВМ 101 в хранилище с именем local. Локальное хранилище может быть локальным каталогом на хосте Proxmox или пулом хранения.
  • Используется сжатие gzip. Создание резервной копии, зашифрованной с помощью gzip сжатия, может занять больше времени, но в результате вы получите меньший файл резервной копии.
  • Хранятся только 3 самые новые резервные копии, в то время как более старые автоматически удаляются.

Пропустить файлы журналов

vzdump 102 --exclude-path /var/log

Резервное копирование ВМ 102, но исключая каталог /var/log, что уменьшает размер резервной копии за счет исключения файлов журналов.

Удалить старые резервные копии

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

Это автоматическое резервное копирование с удалением старых резервных копий. Оно делает резервную копию ВМ 101, сохраняет резервную копию в хранилище nfs-backup и хранит только 5 самых последних резервных копий, автоматически удаляя любые более старые.

Резервное копирование в режиме снимка

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

Создание резервных копий (например, ночной резервной копии) всех ВМ и контейнеров с использованием режима резервного копирования снимка. Резервные копии сохраняются в NFS-шаре под названием nfs-backup. Пропускная способность ограничена 20480 Кбайт в секунду (20 МБ/с), чтобы предотвратить перегрузку сети. Хранятся только последние 7 резервных копий, а старые резервные копии автоматически удаляются.

9. qmrestore

Команда qmrestore используется для восстановления виртуальных машин из резервных копий, созданных с помощью команды vzdump в виртуальной среде Proxmox. Эти команды vzdump и qmrestore являются родными инструментами Proxmox для резервного копирования и восстановления ВМ. Резервную копию можно восстановить в новую или существующую ВМ.

Синтаксис:

qmrestore [options] <backupfile> <vmid>

Где:

<backupfile> – это путь к файлу резервной копии, которую вы хотите восстановить. Этот файл обычно генерируется командой vzdump и сохраняется в каталоге или на сетевом устройстве хранения.

<vmid> – это ID ВМ, которую вы хотите восстановить. Если ID ВМ уже существует, существующая ВМ будет перезаписана, если не используются специальные параметры, чтобы этого избежать.

Опции команды:

force используется для перезаписи существующей ВМ с тем же ID, и подтверждающий вопрос не задается. Вы можете использовать этот параметр для восстановления ВМ, если вам не страшно потерять текущее состояние виртуальной машины с тем же ID.

unique используется для генерации нового уникального ID ВМ для восстановленной ВМ. Рассмотрите возможность использования этого параметра для восстановления резервной копии, создав новую ВМ без перезаписи существующих ВМ.

storage <storage> указывает целевое место хранения для образов виртуальных дисков восстановленной ВМ. Если этот параметр не указан, то ВМ будет восстановлена на оригинальное хранилище или на хранилище по умолчанию.

pool <pool> позволяет назначить восстановленную ВМ конкретному пулу ресурсов в виртуальной среде Proxmox. Пулы ресурсов используются для группировки виртуальных машин для упрощения управления.

hostname <name> устанавливает имя хоста для восстановленной ВМ. Этот параметр полезен, если вы хотите установить другое имя хоста для восстановленной ВМ, отличное от оригинального имени хоста.

name <name> устанавливает пользовательское имя для восстановленной ВМ (имя, отображаемое в интерфейсе пользователя Proxmox), отличное от оригинального имени ВМ, которое было сохранено.

Восстановить ВМ на оригинальный ID

Восстановление ВМ на оригинальный ID:

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

Эта команда восстанавливает файл резервной копии vzdump-qemu-101-2023_08_27-00_00_00.vma на ВМ с ID 101. Если ВМ с ID 101 уже существует, она будет перезаписана.

Восстановление резервной копии на новую ВМ

Восстановление резервной копии на новую ВМ:

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

Эта команда восстанавливает резервную копию на новую ВМ с ID 102, сохраняя ее дисковые образы на хранилище local-lvm.

Восстановление и изменение имени хоста и имени ВМ

Восстановление резервной копии и изменение имени хоста и имени:

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

Восстанавливает резервную копию на новую ВМ с ID 103, переименовывает ВМ в MyRestoredVM и устанавливает имя хоста на restored-vm.

10. proxmox-backup-client

Команда proxmox-backup-client является утилитой командной строки, используемой совместно с Proxmox Backup Server, нативным решением для резервного копирования Proxmox, предназначенным для операций резервного копирования и восстановления. Этот инструмент позволяет администраторам защищать виртуальные машины, контейнеры и другие типы данных. Инструмент proxmox-backup-client взаимодействует с сервером резервного копирования Proxmox (PBS) для управления резервными копиями

Синтаксис:

proxmox-backup-client <command> [options]

Основной синтаксис команды резервного копирования

proxmox-backup-client backup <имя-архива> <путь> --repository <репозиторий> [опции]

Где:

<имя-архива> – это имя, которое вы хотите дать архиву резервной копии.

<путь> определяет путь к каталогу или файлу, который вы хотите сохранить.

repository <репозиторий> – это целевой репозиторий на сервере Proxmox Backup, обычно в формате user@pbs:datastore

Пример:

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

Эта команда создает резервную копию каталога /etc в datastore1 на сервере Proxmox Backup, расположенном по адресу 10.10.10.101. Резервная копия хранится в виде архива с именем etc.pxar.

Основной синтаксис команды восстановления

Команда восстановления для командной строки proxmox-backup-client используется для восстановления данных с сервера Proxmox Backup на локальную систему.

proxmox-backup-client restore <имя-архива> <путь> --repository <репозиторий> [опции]

Где:

<имя-архива> – это имя архива, который вы хотите восстановить.

<путь> – это путь, куда данные должны быть восстановлены.

repository <репозиторий> – это репозиторий, где хранится резервная копия.

Пример:

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

Эта команда восстанавливает архив etc.pxar из datastore1 на сервере Proxmox Backup по адресу 10.10.10.101 в локальный каталог /restore/etc.

Заключение

Команды CLI Proxmox являются мощным набором инструментов для управления виртуальной средой Proxmox, включая хранилища, виртуальные машины, кластеры, резервное копирование ВМ и т. д. Если вы хотите реализовать комплексную стратегию резервного копирования ВМ, установите NAKIVO Backup & Replication и используйте возможность резервного копирования без агентов для ВМ Proxmox VE.

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