Представь, что ты переносишь серверное хранилище на новое железо или восстанавливаешь систему после сбоя. Твои данные находятся в ZFS пуле, но TrueNAS Scale его не видит. Именно здесь тебе понадобится процедура импорта пула — критически важная операция, которая может спасти твои данные. Давай разберем этот процесс от А до Я.
Что такое импорт пула в TrueNAS Scale?
Импорт пула (pool import) — это процесс, при котором TrueNAS Scale обнаруживает, идентифицирует и монтирует существующий ZFS пул, созданный либо в другой системе TrueNAS/FreeNAS, либо на этой же системе после переустановки. В отличие от создания нового пула, импорт сохраняет все твои данные, настройки снапшотов, datasets и свойства ZFS.
Когда нужен импорт пула?
- Миграция с TrueNAS Core/FreeNAS на TrueNAS Scale
- Восстановление после переустановки ОС
- Перенос хранилища на новый сервер
- Замена материнской платы или контроллера (когда система «теряет» пул)
- Восстановление после сбоя загрузчика
Подготовка к импорту пула
Шаг 1: Физическое подключение дисков
Убедись, что все диски из исходного пула правильно подключены к новой системе TrueNAS Scale. Порядок подключения не важен для ZFS (благодаря меткам устройств), но важно, чтобы все диски были доступны системе.
Проверь видимость дисков через веб-интерфейс или командную строку:
# Просмотр всех блочных устройств
lsblk
# Альтернативно, через TrueNAS CLI
midclt call disk.query | jq '.[] | {name, serial, size}'
# Или проверь в веб-интерфейсе: Storage → Disks
Шаг 2: Определение доступных для импорта пулов
TrueNAS Scale может автоматически обнаружить пулы, готовые к импорту. Проверим это:
# Поиск экспортированных/неимпортированных пулов
zpool import
# Пример вывода:
# pool: tank
# id: 1234567890123456
# state: ONLINE
# status: The pool was last accessed by another system.
# action: The pool can be imported using its name or numeric identifier.
# ...
Пошаговый импорт пула через веб-интерфейс
Это самый простой и безопасный способ для большинства пользователей.
Шаг 1: Навигация к разделу импорта
- Зайди в веб-интерфейс TrueNAS Scale
- Перейди в Storage → Pools
- Нажми кнопку «Add» → «Import an existing pool»
Шаг 2: Выбор пула для импорта
Система покажет все обнаруженные пулы, доступные для импорта. Ты увидишь:
| Параметр | Описание |
|---|---|
| Pool Name | Оригинальное имя пула (например, «tank» или «data») |
| Pool ID | Уникальный идентификатор пула (GUID) |
| Status | Состояние (ONLINE, DEGRADED, FAULTED) |
| Disks | Количество и тип дисков в пуле |
Шаг 3: Настройка параметров импорта
После выбора пула у тебя будет несколько опций:
☐ Decrypt disks (расшифровка зашифрованных дисков)
- Потребует ввода пароля или ключа
☐ Import pool with all data (рекомендуется)
- Импортирует весь пул со всеми datasets и снапшотами
☐ Mount options (опции монтирования)
- Read-only (только чтение) - для безопасной проверки
- Legacy mount (для совместимости)
Шаг 4: Завершение импорта
Нажми «Import». Система выполнит следующие действия:
- Проверит целостность метаданных пула
- Импортирует конфигурацию пула в базу данных TrueNAS
- Смонтирует все datasets
- Восстановит настройки ACL (если они были)
- Активирует связанные службы (SMB, NFS, iSCSI)
Импорт пула через командную строку (CLI)
Для продвинутых пользователей или в случаях, когда веб-интерфейс недоступен, используй командную строку.
Базовый импорт пула
# Просмотр доступных пулов
zpool import
# Импорт пула с оригинальным именем
zpool import tank
# Импорт с указанием GUID (если есть конфликт имен)
zpool import 1234567890123456
# Импорт с новым именем (если старое уже занято)
zpool import 1234567890123456 new_tank_name
Импорт в режиме только для чтения
# Безопасный импорт для проверки
zpool import -o readonly=on tank
# Проверка содержимого
zfs list -r tank
zfs get all tank
Импорт зашифрованного пула
# Импорт с запросом пароля
zpool import tank
# Система запросит пароль для расшифровки
# Импорт с использованием ключевого файла
zpool import -l tank
Решение распространенных проблем с импортом
Проблема 1: «Pool was last accessed by another system»
Это предупреждение, а не ошибка. ZFS обнаружил, что пул был смонтирован в другой системе. Для принудительного импорта:
# Принудительный импорт (используй с осторожностью!)
zpool import -f tank
# Или через веб-интерфейс: просто продолжи импорт, система предупредит тебя
Проблема 2: Отсутствующие или поврежденные диски
Если некоторые диски недоступны, пул может импортироваться в состоянии DEGRADED:
# Проверь состояние пула после импорта
zpool status tank
# Если это mirror или RAIDZ, пул может работать в деградированном режиме
# Замени отсутствующие диски как можно скорее
Проблема 3: Конфликт имен пулов
Если имя пула уже существует в системе:
# Вариант 1: Импорт с новым именем
zpool import 1234567890123456 backup_tank
# Вариант 2: Экспорт существующего пула, затем импорт
zpool export existing_pool
zpool import tank
Проблема 4: Несовместимая версия ZFS
При миграции со старой версии TrueNAS/FreeNAS:
# Проверь версию ZFS пула
zpool upgrade -v
# Если пул требует обновления, TrueNAS Scale предложит обновить его
# после успешного импорта
# ВНИМАНИЕ: Обновление версии пула необратимо!
# Старая система может не прочитать обновленный пул
После успешного импорта: Настройка и проверка
Проверка целостности данных
# Проверка состояния пула
zpool status -x
# Просмотр всех datasets
zfs list -r tank
# Проверка снапшотов
zfs list -t snapshot -r tank
# Scrubbing (отложенная проверка, запусти когда удобно)
zpool scrub tank
Настройка служб и общего доступа
- Перейди в Shares → Windows (SMB) Shares или Unix (NFS) Shares
- Настрой общие ресурсы заново (настройки ACL могут сохраниться)
- Проверь настройки Services для SMB, NFS, iSCSI
- Настрой расписание снапшотов в Data Protection → Periodic Snapshot Tasks
Автоматический импорт при загрузке
После успешного импорта через веб-интерфейс, TrueNAS Scale автоматически добавит пул в автозагрузку. Проверь это:
# Просмотр конфигурации загрузки
cat /etc/systemd/system/zfs-import-cache.service
# Ручное добавление в кеш импорта (если нужно)
zpool set cachefile=/etc/zfs/zpool.cache tank
Часто задаваемые вопросы (FAQ)
Можно ли импортировать пул из TrueNAS Core в Scale?
Да, абсолютно. TrueNAS Scale и Core используют одинаковую реализацию ZFS (OpenZFS). Пул, созданный в TrueNAS Core 12 или 13, можно импортировать в TrueNAS Scale без преобразования данных. Единственное отличие — настройки служб (SMB, NFS) могут потребовать перенастройки из-за различий в базовой ОС (FreeBSD vs Linux).
Что делать, если импорт завершается ошибкой «one or more devices is unavailable»?
1. Проверь физическое подключение всех дисков
2. Убедись, что контроллер HBA/RAID находится в режиме IT (passthrough)
3. Проверь журналы ядра на ошибки дисков: dmesg | grep -i error
4. Попробуй импортировать в деградированном режиме: zpool import -m tank (пропусти отсутствующие логичные устройства)
Сохранятся ли снапшоты после импорта?
Да, все снапшоты сохраняются. ZFS снапшоты — неотъемлемая часть структуры данных пула. Они импортируются вместе с пулом и остаются полностью доступными. Ты можешь просмотреть их через zfs list -t snapshot или в веб-интерфейсе в разделе Snapshots.
Нужно ли форматировать диски перед импортом?
НЕТ, ни в коем случае! Форматирование уничтожит данные на дисках. Импорт пула работает с существующими данными ZFS. Если система предлагает отформатировать диск — ты находишься не в том разделе интерфейса.
Можно ли импортировать только часть пула?
Нет, ZFS пул импортируется целиком со всеми его vdevs. Однако ты можешь:
1. Импортировать полный пул
2. Создать снапшот нужного dataset
3. Клонировать или отправить снапшот в другое место
4. Экспортировать оригинальный пул, если он не нужен
Как экспортировать пул перед переносом?
Перед перемещением дисков в другую систему, правильно экспортируй пул:
zpool export tank
Или через веб-интерфейс: Storage → Pools → ⋯ → Export/Disconnect.
Это гарантирует, что на дисках не останется блокировок, которые могут помешать импорту в новой системе.
Заключение
Импорт пула в TrueNAS Scale — мощный и надежный механизм, который отражает зрелость ZFS как файловой системы. Благодаря детальным метаданным, хранящимся на самих дисках, ты можешь переносить пулы между системами с минимальным риском потери данных.
Ключевые моменты для успешного импорта:
- Всегда делай резервные копии перед операциями с пулами
- Используй веб-интерфейс для стандартных сценариев — он безопаснее
- Проверяй состояние пула после импорта командой
zpool status - Не бойся режима read-only для первоначальной проверки
- Документируй конфигурацию — имена пулов, структуру vdev, настройки шифрования
Помни: ZFS разработан для надежности, и процедура импорта — часть этой философии. Даже если что-то пойдет не так, у тебя есть инструменты для диагностики и восстановления. Удачи в миграции твоего хранилища!