Выбор и настройка дисков для TrueNAS — это фундамент, на котором строится надежность и производительность всей вашей системы хранения. Давай разберем этот процесс от А до Я, как если бы мы проектировали инфраструктуру для продакшена. Забудь о случайных покупках — здесь все должно быть предсказуемо и отказоустойчиво.
1. Выбор типа дисков: HDD vs SSD
Первое и самое важное решение. Представь, что HDD — это грузовик для перевозки больших объемов данных по низкой цене, а SSD — спортивный автомобиль для мгновенного доступа к критически важным файлам.
| Параметр | HDD (Жесткий диск) | SSD (Твердотельный накопитель) |
|---|---|---|
| Назначение в TrueNAS | Основное хранилище (pool), архивные данные, медиатека | Кэш (L2ARC), журнал (SLOG), высокопроизводительные пулы |
| Стоимость за ГБ | Низкая (2-5 руб/ГБ) | Высокая (10-50 руб/ГБ) |
| Надежность (MTBF) | 1-2 млн часов | 1.5-2.5 млн часов |
| Рекомендуемые модели | WD Red Plus, Seagate IronWolf, Toshiba N300 | Samsung 870/980, WD Red SN700, Intel DC series |
2. Подготовка дисков перед созданием пула
Перед тем как добавить диски в TrueNAS, нужно провести базовую подготовку. Открой Shell через веб-интерфейс или подключись по SSH.
2.1. Определение идентификаторов дисков
# Просмотр всех доступных дисков в системе
lsblk
# Более детальная информация (обрати внимание на размер и модель)
gpart show
# Альтернатива - просмотр через geom
geli list
geom disk list
2.2. Тестирование дисков (опционально, но рекомендуется)
Для новых дисков или дисков б/у стоит провести stress-тест:
# Запуск badblocks в режиме чтения/записи (ЗАМЕНИ /dev/da0 на свой диск)
# ВНИМАНИЕ: эта команда уничтожит все данные на диске!
badblocks -wsv -b 4096 /dev/da0
# SMART-тест (короткий и длинный)
smartctl -t short /dev/da0
smartctl -t long /dev/da0
# Просмотр результатов SMART-теста
smartctl -a /dev/da0 | less
3. Создание пула ZFS с правильной конфигурацией
ZFS — это сердце TrueNAS. Правильная конфигурация vdev определяет отказоустойчивость и производительность.
3.1. Выбор уровня RAID-Z
- RAID-Z1 (аналог RAID 5) — 1 диск для четности. Минимум 3 диска. Подходит для массивов до 4-5 дисков.
- RAID-Z2 (аналог RAID 6) — 2 диска для четности. Минимум 4 диска. Рекомендуется для массивов от 6 дисков.
- RAID-Z3 — 3 диска для четности. Минимум 5 дисков. Для критически важных данных.
- Mirror (зеркало) — каждый диск дублируется. Высокая производительность, но низкая эффективность использования пространства.
3.2. Практический пример: создание пула через CLI
# Создание пула из 6 дисков в конфигурации RAID-Z2
# Диски: /dev/da0, /dev/da1, /dev/da2, /dev/da3, /dev/da4, /dev/da5
zpool create -f \
-o ashift=12 \
-O compression=lz4 \
-O atime=off \
tank raidz2 /dev/da0 /dev/da1 /dev/da2 /dev/da3 /dev/da4 /dev/da5
# Проверка созданного пула
zpool status tank
zpool list tank
# Просмотр информации о файловой системе
zfs list
Разберем ключевые параметры:
ashift=12— правильное выравнивание для дисков с 4K секторамиcompression=lz4— «бесплатное» сжатие, почти не влияет на производительностьatime=off— отключает запись времени доступа, снижает нагрузку
4. Добавление кэша и журнала (L2ARC & SLOG)
Для оптимизации производительности TrueNAS использует дополнительные SSD диски в специальных ролях.
| Компонент | Назначение | Требования к диску |
|---|---|---|
| L2ARC (Level 2 ARC) | Кэш чтения, расширяет оперативную память | Быстрый SSD (NVME предпочтительно), от 128 ГБ |
| SLOG (Separate Intent Log) | Журнал синхронных записей (NFS, iSCSI, базы данных) | Очень быстрый SSD с capacitor (защита от потери данных), 16-64 ГБ |
4.1. Добавление SSD кэша к существующему пулу
# Добавляем SSD /dev/nvd0 как L2ARC к пулу 'tank'
zpool add tank cache /dev/nvd0
# Добавляем SSD /dev/nvd1 как SLOG (зеркало для надежности)
zpool add tank log mirror /dev/nvd1 /dev/nvd2
# Проверяем конфигурацию
zpool status tank
5. Мониторинг и обслуживание дисков
После настройки важно следить за состоянием дисков. Вот основные команды для мониторинга:
# Мониторинг состояния пула в реальном времени
zpool status -x
# Просмотр статистики ввода-вывода
zpool iostat -v 5
# Проверка целостности данных (scrub)
zpool scrub tank
# SMART-мониторинг всех дисков
for disk in $(ls /dev/da* /dev/ada* 2>/dev/null); do
echo "=== $disk ==="
smartctl -H $disk | grep "SMART overall-health"
done
5.1. Автоматизация scrub через cron
Добавь в планировщик еженедельную проверку целостности:
# Редактируем crontab
crontab -e
# Добавляем задание на воскресенье в 2:00
0 2 * * 0 /sbin/zpool scrub tank
6. Расширение пула и замена дисков
6.1. Замена вышедшего из строя диска
# 1. Помечаем диск как неисправный (замени da0 на твой диск)
zpool offline tank /dev/da0
# 2. Физически заменяем диск в сервере
# 3. Очищаем метаданные на новом диске (ОСТОРОЖНО!)
gpart destroy -F /dev/da0
# 4. Заменяем диск в пуле
zpool replace tank /dev/da0
# 5. Мониторим процесс перестроения
zpool status tank
6.2. Расширение пула добавлением новой vdev
В ZFS можно добавлять целые группы дисков (vdev) к существующему пулу:
# Добавляем новую vdev (RAID-Z2 из 6 дисков) к пулу 'tank'
zpool add tank raidz2 /dev/da6 /dev/da7 /dev/da8 /dev/da9 /dev/da10 /dev/da11
7. Лучшие практики и рекомендации
- Единый производитель и модель в рамках одной vdev — избегай смешивания дисков разных производителей в одном RAID-Z.
- Резервное копирование конфигурации — регулярно экспортируй конфиг TrueNAS через веб-интерфейс.
- Температурный режим — HDD должны работать при 30-40°C. Используй мониторинг через
smartctl -A /dev/da0 | grep Temperature. - Плановые замены — меняй диски после 5 лет эксплуатации или при достижении 50,000 часов наработки.
- Документация — веди журнал серийных номеров дисков и их расположения в корзинах.
Пример итоговой конфигурации для домашнего сервера
- Основной пул: 6× WD Red Plus 8TB в RAID-Z2 (≈32 ТБ полезного пространства)
- Кэш L2ARC: 1× Samsung 980 500GB NVMe SSD
- Системный диск: 2× SSD 120GB в зеркале (для самой TrueNAS)
- Резервное копирование: Внешний HDD для еженедельных снапшотов
Часто задаваемые вопросы (FAQ)
Можно ли использовать диски разных размеров в одном RAID-Z?
Технически — да, но ZFS будет использовать только объем, равный самому маленькому диску в vdev. Например, если у вас диски 4TB, 4TB, 6TB — эффективный объем каждого будет 4TB. Это неэффективно.
Как часто нужно делать scrub?
Для домашнего использования — раз в неделю. Для коммерческих систем — раз в месяц. Scrub создает нагрузку на диски, поэтому планируй его на время низкой активности.
Что делать, если закончилось место в пуле?
1) Добавить новую vdev к существующему пулу. 2) Заменить все диски в vdev на диски большего объема (по одному, с перестроением после каждой замены). 3) Создать новый пул и перенести данные.
Нужен ли аппаратный RAID-контроллер для TrueNAS?
Нет! TrueNAS использует ZFS, который работает лучше всего с прямым доступом к дискам (HBA mode). Используй контроллеры в режиме IT mode (например, LSI 9207-8i).
Как проверить, что диск использует 4K сектора?
smartctl -a /dev/da0 | grep "Sector Size:"
# Или
diskinfo -v /dev/da0 | grep "bytes/sector"
Заключение
Выбор и настройка дисков для TrueNAS — это баланс между стоимостью, надежностью и производительностью. Начни с четкого понимания своих потребностей: объем данных, требуемая скорость доступа, бюджет. Всегда используй CMR диски для основных пулов, настрой правильный ashift и не экономь на отказоустойчивости — RAID-Z2 должен быть минимальным уровнем для данных, которые жалко потерять.
Помни: ZFS — это enterprise-решение, которое требует грамотного подхода. Регулярный мониторинг, своевременные замены дисков и тестирование процедур восстановления — залог спокойного сна, когда твои данные в безопасности.