diff --git a/docs/11-backup.md b/docs/11-backup.md
index 27e6b25..697a082 100644
--- a/docs/11-backup.md
+++ b/docs/11-backup.md
@@ -2,147 +2,488 @@
## Обзор
-Резервное копирование критически важно для защиты данных и возможности восстановления после сбоев, ошибок или атак. На момент аудита (март 2026) централизованная система резервного копирования **не настроена**. В данном разделе описаны требования, предлагаемая стратегия и план внедрения.
+Резервное копирование критически важно для защиты данных и возможности восстановления после сбоев, ошибок или атак.
+
+**Текущий статус (апрель 2026)**: ✅ **Настроена полнофункциональная система резервного копирования на базе Proxmox Backup Server**
+
+- Отдельный физический сервер PBS (192.168.1.199)
+- Хранилище 1 TB с дедупликацией и компрессией
+- Автоматические бэкапы всех критичных систем
+- Протестированное восстановление
+
+---
## Текущее состояние
-- **Отсутствие регулярных бэкапов**: Нет автоматизированного процесса резервного копирования конфигураций, баз данных и пользовательских данных.
-- **Разрозненные данные**: Данные хранятся на разных томах (RAID6, SSD) и в разных форматах (файлы, базы данных, Docker-тома).
-- **Ручные копии**: Возможно, эпизодически создавались копии вручную, но это не систематизировано.
-- **Риски**: Потеря данных при сбое RAID (хотя RAID6 защищает от отказа двух дисков, но не от случайного удаления, ошибок программ или вирусов), невозможность отката после неудачного обновления.
+### ✅ Настроено и работает
-## Цели
+| Компонент | Статус | Описание |
+|-----------|--------|----------|
+| **Proxmox Backup Server** | ✅ | Отдельный сервер (Olimpbs, 192.168.1.199) |
+| **Хранилище** | ✅ | 1 TB (LVM), datastore `olimpbkp` |
+| **Бэкапы ВМ/LXC** | ✅ | Автоматические, по расписанию |
+| **Дедупликация** | ✅ | Встроена в PBS |
+| **Компрессия** | ✅ | ZSTD (fast and good) |
+| **Расписание** | ✅ | 2 раза в день (02:30 и 22:30) |
+| **Retention** | ✅ | 14 последних, 7 ежедневных, 4 недельных, 4 месячных |
+| **Режим** | ✅ | Snapshot (без остановки сервисов) |
-1. **Надёжность**: Гарантированная возможность восстановления данных после любых инцидентов.
-2. **Автоматизация**: Регулярные бэкапы по расписанию без участия администратора.
-3. **Целостность**: Проверка создаваемых копий (тестирование восстановления).
-4. **Безопасность**: Шифрование бэкапов и хранение вне основной инфраструктуры.
-5. **Минимизация потерь**: RPO (Recovery Point Objective) – не более 24 часов; RTO (Recovery Time Objective) – не более 4 часов для критических сервисов.
+### 📊 Архитектура
-## Что нужно бэкапить
+&&&mermaid
+graph TD
+ A[Proxmox VE Host
Olimp 192.168.1.220] --> B[LXC Containers
201-211]
+ A --> C[Virtual Machines
205, 213]
+ A -->|Network| D[Proxmox Backup Server
Olimpbs 192.168.1.199]
+ D --> E[Datastore: olimpbkp
1 TB LVM]
+ E --> F[/var/lib/proxmox-backup/olimpbkp]
+&&&
-### 1. Конфигурации
-- Ansible: репозиторий с `group_vars`, ролями, плейбуками (включая зашифрованный `vault.yml`).
-- Nginx Proxy Manager: база данных SQLite (контейнер `npm`), сертификаты Let's Encrypt.
-- Системные конфигурации: `/etc/ssh`, `/etc/network`, `/etc/samba`, `/etc/fstab`, `/etc/cron*`.
-- Docker: `docker-compose.yml` всех сервисов, пользовательские тома.
+---
-### 2. Базы данных
-- **PostgreSQL**: Immich, BookStack, Nextcloud (внутри ВМ), GitLab, Grafana, Loki.
-- **MySQL/MariaDB**: Ampache, Flibusta, Mealie (SQLite, но можно и файл).
-- **SQLite**: Bitwarden, Mealie, BookStack (опционально), кастомные приложения.
-- **Redis**: Nextcloud, GitLab.
+## Что бэкапится
-### 3. Пользовательские данные
-- **Медиафайлы**: `/mnt/video/*`, `/mnt/audio/*`, `/mnt/books/*` на хосте `media`.
-- **Игры**: `/mnt/games/` на хосте `games`.
-- **Фотографии**: Immich (папка загрузок, библиотека) на `photo`.
-- **Документы**: BookStack, Nextcloud.
-- **Торренты**: qBittorrent (метаданные, настройки).
+### LXC Контейнеры (10 шт.)
-### 4. Виртуальные машины и LXC
-- **Proxmox**: конфигурации ВМ (файлы `.conf`), диски LVM-thin, шаблоны.
+| ID | Имя | Тип данных | Примерный размер |
+|----|-----|------------|------------------|
+| **201** | gateway | Конфигурации, прокси | ~5 GB |
+| **202** | data | Базы данных (BookStack, Mealie) | ~10 GB |
+| **203** | media | Конфигурации Jellyfin, метаданные | ~60 GB* |
+| **204** | photo | Immich конфиги | ~20 GB |
+| **206** | talk | Matrix, XMPP конфиги | ~10 GB |
+| **207** | games | Конфигурации игровых серверов | ~20 GB |
+| **208** | manage | Grafana, Loki, мониторинг | ~15 GB |
+| **209** | git | GitLab репозитории | ~30 GB |
+| **210** | ansible | Ansible конфиги, vault | ~5 GB |
+| **211** | torrent | qBittorrent настройки | ~5 GB |
-## Стратегия резервного копирования
+*Без медиафайлов (исключены из бэкапа)
-### Рекомендуемый инструмент: Proxmox Backup Server (PBS)
+### Виртуальные машины (2 шт.)
-- Установить PBS на отдельную ВМ или физический хост (можно на том же сервере, но лучше выделенный).
-- Настроить хранилище (желательно на отдельном диске или NAS).
-- Использовать дедупликацию, сжатие, шифрование.
-- Настроить расписания бэкапов для каждой ВМ/LXC через Proxmox VE (интеграция с PBS).
+| ID | Имя | Тип данных | Примерный размер |
+|----|-----|------------|------------------|
+| **205** | Nextcloud | Файлы, БД PostgreSQL | ~10 GB |
+| **213** | VPN | OpenVPN/WireGuard конфиги | ~12 GB |
-### Альтернатива (если PBS не используется)
+### Исключено из бэкапа
-- **Для LXC и ВМ**: встроенные средства Proxmox (VZDump) с сохранением на NFS или SMB.
-- **Для Docker-контейнеров**: скрипты с `docker exec` дампов БД, архивация томов.
-- **Для файлов**: `rsync` или `restic` в cron.
+- **Большие диски** (16 TB RAID6): медиафайлы, игры, загрузки
+- **Причина**: занимают слишком много места, можно восстановить из источников
+- **Что включено**: только конфигурации и метаданные (через `backup=1`)
-## План внедрения
+---
-### Этап 1: Подготовка (1–2 дня)
-- Определить список всех ресурсов, подлежащих бэкапу (таблица выше).
-- Оценить объём данных: примерно (медиа ~8 ТБ, игры ~4 ТБ, фото ~200 ГБ, базы ~10 ГБ, конфиги ~1 ГБ).
-- Выбрать место для хранения бэкапов: внешний HDD (USB) + дополнительно облако (например, Backblaze B2) для критических данных.
-- Установить и настроить Proxmox Backup Server (можно в LXC на `olimp` или на отдельной машине).
+## Расписание бэкапов
-### Этап 2: Настройка бэкапов ВМ и LXC (2–3 дня)
-- В Proxmox VE добавить PBS как хранилище.
-- Создать расписания для каждой ВМ/LXC:
- - Критические (базы, GitLab, Nextcloud): ежедневно, хранить 7 дней, еженедельно 4 недели, ежемесячно 3 месяца.
- - Некритические (медиа, игры): еженедельно, хранить 4 недели.
-- Настроить уведомления об ошибках.
+### Автоматическое расписание
-### Этап 3: Бэкап данных вне Proxmox (2–3 дня)
-- Написать скрипты (на базе Ansible или shell) для:
- - Дампов баз данных PostgreSQL, MySQL, SQLite.
- - Копирования Docker-томов.
- - Синхронизации файловых данных (медиа, игры) с бэкап-хранилищем (можно через `restic`).
-- Запускать скрипты по расписанию (cron или systemd timer) до или после бэкапов ВМ.
-- Проверить, что бэкапы не дублируют данные (например, диски ВМ уже содержат часть файлов – можно исключить их из файлового бэкапа, если они уже входят в VZDump).
+**Два раза в день**:
+- **02:30** — ночной бэкап
+- **22:30** — вечерний бэкап
-### Этап 4: Тестирование восстановления (1 день)
-- Выполнить тестовое восстановление ВМ на изолированной среде (или с переименованием).
-- Проверить восстановление базы данных из дампа.
-- Восстановить несколько файлов из бэкапа.
+**Proxmox Backup Server автоматически определяет**:
+- Первый бэкап — **полный**
+- Последующие — **инкрементальные** (только изменения)
+- Периодически — **полный** для целостности данных
-### Этап 5: Автоматизация и мониторинг (1 день)
-- Настроить алерты в Grafana на статус бэкапов (через API Proxmox или логи).
-- Добавить проверку успешности бэкапов в мониторинг.
+### Retention политика
-## Примеры команд
+| Тип хранения | Количество | Фактический срок |
+|--------------|------------|------------------|
+| **Keep Last** | 14 | Минимум 14 последних бэкапов |
+| **Keep Daily** | 7 | 7 ежедневных копий |
+| **Keep Weekly** | 4 | 4 недельных копии |
+| **Keep Monthly** | 4 | 4 месячных копии |
-### Бэкап базы данных PostgreSQL (например, Immich)
+**Итого**: ~1-2 месяца истории бэкапов
-```bash
-pg_dump -U immich -h localhost immich > /backup/immich_$(date +%Y%m%d).sql
-```
+---
-### Бэкап SQLite (Bitwarden)
+## Текущая конфигурация
-```bash
-sqlite3 /path/to/vaultwarden.db ".backup /backup/vaultwarden_$(date +%Y%m%d).db"
-```
+### На Proxmox VE (Olimp)
-### Бэкап Docker-томов (например, Jellyfin)
+**Хранилище подключено**:
+- **ID**: `olimpbkp`
+- **Тип**: Proxmox Backup Server
+- **Server**: 192.168.1.199:8007
+- **Datastore**: `olimpbkp`
+- **Content**: Backup
+- **Status**: ✅ Enabled
-```bash
-tar -czf /backup/jellyfin_config_$(date +%Y%m%d).tar.gz /opt/service/jellyfin/config
-```
+**Backup Job**:
+&&&
+Node: Olimp
+Storage: olimpbkp
+Schedule: 02:30, 22:30 (daily)
+Mode: Snapshot
+Compression: ZSTD
+VM/CT: 201-211, 205, 213
+Retention: keep-last=14, keep-daily=7, keep-weekly=4, keep-monthly=4
+&&&
-### Синхронизация файлов с внешним хранилищем (restic)
+### На PBS (Olimpbs)
-```bash
-restic -r /mnt/backup_drive/restic_repo backup /mnt/video /mnt/audio /mnt/books
-```
+**Datastore**:
+&&&
+Name: olimpbkp
+Path: /var/lib/proxmox-backup/olimpbkp
+Size: 1 TB (912 GB available)
+GC Schedule: daily
+Prune Schedule: daily
+&&&
-### Восстановление ВМ из бэкапа через PBS
+**Пользователи**:
+- `root@pam` — администратор (веб-интерфейс)
+- `pve@pbs` — для Proxmox VE (API токен)
-- В интерфейсе Proxmox: Datacenter → Storage → PBS → Backups → выбрать backup → Restore.
+---
-## Проблемы и рекомендации
+## Управление бэкапами
-### 🔴 Отсутствие резервных копий
-**Проблема**: Критическая уязвимость – потеря всех данных при сбое или ошибке.
-**Решение**: Немедленно начать внедрение системы бэкапов по плану выше. Минимально: запустить ручной бэкап критических данных (базы, конфиги) на внешний диск.
+### Просмотр бэкапов
-### 🟡 Большой объём медиа
-**Проблема**: Медиафайлы (~8 ТБ) сложно бэкапить часто и хранить в нескольких местах.
-**Решение**:
-- Для медиа достаточно еженедельного бэкапа.
-- Использовать дедупликацию (PBS или restic).
-- Рассмотреть бэкап только метаданных (библиотеки Jellyfin, настройки), а сами файлы можно перекачать заново (но если они уникальны, то бэкапить полностью).
+**Через веб-интерфейс PBS**:
+&&&
+https://192.168.1.199:8007
+ → Datastore → olimpbkp → Content
+&&&
-### 🟢 Шифрование бэкапов
-**Рекомендация**: Все бэкапы, хранящиеся вне сервера (на внешних дисках, в облаке), шифровать. PBS поддерживает шифрование на стороне клиента.
+**Через Proxmox VE**:
+&&&
+https://192.168.1.220:8006
+ → Datacenter → Storage → olimpbkp → Content
+&&&
-### 🟢 Хранение копий вне сети
-**Рекомендация**: Хранить как минимум одну копию бэкапов вне основной сети (например, внешний USB-диск, отключаемый после бэкапа, или облачное хранилище).
+**Через CLI**:
+&&&bash
+# Список бэкапов
+proxmox-backup-client list --repository root@pam@192.168.1.199:8007:olimpbkp
+
+# Детальная информация
+proxmox-backup-client show-backup --repository root@pam@192.168.1.199:8007:olimpbkp ct/201
+
+# Статистика datastore
+proxmox-backup-client datastore stats olimpbkp
+&&&
+
+### Ручной запуск бэкапа
+
+**Один контейнер/ВМ**:
+&&&bash
+vzdump 201 --storage olimpbkp --mode snapshot --compress zstd
+&&&
+
+**Все бэкапируемые системы**:
+&&&bash
+for id in 201 202 203 204 205 206 207 208 209 210 211 213; do
+ vzdump $id --storage olimpbkp --mode snapshot --compress zstd &
+done
+wait
+&&&
+
+### Восстановление из бэкапа
+
+**Через веб-интерфейс Proxmox VE**:
+1. Datacenter → Storage → olimpbkp → Content
+2. Выбрать бэкап → Restore
+3. Указать:
+ - **Storage**: целевое хранилище (local-lvm, vmsystem)
+ - **VMID**: новый ID (или существующий для перезаписи)
+4. Start
+
+**Через CLI**:
+&&&bash
+# LXC контейнер
+pct restore 216 olimpbkp:backup/ct/201/2026-04-11T13:19:03Z --storage local-lvm
+
+# Виртуальная машина
+qm restore 216 olimpbkp:backup/vm/205/2026-04-11T13:19:03Z --storage vmsystem
+&&&
+
+### Восстановление отдельных файлов
+
+**Через File Restore**:
+1. PBS веб-интерфейс → Datastore → Content
+2. Выбрать бэкап → **File Restore**
+3. Смонтировать бэкап
+4. Скачать нужные файлы
+5. Unmount
+
+**Через CLI**:
+&&&bash
+# Смонтировать бэкап
+mkdir -p /mnt/restore
+proxmox-backup-client mount ct/201/2026-04-11T13:19:03Z /mnt/restore \
+ --repository root@pam@192.168.1.199:8007:olimpbkp
+
+# Скопировать файлы
+cp /mnt/restore/root.pxar/etc/config/file.conf /tmp/
+
+# Размонтировать
+proxmox-backup-client unmount /mnt/restore
+&&&
+
+---
+
+## Мониторинг и обслуживание
+
+### Проверка статуса бэкапов
+
+**Ежедневная проверка**:
+&&&bash
+# Последние задачи
+pvesm status olimpbkp
+
+# Логи бэкапов
+tail -f /var/log/pve/tasks/*
+
+# Проверка места на PBS
+ssh root@192.168.1.199 "df -h /var/lib/proxmox-backup/olimpbkp"
+&&&
+
+### Garbage Collection (очистка)
+
+PBS автоматически запускает GC ежедневно. Вручную:
+
+&&&bash
+# На PBS сервере
+proxmox-backup-manager garbage-collection start olimpbkp
+
+# Проверка статуса
+proxmox-backup-manager garbage-collection status olimpbkp
+&&&
+
+### Prune (удаление старых бэкапов)
+
+Автоматически по retention политике. Вручную:
+
+&&&bash
+proxmox-backup-manager prune-job run
+&&&
+
+### Проверка целостности (Verify)
+
+&&&bash
+# Проверить все бэкапы
+proxmox-backup-manager verify olimpbkp
+
+# Проверить конкретный бэкап
+proxmox-backup-client verify ct/201/2026-04-11T13:19:03Z \
+ --repository root@pam@192.168.1.199:8007:olimpbkp
+&&&
+
+---
+
+## Миграция со старого PBS
+
+### История
+
+**Март 2026**: PBS был развёрнут в LXC контейнере (CT 220) на том же хосте Olimp
+- Хранилище: ZFS dataset `rpool/pbs-backups` (187 GB)
+- Datastore: `ssd-backups`
+
+**Апрель 2026**: Развёрнут отдельный физический сервер PBS (Olimpbs)
+- Хранилище: 1 TB LVM
+- Datastore: `olimpbkp`
+
+### Перенос старых бэкапов (опционально)
+
+&&&bash
+# На новом PBS
+mkdir -p /mnt/old-pbs
+sshfs root@192.168.1.220:/rpool/pbs-backups /mnt/old-pbs
+
+# Копирование
+rsync -avh /mnt/old-pbs/data/ /var/lib/proxmox-backup/olimpbkp/
+
+# Исправление прав
+chown -R backup:backup /var/lib/proxmox-backup/olimpbkp
+
+# Перезапуск
+systemctl restart proxmox-backup-proxy
+&&&
+
+### Удаление старого PBS
+
+После подтверждения что новые бэкапы работают:
+
+&&&bash
+# На Proxmox VE (Olimp)
+pvesm remove pbs-ssd
+
+# Удалить dataset
+zfs destroy rpool/pbs-backups
+
+# Удалить LXC контейнер (опционально)
+pct stop 220
+pct destroy 220
+&&&
+
+---
+
+## Безопасность
+
+### Аутентификация
+
+- **PBS пользователи**: `root@pam`, `pve@pbs`
+- **API токены**: для автоматизации (без паролей)
+- **Fingerprint**: SHA-256 отпечаток сертификата
+
+### Сетевая безопасность
+
+- **Порт**: 8007 (TCP)
+- **Шифрование**: TLS 1.3
+- **Доступ**: только из локальной сети (192.168.1.0/24)
+
+### Рекомендации
+
+- ✅ Включить **2FA** для root@pam
+- ✅ Создать **отдельного пользователя** для бэкапов (не root)
+- ✅ Настроить **firewall** на PBS сервере
+- ✅ Регулярно **обновлять** систему (unattended-upgrades)
+
+---
+
+## Планы на будущее
+
+### 🔵 Краткосрочные (1-2 месяца)
+
+- [ ] Настроить **уведомления** (email/telegram) о статусе бэкапов
+- [ ] Включить **2FA** для доступа к PBS
+- [ ] Настроить **репликацию** в облако (Backblaze B2 / Wasabi)
+- [ ] Провести **тестовое восстановление** всех критичных ВМ
+
+### 🔵 Долгосрочные (3-6 месяцев)
+
+- [ ] Добавить **второй PBS** для репликации
+- [ ] Настроить **оффсайт-копии** (внешний диск + облако)
+- [ ] Внедрить **шифрование** бэкапов на стороне клиента
+- [ ] Автоматизировать **тестирование восстановления**
+
+---
+
+## Troubleshooting
+
+### Бэкап не запускается
+
+&&&bash
+# Проверить хранилище
+pvesm status | grep olimpbkp
+
+# Проверить подключение к PBS
+ping 192.168.1.199
+nc -zv 192.168.1.199 8007
+
+# Переподключить хранилище
+pvesm remove olimpbkp
+pvesm add proxmox-backup olimpbkp \
+ --server 192.168.1.199 \
+ --datastore olimpbkp \
+ --username pve@pbs
+&&&
+
+### Закончилось место на PBS
+
+&&&bash
+# Проверить занятое место
+proxmox-backup-client datastore stats olimpbkp
+
+# Запустить GC
+proxmox-backup-manager garbage-collection start olimpbkp
+
+# Удалить старые бэкапы вручную
+proxmox-backup-client prune \
+ --repository root@pam@192.168.1.199:8007:olimpbkp \
+ --max-daily 7 --max-weekly 2
+&&&
+
+### Ошибка аутентификации
+
+&&&bash
+# Сгенерировать новый токен
+proxmox-backup-manager user generate-token pve@pbs backup-token
+
+# Обновить в Proxmox VE
+pvesm update olimpbkp --password <новый_токен>
+&&&
+
+---
+
+## Полезные команды
+
+### На Proxmox VE
+
+&&&bash
+# Список хранилищ
+pvesm list
+
+# Статус бэкап хранилища
+pvesm status olimpbkp
+
+# Запустить бэкап
+vzdump --storage olimpbkp --mode snapshot
+
+# Восстановить
+pct restore olimpbkp:backup/ct//
+qm restore olimpbkp:backup/vm//
+&&&
+
+### На PBS
+
+&&&bash
+# Список datastore
+proxmox-backup-manager datastore list
+
+# Статистика
+proxmox-backup-client datastore stats olimpbkp
+
+# Список бэкапов
+proxmox-backup-client list --repository root@pam@192.168.1.199:8007:olimpbkp
+
+# Информация о бэкапе
+proxmox-backup-client show-backup ct/201 --repository root@pam@192.168.1.199:8007:olimpbkp
+
+# Проверка целостности
+proxmox-backup-manager verify olimpbkp
+
+# Garbage collection
+proxmox-backup-manager garbage-collection start olimpbkp
+&&&
+
+---
+
+## Метрики и отчётность
+
+### Ежедневная проверка
+
+&&&bash
+# Размер бэкапов за сегодня
+du -sh /var/lib/proxmox-backup/olimpbkp/data/*
+
+# Количество бэкапов
+proxmox-backup-client list --repository root@pam@192.168.1.199:8007:olimpbkp | wc -l
+
+# Свободное место
+df -h /var/lib/proxmox-backup/olimpbkp
+&&&
+
+### Еженедельный отчёт
+
+&&&bash
+# Дедупликация
+proxmox-backup-client datastore stats olimpbkp | grep "Deduplication"
+
+# Прирост за неделю
+# Сравнить размер datastore с прошлой неделей
+&&&
---
**Связанные разделы:**
- [Гипервизор Proxmox](02-hypervisor.md)
- [Виртуальные машины и LXC](03-vms-lxcs.md)
-- [Управление конфигурацией (Ansible)](09-ansible.md)
-- [Безопасность](10-security.md)
\ No newline at end of file
+- [Безопасность](10-security.md)
+- [Мониторинг и логирование](08-monitoring.md)
\ No newline at end of file