vault backup: 2026-10-10 12:40:43

This commit is contained in:
2026-10-10 12:40:43 +03:00
parent 51e1273bc4
commit dda329e683
5 changed files with 242 additions and 43 deletions
@@ -0,0 +1,153 @@
#PBS #Backup
Установка:
```bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/proxmox-backup-server.sh)"
```
## Creds
| UI | https://192.168.1.91:8007/ |
| --- | -------------------------- |
| usr | root |
| psw | Px@R4_hOm3 |
---
## Настройка сохранения бэкапов на NAS
### 1. Подключение NFS в Backup PVE и проброс в PVE
1. Настройка Backup в PBS
1. Создать хранилище для backup PBS
1. Создаем Share Folder
1. в параметрах обязательно: rw,sync,no_root_squash,no_subtree_check
2. Подключаем в Service NFS доступ для PVE
2. Подключить NFS директорию в PVE
1. mkdir `mnt/pve/pbs-storage`
3. Прописать в `/etc/fstab` точку монтирования
1. 192.168.1.73:/pbs-storage /mnt/pve/pbs-storage nfs defaults,_netdev,nofail 0 0
4. Примонтировать
1. `mount -a `
2. `systemctl daemon-reload && mount -a`
5. Просмотр примонтированных устройств
1. `findmnt -t nfs,nfs4,cifs`
6. В конфигурации LXC контейнера добавить точку монтирования и перезагрузить контейнер
1. `mp1: /mnt/pve/pbs-storage,mp=/mnt/backup-omv`
2. перезагрузка контейнер
7. Проверка что все успешно примонтировалось
1. `df -h /mnt/backup-omv`
8. Выдача "прав" пользователя backup для NFS
1. `chown -R backup:backup /mnt/backup-omv`
### 2. Настройки PBS и связка его с Proxmox VE
После того, как подключили HDD и добавили его точку монтирования необходимо:
1. Создать Datastore и "подключить" каталог к базе данных в PBS
1. Левая часть Datastore - Add Datastore
2. Name - придумать `hdd-backup` далее оно будет использовано при настройке в Proxmox VE
3. Backing Path - путь к точке монтирования в контейнере `/mnt/backup-disk`
4. Add
2. Зайти в Proxmox VE и подключить хранилище PBS
1. **Storage** - Add - ProxmoxBackupServer
1. ID (придумать)
2. Server - прописать IP LXC контейнера `192.168.1.91`
3. User и Password:
1. usr: root@pam (Пользователь обязательно формата `user@pam`)
2. pwd: <> пароль от pbs
4. Datastorage `backup-omv` (имя прописанное в PBS)
5. Fingerprint - получить в PBS (на главной странице Show Fingerprint)
1. `5f:8b:02:b4:59:4e:f7:52:6b:28:87:57:76:cf:61:fa:8f:87:24:22:a6:32:71:0c:60:36:88:a5:63:5d:a3:05`
2. Подтвердить.
3. В случае успеха - будет подключено Proxmox БД для backup
### 3. Настройка автоматического резервного копирования и управления бэкапами
Proxmox VE - Datacenter
1. Backup - Add:
1. Node - оставить без изменений или выбрать нужную ноду
2. Storage - выбрать `PBS` подключенную ранее БД
3. Schedule: - установить расписание (sunday 1:00)
4. Selection mode: `include selected VMs`
1. Отметить нужные VM и LXC
2. Proxmox Backup Server - ИСКЛЮЧИТЬ
2. Storage:
1. Backup Retention - Настройка срока хранения резервных копий.
1. Если планируется выполнять бэкап - раз в неделю, установить следующие параметры:
PBS будет автоматически оставлять бэкапы за последние 4 воскресенья. Из более старых бэкапов он выберет по одному воскресному бэкапу за каждый прошлый месяц и сохранит их на год. Всё остальное будет автоматически удалено.
1. Keep Last: 2
2. Keep Montly: 12
3. Keep Weekly: 4
4. Keep Yearly: 12
5. Остальные параметры не устанавливать
3. PBS - Datastore - `backup-omv`
1. Garbage Collection - Настройка сборщика мусора
1. PBS - Datastore - Prune & GC
2. Garbage Collect Jobs - Edit
1. GC Schedule - `sun 04:00`
2. Verify Jobs - Настройка верификации бэкапов
1. Add:
1. Schedule: `sat 12:00`
2. Skip Verified `check`
3. Re-Verify After: `30` days
---
### PBS - Настройка backups на внешний HDD
1. Подготовка HDD - Форматирование
```bash
# определить идентификатор устройства
lsblk
# Перезапись диска или создание одного общего раздела
fdisk /dev/sdb
# Последовательность команд по созданию раздела
# g — создать новую чистую таблицу разделов GPT.
# n — создать новый раздел.
# 1 — номер раздела (оставьте по умолчанию).
# Enter — первый сектор (оставьте по умолчанию).
# Enter — последний сектор (оставьте по умолчанию, чтобы занять весь диск)
# w - сохранить изменения и выйти.
# Форматирование в ext4 (флаг m 1 снижает резервируемое системой место, для root c 5% до 1%)
mkfs.ext4 -m 1 /dev/sdb1
```
2. Получить уникальный идентификатор UUID ( скопировать полученный параметр `UUID="e6718965-033b-459a-864b-f945ed650fd9"` )
```bash
blkid /dev/sdb1
```
3. Создать точку монтирования
```bash
mkdir /mnt/backup-disk
```
4. Прописать автомонтирование в конфигурационный файл `fstab`
```bash
nano /etc/fstab
# добавить строчку
UUID=e6718965-033b-459a-864b-f945ed650fd9 /mnt/backup-disk ext4 defaults 0 2
#сохранить изменения и выйти
```
5. Примонтировать диск без перезагрузки
```bash
systemctl daemon-reload
mount -a
```
6. Проверка что монтирование выполнено успешно
```bash
df -h
```
7. Модификация прав доступа к файлу `/mnt/backup-disk`
```bash
chmod 777 /mnt/backup-disk
```
8. Добавим точку монтирования в LXC контейнер
```bash
nano /etc/pve/lxc/108.conf
mp0: /mnt/backup-disk,mp=/mnt/backup-disk
```
@@ -74,7 +74,33 @@ mp0: /mnt/backup-disk,mp=/mnt/backup-disk
```
---
### Настройки PBS и связка его с Proxmox VE
---
## Настройка сохранения бэкапов на NAS
### 1. Подключение NFS в Backup PVE и проброс в PVE
1. Настройка Backup в PBS
1. Создать хранилище для backup PBS
1. Создаем Share Folder
1. в параметрах обязательно: rw,sync,no_root_squash,no_subtree_check
2. Подключаем в Service NFS доступ для PVE
2. Подключить NFS директорию в PVE
1. mkdir `mnt/pve/pbs-storage`
3. Прописать в `/etc/fstab` точку монтирования
1. 192.168.1.73:/pbs-storage /mnt/pve/pbs-storage nfs defaults,_netdev,nofail 0 0
4. Примонтировать
1. `mount -a `
2. `systemctl daemon-reload && mount -a`
5. Просмотр примонтированных устройств
1. `findmnt -t nfs,nfs4,cifs`
6. В конфигурации LXC контейнера добавить точку монтирования и перезагрузить контейнер
1. `mp1: /mnt/pve/pbs-storage,mp=/mnt/backup-omv`
2. перезагрузка контейнер
7. Проверка что все успешно примонтировалось
1. `df -h /mnt/backup-omv`
8. Выдача "прав" пользователя backup для NFS
1. `chown -R backup:backup /mnt/backup-omv`
### 2. Настройки PBS и связка его с Proxmox VE
После того, как подключили HDD и добавили его точку монтирования необходимо:
1. Создать Datastore и "подключить" каталог к базе данных в PBS
1. Левая часть Datastore - Add Datastore
@@ -83,16 +109,18 @@ mp0: /mnt/backup-disk,mp=/mnt/backup-disk
4. Add
2. Зайти в Proxmox VE и подключить хранилище PBS
1. **Storage** - Add - ProxmoxBackupServer
1. ID (придумать)
2. Server - прописать IP LXC контейнера `192.168.1.1`
3. User и Password (Пользователь обязательно формата `user@pam`)
4. Datastorage `<имя прописанное в PBS>`
1. ID (придумать)
2. Server - прописать IP LXC контейнера `192.168.1.91`
3. User и Password:
1. usr: root@pam (Пользователь обязательно формата `user@pam`)
2. pwd: <> пароль от pbs
4. Datastorage `backup-omv` (имя прописанное в PBS)
5. Fingerprint - получить в PBS (на главной странице Show Fingerprint)
1. `5f:8b:02:b4:59:4e:f7:52:6b:28:87:57:76:cf:61:fa:8f:87:24:22:a6:32:71:0c:60:36:88:a5:63:5d:a3:05`
2. Подтвердить.
3. В случае успеха - будет подключено Proxmox БД для backup
---
### Настройка автоматического резервного копирования в Proxmox VE
### 3. Настройка автоматического резервного копирования и управления бэкапами
Proxmox VE - Datacenter
1. Backup - Add:
1. Node - оставить без изменений или выбрать нужную ноду
@@ -110,31 +138,13 @@ Proxmox VE - Datacenter
3. Keep Weekly: 4
4. Keep Yearly: 12
5. Остальные параметры не устанавливать
2. Garbage Collection - Настройка сборщика мусора
3. PBS - Datastore - `backup-omv`
1. Garbage Collection - Настройка сборщика мусора
1. PBS - Datastore - Prune & GC
2. Garbage Collect Jobs - Edit
1. GC Schedule - `mon 03:00`
---
### Настройка сохранения бэкапов на NAS
1. Настройка Backup в PBS
1. Создать хранилище для backup PBS
1. Создаем Share Folder
1. в параметрах обязательно: rw,sync,no_root_squash,no_subtree_check
2. Подключаем в Service NFS доступ для PVE
2. Подключить NFS директорию в PVE
1. создать папке в mnt/pve/pbs-storage
3. Прописать в /etc/fstab точку монтирования
1. 192.168.1.73:/pbs-storage /mnt/pve/pbs-storage nfs defaults,_netdev,nofail 0 0
4. Примонтировать
1. mount -a
2. systemctl daemon-reload && mount -a
5. Просмотр примонтированных устройств
1. findmnt -t nfs,nfs4,cifs
6. В конфигурации LXC контейнера добавить точку монтирования и перезагрузить контейнер
1. mp1: /mnt/pve/pbs-storage,mp=/mnt/backup-omv
2. перезагрузка
7. Проверка что все успешно примонтировалось
1. df -h /mnt/backup-omv
8. Выдача "прав" пользователя backup для NFS
1. chown -R backup:backup /mnt/backup-omv
9.
1. GC Schedule - `sun 04:00`
2. Verify Jobs - Настройка верификации бэкапов
1. Add:
1. Schedule: `sat 12:00`
2. Skip Verified `check`
3. Re-Verify After: `30` days
-472
View File
@@ -1,472 +0,0 @@
# Установка qBittorrent на OpenMediaVault 8.5.9-1 (Synchrony)
> **Система:** OMV 8.5.9-1 (Synchrony) / Debian 13 Trixie
> **Дата:** октябрь 2026
> **Два варианта:** нативный пакет (apt) — проще, или Docker-контейнер — изолированно
---
## Содержание
1. [Вариант A: Нативная установка (qbittorrent-nox)](#вариант-a-нативная-установка-qbittorrent-nox)
2. [Вариант B: Установка через Docker (рекомендуется)](#вариант-b-установка-через-docker-рекомендуется)
3. [Первый вход и настройка](#первый-вход-и-настройка)
4. [Интеграция с OMV — shared folders](#интеграция-с-omv--shared-folders)
5. [Безопасность](#безопасность)
6. [Обновление](#обновление)
7. [Troubleshooting](#troubleshooting)
---
## Вариант A: Нативная установка (qbittorrent-nox)
Самый простой способ — без Docker. qBittorrent есть в репозиториях Debian 13.
```bash
# 1. Установка
apt update
apt install -y qbittorrent-nox
# 2. Создаём пользователя (не запускать от root!)
adduser --system --group --home /var/lib/qbittorrent qbittorrent
# 3. Структура каталогов
mkdir -p /srv/qbittorrent/{config,downloads,torrents}
chown -R qbittorrent:qbittorrent /srv/qbittorrent
# 4. Первый запуск — создаст конфиг
su -s /bin/bash qbittorrent -c 'qbittorrent-nox --profile=/srv/qbittorrent/config' &
sleep 5
pkill qbittorrent-nox
```
Теперь правим конфиг:
```bash
nano /srv/qbittorrent/config/qBittorrent/qBittorrent.conf
```
Минимальные настройки:
```ini
[LegalNotice]
Accepted=true
[Preferences]
Connection\PortRangeMin=6881
Connection\DHTEnabled=true
Connection\PeXEnabled=true
Connection\UPnPEnabled=false
Connection\ListenPort=6881
[BitTorrent]
Session\DefaultSavePath=/srv/qbittorrent/downloads
Session\TempPath=/srv/qbittorrent/torrents
Session\TempPathEnabled=true
Session\Port=6881
[WebUI]
WebUI\Port=8080
WebUI\Address=0.0.0.0
WebUI\UseUPnP=false
WebUI\Server\Enabled=true
WebUI\Server\Host=0.0.0.0
WebUI\Server\Port=8080
WebUI\CSRFProtection=true
WebUI\ClickjackingProtection=true
WebUI\HostHeaderValidation=false
```
**Systemd-сервис:**
```bash
cat > /etc/systemd/system/qbittorrent-nox.service << 'SERVICE'
[Unit]
Description=qBittorrent-nox (headless)
After=network.target
[Service]
Type=simple
User=qbittorrent
Group=qbittorrent
ExecStart=/usr/bin/qbittorrent-nox --profile=/srv/qbittorrent/config
Restart=on-failure
RestartSec=10
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
SERVICE
systemctl daemon-reload
systemctl enable --now qbittorrent-nox
```
Проверка:
```bash
systemctl status qbittorrent-nox
journalctl -u qbittorrent-nox -n 20
```
Веб-интерфейс: `http://192.168.1.73:8080`
Логин: `admin`, пароль — смотреть в логе:
```bash
journalctl -u qbittorrent-nox | grep -i password
```
---
## Вариант B: Установка через Docker (рекомендуется)
Изоляция от системы, лёгкое обновление, проброс портов, отсутствие конфликтов зависимостей.
### Шаг 1. Установка Docker (если ещё не установлен)
**1.1. Установка omv-extras (плагин OMV)**
Через веб-интерфейс:
> **System → Plugins** → установить `openmediavault-omvextrasorg`
Или через CLI (если плагина нет в списке):
```bash
wget -4 -q --timeout=30 -O /tmp/omvextras.deb \
'https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/openmediavault-omvextrasorg_latest_all8.deb'
dpkg -i /tmp/omvextras.deb
apt-get install -f -y
```
**1.2. Установка Docker CE**
Через веб: **System → omv-extras → Docker CE → Save → Apply**
Или вручную:
```bash
# Добавить репозиторий Docker
apt update && apt install -y ca-certificates curl gnupg
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian trixie stable" \
> /etc/apt/sources.list.d/docker.list
apt update && apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl enable --now docker
```
**1.3. Добавить пользователя OMV (admin) в группу docker** (чтобы не писать sudo):
```bash
usermod -aG docker $(whoami)
# выйти и зайти заново
```
### Шаг 2. Структура каталогов
```bash
# Основная директория для Docker-стеков
mkdir -p /srv/docker/qbittorrent/{config,downloads,torrents,watch}
```
Если на OVM есть данные шары (например, `/shared/Downloads`), можно смонтировать их напрямую:
```bash
mkdir -p /srv/docker/qbittorrent/downloads
# Или сделать симлинк:
ln -s /shared/Downloads /srv/docker/qbittorrent/downloads
```
### Шаг 3. Docker Compose файл
```bash
mkdir -p /srv/docker/qbittorrent
nano /srv/docker/qbittorrent/docker-compose.yml
```
```yaml
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
restart: unless-stopped
ports:
- "8080:8080" # Веб-интерфейс
- "6881:6881" # Торрент-трафик (TCP)
- "6881:6881/udp" # Торрент-трафик (UDP/DHT)
environment:
- PUID=1000 # ID пользователя OMV (id <username>)
- PGID=100 # Группа users
- TZ=Europe/Moscow
- WEBUI_PORT=8080
- UMASK=002 # Права для скачанных файлов: 775
volumes:
- ./config:/config
- ./downloads:/downloads
- ./watch:/watch # Папка для .torrent-файлов (опционально)
```
**Важно:** `PUID`/`PGID` должны совпадать с владельцем папки downloads.
Узнать свои ID:
```bash
id $(whoami)
# uid=1000(admin) gid=100(users)
```
### Шаг 4. Запуск
```bash
cd /srv/docker/qbittorrent
docker compose up -d
# Проверка
docker compose ps
docker compose logs -f
```
### Шаг 5. Настройка UFW (если включён)
```bash
ufw allow 8080/tcp comment 'qBittorrent Web UI'
ufw allow 6881/tcp comment 'qBittorrent Torrent TCP'
ufw allow 6881/udp comment 'qBittorrent Torrent UDP'
```
---
## Первый вход и настройка
1. Открыть в браузере: `http://192.168.1.73:8080`
2. **Логин:** `admin`
3. **Пароль:** генерируется при первом запуске
**Для нативной установки:**
```bash
journalctl -u qbittorrent-nox | grep password
```
**Для Docker:**
```bash
docker logs qbittorrent | grep password
```
Пример вывода:
```
**********
* qBittorrent *
* A qBittorrent Web UI password has been set: "xxxXxXxXxX" *
**********
```
4. Сразу сменить пароль: **Tools → Options → Web UI → Authentication**
5. Настроить пути загрузки: **Options → Downloads**
- Save files to: `/downloads`
- Copy .torrent files to: `/watch` (если используете watch-папку)
6. **Опционально:** включить OpenTrackers подписку:
**Tools → Options → BitTorrent → Automatic Torrent Management**
Добавить: `https://github.com/ngosang/trackerslist/raw/master/trackers_best.txt`
---
## Интеграция с OMV — shared folders
Чтобы скачанные файлы были доступны по SMB/NFS:
**Через веб OMV:**
1. **Storage → Shared Folders** → создать shared folder `/srv/docker/qbittorrent/downloads` (или `/shared/Downloads`)
2. **Services → SMB/CIFS → Shares** → добавить шару
3. **Services → SMB/CIFS → Settings** → включить
4. 3. **Services → NFS → Settings** → включить
**Через Docker (проброс готовой шары):**
Если шара уже есть (например, `/shared/Downloads`):
```yaml
volumes:
- ./config:/config
- /shared/Downloads:/downloads # проброс существующей шары
- /shared/Torrents/watch:/watch
```
**Права:** убедиться, что `PUID`/`PGID` в docker-compose совпадают с владельцем шары.
```bash
ls -la /shared/Downloads
# Если владелец nobody:nogroup — ставь PUID=65534, PGID=65534
```
---
## Безопасность
### 1. Сменить пароль по умолчанию
После первого входа: **Tools → Options → Web UI → Current password / New password**
### 2. Отключить удалённый доступ (если не нужен)
Закрыть порт 8080 на интерфейсе WAN (через роутер или UFW):
```bash
ufw deny 8080
ufw allow from 192.168.1.0/24 to any port 8080 # только локальная сеть
```
### 3. Reverse proxy с HTTPS (рекомендуется)
Через Nginx Proxy Manager:
```yaml
# в docker-compose.yml NPM
services:
nginx-proxy-manager:
image: jc21/nginx-proxy-manager:latest
ports:
- "80:80"
- "81:81"
- "443:443"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
```
В веб-интерфейсе NPM (`http://192.168.1.73:81`):
1. **Proxy Hosts → Add Proxy Host**
2. Domain: `torrent.home.local` (или ваш домен)
3. Forward Host/IP: `qbittorrent` (имя контейнера) или `192.168.1.73`
4. Forward Port: `8080`
5. **SSL → Request Let's Encrypt** → включить Force SSL
### 4. VPN для торрентов (опционально)
Маршрутизация qBittorrent через VPN-контейнер:
```yaml
services:
gluetun: # VPN-клиент
image: qmcgaw/gluetun:latest
cap_add:
- NET_ADMIN
environment:
- VPN_SERVICE_PROVIDER=your_vpn
- VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=...
- WIREGUARD_ADDRESSES=...
- WIREGUARD_DNS=...
ports:
- "6881:6881"
- "6881:6881/udp"
volumes:
- ./gluetun:/gluetun
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
network_mode: "service:gluetun" # трафик через VPN
environment:
- WEBUI_PORT=8080
volumes:
- ./config:/config
- ./downloads:/downloads
```
---
## Обновление
### Нативная установка
```bash
apt update && apt upgrade -y qbittorrent-nox
systemctl restart qbittorrent-nox
```
### Docker
```bash
cd /srv/docker/qbittorrent
docker compose pull
docker compose up -d
# Старый образ останется — удалить:
docker image prune -f
```
---
## Troubleshooting
### qBittorrent не запускается
```bash
# Нативная установка
journalctl -u qbittorrent-nox -n 50
# Docker
docker logs qbittorrent --tail 50
```
### Нет доступа к веб-интерфейсу
```bash
# Проверить, слушается ли порт
ss -tlnp | grep 8080
# Если слушается только на 127.0.0.1 — проверить:
# WebUI\Address=0.0.0.0 в qBittorrent.conf
```
### Не скачиваются торренты — нет DHT
Проверить, открыт ли порт 6881:
```bash
# С хоста
curl -s https://www.yougetsignal.com/tools/open-ports/ | grep 6881
# Или
nc -zv 192.168.1.73 6881
```
Возможно, порт закрыт роутером — пробросить порт 6881 (TCP+UDP) на OMV.
### Docker не стартует после перезагрузки
```bash
systemctl enable docker
```
### Контейнер restart'ится в цикле
```bash
docker logs qbittorrent | tail -30
# Типичная причина: несовпадение PUID/PGID с правами на /config
# Исправить: chown -R 1000:100 /srv/docker/qbittorrent/config
```
### Неверный пароль при первом входе
Удалить конфиг и запустить заново:
```bash
# Docker
rm -rf /srv/docker/qbittorrent/config
docker compose down && docker compose up -d
# Нативная
rm -rf /srv/qbittorrent/config
systemctl restart qbittorrent-nox
```
---
## Ссылки
- [linuxserver/qbittorrent — Docker Hub](https://hub.docker.com/r/linuxserver/qbittorrent)
- [qBittorrent — официальный сайт](https://qbittorrent.org)
- [OpenMediaVault Extras (omv-extras)](https://github.com/OpenMediaVault-Plugin-Developers/packages)
- [OpenTrackers список](https://github.com/ngosang/trackerslist)