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/