TrueNAS Scale импорт пула: Пошаговая инструкция по восстановлению ZFS | AdminWiki
Timeweb Cloud — сервера, Kubernetes, S3, Terraform. Лучшие цены IaaS.
Попробовать

TrueNAS Scale импорт пула: Полное руководство по восстановлению и миграции ZFS

22 марта 2026 9 мин. чтения #devops #nas #storage pool #truenas scale #zfs #восстановление данных #импорт пула #миграция
Содержание статьи

Представь, что ты переносишь серверное хранилище на новое железо или восстанавливаешь систему после сбоя. Твои данные находятся в ZFS пуле, но TrueNAS Scale его не видит. Именно здесь тебе понадобится процедура импорта пула — критически важная операция, которая может спасти твои данные. Давай разберем этот процесс от А до Я.

Что такое импорт пула в TrueNAS Scale?

Импорт пула (pool import) — это процесс, при котором TrueNAS Scale обнаруживает, идентифицирует и монтирует существующий ZFS пул, созданный либо в другой системе TrueNAS/FreeNAS, либо на этой же системе после переустановки. В отличие от создания нового пула, импорт сохраняет все твои данные, настройки снапшотов, datasets и свойства ZFS.

Важно понимать: ZFS пул — это не просто набор дисков. Это сложная структура с метаданными, которая хранит информацию о конфигурации vdev, свойствах datasets, снапшотах и истории транзакций. Импорт — это «опознание» этой структуры системой.

Когда нужен импорт пула?

  • Миграция с TrueNAS Core/FreeNAS на TrueNAS Scale
  • Восстановление после переустановки ОС
  • Перенос хранилища на новый сервер
  • Замена материнской платы или контроллера (когда система «теряет» пул)
  • Восстановление после сбоя загрузчика

Подготовка к импорту пула

ПРЕДУПРЕЖДЕНИЕ: Перед любыми операциями с пулом убедись, что у тебя есть актуальная резервная копия критически важных данных. Хотя импорт — обычно безопасная операция, аппаратные сбои могут произойти в любой момент.

Шаг 1: Физическое подключение дисков

Убедись, что все диски из исходного пула правильно подключены к новой системе TrueNAS Scale. Порядок подключения не важен для ZFS (благодаря меткам устройств), но важно, чтобы все диски были доступны системе.

Проверь видимость дисков через веб-интерфейс или командную строку:

bash
# Просмотр всех блочных устройств
lsblk

# Альтернативно, через TrueNAS CLI
midclt call disk.query | jq '.[] | {name, serial, size}'

# Или проверь в веб-интерфейсе: Storage → Disks

Шаг 2: Определение доступных для импорта пулов

TrueNAS Scale может автоматически обнаружить пулы, готовые к импорту. Проверим это:

bash
# Поиск экспортированных/неимпортированных пулов
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: Навигация к разделу импорта

  1. Зайди в веб-интерфейс TrueNAS Scale
  2. Перейди в Storage → Pools
  3. Нажми кнопку «Add» → «Import an existing pool»

Шаг 2: Выбор пула для импорта

Система покажет все обнаруженные пулы, доступные для импорта. Ты увидишь:

Параметр Описание
Pool Name Оригинальное имя пула (например, «tank» или «data»)
Pool ID Уникальный идентификатор пула (GUID)
Status Состояние (ONLINE, DEGRADED, FAULTED)
Disks Количество и тип дисков в пуле

Шаг 3: Настройка параметров импорта

После выбора пула у тебя будет несколько опций:

config
☐ Decrypt disks (расшифровка зашифрованных дисков)
  - Потребует ввода пароля или ключа

☐ Import pool with all data (рекомендуется)
  - Импортирует весь пул со всеми datasets и снапшотами

☐ Mount options (опции монтирования)
  - Read-only (только чтение) - для безопасной проверки
  - Legacy mount (для совместимости)
Совет: Если импортируешь пул впервые или не уверен в его состоянии, выбери опцию «Read-only». Это позволит проверить данные без риска их повреждения.

