Можливості¶
BombVault простий за замовчуванням і глибокий, коли вам це потрібно. Інтерфейс показує лише найнеобхідніше, поки ви не перемкнете перемикач Простий / Розширений. Ця сторінка групує повний набір можливостей.
Обсяг резервного копіювання¶
| Що | Що зберігається |
|---|---|
| Контейнери Docker | Каталог appdata плюс визначення контейнера (образ, змінні середовища, порти, мітки, томи). |
| Віртуальні машини KVM / libvirt | Образ(и) диска VM, XML-визначення та UEFI NVRAM (коректне вимкнення або живий знімок, через SSH). Живі знімки автоматично відкочуються до коректного резервного копіювання, якщо знімок не вдається створити, тож резервне копіювання VM ніколи просто не завершується помилкою. |
| Unraid flash | Уся USB-флешка (/boot): ОС, ліцензія, конфігурація масиву, спільні ресурси, мережа та конфігурація плагінів. Відновлення, це завантаження .zip в один клік, яке ніколи не перезаписує робочу flash. |
| Конфігурація додатка | Власний /config BombVault (база налаштувань, зовнішні облікові дані, пара SSH-ключів libvirt), знятий за допомогою SQLite VACUUM INTO, тож база даних у режимі WAL ніколи не захоплюється посеред запису. Відновлюється через самоперезапуск, тож робоча база даних ніколи не перезаписується під відкритим дескриптором. |
| Файли та теки | Іменовані набори файлів: будь-яка тека на сервері (спільний ресурс, ваші документи, фотобібліотека), кожен з необов'язковими шаблонами виключення для окремого набору. Повна рівність з іншими доменами (розклади, зберігання, зовнішнє копіювання, перевірки цілісності та тренування відновлення). |
Відновлення¶
- Повне відновлення в один клік. Виберіть знімок, натисніть Відновити. Готово.
- Відновлення з локального чи зовнішнього. Кожен браузер резервних копій має перемикач Локально / Зовнішнє, тож якщо локальний репозиторій втрачено чи пошкоджено, ви можете перелічити та відновити прямо із зовнішньої репліки. Видалення діє окремо для кожного джерела: видалення резервної копії зачіпає лише ту копію, яку ви переглядаєте.
- Контейнери перевстановлюються автоматично. Визначення контейнера відтворюється через Docker API, тож контейнер знову з'являється на вкладці Docker в Unraid точно таким, як був.
- Віртуальні машини відтворюються автоматично. XML повторно імпортується через SSH, тож VM знову з'являється у VM Manager з повторно приєднаними диском та UEFI NVRAM, навіть після того, як VM була видалена. Знайти резервні копії відбудовує запис, який зник повністю (наприклад після свіжого встановлення).
- Індивідуальне відновлення. Відновіть один контейнер, одну VM чи один набір файлів, не торкаючись інших.
- Відновлення flash, це завантаження
.zip. Воно потоково передається у ваш браузер якflash-<id>.zip, готове для передачі у створювач USB Unraid. Робоча/bootніколи не зачіпається. - Запланований експорт flash у zip. Після кожного резервного копіювання flash за бажанням записуйте знімок як звичайний
.zipдо вибраної теки (єдиний перезаписуванийflash-latest.zipабо накопичувальна історія). Спрямуйте його на теку Syncthing чи rclone, щоб резервна копія завантажувальної USB автоматично залишала сервер. - Передпольотна перевірка конфліктів. Перш ніж щось буде зупинено чи видалено, відновлення перевіряє, що статична IP контейнера та опубліковані порти хоста вільні, і перериває роботу з чітким повідомленням замість того, щоб залишити напівзавершене відновлення.
- Відновлення на рівні файлів. Розгорніть Файли знімка контейнера, відфільтруйте, позначте будь-яку кількість файлів і тек, потім відновіть вибране на місці або до вибраної теки.
- Відновлення набору файлів. Відновіть знімок набору файлів на місці (після явного підтвердження) або до вибраної теки, ніколи мовчки. Вибіркове відновлення працює й тут.
- Відновлення зберігає стан запуску. Контейнер чи VM, який працював під час резервного копіювання, повертається запущеним; той, що був зупинений, залишається зупиненим. Позначте Залишити зупиненим після відновлення, щоб відтворити без запуску.
- Відновлення цілого стеку. Контейнери з одного проєкту Docker Compose групуються в панель Стеки. Відновити стек відбудовує кожного учасника з його останньої резервної копії залишеним зупиненим, потім за бажанням запускає їх у порядку
depends_on. - Живий прогрес, скасування та зворотний зв'язок про зайнятість. Довге відновлення показує живу смугу відсотків і може бути скасоване з підтвердженням, що враховує тип. Скасоване відновлення записується як скасоване, а не як помилка.
- Кероване відновлення. Спеціальна вкладка Відновлення проводить свіже встановлення через сценарій катастрофи. Див. Зовнішнє копіювання та відновлення.
- Відновлення з іншого репозиторію BombVault. Одноразова сесія лише для читання відкриває репозиторій іншого екземпляра BombVault з
APP_KEYтого екземпляра, тож ви можете витягнути контейнер із сервера A на сервер B, не торкаючись власних налаштувань. Див. Зовнішнє копіювання та відновлення.
Зберігання та планування¶
- Інкрементні, дедупліковані резервні копії через restic, тож навіть великі диски VM не роздувають репозиторій.
- Місця призначення: локальний шлях або зовнішнє. SMB/CIFS та NFS (змонтуйте спільний ресурс на Unraid і вкажіть на нього Шлях резервних копій), нативні бекенди restic без rclone (
s3:...,rest:http://host:8000/repo,b2:...,sftp:user@host:/repo) або будь-яке віддалене сховище rclone черезrclone:<remote>:<bucket>/path. Усі облікові дані зберігаються зашифрованими. - Цілі SSH не потребують нічого встановленого на дальньому боці.
sftp:вимагає лише SSH-сервера, тож голий Raspberry Pi (без Docker, без restic) працює як зовнішнє місце призначення. Ключі хоста автоматично закріплюються під час першого контакту. - Зовнішнє копіювання (локальне + віддалене). Зберігайте швидку локальну резервну копію та додайте одну чи кілька зовнішніх реплік, що реплікуються командою
restic copyза принципом найкращих зусиль (збій зовнішнього ніколи не провалює локальне резервне копіювання). Кожен домен має власний зовнішній розклад, плюс кнопка Реплікувати зараз. - Кілька зовнішніх цілей для домену. Кожен домен (контейнери, VM, flash, config і набори файлів) може реплікуватися на кілька зовнішніх місць призначення одночасно, не лише на одне. Додайте додаткові цілі на вкладці Зовнішнє, кожна з власним репозиторієм, класом сховища S3, прапорцем append-only, зберіганням і бюджетом росту. Ваша наявна зовнішня копія переноситься як перша ціль, тож нічого не змінюється, поки ви не додасте другу, і кожна ціль домену реплікується за зовнішнім розкладом цього домену.
- Ручний порядок резервного копіювання. Задайте точний порядок, у якому резервуються ваші контейнери, з панелі порядку резервного копіювання на сторінці Контейнери. Заплановані запуски та запуски з множинним вибором його дотримуються; будь-який контейнер, який ви залишите невпорядкованим, зберігає попередню поведінку спочатку найбільш прострочене, а окреме резервне копіювання контейнера незмінне.
- Налаштовуване зберігання: keep-last / щоденні / щотижневі / щомісячні, очищаються автоматично після кожного резервного копіювання, задаються для кожного джерела (локальне поруч зі шляхами резервних копій, зовнішнє на вкладці Зовнішнє, тож ви можете зберігати зовнішні копії довше як архів).
- Планування для кожного домену (щоденне / щотижневе, включно з наборами на кілька днів / кожні N днів / сирий cron), усе редагується в одному місці в Налаштування, Розклади.
- Обмеження пропускної здатності зовнішнього. Обмежте швидкість вивантаження/завантаження restic, щоб реплікація не насичувала ваш WAN.
- Клас холодного та архівного сховища (S3). Для нативного зовнішнього репозиторію S3 ви можете вибрати клас сховища, обмежений рівнями, придатними для читання під час відновлення (Standard, Standard-IA, One Zone-IA, Intelligent-Tiering, Glacier Instant Retrieval), тож архівна тарифікація ніколи мовчки не зламає відновлення. Рівні глибокого архіву, які спершу потребують асинхронного розморожування (Glacier Flexible, Deep Archive), навмисно не включені. Лише нативні бекенди S3; віддалені сховища rclone задають свій клас у конфігурації rclone.
- Теки резервних копій залишаються придатними для копіювання поза машиною. Після кожного резервного копіювання BombVault послаблює локальне дерево репозиторію до каталогів
0755/ файлів0644(репозиторії зашифровані, тож нічого не виставляється), тож не-root користувач синхронізації через SMB не залишається заблокованим. Визначення для відновлення живуть усередині кожного репозиторію, тож скопійована тека репозиторію повністю самодостатня.
Аналітика, перевірка та моніторинг¶
- Статус захисту (RPO). Панель показує зелений / жовтий / червоний індикатор для кожного домену, порівнюючи останню успішну резервну копію з її розкладом, тож прострочене резервне копіювання стає червоним замість того, щоб ховатися в журналі.
- Теплокарта стану резервних копій. Календар результатів резервного копіювання за день для кожного домену у стилі внесків GitHub, з перемикачем Контейнери / VM / Flash / Config / Files.
- Хронометраж запусків усюди. Кожен запис в історії запусків читається як
початок, кінець (тривалість), а кожен контейнер і VM несе власний список Останні запуски на своїй сторінці. - Панель, яку можна переставляти. Увімкніть режим налаштування, щоб перетягнути картки у свій порядок і приховати ті, що вам не потрібні. Розкладка зберігається для кожного браузера.
- Розмір репозиторію та тренд дедуплікації. Поточний розмір репозиторію, коефіцієнт дедуплікації та кількість знімків для кожного домену, зі спарклайном росту сховища.
- Тренування перевірки відновлення. BombVault періодично доводить, що ваші резервні копії можна відновити (
restic check --read-data-subset, обмежено) і показує значок востаннє перевірено як відновлюване для кожного домену. - Самовідновлювані операції. Доказово осиротіле блокування restic (залишене перезапуском посеред операції) примусово очищується та повторюється один раз, автоматично. Зберігання стабільне за ідентичністю (очищається для кожного елемента, стійке до змін шляху чи хоста), а збій зберігання надсилає сповіщення.
- Набір для відновлення ключа шифрування. Завантаження в один клік головного ключа, похідного пароля restic та точних розташувань репозиторіїв і команд, тож ви можете відновити без запущеного BombVault. Див. Зовнішнє копіювання та відновлення.
- Експорт та імпорт ваших налаштувань. Картка Експорт та імпорт налаштувань на сторінці Налаштування записує всю вашу конфігурацію (налаштування доменів, зовнішні цілі, розклади, зберігання, сповіщення) до портативного файлу JSON, тож перехід на нову машину чи клонування налаштувань не означає повторне введення всього вручну. Ви вибираєте, чи включати зовнішні облікові дані та облікові дані сповіщень; з ними файл настільки ж чутливий, як ваш набір для відновлення. Імпорт показує попередній перегляд і запитує підтвердження, і він ніколи не торкається ваших даних резервних копій чи історії.
- Сповіщення. Webhook (Discord / Slack / Gotify / ntfy), Matrix, Healthchecks.io, електронна пошта (SMTP), самостійно розміщений сервер Apprise API та власна система сповіщень Unraid. Політика для кожної резервної копії: ніколи / у разі збою / завжди. Запланований запуск багатьох елементів може надіслати один підсумок N з M успішно. Healthchecks отримує повний життєвий цикл (
/start, потім успіх або/fail), щойно задано URL. - Prometheus
/metrics. За вибором (за замовчуванням вимкнено, необов'язковий bearer-токен) для Grafana чи Uptime Kuma. Надає статус резервних копій, розміри та мітки часу, без секретів чи шляхів у мітках.
Захист від програм-вимагачів¶
- Незмінне (append-only) зовнішнє. Позначте зовнішній репозиторій як append-only, щоб програма-вимагач чи скомпрометований хост не могли видалити чи переписати ваші резервні копії. Дальній бік (
restic/rest-serverу режимі--append-only) забезпечує це; BombVault лише завжди перевіряє це й ніколи не показує зелений на основі самого лише твердження конфігурації. - Тест на втручання. BombVault періодично доводить гарантію append-only, фактично намагаючись виконати видалення проти зовнішнього репозиторію (націлене на неіснуючий об'єкт): відмовлено означає захищено, прийнято означає не захищено. Непереконливий результат ніколи не перевертає збережений вердикт.
- Кероване налаштування зовнішнього. Майстер проводить вас від вибору бекенда через готовий до вставлення фрагмент розгортання rest-server, тест з'єднання, перемикач незмінності та стратегію зберігання.
- Тренування DR (зовнішні). Відновіть реальну ціль із зовнішнього репозиторію в одноразову пісочницю, перевірте її файл за файлом і байт за байтом, потім приберіть. Див. Зовнішнє копіювання та відновлення.
- Оціночна картка захисту від програм-вимагачів. Картка на Панелі з зеленою / жовтою / червоною позицією для кожного домену та контрольним списком з мітками віку; кожен червоний рядок веде глибоким посиланням до виправлення. Вона стає зеленою лише на перевірених фактах.
- Сигнал бюджету росту. Для незмінного зовнішнього (де старі знімки навмисно ніколи не очищаються) задайте бюджет розміру й отримуйте сповіщення, перш ніж він вийде з-під контролю.
- Панель отримувача (бік прийому). На машині, яка отримує незмінні зовнішні копії від іншого BombVault, увімкніть перемикач Отримувач (Налаштування), щоб відкрити вкладку Отримувач. Зареєструйте отриманий репозиторій лише для читання (відкритий ключем екземпляра-відправника), щоб побачити його інвентар знімків, згрупований за джерелом, коли кожне джерело востаннє надходило, і запустити незалежний
restic checkна приймальному обладнанні. Вона сповіщає вас, коли джерело перестає надсилати протягом заданого вами вікна (запобіжник) або коли перевірка цілісності не проходить. Строго лише для читання, тож вона ніколи не пише в отриманий репозиторій, і вимкнена за замовчуванням. Див. Зовнішнє копіювання та відновлення.
Звичайні експорти¶
- Звичайний експорт контейнера. Кнопка Експорт для кожного контейнера записує придатну для перегляду копію без інструментів поруч із репозиторієм:
<name>.tar.gzтек резервної копії плюс шаблон Unraid<name>.xml. Restic залишається механізмом; це додаткова зручна копія. - Звичайний експорт VM. VM мають той самий Експорт (звичайний tar):
<name>.tar.gzобразу(ів) диска плюс<name>.xml, відновлюваний за допомогоюvirsh defineплюс диск, без потреби в BombVault чи restic. - Шифрування звичайних експортів (age). Експорти лежать поза restic, тож вони за замовчуванням у відкритому тексті. Увімкніть шифрування age в Налаштуваннях і додайте одного чи кількох отримувачів (публічний ключ age або публічний ключ SSH). Кожен експорт (
.tar.gzконтейнера та VM, їхні супутні файли.xmlі flash ZIP) потім запечатується для цих отримувачів, і ви розшифровуєте його пізніше поза машиною відповідним приватним ключем. Як правило безпеки, з увімкненим шифруванням і без заданого дійсного отримувача експорт завершується помилкою з чітким повідомленням замість того, щоб коли-небудь записати відкритий текст.
Інше¶
- Резервне копіювання багатьох одночасно. Виберіть кілька контейнерів і натисніть Створити копію вибраних. Пакет виконується на стороні сервера, тож він продовжується, навіть якщо ви закриєте вкладку чи втратите з'єднання. BombVault ніколи не робить резервну копію (і тому ніколи не зупиняє) власний контейнер.
- Браузер знімків зі списком точок відновлення, видаленням для кожного знімка та згортуваним деревом тек для відновлення на рівні файлів.
- Обслуговування репозиторію для кожного домену: Перевірити (
restic check), Розблокувати (очистити застаріле блокування) та Очистити (застосовує політику зберігання за запитом, коли вона задана, інакше просте звільнення місця). - Хуки до/після резервного копіювання для кожного контейнера. Команди оболонки виконуються всередині контейнера (наприклад
mysqldumpв appdata перед резервним копіюванням); невдалий pre-хук перериває резервне копіювання. - Зупинка інших контейнерів під час резервного копіювання, з перезапуском, обмеженим станом справності. Назвіть залежні контейнери (наприклад базу даних), які потрібно зупинити, поки цей резервується. Потім BombVault повертає їх у порядку
depends_onз Compose і, за замовчуванням, чекає, поки кожен повідомить про справність (або запуск, якщо він не має healthcheck), перш ніж запускати контейнери, що від нього залежать, тож залежність на кшталт Pi-hole, бази даних чи VPN-шлюзу дійсно піднята, перш ніж служби, які її потребують, замість того, щоб вони поверталися до connection refused. Очікування обмежене таймаутом для кожного контейнера (120 секунд за замовчуванням), тож повільний чи ніколи не справний контейнер ніколи не зможе підвісити запуск; і очікування, і таймаут живуть у Налаштування, Розклади (вимкніть очікування для попереднього перезапуску всіх одразу). Той самий упорядкований перезапуск, обмежений станом справності, також обгортає оновлення образу після резервного копіювання, тож у день, коли приходить оновлення, залежні утримуються вимкненими протягом відтворення й повертаються, з обмеженням за станом справності, лише коли воно завершено. - Шаблони виключення для кожного контейнера. Перелічіть підкаталоги, які потрібно пропустити всередині резервованого тому, по одному на рядок. Введіть шляхи так, як ви бачите їх усередині контейнера; живий попередній перегляд показує, до чого розв'язується кожен рядок, і попереджає, коли рядок нічого не виключить.
- Оновлення після успішного резервного копіювання (розширене, за замовчуванням вимкнене). Увімкніть це на контейнері, і BombVault завантажує найновіший образ і відтворює його, але лише коли справді є новіший образ, тож свіжа точка відновлення завжди існує першою. Необов'язкові додатки: сповіщення для кожного оновленого контейнера та очищення образів (базовий образ, спільний з іншими контейнерами, ніколи не видаляється). Після оновлення BombVault також просить Unraid повторно перевірити статус оновлення того одного контейнера, тож застарілий банер update available на вкладці Docker очищається сам замість того, щоб затримуватися (оновлення Unraid проходять прямо через Docker API, тож його кешований статус, а на деяких версіях і кешований дайджест, інакше продовжував би показувати банер). Це за принципом найкращих зусиль, ніколи не впливає на резервне копіювання, увімкнене за замовчуванням і має перемикач у Налаштуваннях.
- Відновлення до альтернативної теки для клонування чи перевірки.
- Порівняння знімків і теги. Порівняйте два знімки, щоб побачити, що змінилося, і призначте теги знімкам, щоб фільтрувати їх.
- Що нового після оновлення. Примітки до випуску спливають один раз для кожної нової версії, подаються з приміток, вбудованих у бінарний файл, тож діалог працює офлайн.
- HTTPS з коробки (самопідписаний або підключіть власний сертифікат за зворотним проксі).
- Healthcheck Docker. Контейнер повідомляє про справність/несправність з власного
/api/health, тож інструмент автовідновлення може перезапустити його, якщо механізм коли-небудь зависне. - Темний/світлий інтерфейс 26 мовами з вибором прапора.