Proxmox Backup Server (PBS): интеграция с Proxmox VE и базовые операции
Proxmox Backup Server — это решение на основе Debian, которое делает резервное копирование простым. С его помощью вы можете бэкапить виртуальные машины, контейнеры, содержимое физических хостов. PBS устанавливается на голое железо. Все необходимые инструменты собраны в одном дистрибутиве.
Proxmox Backup Server оптимизирован для платформы Proxmox Virtual Environment. С помощью этой связки вы можете:
- Безопасно бэкапить и реплицировать данные.
- Управлять резервным копированием через графический интерфейс и командную строку.
Еще один очень приятный момент. Proxmox Backup Server — бесплатное ПО.
- Основные возможности
- Роль пользователя и разрешение группы
- Рекомендуемые системные требования
- Установка сервера
- Установка на Debian
- Создать пользователя
- Создать хранилище
- Сохранить Fingerprint
- Добавить сервер
- Бэкап и восстановление
- Заключение
- Введение
- Архитектура и основные функции
- Причины резервного копирования данных
- Получение помощи и Лицензирование
- История
- Системные требования
- Debian репозитории
- PBS репозиторий с подпиской
- PBS репозиторий без подписки
- PBS тестовый репозиторий
- Установка используя установщик
- Установка на Debian
- Установка на Proxmox VE
- Установка клиента
- Содержимое резервной копии
- Архивы образов: <имя> .img
- Файловые архивы: <имя> .pxar
- Бинарные данные (BLOB)
- Каталог файлов: catalog.pcat1
- Тип резервной копии
- ID резервной копии
- Время создания резервной копии
- Группа резервной копии
- Снимок резервной копии
- Графический пользовательский интерфейс
- Обзор
- Управление дисками
- Хранилище данных
- Управление сетью
- Настройка пользователей
- API токены
- Управление доступом
- Права API токенов
- Двухфакторная аутентификация
- Доступные вторые факторы
- Remote (сервер PBS для синхронизации)
- Задания синхронизации
- Обрезка
- Обрезка по расписанию
- Сборка мусора
Основные возможности
Потеря или повреждение данных из-за удаления, программ-вымогателей или других опасностей может произойти в любое время. Поэтому регулярное резервное копирование важных данных имеет решающее значение.
Для повышения производительности и достижения целей создавайте резервные копии данных с помощью Proxmox Debian. Такие бэкапы будут занимать минимальное пространство, вы сможете мгновенно их восстанавливать и эффективно сокращать рабочее время благодаря упрощенному управлению.
Роль пользователя и разрешение группы
Backup Proxmox защищает данные от несанкционированного доступа. Диапазон параметров управления доступом гарантирует, что пользователи ограничены только тем уровнем, который им необходим. Например, маркетологам ни к чему иметь доступ к копиям бухгалтерской отчетности, а бухгалтерам — видеть бэкапы кода основного продукта.
Для удобства можно использовать несколько областей аутентификации: OpenID Connect, Linux PAM, отдельный сервер аутентификации. Администратор точно определяет, что каждому пользователю разрешено делать, а что — запрещено.
PBS поставляется с графическим интерфейсом, через который администратор управляет сервером. Для продвинутых пользователей, привыкших к удобству оболочки Unix, Proxmox предоставляет интерфейс командной строки для выполнения специальных или очень сложных задач.
Кроме того, Proxmox Backup Server использует RESTful API. Основной формат данных — JSON. Весь API формально определен с использованием его схемы. Это обеспечивает быструю и простую интеграцию со сторонними инструментами управления.
Важно не только иметь доступ к бэкапам, но и оставаться уверенным в том, что информация не была скомпрометирована. Чтобы дать такую уверенность, PBS надежно шифрует backup Linux. Это гарантирует безопасность даже не на полностью доверенных хостах — например, на арендованном сервере. Никто, кроме владельца, не сможет расшифровать и прочитать сохраненную информацию.
Зачем восстанавливать все данные, если можно восстановить только нужные? Чтобы уменьшить накладные расходы, PBS поставляется с каталогом моментальных снимков для навигации. Вы можете быстро исследовать содержимое архива, а также мгновенно восстанавливать отдельные объекты.
Рекомендуемые системные требования
ЦП: 64-разрядный процессор на базе AMD или Intel с не менее чем 4 ядрами.
Память: хотя бы 4 ГБ для системы, кэша файловой системы и демонов. Будет отлично, если вы добавите как минимум один гигабайт на каждый терабайт дискового объема.
Для хранения требуется от 32 ГБ свободного пространства. В документации рекомендуется использовать аппаратный RAID. В качестве резервного хранилища рекомендуется использовать только твердотельные накопители.
Установка сервера
Для хранения резервных копий вам нужен сервер. На него вы установите PBS. Управлять этой конструкцией можно будет через графический интерфейс или командную строку — как вам будет удобно.
Самый простой способ накатить систему резервного копирования на сервер — использовать (файл ISO). В этом дистрибутиве представлены все необходимые компоненты для полноценной работы:
- Операционная система со всеми зависимостями.
- Ядро Proxmox Linux с поддержкой ZFS.
- Инструменты, которые помогают управлять резервными копиями и другими ресурсами.
- Интерфейс для управления.
Установка с помощью диска очень простая. Если ставили когда-нибудь любую операционную систему, точно справитесь. Мастер инсталляции поможет разбить диск на разделы, настроить базовые параметры вроде часового пояса, языка и сети для выхода в интернет. В процессе установки вы добавите все необходимые пакеты, которые и превращают обычную Debian в систему для управления резервным копированием.
Важный момент: PBS использует сервер целиком. При установке все другие данные будут удалены. Вы создаете сервер, который будет решать одну задачу — управление резервным копированием.
Настройка отдельного сервера — это еще и вопрос безопасности. В таком случае вы получите доступ к резервным копиям, даже если другие элементы распределенной системы перестанут работать. Для надежного сохранения бэкапов также можно использовать сетевое хранилище на
Установка на Debian
Допустим, у вас уже есть сервер с установленной Debian. В таком случае установка Proxmox возможна по другому сценарию. Не нужно переустанавливать ОС, просто добавьте недостающие пакеты. Они отлично встанут поверх стандартной сборки.
Proxmox download, введите в командной строке Debian следующие команды:
apt-get install proxmox-backup-server
Так вы установите пакеты в минимальной конфигурации. Если хотите получить такой же набор, как при использовании установщика, то выполните:
apt-get update
apt-get install proxmox-backupТак вы установите пакеты из максимальной конфигурации, ядро с поддержкой ZFS и набор полезных инструментов. По сути, это то же самое, что использовать образ диска.
Proxmox VE инсталляция выполняется командами:
apt-get update
apt-get install proxmox-backup-serverПосле установки можно сразу подключиться к Proxmox Web Interface через браузер, используя HTTPS на Proxmox port 8007. Например, по адресу https://<ip-or-dns-name>:8007.
Вы также можете отдельно установить Proxmox Backup Client. Для этого необходимо настроить репозиторий клиента на основе APT и выполнить команды:
apt-get update
apt-get install proxmox-backup-clientЭто рекомендации по стандартной установке. Если необходимо настроить индивидуальную конфигурацию, например с Proxmox DHCP, ищите решение в
Прежде чем делать бэкап сервера, необходимо выполнить предварительную настройку.
Создать пользователя
Proxmox настройка выполняется через удобный интерфейс. Давайте создадим первого пользователя:
- Раскройте вкладку Configuration — Access Control.
- Добавьте нового юзера.
Создать хранилище
Следующий шаг — создание репозиториев. Благодаря им вы сможете распределить данные по своим критериям. Например, сделать для PostgreSQL инкрементальный бэкап, отдельно хранить сохраненные с помощью Proxmox Ubuntu данные и файлы. Для этого нужно использовать процедуру Proxmox Add Disk
- Выберите диск и инициализируйте его, нажав на Initialize Disk with GPT.
- Перейдите в Directory — Create:Directory и создайте каталог для хранения данных.
- Укажите имя хранилища данных и абсолютный путь к каталогу. Если вы установите флажок Add as Datastore, то новое хранилище данных будет немедленно подключено в качестве объекта хранилища данных.
Сохранить Fingerprint
По умолчанию в PBS используется самоподписанный SSL-сертификат. Чтобы в будущем можно было установить доверенное соединение между клиентом и сервером, необходимо сохранить отпечаток сервера. Без него подключиться не получится — это один из механизмов безопасности.
В ответ вернется строка, в которой указан уникальный отпечаток. В дальнейшем вы сможете использовать его для установления соединения с backup server.
Добавить сервер
Добавить хранилище можно как напрямую из веб-интерфейса Proxmox VE (Datacenter — Storage — Add), так и вручную, через консоль. Попробуйте второй вариант. Он дает больше гибкости при настройке.
Если вы не хотите вводить пароль в виде обычного текста, вы можете передать параметр --password без каких-либо аргументов. Это заставит программу запрашивать пароль при вводе команды.
Если ваш сервер резервного копирования использует самоподписанный сертификат, необходимо добавить отпечаток сертификата в конфигурацию. Сам отпечаток вы получили ранее командой:
Чтобы установить доверительные отношения с Backup Server Linux, добавьте отпечаток в конфигурацию:
После параметра --fingerprint вставьте тот отпечаток, который вы получили.
Проверить состояние хранилища можно командой:
pvesm status --storage store2Через веб-интерфейс вы увидите хранилище в списке виртуальных машин и резервных копий контейнеров, доступных для хранения данных, а также статистику использования. Пришло время сделать первую резервную копию.
Бэкап и восстановление
Допустим, у вас есть LXS-контейнер с запущенной Ubuntu внутри. Чтобы сделать его бэкап:
- Откройте раздел Backup.
- Выберите нужный Storage.
- Нажмите Backup now.
- Выберите тип резервной копии.
Если вы зайдете на сервер PBS, то сможете посмотреть информацию о выполненном задании резервного копирования.
Чтобы проверить работоспособность бэкапа, удалите контейнер с Ubuntu, а затем выполните восстановление.
- В веб-интерфейсе PVE перейдите в Storage.
- Откройте вкладку Content.
- Выберите файл резервной копии.
Для восстановления контейнера выберите место, новый идентификатор (по умолчанию он будет таким же, как на момент создания резервной копии), а также ограничение на чтение данных. Это позволит избежать перегрузки входного канала сервера виртуализации. Нажмите Restore и запустите контейнер.
Благодаря быстрому созданию бэкапов и восстановлению с помощью Proxmox перенос виртуальной машины.
Бэкап виртуальный машины ничем не отличается от создания резервной копии контейнера. Восстановление выполняется аналогичным образом. Вы указываете нужный бэкап, место для его развертывания и решаете, стоит ли включить машину сразу после завершения процедуры.
Если нужна не вся копия, а только отдельные файлы, то их тоже можно восстановить через веб-интерфейс PBS.
Заключение
Настроив с помощью Proxmox резервное копирование, вы можете быть уверены в том, что виртуальные машины или контейнеры не будут потеряны, например, в случае сбоя носителя. Теперь их легко вернуть практически без хлопот. Все, что нужно сделать для этого — смонтировать новый хост, добавить хранилище данных и запустить восстановление.
В этой статье представлен перевод документации по Proxmox Backup Server. Оригинал документации доступен по этой ссылке!
Введение
Proxmox Backup Server – это сервер корпоративного класса для создания резервных копий. Он может сохранять виртуальные машины, контейнеры и данные с физических серверов.
Прежде всего пробежимся по основным особенностям для этого сервера:
- оптимизирован для ProxmoxVE;
- позволяет синхронизировать резервные копии с другими серверами Proxmox BS;
- простое управление с помощью веб-интерфейса;
- поддерживает дедупликацию, сжатие и шифрование.
В качестве языка программирования использовался RUST. Это гарантирует высокую производительность, низкое потребление ресурсов и качественную кодовую базу.
Все взаимодействия между клиентом и сервером шифруются используя TLS, кроме того данные могут быть зашифрованы на стороне клиента перед отправкой на сервер. Это позволяет сделать резервное копирование более безопасным.
Архитектура и основные функции
Proxmox BS использует клиент-серверную модель. Сервер не только хранит резервные копии, а также обеспечивает безопасность хранения, предоставляет API для создания хранилищ и управления ими. Дополнительно можно управлять дисками, сетью и другими серверными ресурсами.
Клиент резервного копирования использует API для доступа к резервным копиям. С помощью инструмента командной строки proxmox-backup-client вы можете создавать резервные копии и восстанавливать данные. Более того, в Proxmox VE клиент уже встроен.
Одна резервная копия может содержать несколько архивов. Например, при резервном копировании виртуальной машины (VM) каждый диск сохраняется как отдельный архив внутри резервной копии. А конфигурация VM хранится в виде дополнительного файла. В результате можно восстановить только важные части резервной копии без необходимости сканировать её всю.
Proxmox BS состоит из нескольких компонентов:
- Служба сервера, предоставляющая, помимо прочего, RESTful API, сверхбыстрые асинхронные задачи, облегченный сбор статистики, планирование событий, строгое разделение привилегированных и непривилегированных сред выполнения.
- Веб-интерфейс управления написанный на JavaScript.
- Инструмент командной строки для управления сервером (proxmox-backup-manager).
- Инструмент командной строки для создания резервных копий (proxmox-backup-client) доступный для любого 64-разрядного Linux.
Все, кроме веб-интерфейса, написано на языке Rust.
- Поддержка Proxmox VE – вы можете легко создавать резервные копии виртуальных машин и контейнеров.
- Производительность – программный стек написан на Rust, что обеспечивает высокую скорость и эффективную работы с памятью.
- Дедупликация – позволяет избежать избыточности и уменьшить используемое пространство для хранения.
- Инкрементные резервные копии – изменения между резервными копиями обычно невелики, чтение и отправка только дельты уменьшает влияние на хранилище и сеть.
- Целостность данных – встроенный алгоритм контрольной суммы SHA256 обеспечивает согласованность резервных копий.
- Удаленная синхронизация – можно синхронизировать данные с удаленными серверами PBS, при этом данные передаются инкрементально.
- Сжатие – сверхбыстрое сжатие Zstandard способно сжимать несколько гигабайт данных в секунду.
- Шифрование – резервные копии могут быть зашифрованы на стороне клиента с использованием AES-256 в режиме Galois / Counter Mode (GCM). Кроме того все данные передаются через безопасное соединение TLS.
- Веб-интерфейс – управляйте сервером с помощью встроенного веб-интерфейса.
- Открытый исходный код – это бесплатное программное обеспечение с открытым исходным кодом под лицензией AGPL, v3.
- Поддержка Enterprise – подписка на Proxmox Backup – это дополнительная сервисная программа, предназначенная для того, чтобы помочь поддерживать свои сервера в актуальном состоянии и получать помощь от технических экспертов.
Причины резервного копирования данных
Основная цель резервного копирования – защита от потери данных. Потеря данных может быть вызвана как неисправным оборудованием, так и человеческой ошибкой. Распространенной ошибкой является случайное удаление файла или папки, которые все еще необходимы. Виртуализация может усугубить эту проблему, так как для удаления виртуальной машины достаточно нажать одну кнопку.
Для администраторов резервные копии могут служить полезным инструментом для временного хранения данных. Например, принято выполнять резервное копирование перед установкой каких-либо обновлений, если что-то пойдет не так, вы легко сможете восстановить предыдущее состояние.
Еще одна причина для резервного копирования – требования законодательства. Некоторые данные по закону должны храниться в надежном месте в течение нескольких лет, чтобы к ним можно было получить доступ в случае необходимости.
Как правило, потеря данных обходится очень дорого, поэтому убедитесь, что вы выполняете регулярное резервное копирование и запускаете тесты восстановления.
Получение помощи и Лицензирование
Авторские права принадлежат: Proxmox Server Solutions GmbH. Proxmox BS – это бесплатное программное обеспечение с открытым исходным кодом: вы можете использовать его, распространять или изменять в соответствии с условиями лицензии GNU, опубликованной Free Software Foundation.
Вы должны были получить копию лицензии вместе с этой программой. Если нет, см. AGPL3.
История
Резервное копирование было и всегда будет центральным аспектом IT-администрирования. Более того, с использованием виртуализации важность резервных копий увеличивается. Поэтому мы с самого начала поставляем инструмент резервного копирования с Proxmox VE. Этот инструмент называется vzdump и может делать резервные копии контейнеров LXC и виртуальных машин KVM.
Однако vzdump позволяет делать только полные резервные копии. Это становится проблемой для пользователей с большими виртуальными машинами. Чтобы решить эту проблему, мы предложили дедупликацию и инкрементное резервное копирование.
Еще в октябре 2018 года началась разработка, а уже в июле 2020 года мы выпустили первую бета-версию Proxmox BS, а в ноябре 2020 года – первую стабильную версию.
Системные требования
Мы рекомендуем использовать высококачественное серверное оборудование в производственной среде. Чтобы еще больше снизить влияние отказавшего хоста, вы можете настроить периодическую синхронизацию хранилища данных с другими экземплярами Proxmox BS.
Минимальные системные требования:
- ЦП: 64-разрядный, 2 ядра
- Память: 2 ГБ
- Жесткий диск: более 8 ГБ свободного места
- Сетевая карта
Рекомендованные системные требования:
- ЦП: современный 64-разрядный, 4+ ядра
- Память: минимум 4 ГБ для ОС. Добавьте 1 ГБ на 1 ТБ хранилища.
- Хранилище ОС:
- 32 ГБ или более свободного места;
- аппаратный RAID с защищенным от батареи кешем записи (BBU) или ZFS с резервированием.
- Хранилище резервных копий:
- для достижения наилучших результатов используйте только SSD;
- если используются жесткие диски то настоятельно рекомендуется использовать кеш метаданных.
- Сетевые карты с высокой пропускной способностью.
Для доступа к веб-интерфейсу подойдет любой современный браузер.
Debian репозитории
Все системы на основе Debian используют APT в качестве пакетного менеджера. Списки репозиториев определены в /etc/apt/sources.list, а дополнительные файлы .list находятся в каталоге /etc/apt/sources.d/. Обновления можно установить с помощью командной строки apt или через web-интерфейс.
В файлах .list построчно указываются репозитории пакетов, причем наиболее предпочтительный источник указывается первым.
Например файл /etc/apt/sources.list:
deb http://ftp.debian.org/debian buster main contrib deb http://ftp.debian.org/debian buster-updates main contrib # security updates deb http://security.debian.org/debian-security buster/updates main contrib
Кроме того, вам понадобится репозиторий от Proxmox для получения обновлений ProxmoxBS.
Файлы в репозиториях подписаны. APT использует эти подписи для проверки того, что все пакеты получены из надежного источника. Если вы устанавливаете Proxmox BS из официального ISO-образа, ключ проверки уже установлен. Если вы устанавливаете Proxmox BS поверх Debian, загрузите и установите ключ с помощью следующей команды:
# wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
Затем проверьте контрольные суммы с помощью:
# sha512sum /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg acca6f416917e8e11490a08a1e2842d500b3a5d9f322c6319db0927b2901c3eae23cfb5cd5df6facf2b57399d3cfa52ad7769ebdd75d9 /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg # md5sum /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg f3f6c5a3a67baf38ad178e5ff1ee270c /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
PBS репозиторий с подпиской
Это стандартный, стабильный и рекомендуемый репозиторий. Он доступен для всех пользователей подписки Proxmox Backup. Он содержит самые стабильные пакеты и подходит для производственного использования. Репозиторий pbs-enterprise по умолчанию включен.
deb https://enterprise.proxmox.com/debian/pbs buster pbs-enterprise
Вы можете отключить этот репозиторий, закомментировав приведенную выше строку, если у вас нет ключа подписки. В этом случае настройте репозиторий pbs-no-subscription.
PBS репозиторий без подписки
Как следует из названия, вам не нужен ключ подписки для доступа к этому репозиторию. Его можно использовать для тестирования и непроизводственного использования. Не рекомендуется использовать его на производственных серверах, потому что эти пакеты не всегда тщательно тестируются и проверяются.
Мы рекомендуем настроить этот репозиторий в /etc/apt/sources.list:
deb http://ftp.debian.org/debian buster main contrib # pbs-no-subscription repository deb http://download.proxmox.com/debian/pbs buster pbs-no-subscription # security updates deb http://security.debian.org/debian-security buster/updates main contrib
PBS тестовый репозиторий
Этот репозиторий содержит последние пакеты и активно используется разработчиками для тестирования новых функций, поэтому он не рекомендуется для использования в рабочей среде. Вы можете получить доступ к этому репозиторию, добавив следующую строку в /etc/apt/sources.list:
deb http://download.proxmox.com/debian/pbs buster pbstest
Установка используя установщик
Образ диска (файл ISO), предоставленный Proxmox, включает полную систему Debian («buster» для версии 1.x), а также все необходимые пакеты для сервера Proxmox Backup.
Установщик проведет вас через процесс установки и позволит вам:
- разбить локальный диск или диски;
- применить базовые конфигурации системы: часовой пояс, язык, сеть;
- установить все необходимые пакеты.
Установщик поможет вам начать работу всего за несколько минут и является рекомендуемым методом установки.
Загрузите ISO с https://www.proxmox.com/downloads. Он включает программу установки, которая разбивает локальные диски с помощью ext4, xfs или ZFS и устанавливает операционную систему с полным набором инструментов для резервного копирования и ядром с поддержкой ZFS. В процессе установки по умолчанию все существующие данные удаляются.
Установка на Debian
В качестве альтернативы Proxmox BS можно установить поверх существующей системы Debian. После настройки репозиториев необходимо запустить:
# apt-get update # apt-get install proxmox-backup-server
Приведенные выше команды сохраняют текущее ядро и устанавливают минимальный набор необходимых пакетов.
Если вы хотите установить тот же набор пакетов, что и установщик, используйте следующее:
# apt-get update # apt-get install proxmox-backup
Это установит все необходимые пакеты и ядро Proxmox с поддержкой ZFS.
Осторожно! Установка Proxmox BS поверх существующей установки Debian выглядит просто, но предполагает, что базовая система и локальное хранилище были настроены правильно. В общем, это нетривиально, особенно при использовании LVM или ZFS. Конфигурация сети также полностью зависит от ваших предыдущих настроек.
Вы можете получить доступ к веб-интерфейсу Proxmox BS с помощью веб-браузера, используя HTTPS на порту 8007 (https: // <ip>:8007).
Установка на Proxmox VE
После настройки репозиториев необходимо запустить:
# apt-get update # apt-get install proxmox-backup-server
Внимание! Не рекомендуется устанавливать сервер резервного копирования непосредственно на гипервизор. Для хранения резервных копий безопаснее использовать отдельный физический сервер. Если сервер гипервизора выйдет из строя, вы все равно сможете получить доступ к резервным копиям.
Установка клиента
Для установки клиента на Debian, после настройки репозиториев необходимо запустить:
# apt-get update # apt-get install proxmox-backup-client
Содержимое резервной копии
При дедупликации существуют разные стратегии для получения оптимальных результатов с точки зрения производительности или скорости. В зависимости от типа данных их можно разделить на блоки фиксированного или переменного размера.
Разделение на фрагменты фиксированного размера требует минимальной мощности процессора и используется для резервного копирования образов виртуальных машин.
Для фрагментов переменного размера требуется больше мощности процессора, но оно необходимо для обеспечения хорошей скорости дедупликации для файловых архивов.
Сервер резервного копирования Proxmox поддерживает обе стратегии.
Архивы образов: <имя> .img
Это используется для образов виртуальных машин и других больших двоичных данных. Контент разбивается на фрагменты фиксированного размера (chunks).
Файловые архивы: <имя> .pxar
В файловом архиве хранится полное дерево каталогов. Контент хранится с использованием формата архива файлов Proxmox (.pxar), разбитого на блоки переменного размера. Формат оптимизирован для достижения хороших показателей дедупликации.
Бинарные данные (BLOB)
Этот тип используется для хранения двоичных данных меньшего размера (<16 МБ), например файлов конфигурации. Файлы большего размера следует хранить как архив образа.
Осторожно! Пожалуйста, не храните все файлы как большие двоичные объекты. Вместо этого используйте файловый архив для хранения целых деревьев каталогов.
Каталог файлов: catalog.pcat1
Файл каталога – это индекс для файловых архивов. Он содержит список файлов и используется для ускорения операций поиска.
Манифест содержит список всех файлов резервных копий, их размеры и контрольные суммы. Он используется для проверки целостности резервной копии.
Тип резервной копии
Сервер резервного копирования группирует резервные копии по типу, где тип может быть одним из:
- vm – используется для виртуальных машин, обычно состоит из файла конфигурации виртуальной машины и архива образов для каждого диска;
- ct – используется для контейнеров, состоит из конфигурации контейнера и одного файлового архива для содержимого файловой системы;
- host – используется для резервных копий данных с физического сервера, обычно это может быть физический хост, но также может быть виртуальная машина или контейнер. Такие резервные копии могут содержать файловые архивы и архивы образов, ограничений на это нет.
ID резервной копии
Уникальный идентификатор. Обычно это идентификатор виртуальной машины или контейнера. Резервные копии типа хоста обычно используют имя хоста.
Время создания резервной копии
Время, когда была сделана резервная копия.
Группа резервной копии
Кортеж <type> / <ID> называется группой резервной копии. Такая группа может содержать один или несколько снимков резервных копий.
Снимок резервной копии
Тройка <тип> / <ID> / <время> называется снимком резервной копии. Он однозначно определяет конкретную резервную копию в хранилище данных.
Примеры снимков резервной копии:
vm / 104 / 2019-10-09T08: 01: 06Z host / elsa / 2019-11-08T09: 48: 14Z
Как видите, формат времени – RFC 3399 с универсальным временем (UTC, обозначается буквой Z в конце).
Графический пользовательский интерфейс
Proxmox BS предлагает встроенный веб-интерфейс для управления сервером. Вы можете выполнять все задачи администрирования через веб-браузер и вам не нужно беспокоиться об установке дополнительных инструментов управления. Веб-интерфейс также предоставляет встроенную консоль, если она вам понадобится.
- простой интерфейс управления сервером;
- мониторинг задач, журналов и использования ресурсов;
- управление пользователями, разрешениями, хранилищами данных и т. д;
- безопасная консоль HTML5;
- поддержка нескольких источников аутентификации;
- поддержка нескольких языков;
- на основе JavaScript-фреймворка ExtJS 6.x.
Когда подключаетесь к веб-интерфейсу, сначала увидите окно входа в систему. Proxmox BS поддерживает различные языки и серверы аутентификации (Realms).
Обзор

Веб-интерфейс состоит из 3 основных разделов:
- Заголовок: вверху. Показывает информацию о версии и содержит кнопки для просмотра документации, отслеживания выполняемых задач, установки языка и выхода из системы.
- Боковая панель: слева. Содержит параметры конфигурации сервера.
- Панель конфигурации: в центре. Содержит интерфейс управления параметрами конфигурации на боковой панели.
На боковой панели в левой части страницы вы можете увидеть различные элементы, относящиеся к определенным действиям управления.
На панели мониторинга (dashboard) отображается сводка активности и использования ресурсов на сервере. В частности, здесь отображается использование оборудования, сводка предыдущих и текущих задач, а также информация о подписке.
Configuration содержит некоторые параметры конфигурации системы, такие как время и конфигурация сети. Он также содержит следующие подразделы:
- Access Control: добавление и управление пользователями, токенами API и разрешениями, связанными с этими элементами.
- Remotes: добавление, редактирование и удаление других серверов для синхронизации.
- Subscription: загрузите ключ подписки, просмотрите статус подписки и получите доступ к текстовому системному отчету.
- Server Status: обеспечивает доступ к консоли, параметрам питания и различной статистике использования ресурсов.
- Services: управление и мониторинг службами.
- Updates: интерфейс для обновления пакетов.
- Syslog: просмотр сообщений журнала с сервера.
- Tasks: история задач с несколькими вариантами фильтрации.
- Storage / Disks: просмотр информации о доступных дисках:
- Disks – просмотр и управление дисками;
- Directory – создание и просмотр информации на дисках ext4 и xfs;
- ZFS – создание и просмотр информации на дисках ZFS.
Раздел Datastore содержит интерфейсы для создания и управления хранилищами данных. Он содержит кнопку для создания нового хранилища данных на сервере, а также подраздел для каждого хранилища данных в системе, в котором вы можете использовать верхнюю панель для просмотра:
- Summary: доступ к статистике использования хранилища данных;
- Content: информация о группах резервных копий и их соответствующем содержимом;
- Prune & GC: планирование операций очистки и сборки мусора, а также запуск сборки мусора вручную;
- Sync Jobs: создание, управление и запуск заданий синхронизации с удаленными серверами;
- Verify Jobs: создание, управление и выполнение заданий проверки в хранилище данных;
- Options: управление оповещениями, и проверять ли новые снимки;
- Permissions: управление правами доступа к данному хранилищу.
Управление дисками
Proxmox BS поставляется с набором дисковых утилит, доступ к которым осуществляется с помощью подкоманды disk. Эта подкоманда позволяет вам инициализировать диски, создавать различные файловые системы и получать информацию о дисках.
# proxmox-backup-manager disk list
Чтобы инициализировать диск с новым GPT, используйте подкоманду initialize:
# proxmox-backup-manager disk initialize sdX

# proxmox-backup-manager disk fs create store1 --disk sdd --filesystem ext4 --add-datastore

# proxmox-backup-manager disk zpool create zpool1 --devices sdb,sdc --raidlevel mirror
Вы также можете передать здесь параметр –add-datastore, чтобы автоматически создать хранилище данных с диска.
Вы можете использовать disk fs list и disk zpool list для отслеживания файловых систем и zpool соответственно.
Proxmox BS использует пакет smartmontools. Это набор инструментов, используемых для мониторинга и управления S.M.A.R.T. для локальных жестких дисков. Если диск поддерживает S.M.A.R.T. и у вас она включена, вы можете отображать S.M.A.R.T. атрибуты из веб-интерфейса или с помощью команды:
# proxmox-backup-manager disk smart-attributes sdX
Доступ к этой функции также можно получить напрямую с помощью команды smartctl, которая входит в состав пакета smartmontools.
Хранилище данных
Хранилище данных – это место, в котором хранятся резервные копии. Текущая реализация использует каталог внутри стандартной файловой системы Unix (ext4, xfs или zfs) для хранения данных резервного копирования.
Хранилища данных идентифицируются простым именем. Вы можете настроить его при создании хранилища данных. Информация о конфигурации хранилищ данных хранится в файле /etc/proxmox-backup/datastore.cfg.
Требуется чтобы файловая система поддерживала не менее 65538 подкаталогов на каталог. Эта цифра получается из 216 предварительно созданных каталогов (chunk) пространств имен блоков. Это требование исключает поддержку определенных файловых систем. Например, ext3 в целом или ext4 с отключенной функцией dir_nlink.
Вы можете настроить несколько хранилищ данных (datastore). Но необходимо настроить минимум одно хранилище. Datastore идентифицируется простым именем и указывает на каталог в файловой системе. С каждым datastore также связаны настройки хранения, указывающие, сколько снимков резервных копий для каждого интервала времени хранить в этом хранилище. Сокращение и удаление резервных копий и сборку мусора также можно настроить для периодического запуска в соответствии с настроенным расписанием для каждого хранилища данных.
Вы можете создать новое хранилище данных из веб-интерфейса, щелкнув Add Datastore в боковом меню в разделе Datastore. В окне настройки:
- Name – имя хранилища.
- Backing Path – путь к каталогу, в котором вы хотите создать хранилище.
- GC Schedule – время и интервалы, с которыми выполняется сборка мусора.
- Prune Schedule – относится к частоте, с которой происходит обрезка.
- Prune Options – количество резервных копий, которое вы хотите сохранить.
- Comment – можно использовать для добавления некоторой информации о хранилище.
В качестве альтернативы вы можете создать новое хранилище данных из командной строки. Следующая команда создает новое хранилище данных с именем store1 на /backup/disk1/store1:
# proxmox-backup-manager datastore create store1 /backup/disk1/store1
Чтобы вывести список существующих хранилищ выполните:
# proxmox-backup-manager datastore list
Вы можете изменить параметры сборки мусора и сокращения хранилища данных, отредактировав хранилище данных из графического интерфейса пользователя или используя подкоманду update. Например, приведенные ниже команды изменят расписание сборки мусора и выведут его свойства:
# proxmox-backup-manager datastore update store1 --gc-schedule 'Tue 04:27' # proxmox-backup-manager datastore show store1
А также, можно удалить конфигурацию хранилища данных:
# proxmox-backup-manager datastore remove store1
Приведенная выше команда удаляет только конфигурацию хранилища, не удаляя данные из основного каталога.
После создания хранилища в каталоге появится:
- файл .lock – пустой файл, используемый для блокировки процесса;
- каталог .chunks – содержащий подкаталоги, в которых будут храниться фрагментированные данные после выполнения операции резервного копирования.
Управление сетью
Proxmox BS предоставляет как веб-интерфейс, так и инструмент командной строки для настройки сети. В веб-интерфейсе существует раздел Network Interfaces в меню Configuration, в добавок к этому существует подкоманда network. Эти интерфейсы позволяют выполнять некоторые основные задачи управления сетью, такие как добавление, настройка и удаление сетевых интерфейсов.
Любые изменения, внесенные в конфигурацию сети, не применяются, пока вы не нажмете кнопку Apply Configuration или не введете команду перезагрузки сети. Это позволяет вносить сразу много изменений. Это также позволяет вам убедиться, что ваши изменения верны, прежде чем применять их, так как допущенная здесь ошибка может сделать сервер недоступным по сети.
Чтобы получить список доступных интерфейсов, используйте следующую команду:
# proxmox-backup-manager network list
Чтобы добавить новый сетевой интерфейс, используйте подкоманду create с соответствующими параметрами. Например, вы можете захотеть создать интерфейс резервирования сети (bond):
# proxmox-backup-manager network create bond0 --type bond --bond_mode active-backup --slaves ens18,ens19 --autostart true --cidr x.x.x.x/x --gateway x.x.x.x
Вы можете внести изменения в конфигурацию сетевого интерфейса с помощью подкоманды update:
# proxmox-backup-manager network update bond0 --cidr y.y.y.y/y
Вы также можете удалить сетевой интерфейс:
# proxmox-backup-manager network remove bond0
Незавершенные изменения файла конфигурации сети появятся в нижней части веб-интерфейса. Вы также можете просмотреть эти изменения, используя команду:
# proxmox-backup-manager network changes
Если вы хотите отменить все изменения на этом этапе, вы можете либо щелкнуть кнопку Revert, либо использовать следующую команду:
# proxmox-backup-manager network revert
Если вас устраивают изменения и вы хотите записать их в файл конфигурации, выберите Apply Configuration. Соответствующая команда:
# proxmox-backup-manager network reload
Эта команда и соответствующая кнопка графического интерфейса зависят от команды ifreload из пакета ifupdown2. Этот пакет включен в установку Proxmox BS, однако вам, возможно, придется установить его самостоятельно.
Вы также можете настроить параметры DNS в разделе Configuration или с помощью подкоманды dns программы proxmox-backup-manager.
Настройка пользователей
Proxmox BS поддерживает несколько областей аутентификации, и вам необходимо выбрать область при добавлении нового пользователя. Возможные области:
- pam – стандартная аутентификация Linux PAM. Используйте если вы хотите аутентифицироваться как пользователь системы Linux (пользователи должны существовать в системе).
- pbs – область сервера Proxmox BS. Этот тип хранит хешированные пароли в /etc/proxmox-backup/shadow.json.
# proxmox-backup-manager user create john@pbs --email john@example.com # proxmox-backup-manager user update john@pbs --firstname John --lastname Smith # proxmox-backup-manager user update john@pbs --comment "An example user."
Получить список пользователей можно так:
# proxmox-backup-manager user list
У вновь созданных пользователей нет разрешений.
Если вы хотите отключить учетную запись пользователя, вы можете сделать это, установив –enable в 0:
# proxmox-backup-manager user update john@pbs --enable 0
Или полностью удалите пользователя:
# proxmox-backup-manager user remove john@pbs
API токены
Любой аутентифицированный пользователь может генерировать токены API, которые, в свою очередь, могут использоваться для настройки различных клиентов, вместо прямого указания имени пользователя и пароля.
Токены API служат двум целям:
- Простой отзыв в случае компрометации клиента.
- Ограничение разрешения для каждого клиента / токена в пределах полномочий пользователей.
Токен API состоит из двух частей:
- Идентификатор, состоит из имени пользователя, области и имени токена, например user@realm! Tokenname.
- Его секрет, например 58a77e1c-77ea-4e7d-bf2c-e265b43d93c0.
Обе части должны быть предоставлены клиенту вместо идентификатора пользователя и его пароля.
Токен API передается от клиента к серверу путем установки HTTP-заголовка авторизации с методом PBSAPIToken на значение TOKENID: TOKENSECRET.
Создание новых токенов можно выполнить с помощью proxmox-backup-manager или графического интерфейса пользователя:
# proxmox-backup-manager user generate-token john@pbs client1
Отображаемое секретное значение необходимо сохранить, поскольку оно не может быть отображено снова после генерации токена API.
# proxmox-backup-manager user list-tokens john@pbs
Точно так же пользовательская подкоманда delete-token может использоваться для удаления токена.
У вновь созданных токенов нет никаких разрешений.
Управление доступом
По умолчанию новые пользователи и токены не имеют разрешений. Вам нужно указать, что разрешено, а что нет. Вы можете сделать это, назначив роли пользователям / токенам для определенных объектов, таких как хранилища данных или remotes. Существуют следующие роли:
- NoAccess – ничего не разрешено.
- Admin – может все.
- Audit – может просматривать, но не может изменять настройки.
- DatastoreAdmin – может делать что угодно в хранилищах данных.
- DatastoreAudit – может просматривать настройки хранилища данных и содержимое. Но не разрешено читать фактические данные (восстанавливать данные).
- DatastoreReader – может проверять содержимое хранилища и выполнять восстановление.
- DatastoreBackup – Может создавать резервные копии и восстанавливать собственные резервные копии.
- DatastorePowerUser – Может создавать резервные копии, восстанавливать и удалять собственные резервные копии.
- RemoteAdmin – может делать что угодно на remote.
- RemoteAudit – может просматривать настройки remote.
- RemoteSyncOperator – разрешено читать данные с remote.
Информация о правах доступа хранится в /etc/proxmoxbackup/acl.cfg. Файл содержит 5 полей, разделенных двоеточием. Типичная запись имеет вид:
acl:1:/datastore:john@pbs:DatastoreBackup
В каждом поле представлены следующие данные:
- идентификатор acl;
- 1 или 0, включено или отключено;
- объект, на который установлено разрешение;
- пользователи / токены, для которых установлено разрешение;
- устанавливаемая роль.
# proxmox-backup-manager acl update /datastore/store1 DatastoreAdmin --auth-id john@pbs
Вы можете получить список ACL каждого пользователя / токена, используя следующую команду:
# proxmox-backup-manager acl list
Одному пользователю / токену может быть назначено несколько наборов разрешений для разных хранилищ данных.
Права API токенов
Разрешения токенов рассчитываются на основе списков ACL, содержащих их идентификаторы, независимо от идентификаторов соответствующих пользователей. Результирующий набор разрешений на заданном пути затем пересекается с разрешением соответствующего пользователя.
На практике это означает:
- Для токенов требуются собственные записи ACL.
- Токены не могут делать больше, чем их соответствующий пользователь.
# proxmox-backup-manager user permissions john@pbs --path /datastore/store1
Двухфакторная аутентификация
При двухфакторной аутентификации пользователя просят указать дополнительный фактор, подтверждающий его подлинность. Дополнительный фактор отличается от пароля, это то, что есть только у пользователя, например, аппаратное обеспечение (ключ безопасности) или секрет, сохраненный на смартфоне пользователя.
Это означает, что удаленный пользователь никогда не сможет заполучить такой физический объект. Таким образом, даже если этот пользователь знает ваш пароль, он не сможет успешно пройти аутентификацию как вы, поскольку отсутствует ваш второй фактор.
Доступные вторые факторы
Вы можете установить более одного второго фактора. Поддерживаются три различных метода двухфакторной аутентификации:
- TOTP (одноразовый пароль на основе времени). Сокращенный код, полученный из общего секрета и текущего времени он переключается каждые 30 секунд.
- WebAuthn (веб-аутентификация). Общий стандарт аутентификации. Реализовано различными устройствами безопасности, такими как аппаратные ключи или доверенные платформенные модули (TPM) из компьютера или смартфона.
- Одноразовые ключи восстановления. Список ключей, которые следует распечатать и сохранить, или сохранить в цифровом виде. Каждый ключ можно использовать только один раз, они идеально подходят для того, чтобы гарантировано получить доступ, даже если все ваши другие вторые факторы потеряны.

Настройка сервера не требуется, просто установите приложение TOTP на свой смартфон (например, FreeOTP) и используйте веб-интерфейс Proxmox Backup Server, чтобы добавить TOTP.
Для работы WebAuthn необходимы две вещи:
- доверенный сертификат HTTPS (например, с помощью Let’s Encrypt)
- настроить конфигурацию WebAuthn (Configuration -> Authentication). Его можно автоматически заполнить в большинстве настроек.
Выполнив оба этих требования, вы можете добавить конфигурацию WebAuthn в панель Access Control.

Коды ключей восстановления не требуют подготовки, вы можете просто создать набор ключей восстановления в панели управления доступом.
В любое время может быть только один набор одноразовых ключей восстановления для каждого пользователя.
Двухфакторная аутентификация реализована только для веб-интерфейса, вы должны использовать токены для всех других вариантов использования, особенно не интерактивных (например, добавление сервера Proxmox Backup в Proxmox VE в качестве хранилища).
Remote (сервер PBS для синхронизации)
Под Remote подразумевается отдельная установка Proxmox BS. Вы можете синхронизировать хранилища данных удаленного сервера с локальным хранилищем данных с помощью задания синхронизации. Вы можете настроить Remote в веб-интерфейсе в разделе Configuration -> Remote. Информация о конфигурации Remote хранится в файле /etc/proxmox-backup/remote.cfg.

Чтобы добавить Remote, вам потребуется его имя или IP, идентификатор пользователя и пароль, а также его отпечаток сертификата. Чтобы получить отпечаток, используйте подкоманду cert info на Remote или перейдите в Dashboard в его веб-интерфейсе и выберите Show Fingerprint.
# proxmox-backup-manager cert info | grep Fingerprint
Используя информацию, указанную выше, вы можете добавить Remote из панели конфигурации Remote или с помощью команды:
# proxmox-backup-manager remote create pbs2 --host pbs2.mydomain.example --userid sync@pam --password 'SECRET' --fingerprint 64:d3:ff:3a:50:38:53:5a:9b:f7:50:...:ab:fe
Используйте подкоманды list, show, update для управления Remote:
# proxmox-backup-manager remote update pbs2 --host pbs2.example # proxmox-backup-manager remote list # proxmox-backup-manager remote remove pbs2
Задания синхронизации

Задания синхронизации используются для извлечения содержимого хранилища данных на удаленном сервере в локальное хранилище. Вы можете управлять заданиями синхронизации в веб-интерфейсе, на вкладке Sync Jobs хранилища данных, для которого вы хотите их настроить, или с помощью подкоманды sync-job. Информация о конфигурации для заданий синхронизации хранится в /etc/proxmox-backup/sync.cfg. Чтобы создать новое задание синхронизации, нажмите кнопку добавления в графическом интерфейсе или воспользуйтесь командой create. После создания задания синхронизации вы можете либо запустить его вручную из графического интерфейса, либо предоставить ему расписание для регулярного выполнения.
# proxmox-backup-manager sync-job create pbs2-local --remote pbs2 --remote-store local --store local --schedule 'Wed 02:30' # proxmox-backup-manager sync-job update pbs2-local --comment 'offsite' # proxmox-backup-manager sync-job list # proxmox-backup-manager sync-job remove pbs2-local
Для настройки заданий синхронизации пользователю необходимы следующие разрешения:
- Remote.Read для хранилища на удаленном сервере
- Datastore.Backup для хранилища на локальном сервере
Задание синхронизации может синхронизировать только те группы резервных копий, которые может считывать пользователь или токен API. Если удаленный сервер настроен с помощью пользователя, который имеет только права Datastore.Backup, можно синхронизировать только ограниченный набор доступных снимков, принадлежащих этому пользователю.
Обрезка
Prune позволяет указать, какие снимки резервных копий вы хотите сохранить. Доступны следующие варианты хранения:
- keep-last <N> Хранить последние <N> снимки резервных копий.
- keep-hourly <N> Хранить резервные копии за последние <N> часов. Если за один час создается более одной резервной копии, сохраняется только последняя.
- keep-daily <N> Хранить резервные копии за последние <N> дней. Если за один день создается более одной резервной копии, сохраняется только последняя.
- keep-weekly <N> Хранить резервные копии за последние <N> недель. Если за одну неделю создается более одной резервной копии, сохраняется только последняя. Недели начинаются в понедельник и заканчиваются в воскресенье.
- keep-month <N> Хранить резервные копии за последние <N> месяцев. Если за один месяц создается более одной резервной копии, сохраняется только последняя.
- keep-Annual <N> Хранить резервные копии за последние <N> лет. Если за один год создается более одной резервной копии, сохраняется только последняя.
Варианты хранения обрабатываются в указанном выше порядке. Каждый вариант распространяется только на резервное копирование в определенный период времени. Следующий вариант не обрабатывает уже покрытые резервные копии. Будут рассмотрены только старые резервные копии.
Незавершенные и не полные резервные копии будут удалены командой prune, если они не новее, чем последняя успешная резервная копия. В этом случае сохраняется последняя неудачная резервная копия.
Вы можете использовать симулятор обрезки, чтобы изучить влияние различных вариантов хранения с различным расписанием резервного копирования.
Чтобы получить доступ к обрезке для конкретной группы резервных копий, вы можете использовать параметр командной строки prune, или перейти на вкладку Content хранилища данных и щелкнуть значок ножниц в соответствующей группе резервного копирования.
Обрезка по расписанию
Параметры планирования для сокращения на уровне хранилища данных можно найти на вкладке Prune & GC хранилища данных. Здесь вы можете установить параметры хранения и отредактировать интервал, с которым происходит обрезка.
В следующем примере мы предполагаем, что вы делаете ежедневные резервные копии, имеете период хранения 10 лет, а период между хранением резервных копий постепенно увеличивается:
- keep-last: 3 – даже если резервное копирование выполняется только ежедневно, администратор может захотеть сохранить ещё 3 резервные копии на случай резервных копий сделанных вручную.
- keep-hourly: не задано – для ежедневных резервных копий это не актуально.
- keep-daily: 13 – вместе с keep-last, у вас будет как минимум две недели резервного копирования.
- keep-weekly: 8 – гарантирует, что у вас будет как минимум два полных месяца еженедельного резервного копирования.
- keep-monthly: 11 – вместе с предыдущими настройками это гарантирует, что у вас будет как минимум годовое ежемесячное резервное копирование.
- keep-yearly: 9 – для долгосрочного архива. Что даст вам в общей сложности как минимум 10 лет покрытия.
Мы рекомендуем вам использовать более длительный срок хранения, чем минимально требуется в вашей среде; вы всегда можете уменьшить его, если обнаружите, что он излишне высок, но вы не можете воссоздать снимки резервных копий которых уже нет.
Сборка мусора
Вы можете отслеживать и запускать сборку мусора на сервере Proxmox BS, используя подкоманду garbage-collection. Вы можете использовать подкоманду start, чтобы вручную запустить сборку мусора для всего хранилища, и подкоманду status, чтобы просмотреть атрибуты, относящиеся к сборке мусора.
К этой функциональности также можно получить доступ в графическом интерфейсе, перейдя в Prune & GC на верхней панели. Отсюда вы можете изменить расписание, по которому выполняется сборка мусора, и вручную запустить операцию.