Шаг 4: Завершение импорта

Нажми «Import». Система выполнит следующие действия:

  1. Проверит целостность метаданных пула
  2. Импортирует конфигурацию пула в базу данных TrueNAS
  3. Смонтирует все datasets
  4. Восстановит настройки ACL (если они были)
  5. Активирует связанные службы (SMB, NFS, iSCSI)

Импорт пула через командную строку (CLI)

Для продвинутых пользователей или в случаях, когда веб-интерфейс недоступен, используй командную строку.

Базовый импорт пула

bash
# Просмотр доступных пулов
zpool import

# Импорт пула с оригинальным именем
zpool import tank

# Импорт с указанием GUID (если есть конфликт имен)
zpool import 1234567890123456

# Импорт с новым именем (если старое уже занято)
zpool import 1234567890123456 new_tank_name

Импорт в режиме только для чтения

bash
# Безопасный импорт для проверки
zpool import -o readonly=on tank

# Проверка содержимого
zfs list -r tank
zfs get all tank

Импорт зашифрованного пула

bash
# Импорт с запросом пароля
zpool import tank
# Система запросит пароль для расшифровки

# Импорт с использованием ключевого файла
zpool import -l tank

Решение распространенных проблем с импортом

Проблема 1: «Pool was last accessed by another system»

Это предупреждение, а не ошибка. ZFS обнаружил, что пул был смонтирован в другой системе. Для принудительного импорта:

bash
# Принудительный импорт (используй с осторожностью!)
zpool import -f tank

# Или через веб-интерфейс: просто продолжи импорт, система предупредит тебя
Внимание: Принудительный импорт может привести к потере данных, если пул активно используется в другой системе. Убедись, что исходная система выключена или пул экспортирован корректно.

Проблема 2: Отсутствующие или поврежденные диски

Если некоторые диски недоступны, пул может импортироваться в состоянии DEGRADED:

bash
# Проверь состояние пула после импорта
zpool status tank

# Если это mirror или RAIDZ, пул может работать в деградированном режиме
# Замени отсутствующие диски как можно скорее

Проблема 3: Конфликт имен пулов

Если имя пула уже существует в системе:

bash
# Вариант 1: Импорт с новым именем
zpool import 1234567890123456 backup_tank

# Вариант 2: Экспорт существующего пула, затем импорт
zpool export existing_pool
zpool import tank

Проблема 4: Несовместимая версия ZFS

При миграции со старой версии TrueNAS/FreeNAS:

bash
# Проверь версию ZFS пула
zpool upgrade -v

# Если пул требует обновления, TrueNAS Scale предложит обновить его
# после успешного импорта

# ВНИМАНИЕ: Обновление версии пула необратимо!
# Старая система может не прочитать обновленный пул

После успешного импорта: Настройка и проверка

Проверка целостности данных

bash
# Проверка состояния пула
zpool status -x

# Просмотр всех datasets
zfs list -r tank

# Проверка снапшотов
zfs list -t snapshot -r tank

# Scrubbing (отложенная проверка, запусти когда удобно)
zpool scrub tank

Настройка служб и общего доступа

  1. Перейди в Shares → Windows (SMB) Shares или Unix (NFS) Shares
  2. Настрой общие ресурсы заново (настройки ACL могут сохраниться)
  3. Проверь настройки Services для SMB, NFS, iSCSI
  4. Настрой расписание снапшотов в Data Protection → Periodic Snapshot Tasks

Автоматический импорт при загрузке

После успешного импорта через веб-интерфейс, TrueNAS Scale автоматически добавит пул в автозагрузку. Проверь это:

bash
# Просмотр конфигурации загрузки
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 разработан для надежности, и процедура импорта — часть этой философии. Даже если что-то пойдет не так, у тебя есть инструменты для диагностики и восстановления. Удачи в миграции твоего хранилища!

Поделиться:
Сохранить гайд? В закладки браузера