Источник: selfhosting.sh
Быстрая рекомендация
Для TrueNAS SCALE (на базе Linux, рекомендуется): Бывший в употреблении Dell OptiPlex 7060 Tower ($150) с i5-8500, 32 ГБ ECC DDR4 ($60 бывший в употреблении) и HBA LSI 9207-8i ($30). Добавьте 4 накопителя Seagate IronWolf по 4 ТБ ($260) в RAIDZ1 vdev. Итого: ~$500 за 12 ТБ используемого хранилища ZFS с поддержкой Docker.
Для TrueNAS CORE (на базе FreeBSD): То же оборудование подходит, но Docker недоступен. Используйте Jails вместо этого. CORE — это устаревший путь — новые пользователи должны выбирать SCALE.
Не подлежит обсуждению: Если вы запускаете ZFS на TrueNAS, получите ECC RAM. ZFS хранит контрольные суммы данных в RAM во время записи. Ошибка в RAM может привести к тому, что ZFS запишет поврежденные данные, а затем подтвердит свои собственные повреждения. ECC стоит на $10–$20 дороже, чем не-ECC, и полностью устраняет этот риск.
Получите конфигурации Docker Compose, рекомендации по оборудованию и ярлыки по настройке, которые мы не публикуем в статьях. Раз в неделю. Без спама.
Подписаться
Что нужно TrueNAS (ZFS управляет всем)
TrueNAS — это система хранения на базе ZFS. Требования ZFS определяют ваши выборы оборудования.
Оперативная память: 1 ГБ на ТБ хранилища (Минимум)
ZFS активно использует RAM для своего ARC (Адаптивный кеш замещения). Правило общего случая:
Storage| Минимальная RAM| Рекомендуемая RAM
---|---|---
4–8 ТБ| 8 ГБ| 16 ГБ
8–16 ТБ| 16 ГБ| 32 ГБ
16–32 ТБ| 32 ГБ| 64 ГБ
32+ ТБ| 64 ГБ| 128 ГБ
Больше RAM = быстрее чтение, потому что больше данных находится в кеше. ZFS без достаточного объема RAM работает плохо — он постоянно читает с диска вместо кеша.
ECC RAM настоятельно рекомендуется. Технически не требуется, но гарантии целостности данных ZFS подразумевают надежную RAM. Один сбой бита во время проверки или восстановлении может вызвать скрытое повреждение данных, которое ZFS не может обнаружить. ECC предотвращает это.
Для обсуждения ECC смотрите ECC vs Non-ECC RAM.
Процессор: Умеренная мощность, требуется AES-NI
Операции ZFS требуют умеренной нагрузки на CPU:
* Контрольные суммы каждого блока данных (fletcher4 по умолчанию — легкий)
* Сжатие (LZ4 по умолчанию — очень быстро, едва влияет на CPU)
* Шифрование (AES-256-GCM, если включено — требует инструкций AES-NI)
* Проверки/восстановления читают каждый блок и проверяют контрольные суммы
Четырехъядерный i3 легко справляется с объемом хранения до 20 ТБ. Вам нужно больше ядер только в том случае, если вы запускаете контейнеры Docker или ВМ наряду с NAS.
AES-NI обязательна, если вы планируете использовать нативное шифрование ZFS. Каждый процессор Intel с Westmere (2010) и каждый процессор AMD с Bulldozer (2011) имеет AES-NI. Это не является практической проблемой с современным оборудованием.
Контроллер хранения: HBA в режиме IT
ZFS требует прямого доступа к отдельным накопителям — никакого аппаратного RAID-контроллера между ними.
Лучший вариант: HBA LSI/Broadcom в режиме IT (Initiator Target):
Контроллер| Порты| Цена (Бывший в употреблении)| Примечания
---|---|---|---
LSI 9207-8i| 8 SAS/SATA| $25–$40| Наиболее популярный, хорошо поддерживаемый
Dell H310 Mini Mono| 8 SAS/SATA| $15–$25| Переходите в режим IT — самый дешевый вариант
LSI 9300-8i| 8 SAS/SATA| $40–$60| PCIe 3.0, более новое прошивка
Broadcom 9500-8i| 8 SAS/SATA| $80–$120| PCIe 4.0, поддержка NVMe
Никогда не используйте аппаратный RAID-контроллер. RAID-контроллеры абстрагируют доступ к накопителям. ZFS требует прямого доступа к накопителям для правильной работы контроля целостности и избыточности. Аппаратный RAID-контроллер под ZFS перечеркивает всю цель ZFS.
Порты SATA на материнской плате подходят для небольших массивов (4–6 накопителей). Используйте HBA, когда вам нужно больше портов.
Загрузочный диск
TrueNAS загружается с отдельного диска, который НЕ является частью пула хранения ZFS. Варианты:
* USB-флешка — работает, но медленно и вытирается. TrueNAS SCALE записывает больше данных на загрузочное устройство, чем CORE, поэтому USB менее идеален для SCALE.
* Небольшой SATA SSD (120–256 ГБ) — рекомендуется. Дешевый, надежный, быстро загружается.
* NVMe SSD — избыток для загрузки, но подойдет, если ваша материнская плата имеет свободный слот M.2.
* Зеркало из двух загрузочных дисков — TrueNAS поддерживает зеркалированную загрузку. Защищает от отказа загрузочного диска. Стоит реализовать.
SLOG и L2ARC (по выбору)
SLOG (Отдельный журнал): Быстрый NVMe-диск для журнала намерений ZFS (ZIL). Улучшает производительность синхронной записи. Полезен для iSCSI, NFS с sync=always или хранения ВМ. Не требуется для типичных рабочих нагрузок NAS (SMB-файловый обмен по умолчанию асинхронный).
L2ARC: Вторичный уровень кеша для чтения на SSD. Увеличивает емкость ARC за пределами RAM. Полезен только тогда, когда ваш рабочий набор превышает доступную RAM. Для большинства домашних серверов добавление большего объема RAM более экономично, чем добавление L2ARC.
Если вы новичок: Пропустите оба. Они добавляют сложности и расходы с минимальной выгодой для типичного использования домашних NAS. Добавьте их позже, если вы определите конкретные узкие места производительности.
Рекомендуемые сборки
Бюджетная сборка ($350–$450)
Файловый сервер с поддержкой Docker. 12 ТБ используемого (RAIDZ1).
Компонент| Рекомендация| Цена
---|---|---
Система| Бывший в употреблении Dell OptiPlex 7060 Tower (i5-8500, 8 ГБ)| $120
Апгрейд RAM| 32 ГБ DDR4 ECC UDIMM (2x16, бывший в употреблении)| $60
Загрузочный диск| 120 ГБ SATA SSD| $15
HBA| Dell H310 Mini Mono (режим IT)| $20
Кабели SAS| 2x SFF-8087 на 4x SATA| $15
Хранение| 4x 4 ТБ Seagate IronWolf (RAIDZ1)| $260
Итого| | ~$490
Примечание: OptiPlex 7060 Tower (не Micro/SFF) имеет место для нескольких 3.5-дюймовых накопителей. Убедитесь, что конкретная конфигурация имеет достаточно внутренних отсеков для накопителей.
Среднецена сборка ($600–$800)
NAS + Docker + Plex. 24 ТБ usable (RAIDZ1 или RAIDZ2).
Компонент| Рекомендация| Цена
---|---|---
Процессор| Intel i5-12400| $130
Материнская плата| ASRock B660M Pro RS (4 SATA, M.2, поддержка ECC через i5)| $90
RAM| 32 ГБ DDR4 ECC UDIMM (2x16)| $70
Загрузочный диск| 256 ГБ NVMe SSD| $25
Корпус| Fractal Design Node 304 (6x 3.5”)| $80
Блок питания| Corsair CX450M| $45
Хранение| 4x 8 ТБ Seagate IronWolf| $480
Итого| | ~$920
Используемое хранилище: RAIDZ1 = 24 ТБ. RAIDZ2 = 16 ТБ (лучшая защита).
Важно: Процессор Intel 12-го поколения i5 (не-K) поддерживает ECC на определенных материнских платах. Проверьте поддержку ECC в руководстве по материнской плате. Материнские платы ASRock B660, как правило, поддерживают ECC.
Высококачественная сборка ($1,000–$1,500)
Полный NAS + ВМ + тяжелый Docker. 48+ ТБ usable.
Компонент| Рекомендация| Цена
---|---|---
Процессор| AMD Ryzen 7 5700X| $150
Материнская плата| ASRock B550M Pro4 (6 SATA, поддержка ECC)| $90
RAM| 64 ГБ DDR4 ECC UDIMM (2x32)| $150
Загрузочные диски| 2x 256 ГБ SATA SSD (зеркало)| $40
SLOG| Intel Optane M10 16 ГБ (бывший в употреблении)| $15
HBA| LSI 9207-8i (режим IT)| $35
Корпус| Fractal Design Define 7 (14x 3.5” bays)| $150
Блок питания| Corsair RM750 (80+ Gold)| $90
Хранение| 6x 12 ТБ Seagate Exos (RAIDZ2)| $780
Итого| | ~$1,500
Используемое хранилище: RAIDZ2 = 48 ТБ с двойной защитой четности.
Рекомендации по компоновке пула ZFS
| Диски | Лучшая компоновка | Используемая емкость | Устойчивость к сбоям |
|---|---|---|---|
| 2 | Зеркало | 50% | 1 диск |
| 3 | RAIDZ1 | 67% | 1 диск |
| 4 | RAIDZ1 | 75% | 1 диск |
| 4 | 2x Зеркало (полосами) | 50% | 1 на зеркало |
| 5 | RAIDZ2 | 60% | 2 диска |
| 6 | RAIDZ2 | 67% | 2 диска |
| 6 | 3x Зеркало (полосами) | 50% | 1 на зеркало |
| 8+ | RAIDZ2 или 2x RAIDZ1 | Варируется | 2 диска |
| Для домашнего использования: RAIDZ1 с 3–5 дисками — это оптимальный вариант. RAIDZ2, если у вас 5+ дисков и нужна дополнительная безопасность. | |||
| Никогда не используйте RAIDZ1 с крупными дисками (8+ ТБ). Время восстановления с крупными дисками может превышать 24 часа, в течение которых второй сбой уничтожает пул. Используйте RAIDZ2 или зеркала для дисков объемом 8 ТБ и больше. | |||
| Для требований к оборудованию ZFS см. Требования к оборудованию ZFS. |
TrueNAS SCALE против CORE
| Функция | SCALE (Linux) | CORE (FreeBSD) |
|---|---|---|
| Docker/Kubernetes | Да (нативный) | Нет (только Jails) |
| Поддержка ВМ | Да (KVM) | Да (bhyve) |
| Поддержка ZFS | Полная | Полная |
| Активная разработка | Основное внимание | Режим обслуживания |
| Экосистема приложений | Большее (Docker Hub) | Меньше (приложения iXsystems) |
| Выберите SCALE для новых установок. Это будущее TrueNAS, содержит поддержку Docker и работает на ядре Linux (лучше поддержка драйверов). | ||
| Выберите CORE только если у вас есть существующая установка CORE, которую вы не хотите мигрировать, или если вам нужны специфические функции FreeBSD (Jails с полным пользовательским окружением FreeBSD). |
FAQ
Нужен ли мне действительно ECC RAM?
Для ZFS: настоятельно рекомендуется. Процесс проверки ZFS доверяет содержимому RAM для верификации содержимого диска. Один бит ошибки в RAM во время проверки может привести к тому, что ZFS «исправит» правильные данные неверными. ECC стоит на 10–20 долларов больше, чем non-ECC, и устраняет этот риск.
Для ОС NAS без ZFS (Unraid, OMV): ECC является необязательным. Эти системы не полагаются на контрольную сумму, основанную на RAM.
Могу ли я использовать мини-ПК для TrueNAS?
Технически да, но большинство мини-ПК ограничены 16 ГБ non-ECC RAM и не имеют SATA-портов, кроме загрузочного диска. Вам потребуется подключенное через USB хранилище, с которым ZFS не работает хорошо (отключения USB вызывают проблемы с пулом). Используйте настольный или башенный ПК для TrueNAS.
Сколько энергии потребляет сервер TrueNAS?
Зависит от дисков:
* Система (ЦП + материнская плата + загрузочный SSD): 20–40 Вт
* Каждый вращающийся 3.5” HDD: 6–8 Вт
* Каждый 2.5” SSD: 1–2 Вт
NAS с 4 дисками: 45–70 Вт. NAS с 6 дисками: 55–90 Вт. Годовые затраты при $0.12/кВтч: $47–$95.
Могу ли я позже увеличить объем хранилища?
Вы можете добавлять новые vdev (группы дисков) в пул в любое время. Вы не можете добавлять диски в существующий RAIDZ vdev (это ограничение ZFS — хотя расширение RAIDZ будет реализовано в OpenZFS). Планируйте свою начальную конфигурацию vdev с учетом расширения.