Введение: почему восстановление TrueNAS — это не паника, а процесс
Представь, что ты только что обновил TrueNAS Scale до новой версии, а твой любимый фотоархив Immich перестал запускаться. Или хуже — система не загружается после сбоя питания. Знакомая ситуация? Давай разберемся, как превратить потенциальную катастрофу в рядовую операцию по восстановлению TrueNAS. В этой статье я, как Senior DevOps, покажу тебе не только теорию, но и конкретные шаги, которые работают в бою.
Часть 1: Фундамент — резервное копирование конфигурации TrueNAS
Прежде чем говорить о восстановлении, давай убедимся, что у тебя есть что восстанавливать. Конфигурация TrueNAS — это настройки системы, пользователи, ACL, задачи SMB/NFS и, что важно, конфигурация твоих приложений (включая Immich).
Как создать резервную копию конфигурации
- Зайди в веб-интерфейс TrueNAS Scale (Системные настройки → Общие).
- Найди раздел «Сохранить конфигурацию».
- Выбери опцию «Зашифровать файл резервной копии» (рекомендуется) и задай пароль.
- Нажми «Скачать файл». Сохрани файл
truenas-config-дата.tarв надежное место вне сервера (облако, другой компьютер).
# Альтернативно, можно сделать бэкап через CLI (из Shell TrueNAS)
midclt call core.download '{"method": "config.save", "params": [{"secretseed": false}]}' > /mnt/poolname/backup/config_backup.tar
# Где /mnt/poolname/backup — твой dataset для бэкапов
Часть 2: Восстановление самой системы TrueNAS
Допустим, случилось худшее: загрузчик сломан, или ты хочешь перенести систему на новый диск. Вот твой план действий.
Сценарий 1: Восстановление из резервной копии конфигурации
- Установи свежую версию TrueNAS Scale на новое железо или откати систему.
- После первоначальной настройки зайди в «Системные настройки → Общие».
- В разделе «Загрузить конфигурацию» выбери сохраненный файл
.tar. - Введи пароль (если файл был зашифрован).
- Выбери опцию «Сбросить настройки сети» в зависимости от твоего сценария (если IP менялся).
- Нажми «Загрузить конфигурацию». Система перезагрузится и вернет все твои настройки.
Сценарий 2: Восстановление загрузочного устройства
Если загрузочный SSD вышел из строя, но пулы с данными целы:
- Создай загрузочную флешку с образом TrueNAS Scale.
- Загрузись с нее и установи систему на новый SSD.
- После установки и входа в веб-интерфейс система автоматически обнаружит существующие пулы ZFS.
- Импортируй пулы (Хранилище → ПУЛЫ → Импорт существующего).
- Загрузи резервную копию конфигурации, как описано выше. Все твои пути, общие ресурсы и настройки приложений вернутся.
Часть 3: Как восстановить Immich после обновления TrueNAS Scale
А теперь перейдем к конкретной проблеме из нашего кластера запросов. Ты обновил TrueNAS, и Immich сломался. Чаще всего проблема в том, что обновление сбрасывает настройки хранилища (Storage) для приложения или меняет версию образа.
Пошаговое восстановление Immich
/mnt/poolname/apps/immich.
- Проверь состояние приложения: Зайди в «Приложения → Установленные». Найди Immich. Если статус «Остановлено» или «Подвешено», не запускай его сразу.
- Проверь настройки хранилища (Storage): Нажми «Редактировать» на Immich. Пролистай до раздела «Storage». Убедись, что пути Host Path соответствуют реальному расположению твоих данных. Это самая частая причина сбоя.
| Тип хранилища в Immich | Рекомендуемый Host Path | Что содержит |
|---|---|---|
| Upload (Загрузки) | /mnt/poolname/apps/immich/upload |
Исходные загруженные фото/видео |
| Photos (Библиотека) | /mnt/poolname/apps/immich/library |
Обработанные файлы и превью |
| Database (PostgreSQL) | /mnt/poolname/apps/immich/postgres |
База данных с метаданными |
- Исправь пути, если они сбились. Если dataset был переименован или отключен, TrueNAS может подставить другой путь.
- Проверь версию образа. В настройках приложения, на вкладке «Образ приложения», убедись, что используется стабильный тег (например,
release, а неlatest). Попробуй переключить на конкретную версию (например,immich-server:release). - Удали и переустанови (крайняя мера). Если Immich не запускается, а данные целы:
- Сделай снапшот dataset с данными Immich (на всякий случай!).
- Удали сломанное приложение, но НЕ отметь галочку «Удалить хранилище приложений».
- Установи Immich заново через «Приложения → Доступные приложения».
- На этапе настройки хранилища вручную укажи пути к существующим папкам (
/mnt/poolname/apps/immich/...). Приложение должно подхватить старые данные.
# Если у тебя есть доступ к Shell, проверь целостность данных Immich
# Перейди в директорию с данными
cd /mnt/poolname/apps/immich
# Посмотри структуру (должны быть папки upload, library, postgres)
ls -la
# Проверь права доступа (владелец должен быть apps:apps или 568:568)
ls -la upload/
# Если права сбиты, исправь их
chown -R 568:568 /mnt/poolname/apps/immich/*
Часть 4: Восстановление данных ZFS — твоя главная страховка
Конфигурацию можно пересоздать, а вот семейные фото — нет. ZFS — твой лучший друг в восстановлении данных.
Использование снапшотов и клонов
- Снапшоты: Моментальные снимки состояния dataset. Они занимают минимум места и создаются за секунды.
- Клоны: Питомники для восстановления. Можно клонировать любой снапшот в новую, живую файловую систему для безопасного извлечения данных.
# Создание снапшота вручную (из Shell TrueNAS)
zfs snapshot poolname/apps/immich@before_update_$(date +%Y%m%d)
# Просмотр всех снапшотов для dataset
zfs list -t snapshot -r poolname/apps/immich
# Восстановление dataset из снапшота (ОСТОРОЖНО! Удалит все изменения после снапшота)
zfs rollback poolname/apps/immich@before_update_20241027
# Безопасное восстановление файлов через клон
# 1. Создай клон снапшота
zfs clone poolname/apps/immich@before_update_20241027 poolname/recovery/immich_backup
# 2. Смонтируй клон и скопируй нужные файлы
# 3. Удали клон, когда закончишь
zfs destroy poolname/recovery/immich_backup
Часть 5: Проактивная стратегия — чтобы не восстанавливать
Лучшее восстановление — то, которое не нужно. Выстрой свою систему так:
- Автоматические снапшоты ZFS: Настрой задачу в «Задачи → Периодические снапшоты» для критических dataset (ежедневно, удерживать 2 недели).
- Резервная копия конфигурации по расписанию: Используй задачу «Задачи → Cron Jobs» для автоматического экспорта конфига и отправки в облако (S3, Backblaze) через скрипт.
- Тестируй обновления на клоне: Перед обновлением основной системы сделай полный снапшот boot pool и основного пула. Или используй виртуализацию для тестов.
- Документируй ручные изменения: Заведи текстовый файл, куда записываешь все кастомные настройки в конфигах приложений (например,
/mnt/poolname/apps/immich/app/immich.yml).
FAQ: Частые вопросы по восстановлению TrueNAS
Я восстановил конфигурацию, но мои приложения не видят данные. Что делать?
Скорее всего, сбились mount points. Зайди в настройки каждого проблемного приложения (например, Immich) и проверь раздел «Storage». Убедись, что «Host Path» ведет на существующий dataset с данными. Если dataset не импортирован, сначала импортируй его в «Хранилище → ПУЛЫ».
Можно ли восстановить отдельные файлы из снапшота через веб-интерфейс?
Да! Это одна из лучших фич TrueNAS. Зайди в «Хранилище → Снапшоты». Найди нужный снапшот dataset. Нажми на три точки справа и выбери «Клонировать в новый dataset». Затем этот клон появится в проводнике (Datasets), и ты сможешь зайти в него через SMB/FTP или файловый менеджер и скопировать файлы. После этого удали клон.
После восстановления конфигурации сетевые интерфейсы не работают. Как исправить?
При загрузке конфига выбери опцию «Сбросить настройки сети». Система загрузит все настройки, кроме сетевых, и ты сможешь заново настроить IP, шлюз и DNS через веб-интерфейс. Если ты уже загрузил конфиг и потерял доступ, подключи монитор и клавиатуру к серверу, войди в консоль и используй меню настройки сети (пункт 1 в консольном меню).
Как восстановить TrueNAS, если сломался загрузочный диск, а резервной копии конфига нет?
Установи систему с нуля на новый диск. После установки импортируй свои пулы ZFS («Хранилище → ПУЛЫ → Импорт существующего»). Твои данные будут доступны. Однако все настройки системы, пользователи и конфигурации приложений (включая Immich) будут потеряны. Тебе придется заново создавать пользователей, общие ресурсы и переустанавливать/настраивать приложения, указывая им пути к существующим данным. Это трудоемко — поэтому бэкап конфига критически важен.
Заключение: Восстановление — это навык, а не удача
Давай резюмируем. Восстановление TrueNAS — это многослойный процесс, который начинается с грамотного резервного копирования. Ты должен иметь три независимые страховки: (1) файл конфигурации системы, (2) снапшоты ZFS для данных и (3) документацию по ручным настройкам приложений. Конкретная проблема восстановления Immich после обновления чаще всего решается проверкой и исправлением путей хранилища в настройках приложения.
Потрать один вечер на настройку автоматических снапшотов и экспорта конфига. Это сэкономит тебе десятки часов стресса в будущем. Помни: в DevOps и администрировании побеждает не тот, кто никогда не падает, а тот, кто умеет быстро и уверенно подниматься.