"Быстрый
<br />
Proxmox Backup Server (PBS) — отдельный дистрибутив для дедуплицированного резервного копирования VM, контейнеров и физических хостов.<br />
Устанавливается на отдельный сервер или VM, подключается к Proxmox VE через веб-интерфейс, бэкапы настраиваются через Backup Job с расписанием. Полная установка и первый бэкап — около 30 минут.<br />
<h1>Proxmox Backup Server: установка, настройка и резервное копирование VM</h1>
<p>Каждый раз когда я слышу «у нас нет бэкапов, зато есть RAID» — где-то в мире падает ещё один продакшн. RAID защищает от отказа диска. Бэкап защищает от тебя самого. Это разные задачи.</p>
<p><a class="wpil_keyword_link" href="https://it-apteka.com/category/virtualise/" target="_blank" rel="noopener" title="Виртуализация" data-wpil-keyword-link="linked" data-wpil-monitor-id="1842">Proxmox</a> Backup Server закрывает тему резервного копирования для инфраструктуры на Proxmox VE чище чем любой сторонний инструмент. Дедупликация, инкрементальные бэкапы, шифрование, верификация — всё из коробки. И всё это бесплатно.</p>
<p>В этой статье пройдём весь путь: от установки PBS на железо до первого работающего backup job с расписанием и проверенным восстановлением.</p>
<h2>Что такое Proxmox Backup Server и зачем он нужен</h2>
<p>PBS — это отдельный дистрибутив на базе <a class="wpil_keyword_link" href="https://it-apteka.com/tag/debian/" target="_blank" rel="noopener" title="Debian" data-wpil-keyword-link="linked" data-wpil-monitor-id="1845">Debian</a>. Не плагин, не расширение для Proxmox VE — именно отдельный сервер со своим веб-интерфейсом, своим хранилищем и своим API.</p>
<p>Главное отличие от обычного бэкапа через NFS/SMB в Proxmox VE — дедупликация на уровне блоков. Когда у тебя 10 VM с одинаковой базой Ubuntu, PBS хранит общие блоки один раз. Реальная экономия дискового пространства — 40-70% в типичной инфраструктуре.</p>
<p>Второе отличие — инкрементальные бэкапы. Первый бэкап полный, все последующие — только изменённые блоки. Бэкап VM на 100 ГБ после первого раза занимает минуты вместо часов.</p>
<p>PBS vs vzdump — это не просто разные инструменты, это разные подходы к резервному копированию. vzdump пакует VM в архив каждый раз заново. PBS — полноценная backup-платформа с API, политиками хранения proxmox backup retention, верификацией proxmox backup verify и централизованным управлением backup jobs. Если у тебя больше трёх VM и ты думаешь о бэкапах всерьёз — PBS правильный выбор.</p>
<pre class="mermaid">%%{init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#ffffff',
'primaryTextColor': '#1e293b',
'primaryBorderColor': '#94a3b8',
'lineColor': '#64748b',
'fontSize': '15px',
'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
},
'flowchart': {'curve': 'linear', 'nodeSpacing': 50, 'rankSpacing': 50}
}}%%
flowchart TD
A["Proxmox VE Node"] --> B["PBS Client (встроен в PVE)"]
C["Windows Host"] --> D["PBS Agent (установить отдельно)"]
E["Linux Host"] --> F["PBS Agent (установить отдельно)"]
B --> G["Proxmox Backup Server"]
D --> G
F --> G
G --> H["Datastore (хранилище)"]
H --> I["Дедупликация + сжатие"]
I --> J["Диск / NFS / ZFS"]
style A fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
style C fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
style E fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
style G fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
style H fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#1e293b
style I fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#1e293b
style J fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#1e293b
style B fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#1e293b
style D fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#1e293b
style F fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#1e293b
</pre>
<h2>Proxmox Backup Server — системные требования</h2>
<table style="border-collapse: collapse; width: 100%;" border="1" cellspacing="0" cellpadding="8">
<thead>
<tr style="background-color: #f1f5f9;">
<th>Компонент</th>
<th>Минимум</th>
<th>Рекомендуется</th>
<th>Примечания</th>
</tr>
</thead>
<tbody>
<tr>
<td>CPU</td>
<td>64-bit, 2 ядра</td>
<td>4+ ядра</td>
<td>Дедупликация и шифрование нагружают CPU</td>
</tr>
<tr>
<td>RAM</td>
<td>2 ГБ</td>
<td>8+ ГБ</td>
<td>1 ГБ RAM на каждые 1 ТБ хранилища для индекса</td>
</tr>
<tr>
<td>Системный диск</td>
<td>16 ГБ</td>
<td>32 ГБ <a class="wpil_keyword_link" href="https://it-apteka.com/tag/ssd/" target="_blank" rel="noopener" title="ssd" data-wpil-keyword-link="linked" data-wpil-monitor-id="1844">SSD</a></td>
<td>Отдельно от диска под бэкапы</td>
</tr>
<tr>
<td>Диск для бэкапов</td>
<td>Зависит от задачи</td>
<td>Отдельный HDD/ZFS</td>
<td>Лучше отдельный от системного</td>
</tr>
<tr>
<td>Сеть</td>
<td>1 Гбит</td>
<td>10 Гбит</td>
<td>Пропускная способность напрямую влияет на время бэкапа</td>
</tr>
<tr>
<td>ОС</td>
<td>PBS ISO (Debian)</td>
<td>PBS ISO</td>
<td>Можно поставить пакеты на чистый Debian 12</td>
</tr>
</tbody>
</table>
<p>PBS можно запустить как VM внутри того же Proxmox VE которую ты бэкапишь. Это работает, но помни: если упадёт гипервизор — VM с PBS тоже недоступна. Для серьёзного продакшна PBS должен жить на отдельном железе.</p>
<p>На момент публикации актуальна версия PBS 3.x. Перед <a title="Установка и настройка Uptime Kuma: self-hosted мониторинг сайтов за 5 минут" href="https://it-apteka.com/uptime-kuma-alerting-bez-zamorochek-dlja-admina-kotoryj-cenit-vremja/" target="_blank" rel="noopener" data-wpil-monitor-id="1837">установкой проверь свежие релизы на официальном сайте</a>.</p>
<h2>Установка Proxmox Backup Server</h2>
<h3>Скачать ISO</h3>
<p>Официальный ISO доступен на сайте Proxmox:</p>
<pre><code class="language-text">
https://www.proxmox.com/en/downloads/proxmox-backup-server
</code></pre>
<p>Скачай последний стабильный ISO. Запиши на USB через Rufus (Windows) или dd (<a class="wpil_keyword_link" href="https://it-apteka.com/category/linux/" target="_blank" rel="noopener" title="Linux" data-wpil-keyword-link="linked" data-wpil-monitor-id="1843">Linux</a>):</p>
<pre><code class="language-bash">
# Linux - записать ISO на USB (замени /dev/sdX на свой диск)
dd if=proxmox-backup-server_*.iso of=/dev/sdX bs=1M status=progress
sync
</code></pre>
"Осторожно
<br />
Команда dd затирает диск без предупреждений. Дважды проверь что /dev/sdX — это именно твой USB, а не системный диск. lsblk поможет не ошибиться.<br />
<h3>Установка через инсталлятор</h3>
<p>Загрузись с USB. Инсталлятор PBS похож на Proxmox VE — графический, понятный.</p>
<p>Шаги установки:</p>
<p><strong>Шаг 1.</strong> Выбери «Install <a title="Proxmox Backup Server: установка, настройка и восстановление VM — полный гайд" href="https://it-apteka.com/proxmox-backup-server-stavim-nastraivaem-ne-terjaem-vm/" target="_blank" rel="noopener" data-wpil-monitor-id="1832">Proxmox Backup Server»</a>. Прими лицензионное соглашение.</p>
<p><strong>Шаг 2.</strong> Выбери целевой диск для установки системы. Здесь выбирай системный диск, не тот который пойдёт под бэкапы.</p>
<p><strong>Шаг 3.</strong> Настрой локализацию: страна, часовой пояс, раскладка клавиатуры.</p>
<p><strong>Шаг 4.</strong> Задай пароль root и email для уведомлений.</p>
<p><strong>Шаг 5.</strong> Настрой сеть: IP-адрес, маску, шлюз, <a class="wpil_keyword_link" href="https://it-apteka.com/tag/dns/" target="_blank" rel="noopener" title="DNS" data-wpil-keyword-link="linked" data-wpil-monitor-id="1848">DNS</a>. Используй статический IP — PBS должен быть всегда доступен по одному адресу.</p>
<p><strong>Шаг 6.</strong> Подтверди установку. Дождись завершения — обычно 5-10 минут.</p>
<p>После перезагрузки PBS запустится. Веб-интерфейс доступен по адресу:</p>
<pre><code class="language-text">
https://IP_АДРЕС_PBS:8007
</code></pre>
<p>Войди как root с паролем который задал при установке.</p>
<h3>Альтернативная установка на существующий Debian 12</h3>
<p>Если не хочешь ставить с <a title="FreePBX: установка и настройка на Debian с нуля — полное руководство" href="https://it-apteka.com/freepbx-ustanovka-i-nastrojka-na-debian-s-nulja/" target="_blank" rel="noopener" data-wpil-monitor-id="1839">нуля</a> — добавь репозиторий PBS на чистый Debian 12 Bookworm:</p>
<pre><code class="language-bash">
# Добавить репозиторий PBS (no-subscription)
echo "deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription" > /etc/apt/sources.list.d/pbs-no-subscription.list
# Добавить ключ Proxmox
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
# Обновить и установить
apt update && apt install -y proxmox-backup-server
# Запустить сервис
systemctl enable --now proxmox-backup
</code></pre>
<p>Вот тут важно: no-subscription репозиторий работает без лицензии. Enterprise репозиторий требует платную подписку. Для домашней лабы и небольших инсталляций no-subscription вполне нормально.</p>
<h2>Первоначальная настройка PBS</h2>
<h3>Создать хранилище (Datastore)</h3>
<p>После первого входа в веб-интерфейс первым делом создай datastore — это каталог на диске где PBS будет хранить бэкапы.</p>
<p>В веб-интерфейсе: Administration — Storage/Disks.</p>
<p>Сначала посмотри что есть из дисков:</p>
<pre><code class="language-bash">
# На сервере PBS - посмотреть диски
lsblk
# Посмотреть диски которые видит PBS
proxmox-backup-manager disk list
</code></pre>
<p>Если под бэкапы выделен отдельный диск без разметки — инициализируй его через интерфейс PBS. Administration — Storage/Disks — выбери диск — Initialize Disk with GPT.</p>
<p>После инициализации создай директорию и зарегистрируй datastore.</p>
<p>Через веб-интерфейс: Configuration — Datastore — Add Datastore.</p>
<p>Заполни поля:</p>
<ul>
<li>Name: произвольное имя, например «main-backup»</li>
<li>Path: путь к директории, например /mnt/backup</li>
<li>Comment: описание</li>
</ul>
<p>Или через командную строку:</p>
<pre><code class="language-bash">
# Создать точку монтирования
mkdir -p /mnt/backup
# Добавить datastore
proxmox-backup-manager datastore create main-backup /mnt/backup
</code></pre>
<h3>Настроить политику хранения (Prune Policy)</h3>
<p>Prune policy определяет сколько бэкапов хранить. Без политики диск рано или поздно заполнится.</p>
<p>В интерфейсе PBS: выбери datastore — Edit — вкладка Prune Options.</p>
<p>Типичная политика для продакшна:</p>
<pre><code class="language-text">
Keep Last: 3 (последние 3 бэкапа)
Keep Hourly: 0
Keep Daily: 7 (ежедневные за 7 дней)
Keep Weekly: 4 (еженедельные за 4 недели)
Keep Monthly: 3 (ежемесячные за 3 месяца)
Keep Yearly: 0
</code></pre>
<p>Это даёт тебе гибкость восстановиться на вчера, на прошлую неделю или на начало месяца.</p>
<h3>Создать пользователя для Proxmox VE</h3>
<p>Не используй root для подключения PVE к PBS. Создай отдельного пользователя с минимально необходимыми правами.</p>
<p>Configuration — Access Control — Add User:</p>
<pre><code class="language-bash">
# Создать пользователя
proxmox-backup-manager user create backup-user@pbs --password "СильныйПароль123"
# Назначить роль DatastoreBackup на нужном хранилище
proxmox-backup-manager acl update /datastore/main-backup DatastoreBackup --auth-id backup-user@pbs
</code></pre>
<p>Роль DatastoreBackup даёт права на запись бэкапов и восстановление. Для read-only доступа используй DatastoreReader.</p>
<h2>Подключение Proxmox VE к Proxmox Backup Server</h2>
<p>Это делается в интерфейсе Proxmox VE, не PBS.</p>
<p>В PVE: Datacenter — Storage — Add — Proxmox Backup Server.</p>
<p>Заполни поля:</p>
<table style="border-collapse: collapse; width: 100%;" border="1" cellspacing="0" cellpadding="8">
<thead>
<tr style="background-color: #f1f5f9;">
<th>Поле</th>
<th>Значение</th>
<th>Пример</th>
</tr>
</thead>
<tbody>
<tr>
<td>ID</td>
<td>Имя хранилища в PVE</td>
<td>pbs-main</td>
</tr>
<tr>
<td>Server</td>
<td>IP или hostname PBS</td>
<td>192.168.1.50</td>
</tr>
<tr>
<td>Username</td>
<td>Пользователь PBS</td>
<td>backup-user@pbs</td>
</tr>
<tr>
<td>Password</td>
<td>Пароль пользователя</td>
<td>—</td>
</tr>
<tr>
<td>Datastore</td>
<td>Имя хранилища на PBS</td>
<td>main-backup</td>
</tr>
<tr>
<td>Fingerprint</td>
<td>TLS fingerprint PBS</td>
<td>берётся из PBS</td>
</tr>
</tbody>
</table>
<p>Fingerprint PBS найди в интерфейсе PBS: Dashboard — показывает fingerprint. Или через командную строку на сервере PBS:</p>
<pre><code class="language-bash">
proxmox-backup-manager cert info | grep Fingerprint
</code></pre>
<p>После добавления хранилище появится в списке Storage в PVE. Можно проверить подключение через PVE CLI:</p>
<pre><code class="language-bash">
# На ноде Proxmox VE
pvesm status
</code></pre>
<p>В выводе должна быть строка с твоим PBS-хранилищем и статусом active.</p>
<h2>Настройка Backup Job в Proxmox VE</h2>
<p>Backup Job — это расписание резервного копирования. Один job покрывает несколько VM и контейнеров. Именно через backup jobs proxmox реализует автоматическое резервное копирование всей инфраструктуры — задал расписание, забыл, получаешь email с отчётом каждое утро.</p>
<p>В PVE: Datacenter — Backup — Add.</p>
<h3>Параметры Backup Job</h3>
<table style="border-collapse: collapse; width: 100%;" border="1" cellspacing="0" cellpadding="8">
<thead>
<tr style="background-color: #f1f5f9;">
<th>Параметр</th>
<th>Описание</th>
<th>Рекомендация</th>
</tr>
</thead>
<tbody>
<tr>
<td>Node</td>
<td>Нода PVE</td>
<td>Выбери нужную ноду или All</td>
</tr>
<tr>
<td>Storage</td>
<td>Хранилище для бэкапа</td>
<td>Твой PBS datastore</td>
</tr>
<tr>
<td>Schedule</td>
<td>Расписание</td>
<td>daily (ежедневно), или cron-выражение</td>
</tr>
<tr>
<td>Selection</td>
<td>Что бэкапить</td>
<td>All или конкретные VM ID</td>
</tr>
<tr>
<td>Mode</td>
<td>Режим бэкапа</td>
<td>Snapshot — без остановки VM</td>
</tr>
<tr>
<td>Compression</td>
<td>Сжатие</td>
<td>ZSTD — баланс скорости и сжатия</td>
</tr>
<tr>
<td>Prune</td>
<td>Применить политику хранения</td>
<td>Включи, выбери политику</td>
</tr>
<tr>
<td>Send email to</td>
<td>Email уведомления</td>
<td>Укажи свой email</td>
</tr>
</tbody>
</table>
<p>Режим бэкапа — вот тут важно:</p>
<ul>
<li><strong>Snapshot</strong> — бэкап без остановки VM через механизм снапшотов. Работает для большинства дисков. Минус — данные внутри гостевой ОС могут быть в незаписанном состоянии. Для БД нужен агент или ручной flush.</li>
<li><strong>Suspend</strong> — VM приостанавливается на время создания снапшота. Консистентнее, но есть кратковременный простой.</li>
<li><strong>Stop</strong> — VM останавливается на время бэкапа. Максимальная консистентность, максимальный простой. Только для некритичных VM.</li>
</ul>
<p>Для продакшна используй Snapshot с QEMU Guest Agent — он делает quiesce файловой системы перед снапшотом.</p>
<h3>Запустить Backup Job вручную</h3>
<p>После создания job запусти его сразу чтобы убедиться что всё работает:</p>
<pre><code class="language-bash">
# На ноде Proxmox VE
# Посмотреть список job
vzdump --list
# Запустить бэкап конкретной VM (замени 100 на ID своей VM)
vzdump 100 --storage pbs-main --mode snapshot --compress zstd
</code></pre>
<p>Или через веб-интерфейс PVE: Datacenter — Backup — выбери job — Run now.</p>
<p>Смотри прогресс в Tasks в нижней части интерфейса PVE.</p>
<h2>Установка Proxmox Backup Agent</h2>
<p>PBS Agent нужен для бэкапа физических серверов (bare-metal хостов) — не виртуалок, а реальных машин с <a title="SSH-ключи: подключение без пароля — полный гайд для Linux, Windows и macOS" href="https://it-apteka.com/ssh-kljuchi-podkljuchaemsja-bez-parolja-i-ne-panikuem/" target="_blank" rel="noopener" data-wpil-monitor-id="1834">Windows или Linux</a>. Для VM внутри PVE агент не нужен.</p>
<h3>Установка агента на Linux</h3>
<pre><code class="language-bash">
# Добавить репозиторий PBS на клиентскую машину (Debian/Ubuntu)
echo "deb http://download.proxmox.com/debian/pbs-client bookworm main" > /etc/apt/sources.list.d/pbs-client.list
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
apt update && apt install -y proxmox-backup-client
# Проверить установку
proxmox-backup-client version
</code></pre>
<p>После установки настрой переменные окружения для подключения к PBS:</p>
<pre><code class="language-bash">
# Установить переменные (можно добавить в ~/.bashrc или /etc/environment)
export PBS_REPOSITORY="backup-user@pbs@192.168.1.50:main-backup"
export PBS_PASSWORD="СильныйПароль123"
export PBS_FINGERPRINT="xx:xx:xx:..." # fingerprint с PBS сервера
# Создать бэкап директории
proxmox-backup-client backup etc.pxar:/etc --backup-id my-server
</code></pre>
<h3>Установка агента на Windows</h3>
<p>Скачай <a title="Почему Proxmox неверно отображает расход памяти Windows 7, 10, 11 — решение проблемы" href="https://it-apteka.com/pochemu-proxmox-neverno-otobrazhaet-rashod-pamjati-windows-7-10-11-reshenie-problemy/" target="_blank" rel="noopener" data-wpil-monitor-id="1838">Windows agent с сайта Proxmox:</a></p>
<pre><code class="language-text">
https://www.proxmox.com/en/downloads/proxmox-backup-server
</code></pre>
<p>Раздел «Windows Client». Установи MSI-пакет. После установки агент работает как Windows-сервис.</p>
<p>Настрой подключение через GUI агента или через реестр. Укажи адрес PBS сервера, credentials и datastore.</p>
<p>Проверь что сервис запущен:</p>
<pre><code class="language-powershell">
# Проверить статус агента
Get-Service "Proxmox Backup Agent"
# Запустить если остановлен
Start-Service "Proxmox Backup Agent"
</code></pre>
<h2>Proxmox Backup: восстановление VM</h2>
<p>Бэкап который ты не проверял — это не бэкап. Это надежда.</p>
<p>Проверь восстановление сразу после первого успешного бэкапа. Не через месяц когда реально нужно будет.</p>
<h3>Восстановление VM через веб-интерфейс PVE</h3>
<p>В PVE: выбери ноду — Storage — pbs-main — Backups. Найди нужный бэкап VM.</p>
<p>Кликни Restore. Выбери:</p>
<ul>
<li>Storage куда восстанавливать (можно то же хранилище или другое)</li>
<li>VM ID — можно оставить тот же или выбрать новый (для параллельного запуска)</li>
<li>Галка «Start after restore» — если нужно сразу запустить</li>
</ul>
<p>Подтверди — и началось восстановление. Время зависит от размера VM и скорости <a class="wpil_keyword_link" href="https://it-apteka.com/category/networks/" target="_blank" rel="noopener" title="Сети" data-wpil-keyword-link="linked" data-wpil-monitor-id="1847">сети</a>.</p>
<h3>Восстановление через командную строку</h3>
<pre><code class="language-bash">
# На ноде Proxmox VE
# Посмотреть доступные бэкапы
proxmox-backup-client list --repository backup-user@pbs@192.168.1.50:main-backup
# Восстановить VM (замени ID и snapshot)
qmrestore pbs-main:backup/vm/100/2025-04-20T03:00:00Z 100 --storage local-lvm
# Восстановить контейнер
pct restore 101 pbs-main:backup/ct/101/2025-04-20T03:00:00Z --storage local-lvm
</code></pre>
<h3>Восстановление отдельных файлов (File Restore)</h3>
<p>PBS умеет восстанавливать отдельные файлы из бэкапа без восстановления всей VM. Это одна из главных фич которую не умеют классические бэкап-решения.</p>
<p>В PBS веб-интерфейсе: Datastore — выбери бэкап — File Restore. Откроется браузер файлов внутри бэкапа. Выбери нужный файл — Download.</p>
<pre><code class="language-bash">
# Через CLI на PBS сервере
# Монтировать бэкап как виртуальную файловую систему
proxmox-backup-client mount vm/100/2025-04-20T03:00:00Z /mnt/restore \
--repository backup-user@pbs@192.168.1.50:main-backup
# Теперь /mnt/restore содержит файловую систему VM
ls /mnt/restore
# После копирования нужных файлов - размонтировать
proxmox-backup-client unmount /mnt/restore
</code></pre>
<h2>Проверка работоспособности</h2>
<h3>Проверить статус PBS</h3>
<pre><code class="language-bash">
# На сервере PBS
systemctl status proxmox-backup
systemctl status proxmox-backup-proxy
# Проверить datastore
proxmox-backup-manager datastore list
# Статистика хранилища
proxmox-backup-manager datastore show main-backup
</code></pre>
<h3>Проверить список бэкапов</h3>
<pre><code class="language-bash">
# На сервере PBS - все бэкапы в datastore
proxmox-backup-client snapshots --repository backup-user@pbs@localhost:main-backup
# С ноды PVE
proxmox-backup-client list --repository backup-user@pbs@192.168.1.50:main-backup
</code></pre>
<h3>Запустить верификацию бэкапа</h3>
<p>proxmox backup verify — встроенная проверка целостности. PBS проверяет SHA256-хэши всех чанков в datastore. Если хоть один блок повреждён — задача падает с ошибкой и приходит email. Запускай верификацию по расписанию, не только после инцидентов.</p>
<p>В веб-интерфейсе PBS: Datastore — Verify All. Или по расписанию через Verify Job.</p>
<pre><code class="language-bash">
# Через CLI
proxmox-backup-manager verify-job create verify-main \
--datastore main-backup \
--schedule "weekly" \
--ignore-verified true
</code></pre>
<h3>Проверить логи</h3>
<pre><code class="language-bash">
# Логи PBS сервиса
journalctl -u proxmox-backup -n 100 --no-pager
# Логи прокси (веб-интерфейс и API)
journalctl -u proxmox-backup-proxy -n 100 --no-pager
# Задачи в PBS
proxmox-backup-manager task list --limit 20
</code></pre>
<h2>Безопасность</h2>
"Шифрование
<br />
PBS поддерживает шифрование на стороне клиента. Ключ шифрования хранится только у тебя — администратор PBS <a title="Бэкап и восстановление сервера The Dude (MikroTik)" href="https://it-apteka.com/bjekap-i-vosstanovlenie-servera-the-dude-mikrotik/" target="_blank" rel="noopener" data-wpil-monitor-id="1840">сервера не может прочитать зашифрованные бэкапы</a>. Это принципиально важно если PBS работает не на твоём железе.<br />
<p>Настрой шифрование при добавлении PBS Storage в PVE. В поле «Encryption Key» выбери «Auto-generate a client encryption key». Ключ сохранится в PVE и будет использоваться автоматически.</p>
"Сохрани
<br />
Ключ шифрования хранится на ноде PVE. Если нода умрёт без возможности восстановления — зашифрованные бэкапы станут бесполезны. Экспортируй ключ и храни в безопасном месте отдельно от сервера.<br />
<pre><code class="language-bash">
# Экспортировать ключ шифрования на ноде PVE
cat /etc/pve/priv/pbs-backup-key.json
# Сохрани этот вывод в защищённом месте (password manager, зашифрованный USB)
</code></pre>
<h3>Настройка firewall для PBS</h3>
<table style="border-collapse: collapse; width: 100%;" border="1" cellspacing="0" cellpadding="8">
<thead>
<tr style="background-color: #f1f5f9;">
<th>Порт</th>
<th>Протокол</th>
<th>Направление</th>
<th>Назначение</th>
</tr>
</thead>
<tbody>
<tr>
<td>8007</td>
<td>TCP</td>
<td>Входящий</td>
<td>Веб-интерфейс и API PBS</td>
</tr>
<tr>
<td>22</td>
<td>TCP</td>
<td>Входящий</td>
<td>SSH (ограничь по IP)</td>
</tr>
</tbody>
</table>
<pre><code class="language-bash">
# Настроить UFW на сервере PBS
ufw default deny incoming
ufw default allow outgoing
# Разрешить только с сети PVE (замени на свою подсеть)
ufw allow from 192.168.1.0/24 to any port 8007 proto tcp
ufw allow from 192.168.1.0/24 to any port 22 proto tcp
ufw enable
ufw status
</code></pre>
<h2>Резервное копирование самого PBS</h2>
<p>PBS хранит бэкапы. Но кто бэкапит PBS? Отдельный вопрос который все игнорируют до первого инцидента.</p>
<p>Что нужно бэкапить на сервере PBS:</p>
<ul>
<li>/etc/proxmox-backup/ — конфигурация PBS</li>
<li>/var/lib/proxmox-backup/ — база данных заданий и метаданные</li>
<li>Ключи шифрования если они хранятся на PBS</li>
</ul>
<pre><code class="language-bash">
# Простой скрипт бэкапа конфигурации PBS
#!/bin/bash
BACKUP_DIR="/mnt/external-backup"
DATE=$(date +%Y%m%d)
tar -czf "$BACKUP_DIR/pbs-config-$DATE.tar.gz" \
/etc/proxmox-backup/ \
/var/lib/proxmox-backup/
# Хранить последние 30 дней
find "$BACKUP_DIR" -name "pbs-config-*.tar.gz" -mtime +30 -delete
echo "PBS config backup completed: pbs-config-$DATE.tar.gz"
</code></pre>
<p>Добавь в cron:</p>
<pre><code class="language-bash">
crontab -e
# Добавить строку:
0 4 * * * /usr/local/bin/pbs-config-backup.sh >> /var/log/pbs-backup.log 2>&1
</code></pre>
<h2>Мониторинг</h2>
<p>PBS имеет встроенные уведомления через email. Настрой их сразу — узнавать о проблемах из письма лучше чем из звонка директора.</p>
<pre><code class="language-bash">
# Настроить email уведомления в PBS
proxmox-backup-manager notification config update \
--mode sendmail \
--mailto admin@example.com \
--from-address pbs@example.com
</code></pre>
<p>Для более серьёзного мониторинга PBS предоставляет метрики через API. Их можно забирать в Prometheus через node_exporter или через прямые запросы к API:</p>
<pre><code class="language-bash">
# Проверить API PBS (заменить данные на свои)
curl -sk -H "Authorization: PBSAPIToken=backup-user@pbs!mytoken:TOKEN_VALUE" \
https://192.168.1.50:8007/api2/json/admin/datastore/main-backup/status \
| python3 -m json.tool
</code></pre>
<h2>Обновление Proxmox Backup Server</h2>
<p>Перед обновлением — проверь что последние бэкапы успешно завершились. Обновление само по себе безопасно, но лучше знать что есть свежие копии.</p>
<pre><code class="language-bash">
# Проверить доступные обновления
apt update
apt list --upgradable | grep proxmox
# Обновить PBS
apt update && apt dist-upgrade
# После обновления проверить статус
systemctl status proxmox-backup
systemctl status proxmox-backup-proxy
</code></pre>
<p>После мажорных обновлений (например 2.x -> 3.x) проверь Release Notes на сайте Proxmox — там бывают breaking changes требующие ручных действий.</p>
<h3>Как откатиться если обновление сломало</h3>
<p>PBS хранит старые версии пакетов в кэше apt. Откат:</p>
<pre><code class="language-bash">
# Посмотреть доступные версии пакета
apt-cache showpkg proxmox-backup-server
# Откатить на предыдущую версию
apt install proxmox-backup-server=ВЕРСИЯ proxmox-backup=ВЕРСИЯ
# Зафиксировать версию чтобы apt не обновил автоматически
apt-mark hold proxmox-backup-server proxmox-backup
</code></pre>
<h2>Troubleshooting</h2>
<h3>Ошибка «SSL certificate verify failed» при подключении PVE к PBS</h3>
<p>Причина — fingerprint в настройках Storage в PVE не совпадает с фактическим fingerprint PBS. Бывает после перевыпуска сертификата.</p>
"Ошибка
<br />
Получи актуальный fingerprint с PBS <a title="VPN на MikroTik: полный гайд 2026 — WireGuard, L2TP/IPsec, IKEv2, настройка сервера и клиента" href="https://it-apteka.com/vpn-na-mikrotik-polnyj-gajd-2026-wireguard-l2tp-ipsec-ikev2-nastrojka-servera-i-klienta/" target="_blank" rel="noopener" data-wpil-monitor-id="1835">сервера и обнови настройки</a> Storage в PVE.<br />
<pre><code class="language-bash">
# На сервере PBS - получить актуальный fingerprint
proxmox-backup-manager cert info | grep Fingerprint
# В PVE обновить Storage: Datacenter - Storage - выбери PBS хранилище - Edit
# Вставь новый fingerprint
</code></pre>
<h3>Бэкап зависает или занимает слишком много времени</h3>
<p>Причина чаще всего в сети. Проверь пропускную способность между PVE и PBS:</p>
<pre><code class="language-bash">
# На ноде PVE - тест скорости до PBS (замени IP)
iperf3 -c 192.168.1.50
# Если iperf3 не установлен
apt install -y iperf3
# Простой тест через dd + netcat
# На PBS
nc -l 9999 > /dev/null
# На PVE
dd if=/dev/zero bs=1M count=1024 | nc 192.168.1.50 9999
</code></pre>
<p>Также проверь нагрузку на PBS в момент бэкапа:</p>
<pre><code class="language-bash">
# На PBS во время бэкапа
htop
iostat -x 2
</code></pre>
<h3>Ошибка «datastore full» — хранилище заполнено</h3>
<pre><code class="language-bash">
# Проверить заполненность datastore
df -h /mnt/backup
# Запустить принудительное применение Prune Policy
proxmox-backup-manager prune-datastore main-backup \
--keep-last 3 \
--keep-daily 7 \
--keep-weekly 4
# После prune запустить garbage collection (физически удаляет блоки)
proxmox-backup-manager garbage-collection start main-backup
proxmox-backup-manager task log $(proxmox-backup-manager task list --limit 1 | tail -1 | awk '{print $1}')
</code></pre>
<h3>Ошибка при восстановлении: «permission denied»</h3>
<p>Пользователь PBS не имеет прав на восстановление. Нужна роль DatastoreRestore или Admin.</p>
<pre><code class="language-bash">
# Добавить права на восстановление
proxmox-backup-manager acl update /datastore/main-backup DatastoreRestore \
--auth-id backup-user@pbs
</code></pre>
<h3>QEMU Guest Agent не отвечает — бэкап в режиме Snapshot может быть неконсистентным</h3>
<p>Установи QEMU Guest Agent внутри VM:</p>
<pre><code class="language-bash">
# Внутри Linux VM
apt install -y qemu-guest-agent
systemctl enable --now qemu-guest-agent
# Внутри Windows VM - установи virtio-win драйвера
# https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/
</code></pre>
<p>В настройках VM в PVE: Options — QEMU Guest Agent — Enabled.</p>
<h2>Альтернативные решения</h2>
<p><strong><a title="Перенос Windows с физического компьютера на Proxmox через Veeam Backup: пошаговая инструкция" href="https://it-apteka.com/perenos-windows-s-fizicheskogo-kompjutera-na-proxmox-cherez-veeam-backup-poshagovaja-instrukcija/" target="_blank" rel="noopener" data-wpil-monitor-id="1833">Veeam Backup for Proxmox</a></strong> — коммерческое решение с богатым функционалом и поддержкой. Имеет бесплатную версию с ограничениями. Хорош если уже используешь Veeam для VMware/Hyper-V.</p>
<p><strong>Proxmox VE встроенный бэкап на NFS/CIFS</strong> — проще в настройке, не требует отдельного сервера. Нет дедупликации, нет инкрементальных бэкапов, но для небольших инсталляций вполне работает.</p>
<p><strong>Bareos / Bacula</strong> — энтерпрайз-класс open-source решения. Мощные, гибкие, и требуют серьёзной настройки. Если у тебя смешанная инфраструктура (не только Proxmox) — стоит рассмотреть.</p>
<p><strong>Restic + rclone</strong> — связка для тех кто любит делать руками. Restic делает инкрементальные дедуплицированные бэкапы, rclone отправляет их в облако. Нет GUI, настройка через конфиги, но полный контроль.</p>
<h2>Практический опыт: реальные цифры</h2>
<p>Расскажу как это выглядит на практике, а не в маркетинговых слайдах Proxmox.</p>
<p>Конкретная инсталляция: PBS на отдельном мини-сервере (Intel N100, 16 ГБ RAM, SSD под систему, 4 ТБ HDD под proxmox backup datastore). Бэкапит ноду PVE с 9 VM — микс из Ubuntu Server, Debian, Windows Server 2022 и пары Alpine-контейнеров. Суммарный размер дисков VM — около 900 ГБ.</p>
<p>После двух недель ежедневных backup jobs цифры такие. Физически занято на диске PBS — 380 ГБ. Дедупликация proxmox backup дала соотношение примерно 2.4:1. Это 58% экономии — то есть без дедупликации под те же данные с той же политикой хранения ушло бы под 900 ГБ.</p>
<p>Откуда такой результат? Шесть из девяти VM на одинаковом базовом образе Ubuntu 22.04. Общие блоки ядра, системных библиотек, конфигов — PBS хранит их один раз. Чем больше однотипных VM, тем выше дедупликация.</p>
<p>Расписание backup jobs: ежедневно в 3:00. Политика proxmox backup retention: keep-last 3, keep-daily 7, keep-weekly 4. Инкрементальный бэкап всех 9 VM занимает 12-18 минут. Первый полный бэкап занял около 2 часов — по сети 1 Гбит.</p>
<p>Ошибки которые встречались живьём:</p>
<ul>
<li>Windows Server VM периодически давала ошибку «guest <a title="Установка Zabbix Agent 2 на Linux: полное руководство" href="https://it-apteka.com/ustanovka-zabbix-agent-2-na-linux-polnoe-rukovodstvo/" target="_blank" rel="noopener" data-wpil-monitor-id="1841">agent not responding» — лечится установкой</a> актуальных virtio-win драйверов и перезапуском сервиса внутри гостя.</li>
<li>После обновления PVE с 8.1 на 8.2 слетел fingerprint PBS в настройках Storage — занял 2 минуты на обновление, но если не знать причину можно долго искать.</li>
<li>Один раз backup job завис намертво из-за I/O ошибки на HDD под datastore. PBS это поймал, задача упала с ошибкой, пришёл email. Диск проверил — оказался bad sector на краю. Своевременно.</li>
</ul>
<p>Вывод по железу: N100 справляется без напряга. CPU во время бэкапа поднимается до 40-60% при включённом сжатии ZSTD. Если бы включил ещё шифрование на стороне клиента — нагрузка была бы выше. Для 9-12 VM на гигабитной сети N100 с 16 ГБ RAM — нормальная база.</p>
<h2>FAQ</h2>
<h3>Чем отличается Proxmox Backup Server от обычного backup в Proxmox VE?</h3>
<p>Встроенный backup в <a title="Установка N8N в LXC контейнер Proxmox: полная инструкция от А до Я" href="https://it-apteka.com/ustanovka-n8n-v-lxc-kontejner-proxmox-polnaja-instrukcija-ot-a-do-ja/" target="_blank" rel="noopener" data-wpil-monitor-id="1836">Proxmox VE через vzdump пишет полный</a> архив VM каждый раз — .vma или .tar.gz файл на NFS/CIFS хранилище. Никакой дедупликации, никаких инкрементальных бэкапов. Каждый бэкап VM на 200 ГБ занимает 200 ГБ на диске. PBS использует чанк-дедупликацию и инкрементальные снапшоты: только изменённые блоки передаются и хранятся. Плюс PBS vs vzdump — верификация, шифрование на клиенте, восстановление отдельных файлов без разворачивания всей VM, и централизованное управление proxmox backup retention политиками.</p>
<h3>Можно ли хранить proxmox backup datastore на HDD?</h3>
<p>Можно, и это нормальная практика для datastore под бэкапы. HDD медленнее SSD при случайных операциях, но бэкапы пишутся последовательно — разница не критичная. Важнее скорость сети между PVE и PBS. На SSD имеет смысл держать только системный раздел PBS и индекс чанков — он активно читается при дедупликации. Хорошая схема: системный SSD 32-64 ГБ, отдельный HDD или ZFS-пул под datastore.</p>
<h3>Как подключить NFS или SMB хранилище к PBS?</h3>
<p>PBS поддерживает datastore только на локальных путях — не умеет напрямую создавать datastore на NFS/SMB. Но можно смонтировать NFS/SMB как точку монтирования и создать datastore на этом пути. Сначала смонтируй шару:</p>
<pre><code class="language-bash">
# Смонтировать NFS
apt install -y nfs-common
mount -t nfs 192.168.1.100:/backup /mnt/nfs-backup
# Добавить в /etc/fstab для автомонтирования
echo "192.168.1.100:/backup /mnt/nfs-backup nfs defaults,_netdev 0 0" >> /etc/fstab
# Создать datastore на смонтированном пути
proxmox-backup-manager datastore create nfs-store /mnt/nfs-backup
</code></pre>
<p>Учти: дедупликация proxmox backup работает хуже на сетевых хранилищах из-за латентности при обращении к индексу чанков. Для активного использования лучше локальный диск.</p>
<h3>Как работает дедупликация в PBS?</h3>
<p>PBS разбивает данные VM на чанки фиксированного размера (по умолчанию 4 МБ) и вычисляет SHA256-хэш каждого чанка. При следующем бэкапе передаются только чанки с новыми хэшами — те блоки которые изменились. Уже известные чанки просто регистрируются по хэшу без повторной передачи и хранения. Это работает и между разными VM: если десять машин имеют одинаковый /boot раздел — соответствующие чанки хранятся один раз в datastore. Сжатие идёт поверх дедупликации — каждый уникальный чанк ещё дополнительно сжимается через ZSTD или LZO.</p>
<h3>Можно ли восстановить отдельный файл из резервной копии VM?</h3>
<p>Да, это одна из главных фич PBS которой нет у стандартного vzdump. В веб-интерфейсе PBS выбери datastore, найди нужный снапшот VM, нажми File Restore — откроется файловый браузер прямо внутри бэкапа. Скачай нужный файл без восстановления всей VM. Через CLI монтируй снапшот как виртуальную ФС командой proxmox-backup-client mount и копируй нужное. Работает для ext4, XFS, btrfs, NTFS файловых систем внутри VM.</p>
<h3>Как часто делать backup виртуальных машин?</h3>
<p>Зависит от RPO — допустимой потери данных. Для большинства рабочих VM ежедневный backup jobs в ночное время достаточен. Для VM с базами данных или активной записью — рассмотри несколько раз в день. PBS не нагружает гипервизор сильно благодаря инкрементальным бэкапам, поэтому дважды в сутки вполне реально без заметного влияния на производительность. Политика proxmox backup retention: keep-last 3 плюс keep-daily 7 даёт хорошую гибкость восстановления при умеренном расходе места.</p>
<h3>Как удалить старые резервные копии вручную?</h3>
<p>Через веб-интерфейс PBS: выбери datastore — перейди в список снапшотов нужной VM — выдели лишние — Delete. Через CLI:</p>
<pre><code class="language-bash">
# Посмотреть все снапшоты VM 100 в datastore
proxmox-backup-client snapshots \
--repository backup-user@pbs@192.168.1.50:main-backup \
vm/100
# Удалить конкретный снапшот
proxmox-backup-client forget vm/100/2025-01-15T03:00:00Z \
--repository backup-user@pbs@192.168.1.50:main-backup
# После удаления - запустить GC для освобождения места
proxmox-backup-manager garbage-collection start main-backup
</code></pre>
<p>Важно: proxmox backup prune удаляет метаданные снапшотов, но физическое место освобождается только после Garbage Collection. Если после прунинга df показывает то же самое — запусти GC и подожди завершения.</p>
<h3>Что делать если datastore заполнен и бэкапы перестали запускаться?</h3>
<p>Три шага по порядку. Первый — прунинг: Datastore — Prune All в веб-интерфейсе PBS или через CLI. Второй — GC: Datastore — Garbage Collect. GC физически освобождает место от чанков на которые больше нет ссылок. Третий — проверь настройки proxmox backup retention если ситуация повторяется. Если после прунинга и GC места всё равно нет — datastore реально мал для твоей политики хранения, нужно либо добавить диск, либо урезать keep-weekly/keep-monthly.</p>
<h3>Можно ли запустить Proxmox Backup Server как VM внутри Proxmox VE?</h3>
<p>Можно. Технически работает нормально для тестовой среды или небольших инфраструктур. Главное ограничение: если нода PVE упадёт физически, VM с PBS тоже будет недоступна. Восстановиться с PBS в этот момент не получится. Для серьёзного продакшна PBS должен жить на отдельном железе или как минимум на другой ноде кластера.</p>
<h2>Итог</h2>
<p>PBS — это правильный ответ на вопрос «как бэкапить Proxmox». Не NFS-шара, не <a class="wpil_keyword_link" href="https://it-apteka.com/category/scripts/" target="_blank" rel="noopener" title="Скрипты" data-wpil-keyword-link="linked" data-wpil-monitor-id="1846">скрипт</a> с rsync, а полноценное решение с дедупликацией, верификацией и восстановлением отдельных файлов.</p>
<p>Главное что ты сделал после этой статьи: поднял PBS, подключил к PVE, настроил backup job с расписанием, проверил восстановление. Именно проверил, а не предположил что оно работает.</p>
"Не
<br />
Если при подключении PVE к PBS падает ошибка, backup job зависает или восстановление не стартует — пиши в комментарии. Укажи версии PVE и PBS, текст ошибки из логов, и что уже пробовал. Разберёмся.<br />
Быстрый ответ
Proxmox Backup Server (PBS) — отдельный дистрибутив для дедуплицированного резервного копирования VM, контейнеров и физических хостов.
Устанавливается на отдельный сервер или VM, подключается к Proxmox VE через веб-интерфейс, бэкапы настраиваются через Backup Job с расписанием. Полная установка и первый бэкап — около 30 минут.
Proxmox Backup Server: установка, настройка и резервное копирование VM
Каждый раз когда я слышу «у нас нет бэкапов, зато есть RAID» — где-то в мире падает ещё один продакшн. RAID защищает от отказа диска. Бэкап защищает от тебя самого. Это разные задачи.
Proxmox Backup Server закрывает тему резервного копирования для инфраструктуры на Proxmox VE чище чем любой сторонний инструмент. Дедупликация, инкрементальные бэкапы, шифрование, верификация — всё из коробки. И всё это бесплатно.
В этой статье пройдём весь путь: от установки PBS на железо до первого работающего backup job с расписанием и проверенным восстановлением.
Что такое Proxmox Backup Server и зачем он нужен
PBS — это отдельный дистрибутив на базе Debian. Не плагин, не расширение для Proxmox VE — именно отдельный сервер со своим веб-интерфейсом, своим хранилищем и своим API.
Главное отличие от обычного бэкапа через NFS/SMB в Proxmox VE — дедупликация на уровне блоков. Когда у тебя 10 VM с одинаковой базой Ubuntu, PBS хранит общие блоки один раз. Реальная экономия дискового пространства — 40-70% в типичной инфраструктуре.
Второе отличие — инкрементальные бэкапы. Первый бэкап полный, все последующие — только изменённые блоки. Бэкап VM на 100 ГБ после первого раза занимает минуты вместо часов.
PBS vs vzdump — это не просто разные инструменты, это разные подходы к резервному копированию. vzdump пакует VM в архив каждый раз заново. PBS — полноценная backup-платформа с API, политиками хранения proxmox backup retention, верификацией proxmox backup verify и централизованным управлением backup jobs. Если у тебя больше трёх VM и ты думаешь о бэкапах всерьёз — PBS правильный выбор.
%%{init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#ffffff',
'primaryTextColor': '#1e293b',
'primaryBorderColor': '#94a3b8',
'lineColor': '#64748b',
'fontSize': '15px',
'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
},
'flowchart': {'curve': 'linear', 'nodeSpacing': 50, 'rankSpacing': 50}
}}%%
flowchart TD
A["Proxmox VE Node"] --> B["PBS Client (встроен в PVE)"]
C["Windows Host"] --> D["PBS Agent (установить отдельно)"]
E["Linux Host"] --> F["PBS Agent (установить отдельно)"]
B --> G["Proxmox Backup Server"]
D --> G
F --> G
G --> H["Datastore (хранилище)"]
H --> I["Дедупликация + сжатие"]
I --> J["Диск / NFS / ZFS"]
style A fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
style C fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
style E fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
style G fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
style H fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#1e293b
style I fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#1e293b
style J fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#1e293b
style B fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#1e293b
style D fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#1e293b
style F fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#1e293b
Proxmox Backup Server — системные требования
| Компонент |
Минимум |
Рекомендуется |
Примечания |
| CPU |
64-bit, 2 ядра |
4+ ядра |
Дедупликация и шифрование нагружают CPU |
| RAM |
2 ГБ |
8+ ГБ |
1 ГБ RAM на каждые 1 ТБ хранилища для индекса |
| Системный диск |
16 ГБ |
32 ГБ SSD |
Отдельно от диска под бэкапы |
| Диск для бэкапов |
Зависит от задачи |
Отдельный HDD/ZFS |
Лучше отдельный от системного |
| Сеть |
1 Гбит |
10 Гбит |
Пропускная способность напрямую влияет на время бэкапа |
| ОС |
PBS ISO (Debian) |
PBS ISO |
Можно поставить пакеты на чистый Debian 12 |
PBS можно запустить как VM внутри того же Proxmox VE которую ты бэкапишь. Это работает, но помни: если упадёт гипервизор — VM с PBS тоже недоступна. Для серьёзного продакшна PBS должен жить на отдельном железе.
На момент публикации актуальна версия PBS 3.x. Перед установкой проверь свежие релизы на официальном сайте.
Установка Proxmox Backup Server
Скачать ISO
Официальный ISO доступен на сайте Proxmox:
https://www.proxmox.com/en/downloads/proxmox-backup-server
Скачай последний стабильный ISO. Запиши на USB через Rufus (Windows) или dd (Linux):
# Linux - записать ISO на USB (замени /dev/sdX на свой диск)
dd if=proxmox-backup-server_*.iso of=/dev/sdX bs=1M status=progress
sync
Осторожно с dd
Команда dd затирает диск без предупреждений. Дважды проверь что /dev/sdX — это именно твой USB, а не системный диск. lsblk поможет не ошибиться.
Установка через инсталлятор
Загрузись с USB. Инсталлятор PBS похож на Proxmox VE — графический, понятный.
Шаги установки:
Шаг 1. Выбери «Install Proxmox Backup Server». Прими лицензионное соглашение.
Шаг 2. Выбери целевой диск для установки системы. Здесь выбирай системный диск, не тот который пойдёт под бэкапы.
Шаг 3. Настрой локализацию: страна, часовой пояс, раскладка клавиатуры.
Шаг 4. Задай пароль root и email для уведомлений.
Шаг 5. Настрой сеть: IP-адрес, маску, шлюз, DNS. Используй статический IP — PBS должен быть всегда доступен по одному адресу.
Шаг 6. Подтверди установку. Дождись завершения — обычно 5-10 минут.
После перезагрузки PBS запустится. Веб-интерфейс доступен по адресу:
https://IP_АДРЕС_PBS:8007
Войди как root с паролем который задал при установке.
Альтернативная установка на существующий Debian 12
Если не хочешь ставить с нуля — добавь репозиторий PBS на чистый Debian 12 Bookworm:
# Добавить репозиторий PBS (no-subscription)
echo "deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription" > /etc/apt/sources.list.d/pbs-no-subscription.list
# Добавить ключ Proxmox
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
# Обновить и установить
apt update && apt install -y proxmox-backup-server
# Запустить сервис
systemctl enable --now proxmox-backup
Вот тут важно: no-subscription репозиторий работает без лицензии. Enterprise репозиторий требует платную подписку. Для домашней лабы и небольших инсталляций no-subscription вполне нормально.
Первоначальная настройка PBS
Создать хранилище (Datastore)
После первого входа в веб-интерфейс первым делом создай datastore — это каталог на диске где PBS будет хранить бэкапы.
В веб-интерфейсе: Administration — Storage/Disks.
Сначала посмотри что есть из дисков:
# На сервере PBS - посмотреть диски
lsblk
# Посмотреть диски которые видит PBS
proxmox-backup-manager disk list
Если под бэкапы выделен отдельный диск без разметки — инициализируй его через интерфейс PBS. Administration — Storage/Disks — выбери диск — Initialize Disk with GPT.
После инициализации создай директорию и зарегистрируй datastore.
Через веб-интерфейс: Configuration — Datastore — Add Datastore.
Заполни поля:
- Name: произвольное имя, например «main-backup»
- Path: путь к директории, например /mnt/backup
- Comment: описание
Или через командную строку:
# Создать точку монтирования
mkdir -p /mnt/backup
# Добавить datastore
proxmox-backup-manager datastore create main-backup /mnt/backup
Настроить политику хранения (Prune Policy)
Prune policy определяет сколько бэкапов хранить. Без политики диск рано или поздно заполнится.
В интерфейсе PBS: выбери datastore — Edit — вкладка Prune Options.
Типичная политика для продакшна:
Keep Last: 3 (последние 3 бэкапа)
Keep Hourly: 0
Keep Daily: 7 (ежедневные за 7 дней)
Keep Weekly: 4 (еженедельные за 4 недели)
Keep Monthly: 3 (ежемесячные за 3 месяца)
Keep Yearly: 0
Это даёт тебе гибкость восстановиться на вчера, на прошлую неделю или на начало месяца.
Создать пользователя для Proxmox VE
Не используй root для подключения PVE к PBS. Создай отдельного пользователя с минимально необходимыми правами.
Configuration — Access Control — Add User:
# Создать пользователя
proxmox-backup-manager user create backup-user@pbs --password "СильныйПароль123"
# Назначить роль DatastoreBackup на нужном хранилище
proxmox-backup-manager acl update /datastore/main-backup DatastoreBackup --auth-id backup-user@pbs
Роль DatastoreBackup даёт права на запись бэкапов и восстановление. Для read-only доступа используй DatastoreReader.
Подключение Proxmox VE к Proxmox Backup Server
Это делается в интерфейсе Proxmox VE, не PBS.
В PVE: Datacenter — Storage — Add — Proxmox Backup Server.
Заполни поля:
| Поле |
Значение |
Пример |
| ID |
Имя хранилища в PVE |
pbs-main |
| Server |
IP или hostname PBS |
192.168.1.50 |
| Username |
Пользователь PBS |
backup-user@pbs |
| Password |
Пароль пользователя |
— |
| Datastore |
Имя хранилища на PBS |
main-backup |
| Fingerprint |
TLS fingerprint PBS |
берётся из PBS |
Fingerprint PBS найди в интерфейсе PBS: Dashboard — показывает fingerprint. Или через командную строку на сервере PBS:
proxmox-backup-manager cert info | grep Fingerprint
После добавления хранилище появится в списке Storage в PVE. Можно проверить подключение через PVE CLI:
# На ноде Proxmox VE
pvesm status
В выводе должна быть строка с твоим PBS-хранилищем и статусом active.
Настройка Backup Job в Proxmox VE
Backup Job — это расписание резервного копирования. Один job покрывает несколько VM и контейнеров. Именно через backup jobs proxmox реализует автоматическое резервное копирование всей инфраструктуры — задал расписание, забыл, получаешь email с отчётом каждое утро.
В PVE: Datacenter — Backup — Add.
Параметры Backup Job
| Параметр |
Описание |
Рекомендация |
| Node |
Нода PVE |
Выбери нужную ноду или All |
| Storage |
Хранилище для бэкапа |
Твой PBS datastore |
| Schedule |
Расписание |
daily (ежедневно), или cron-выражение |
| Selection |
Что бэкапить |
All или конкретные VM ID |
| Mode |
Режим бэкапа |
Snapshot — без остановки VM |
| Compression |
Сжатие |
ZSTD — баланс скорости и сжатия |
| Prune |
Применить политику хранения |
Включи, выбери политику |
| Send email to |
Email уведомления |
Укажи свой email |
Режим бэкапа — вот тут важно:
- Snapshot — бэкап без остановки VM через механизм снапшотов. Работает для большинства дисков. Минус — данные внутри гостевой ОС могут быть в незаписанном состоянии. Для БД нужен агент или ручной flush.
- Suspend — VM приостанавливается на время создания снапшота. Консистентнее, но есть кратковременный простой.
- Stop — VM останавливается на время бэкапа. Максимальная консистентность, максимальный простой. Только для некритичных VM.
Для продакшна используй Snapshot с QEMU Guest Agent — он делает quiesce файловой системы перед снапшотом.
Запустить Backup Job вручную
После создания job запусти его сразу чтобы убедиться что всё работает:
# На ноде Proxmox VE
# Посмотреть список job
vzdump --list
# Запустить бэкап конкретной VM (замени 100 на ID своей VM)
vzdump 100 --storage pbs-main --mode snapshot --compress zstd
Или через веб-интерфейс PVE: Datacenter — Backup — выбери job — Run now.
Смотри прогресс в Tasks в нижней части интерфейса PVE.
Установка Proxmox Backup Agent
PBS Agent нужен для бэкапа физических серверов (bare-metal хостов) — не виртуалок, а реальных машин с Windows или Linux. Для VM внутри PVE агент не нужен.
Установка агента на Linux
# Добавить репозиторий PBS на клиентскую машину (Debian/Ubuntu)
echo "deb http://download.proxmox.com/debian/pbs-client bookworm main" > /etc/apt/sources.list.d/pbs-client.list
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
apt update && apt install -y proxmox-backup-client
# Проверить установку
proxmox-backup-client version
После установки настрой переменные окружения для подключения к PBS:
# Установить переменные (можно добавить в ~/.bashrc или /etc/environment)
export PBS_REPOSITORY="backup-user@pbs@192.168.1.50:main-backup"
export PBS_PASSWORD="СильныйПароль123"
export PBS_FINGERPRINT="xx:xx:xx:..." # fingerprint с PBS сервера
# Создать бэкап директории
proxmox-backup-client backup etc.pxar:/etc --backup-id my-server
Установка агента на Windows
Скачай Windows agent с сайта Proxmox:
https://www.proxmox.com/en/downloads/proxmox-backup-server
Раздел «Windows Client». Установи MSI-пакет. После установки агент работает как Windows-сервис.
Настрой подключение через GUI агента или через реестр. Укажи адрес PBS сервера, credentials и datastore.
Проверь что сервис запущен:
# Проверить статус агента
Get-Service "Proxmox Backup Agent"
# Запустить если остановлен
Start-Service "Proxmox Backup Agent"
Proxmox Backup: восстановление VM
Бэкап который ты не проверял — это не бэкап. Это надежда.
Проверь восстановление сразу после первого успешного бэкапа. Не через месяц когда реально нужно будет.
Восстановление VM через веб-интерфейс PVE
В PVE: выбери ноду — Storage — pbs-main — Backups. Найди нужный бэкап VM.
Кликни Restore. Выбери:
- Storage куда восстанавливать (можно то же хранилище или другое)
- VM ID — можно оставить тот же или выбрать новый (для параллельного запуска)
- Галка «Start after restore» — если нужно сразу запустить
Подтверди — и началось восстановление. Время зависит от размера VM и скорости сети.
Восстановление через командную строку
# На ноде Proxmox VE
# Посмотреть доступные бэкапы
proxmox-backup-client list --repository backup-user@pbs@192.168.1.50:main-backup
# Восстановить VM (замени ID и snapshot)
qmrestore pbs-main:backup/vm/100/2025-04-20T03:00:00Z 100 --storage local-lvm
# Восстановить контейнер
pct restore 101 pbs-main:backup/ct/101/2025-04-20T03:00:00Z --storage local-lvm
Восстановление отдельных файлов (File Restore)
PBS умеет восстанавливать отдельные файлы из бэкапа без восстановления всей VM. Это одна из главных фич которую не умеют классические бэкап-решения.
В PBS веб-интерфейсе: Datastore — выбери бэкап — File Restore. Откроется браузер файлов внутри бэкапа. Выбери нужный файл — Download.
# Через CLI на PBS сервере
# Монтировать бэкап как виртуальную файловую систему
proxmox-backup-client mount vm/100/2025-04-20T03:00:00Z /mnt/restore \
--repository backup-user@pbs@192.168.1.50:main-backup
# Теперь /mnt/restore содержит файловую систему VM
ls /mnt/restore
# После копирования нужных файлов - размонтировать
proxmox-backup-client unmount /mnt/restore
Проверка работоспособности
Проверить статус PBS
# На сервере PBS
systemctl status proxmox-backup
systemctl status proxmox-backup-proxy
# Проверить datastore
proxmox-backup-manager datastore list
# Статистика хранилища
proxmox-backup-manager datastore show main-backup
Проверить список бэкапов
# На сервере PBS - все бэкапы в datastore
proxmox-backup-client snapshots --repository backup-user@pbs@localhost:main-backup
# С ноды PVE
proxmox-backup-client list --repository backup-user@pbs@192.168.1.50:main-backup
Запустить верификацию бэкапа
proxmox backup verify — встроенная проверка целостности. PBS проверяет SHA256-хэши всех чанков в datastore. Если хоть один блок повреждён — задача падает с ошибкой и приходит email. Запускай верификацию по расписанию, не только после инцидентов.
В веб-интерфейсе PBS: Datastore — Verify All. Или по расписанию через Verify Job.
# Через CLI
proxmox-backup-manager verify-job create verify-main \
--datastore main-backup \
--schedule "weekly" \
--ignore-verified true
Проверить логи
# Логи PBS сервиса
journalctl -u proxmox-backup -n 100 --no-pager
# Логи прокси (веб-интерфейс и API)
journalctl -u proxmox-backup-proxy -n 100 --no-pager
# Задачи в PBS
proxmox-backup-manager task list --limit 20
Безопасность
Шифрование бэкапов
PBS поддерживает шифрование на стороне клиента. Ключ шифрования хранится только у тебя — администратор PBS
сервера не может прочитать зашифрованные бэкапы. Это принципиально важно если PBS работает не на твоём железе.
Настрой шифрование при добавлении PBS Storage в PVE. В поле «Encryption Key» выбери «Auto-generate a client encryption key». Ключ сохранится в PVE и будет использоваться автоматически.
Сохрани ключ шифрования отдельно
Ключ шифрования хранится на ноде PVE. Если нода умрёт без возможности восстановления — зашифрованные бэкапы станут бесполезны. Экспортируй ключ и храни в безопасном месте отдельно от сервера.
# Экспортировать ключ шифрования на ноде PVE
cat /etc/pve/priv/pbs-backup-key.json
# Сохрани этот вывод в защищённом месте (password manager, зашифрованный USB)
Настройка firewall для PBS
| Порт |
Протокол |
Направление |
Назначение |
| 8007 |
TCP |
Входящий |
Веб-интерфейс и API PBS |
| 22 |
TCP |
Входящий |
SSH (ограничь по IP) |
# Настроить UFW на сервере PBS
ufw default deny incoming
ufw default allow outgoing
# Разрешить только с сети PVE (замени на свою подсеть)
ufw allow from 192.168.1.0/24 to any port 8007 proto tcp
ufw allow from 192.168.1.0/24 to any port 22 proto tcp
ufw enable
ufw status
Резервное копирование самого PBS
PBS хранит бэкапы. Но кто бэкапит PBS? Отдельный вопрос который все игнорируют до первого инцидента.
Что нужно бэкапить на сервере PBS:
- /etc/proxmox-backup/ — конфигурация PBS
- /var/lib/proxmox-backup/ — база данных заданий и метаданные
- Ключи шифрования если они хранятся на PBS
# Простой скрипт бэкапа конфигурации PBS
#!/bin/bash
BACKUP_DIR="/mnt/external-backup"
DATE=$(date +%Y%m%d)
tar -czf "$BACKUP_DIR/pbs-config-$DATE.tar.gz" \
/etc/proxmox-backup/ \
/var/lib/proxmox-backup/
# Хранить последние 30 дней
find "$BACKUP_DIR" -name "pbs-config-*.tar.gz" -mtime +30 -delete
echo "PBS config backup completed: pbs-config-$DATE.tar.gz"
Добавь в cron:
crontab -e
# Добавить строку:
0 4 * * * /usr/local/bin/pbs-config-backup.sh >> /var/log/pbs-backup.log 2>&1
Мониторинг
PBS имеет встроенные уведомления через email. Настрой их сразу — узнавать о проблемах из письма лучше чем из звонка директора.
# Настроить email уведомления в PBS
proxmox-backup-manager notification config update \
--mode sendmail \
--mailto admin@example.com \
--from-address pbs@example.com
Для более серьёзного мониторинга PBS предоставляет метрики через API. Их можно забирать в Prometheus через node_exporter или через прямые запросы к API:
# Проверить API PBS (заменить данные на свои)
curl -sk -H "Authorization: PBSAPIToken=backup-user@pbs!mytoken:TOKEN_VALUE" \
https://192.168.1.50:8007/api2/json/admin/datastore/main-backup/status \
| python3 -m json.tool
Обновление Proxmox Backup Server
Перед обновлением — проверь что последние бэкапы успешно завершились. Обновление само по себе безопасно, но лучше знать что есть свежие копии.
# Проверить доступные обновления
apt update
apt list --upgradable | grep proxmox
# Обновить PBS
apt update && apt dist-upgrade
# После обновления проверить статус
systemctl status proxmox-backup
systemctl status proxmox-backup-proxy
После мажорных обновлений (например 2.x -> 3.x) проверь Release Notes на сайте Proxmox — там бывают breaking changes требующие ручных действий.
Как откатиться если обновление сломало
PBS хранит старые версии пакетов в кэше apt. Откат:
# Посмотреть доступные версии пакета
apt-cache showpkg proxmox-backup-server
# Откатить на предыдущую версию
apt install proxmox-backup-server=ВЕРСИЯ proxmox-backup=ВЕРСИЯ
# Зафиксировать версию чтобы apt не обновил автоматически
apt-mark hold proxmox-backup-server proxmox-backup
Troubleshooting
Ошибка «SSL certificate verify failed» при подключении PVE к PBS
Причина — fingerprint в настройках Storage в PVE не совпадает с фактическим fingerprint PBS. Бывает после перевыпуска сертификата.
# На сервере PBS - получить актуальный fingerprint
proxmox-backup-manager cert info | grep Fingerprint
# В PVE обновить Storage: Datacenter - Storage - выбери PBS хранилище - Edit
# Вставь новый fingerprint
Бэкап зависает или занимает слишком много времени
Причина чаще всего в сети. Проверь пропускную способность между PVE и PBS:
# На ноде PVE - тест скорости до PBS (замени IP)
iperf3 -c 192.168.1.50
# Если iperf3 не установлен
apt install -y iperf3
# Простой тест через dd + netcat
# На PBS
nc -l 9999 > /dev/null
# На PVE
dd if=/dev/zero bs=1M count=1024 | nc 192.168.1.50 9999
Также проверь нагрузку на PBS в момент бэкапа:
# На PBS во время бэкапа
htop
iostat -x 2
Ошибка «datastore full» — хранилище заполнено
# Проверить заполненность datastore
df -h /mnt/backup
# Запустить принудительное применение Prune Policy
proxmox-backup-manager prune-datastore main-backup \
--keep-last 3 \
--keep-daily 7 \
--keep-weekly 4
# После prune запустить garbage collection (физически удаляет блоки)
proxmox-backup-manager garbage-collection start main-backup
proxmox-backup-manager task log $(proxmox-backup-manager task list --limit 1 | tail -1 | awk '{print $1}')
Ошибка при восстановлении: «permission denied»
Пользователь PBS не имеет прав на восстановление. Нужна роль DatastoreRestore или Admin.
# Добавить права на восстановление
proxmox-backup-manager acl update /datastore/main-backup DatastoreRestore \
--auth-id backup-user@pbs
QEMU Guest Agent не отвечает — бэкап в режиме Snapshot может быть неконсистентным
Установи QEMU Guest Agent внутри VM:
# Внутри Linux VM
apt install -y qemu-guest-agent
systemctl enable --now qemu-guest-agent
# Внутри Windows VM - установи virtio-win драйвера
# https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/
В настройках VM в PVE: Options — QEMU Guest Agent — Enabled.
Альтернативные решения
Veeam Backup for Proxmox — коммерческое решение с богатым функционалом и поддержкой. Имеет бесплатную версию с ограничениями. Хорош если уже используешь Veeam для VMware/Hyper-V.
Proxmox VE встроенный бэкап на NFS/CIFS — проще в настройке, не требует отдельного сервера. Нет дедупликации, нет инкрементальных бэкапов, но для небольших инсталляций вполне работает.
Bareos / Bacula — энтерпрайз-класс open-source решения. Мощные, гибкие, и требуют серьёзной настройки. Если у тебя смешанная инфраструктура (не только Proxmox) — стоит рассмотреть.
Restic + rclone — связка для тех кто любит делать руками. Restic делает инкрементальные дедуплицированные бэкапы, rclone отправляет их в облако. Нет GUI, настройка через конфиги, но полный контроль.
Практический опыт: реальные цифры
Расскажу как это выглядит на практике, а не в маркетинговых слайдах Proxmox.
Конкретная инсталляция: PBS на отдельном мини-сервере (Intel N100, 16 ГБ RAM, SSD под систему, 4 ТБ HDD под proxmox backup datastore). Бэкапит ноду PVE с 9 VM — микс из Ubuntu Server, Debian, Windows Server 2022 и пары Alpine-контейнеров. Суммарный размер дисков VM — около 900 ГБ.
После двух недель ежедневных backup jobs цифры такие. Физически занято на диске PBS — 380 ГБ. Дедупликация proxmox backup дала соотношение примерно 2.4:1. Это 58% экономии — то есть без дедупликации под те же данные с той же политикой хранения ушло бы под 900 ГБ.
Откуда такой результат? Шесть из девяти VM на одинаковом базовом образе Ubuntu 22.04. Общие блоки ядра, системных библиотек, конфигов — PBS хранит их один раз. Чем больше однотипных VM, тем выше дедупликация.
Расписание backup jobs: ежедневно в 3:00. Политика proxmox backup retention: keep-last 3, keep-daily 7, keep-weekly 4. Инкрементальный бэкап всех 9 VM занимает 12-18 минут. Первый полный бэкап занял около 2 часов — по сети 1 Гбит.
Ошибки которые встречались живьём:
- Windows Server VM периодически давала ошибку «guest agent not responding» — лечится установкой актуальных virtio-win драйверов и перезапуском сервиса внутри гостя.
- После обновления PVE с 8.1 на 8.2 слетел fingerprint PBS в настройках Storage — занял 2 минуты на обновление, но если не знать причину можно долго искать.
- Один раз backup job завис намертво из-за I/O ошибки на HDD под datastore. PBS это поймал, задача упала с ошибкой, пришёл email. Диск проверил — оказался bad sector на краю. Своевременно.
Вывод по железу: N100 справляется без напряга. CPU во время бэкапа поднимается до 40-60% при включённом сжатии ZSTD. Если бы включил ещё шифрование на стороне клиента — нагрузка была бы выше. Для 9-12 VM на гигабитной сети N100 с 16 ГБ RAM — нормальная база.
FAQ
Чем отличается Proxmox Backup Server от обычного backup в Proxmox VE?
Встроенный backup в Proxmox VE через vzdump пишет полный архив VM каждый раз — .vma или .tar.gz файл на NFS/CIFS хранилище. Никакой дедупликации, никаких инкрементальных бэкапов. Каждый бэкап VM на 200 ГБ занимает 200 ГБ на диске. PBS использует чанк-дедупликацию и инкрементальные снапшоты: только изменённые блоки передаются и хранятся. Плюс PBS vs vzdump — верификация, шифрование на клиенте, восстановление отдельных файлов без разворачивания всей VM, и централизованное управление proxmox backup retention политиками.
Можно ли хранить proxmox backup datastore на HDD?
Можно, и это нормальная практика для datastore под бэкапы. HDD медленнее SSD при случайных операциях, но бэкапы пишутся последовательно — разница не критичная. Важнее скорость сети между PVE и PBS. На SSD имеет смысл держать только системный раздел PBS и индекс чанков — он активно читается при дедупликации. Хорошая схема: системный SSD 32-64 ГБ, отдельный HDD или ZFS-пул под datastore.
Как подключить NFS или SMB хранилище к PBS?
PBS поддерживает datastore только на локальных путях — не умеет напрямую создавать datastore на NFS/SMB. Но можно смонтировать NFS/SMB как точку монтирования и создать datastore на этом пути. Сначала смонтируй шару:
# Смонтировать NFS
apt install -y nfs-common
mount -t nfs 192.168.1.100:/backup /mnt/nfs-backup
# Добавить в /etc/fstab для автомонтирования
echo "192.168.1.100:/backup /mnt/nfs-backup nfs defaults,_netdev 0 0" >> /etc/fstab
# Создать datastore на смонтированном пути
proxmox-backup-manager datastore create nfs-store /mnt/nfs-backup
Учти: дедупликация proxmox backup работает хуже на сетевых хранилищах из-за латентности при обращении к индексу чанков. Для активного использования лучше локальный диск.
Как работает дедупликация в PBS?
PBS разбивает данные VM на чанки фиксированного размера (по умолчанию 4 МБ) и вычисляет SHA256-хэш каждого чанка. При следующем бэкапе передаются только чанки с новыми хэшами — те блоки которые изменились. Уже известные чанки просто регистрируются по хэшу без повторной передачи и хранения. Это работает и между разными VM: если десять машин имеют одинаковый /boot раздел — соответствующие чанки хранятся один раз в datastore. Сжатие идёт поверх дедупликации — каждый уникальный чанк ещё дополнительно сжимается через ZSTD или LZO.
Можно ли восстановить отдельный файл из резервной копии VM?
Да, это одна из главных фич PBS которой нет у стандартного vzdump. В веб-интерфейсе PBS выбери datastore, найди нужный снапшот VM, нажми File Restore — откроется файловый браузер прямо внутри бэкапа. Скачай нужный файл без восстановления всей VM. Через CLI монтируй снапшот как виртуальную ФС командой proxmox-backup-client mount и копируй нужное. Работает для ext4, XFS, btrfs, NTFS файловых систем внутри VM.
Как часто делать backup виртуальных машин?
Зависит от RPO — допустимой потери данных. Для большинства рабочих VM ежедневный backup jobs в ночное время достаточен. Для VM с базами данных или активной записью — рассмотри несколько раз в день. PBS не нагружает гипервизор сильно благодаря инкрементальным бэкапам, поэтому дважды в сутки вполне реально без заметного влияния на производительность. Политика proxmox backup retention: keep-last 3 плюс keep-daily 7 даёт хорошую гибкость восстановления при умеренном расходе места.
Как удалить старые резервные копии вручную?
Через веб-интерфейс PBS: выбери datastore — перейди в список снапшотов нужной VM — выдели лишние — Delete. Через CLI:
# Посмотреть все снапшоты VM 100 в datastore
proxmox-backup-client snapshots \
--repository backup-user@pbs@192.168.1.50:main-backup \
vm/100
# Удалить конкретный снапшот
proxmox-backup-client forget vm/100/2025-01-15T03:00:00Z \
--repository backup-user@pbs@192.168.1.50:main-backup
# После удаления - запустить GC для освобождения места
proxmox-backup-manager garbage-collection start main-backup
Важно: proxmox backup prune удаляет метаданные снапшотов, но физическое место освобождается только после Garbage Collection. Если после прунинга df показывает то же самое — запусти GC и подожди завершения.
Что делать если datastore заполнен и бэкапы перестали запускаться?
Три шага по порядку. Первый — прунинг: Datastore — Prune All в веб-интерфейсе PBS или через CLI. Второй — GC: Datastore — Garbage Collect. GC физически освобождает место от чанков на которые больше нет ссылок. Третий — проверь настройки proxmox backup retention если ситуация повторяется. Если после прунинга и GC места всё равно нет — datastore реально мал для твоей политики хранения, нужно либо добавить диск, либо урезать keep-weekly/keep-monthly.
Можно ли запустить Proxmox Backup Server как VM внутри Proxmox VE?
Можно. Технически работает нормально для тестовой среды или небольших инфраструктур. Главное ограничение: если нода PVE упадёт физически, VM с PBS тоже будет недоступна. Восстановиться с PBS в этот момент не получится. Для серьёзного продакшна PBS должен жить на отдельном железе или как минимум на другой ноде кластера.
Итог
PBS — это правильный ответ на вопрос «как бэкапить Proxmox». Не NFS-шара, не скрипт с rsync, а полноценное решение с дедупликацией, верификацией и восстановлением отдельных файлов.
Главное что ты сделал после этой статьи: поднял PBS, подключил к PVE, настроил backup job с расписанием, проверил восстановление. Именно проверил, а не предположил что оно работает.
Не заработало?
Если при подключении PVE к PBS падает ошибка, backup job зависает или восстановление не стартует — пиши в комментарии. Укажи версии PVE и PBS, текст ошибки из логов, и что уже пробовал. Разберёмся.