Files
wikipedia/HomeLab/Proxmox/PBS Proxmox Backup Server.md
T

178 lines
8.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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
### 4. Настройка gmail уведомлений PVE:
1. Создать "пароль приложения" в gmail
1. `fnwfetzjihvqcned`
2. Зайдите в веб-интерфейс **PVE** → **Datacenter** → **Notifications** → вкладка **Targets**.
1. Нажмите **Add** (Добавить) → выберите **SMTP**.
3. Заполните форму строго по вашим параметрам:
- **Target Name:** `gmail-smtp` (любое имя латиницей)
- **Server:** `smtp.gmail.com`
- **Port:** `587`
- **Encryption:** `STARTTLS`
- **Author:** `Proxmox VE` (имя отправителя, которое вы увидите в письме)
- **From Address:** Ваш_адрес@gmail.com
- **Recipients** - поле оставить пустым
- **Additional Recipient** Ваш_адрес@gmail.com
- **Username:** Ваш_адрес@gmail.com
- **Password:** Вставьте **16-значный пароль приложения** из Шага 1.
4. Перенаправление уведомлений бэкапы на этот SMTP:
1. Перейдите на вкладку **Matchers** (в этом же окне `Notifications`). Дважды нажмите на дефолтный матчер **default-match**. В поле **Target to notify** вместо _mail-to-root_ выберите ваш новый `gmail-smtp`. Нажмите _Save_.
5. Повторить действия п.2 - 5 для PBS:
6. Проверить работоспособность отправки:
1. Нажать кнопку Test и проверить получение писем.
---
---
### 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
```