Перейти к основному содержанию

Установка TrueNAS Core

TrueNAS

В магазине полно разных сетевых хранилищ от именитых производителей. Однако, при наличие двух рук и головы, всё равно возникает желание собрать собственный NAS. Маленький домашний или офисный NAS. Экономия значительная.

И можно и не маленький, а побольше, почему бы ни нет. Сегодня раскатываем TrueNAS Core на HPE Proliant DL380 Gen9 с дисковой полочкой. 24 диска в комплекте. Сразу замечание насчёт дисков. Под ОС понадобится хотя бы два диска в RAID1, для надёжности.

TrueNAS Core работает на FreeBSD, TrueNAS Scale — на Debian. На момент тестирования, это был конец 2023 года, версия TrueNAS SCALE работала нестабильно, глючил биндинг пользователей Active Directory. По этой причине за основу взяли TrueNAS Core. Как сейчас обстоят дела у TrueNAS Scale — не знаю, отпишитесь в комментариях.

Подготовка к установке TrueNAS Core

Сначала подготовимся, выделим IP адрес в локальной сети для нашего NAS. И DNS имя. Для работы по HTTPS протоколу выпустим корпоративный сертификат. Если мы собираем NAS для дома, то с сертификатом можно не возиться, TrueNAS Core в этом случае будет использовать самоподписанный SSL сертификат.

Подготовим сервер, вернее, дисковую подсистему. Отключаем режимы RAID на встроенных контроллерах и переводим всё в AHCI. Если у вас на сервере используются аппаратные RAID контроллеры, то переводим их в режим работы HBA. На HPE Proliant DL380 Gen9 у меня целых два контроллера. Загружаюсь в Smart Storage Administrator. Выбираю первый контроллер, это Smart Array P840ar, на нём 12 дисков. Enable HBA Mode.

nas

OK.

nas

Контроллера перейдёт в режим HBA после перезагрузки. Finish.

nas

Первый контроллер настроили.

nas

На контроллере горит уведомление о том что после перезагрузки конфигурация контроллера очистится и он начнёт работать в режиме HBA.

nas

Повторяем операцию для второго контроллера, это у меня Smart HBA H241, на нём ещё 12 дисков. Тоже переводим его в режим HBA.

nas

Оба контроллера ожидают перезагрузку.

nas

Теперь нам нужен дистрибутив.

https://www.truenas.com

nas

Software → TrueNAS Core.

nas

Download.

nas

Пропускаем вход через соцсети. Находим TrueNAS CORE 13.0-U6.1. Это стабильная версия. Download Stable.

nas

Скачивается инсталляционный образ ISO.

nas

Установка TrueNAS Core

Если мы работаем с домашним сервером, то делаем из ISO образа загрузочную флешку. В моём случае я просто монтирую ISO образ через KVM.

nas

Перезагружаем сервер. Грузится в UEFI. Для выбора опций загрузки жмём F11.

nas

Да, после включения режима HBA у нас здесь много дисков. Но нас интересует вариант iLO Virtual USB : HPE iLO Virtual USB CD/DVD ROM, выбираем.

nas

Начинает грузиться инсталлятор. Для начала установки выбираем 1. Я тут случайно на стрелки нажал, пришлось перезагружаться, аккуратнее выбирайте клавиши для нажатия.

nas

Попадаем в консольный мастер установки. Для установки выбираем пункт 1 Install/Upgrade. OK.

nas

Нам предлагают выбрать диски, на которых установится операционная система. Мне требуется обеспечить загрузку даже в том случае, если один контроллеров выйдет из строя, поэтому под систему я выделю по одному диску с каждого контроллера. Первый диск я возьму из первой дюжины, пусть это будет da0.

nas

Второй диск по идее нужно было бы взять da12, но он у меня немного не той модели, возьму da13. OK.

nas

Нас предупреждают, что процедура удалит все данные с дисков da0 и da13. Здесь же говорится о том, что эти диски будут использованы только под систему, использовать их в качестве дисков для данных не получится. Этот момент в TrueNAS мне не нравится, потому что при проектировании домашнего сервера пору дисков нужно будет отдать только под систему. Можно и один, но хочется надёжности. Исходя из здравой заботы о надёжности нас также отговаривают от мысли поставить систему на флешку, и я вас тоже отговариваю от этой больной идеи, если она вас вдруг посетит. Yes.

nas

Указываем пароль от пользователя root. Пароль можно будет потом изменить.

nas

TrueNAS может загружаться в режимах Legacy (BIOS) или UEFI, выбираем. Естественно, выбираю Boot via UEFI. Что-то я не уверен что в BIOS будут распознаваться диски больше 2 ТБ...

nas

Выбираем, нужен ли раздел swap размером 16 GB. Create swap. Если вы начинаете размышлять, нужен ли вам своп на загрузочных дисках, то вы слишком много думаете о свопе. Не думайте о нём.

nas

Побежала матрица. Процесс может быть долгим.

nas

Только через несколько минут я увидел какую-то понятную обычному человеку надпись:

Installing base-os (1 of 3)

nas

Установка TrueNAS на диски da0 и da13 прошла успешно. OK. Просят перезагрузиться и извлечь образ ISO. Тут я извлёк ISO, какие-то строчки на экран повылезали. Нажал ввод.

nas

Выскочило меню инсталляции зачем-то. Попробовал выбрать 3 Reboot System — ничего не произошло. Странно.

nas

Перезагрузил сервер через reset. И система не загрузилась.

Настройка загрузки

По какой-то причине инсталлятор не добавил в опции загрузки новые пункты, сервер не знает с чего ему загружаться. Ну с таким мы уже сталкивались, добавим опции загрузки вручную.

HPE Proliant Gen9 — добавляем опцию в UEFI Boot Order list

Включаем сервер, при загрузке нажимаем F9. Попадаем в BIOS. Входим в System Configuration → BIOS\Platform Configuration (RBSU) → Boot Options → Advanced UEFI Boot Maintenance. Входим в Add Boot Option.

nas

Выбираем один из контроллеров.

nas

<efi>

nas

<boot>

nas

BOOTx64.efi

nas

Указываем имя опции, пусть будет "TrueNAS 1". Commit changes and exit.

nas

Повторяем действия для второго контроллера, добавляем опцию "TrueNAS 2".

nas

Нажимаем ESC для выхода в предыдущее меню. Входим в UEFI Boot Order. Стрелками перемещаем курсор, кнопкой "+" перемещаем опции "TrueNAS 1" и "TrueNAS 2" вверх.

nas

F10 - сохраняемся. Перезагружаем сервер. На этот раз система грузится правильно.

Console setup

Попадаем в Console setup. Наша задача на данном этапе: правильно настроить сеть. Если у вас простой сервер, просто настраиваем IP адрес и шлюз. Если сеть сложнее, меню тоже позволяет это сделать.

В моём примете сервер подключён двумя оптическими шнурками к коммутатору в режиме LASP. Сначала настроим агрегирование портов, пишем "2" (Configure Link Aggregation).

nas

Нас спрашивают, мы хотим создать или удалить интерфейс с агрегированными портами? Пишем "1" (Create Link Aggregation).

nas

Запрашивают тип агрегации, у меня lacp, так и пишу "2".

nas

Спрашивают какой интерфейс добавить в агрегацию. Для добавления ix0 пишу "1". Затем для добавления ix1 тоже пишу "1". Больше не нужно, пишу "q".

nas

И у нас тут же линк поднимается в UP (интерфейс будет называться lagg0).

Если у вас используется VLAN, то самое время прикрутить его к интерфейсу. Пишем "3" (Configure VLAN Interface).

nas

К какому интерфейсу вешаем суб-интерфейс VLAN? Я — к свежесозданному lagg0. Пишем "5". Указываем имя суб-интерфейса в виде vlanX, пишу "vlan69". Пишем тег VLAN — 69. Пишем описание VLAN, пусть будет "BACKUP".

nas

Интерфейсы созданы, сеть перезапускается. Можно настроить IP. Пишем "1" (Configure Network Interface).

nas

Какой интерфейс настраиваем? Конечно наш vlan69. Пишем "6".

nas

Указываем IP адрес и маску. IPv6 не буду использовать.

nas

Теперь настроим шлюз по умолчанию. Пишем "4" (Configure Default Route).

nas

И теперь пробуем зайти на URL нашего сервера по HTTP или HTTPS.

nas

Проверим вход под пользователем root.

nas

Мы справились с установкой TrueNAS Core.

Начальная настройка TrueNAS Core

После установки TrueNAS нужно что-нибудь настроить. Не забываем нажимать SAVE.

Account → Users, здесь можно сменить пароль на root, если при установке не сделали сразу его сложным.

nas

System → Certificates, здесь можно загрузить свой SSL сертификат, указав ему псевдоним.

nas

System → General, здесь можно выбрать загруженный SSL сертификат, указав его псевдоним. Здесь же можно включить редирект с HTTP на HTTPS.

nas

Здесь же можно указать временную зону. И язык (я оставляю English).

nas

System → Advanced, усиливаем безопасность, снимаем галку "Show Text Console without Password Prompt".

nas

Network → Global Configuration, указываем hostname, домен, DNS сервера.

nas

System → NTP Servers, при необходимости указываем свои NTP сервера.

nas

Добавление TrueNAS в домен

Если необходимо ввести NAS в домен, действуем. Убеждаемся, что в домене нет выбранного нами имени сервера.

Directory Services → Active Directory:

  • Domain Name — имя домена в формате domain.local
  • Domain Account Name — логин администратора домена, который имеет право вводить сервера в домен. Логин не запомнится. v.poupkin.
  • Domain Account Name — пароль администратора домена, он тоже не запомнится
  • Ставим галку Enable (requires password or Kerberos principal)

Нажимаем ADVANCED OPTIONS

nas

  • Netbios Name — под этим именем сервер будет добавлен в домен.

nas

SAVE

nas

Проверим создание настроек Kerberos.

Directory Services → Kerberos Realms, Realm должен совпасть с именем домена, все поля должны быть заполнены.

nas

Directory Services → Kerberos Keytab, присутствует AD_MACHINE_ACCOUNT.

nas

Shell, проверим успешное наполнение кэша с учётными данными и группами:

midclt call activedirectory.get_cache

Вывод должен вернуть данные.

nas

Создание массивов в TrueNAS

Переходим к тому, ради чего всё это и затевалось — к созданию массивов.

TrueNAS предлагает следующие виды массивов:

  • Stripe — ZFS. Аналог Raid0, Stripe. Без отказоустойчивости.
  • Mirror — ZFS. Аналог Raid1, Mirror. Выдерживает выход из строя 1 диска.
  • Raid-z — ZFS. Минимум два диска для хранения и один для контроля чётности. Аналог Raid5.
  • Raid-z2 — ZFS. Минимум два диска для хранения и два для контроля чётности. Аналог Raid6.
  • Raid-z3 — ZFS. Минимум два диска для хранения и три для контроля по чётности.

RAID массивы

ZFS (Zettabyte File System) — это файловая система, которая работает по принципу Copy-On-Write.

RAIDZ — пул из дисков, отформатированных в ZFS. Цифра после Z означает степень отказоустойчивости. Raid-z выдерживает выход из строя 1 диска, Raid-z2 — двух дисков, Raid-z3 — трёх дисков.

Создадим какой-нибудь массив.

Storage → Disks, здесь видим диски, свободные отмечены "N/A", системные — "boot-pool"

nas

Storage → Pools, здесь создадим наш первый пул дисков. ADD.

nas

Create new pool. CREATE POOL.

nas

Указываем название пула, к примеру, "db-pool". Выбираем диски. Я планирую создать RAID5 (Raid-z) массив из 10 дисков + 1 spare. Выделяю галкой диски с da2 по da11 в области Available Disks, диск da1 не выделяю, он потом пойдёт в spare.

nas

Нажимаем стрелку вправо напротив области Data VDevs, выбранные диски добавляются в эту область.

nas

Займёмся spare. в области Available disks выделяем диск da1. Нажимаем синюю кнопку ADD VDEV со стрелкой вниз.

nas

Нажимаем Hot Spare. Диск предназначен для использования вместо вышедшего из строя диска из DATA pool vdevs.

nas

Скроллим ниже до области Spare VDev.

nas

Нажимаем стрелку вправо напротив области Spare VDev. Диск da1 добавляется в область Spare VDev.

nas

Между областями Data VDevs и Spare VDev спрятался выбор типа массива, по умолчанию стоит Raid-z3, это расточительно, меняем на запланированный Raid-z.

nas

CREATE.

nas

Confirm, CREATE POOL. Создаётся массив.

nas

Массив (дисковый пул) создан.

nas

В статусе (шестерёнка в помощь) можно посмотреть тип массива, диски массива и диски spare. А также статус массива и дисков.

nas

Теперь можно в созданном пуле делать датасеты и использовать их по своему усмотрению.

Теги

Цены

 

Похожие материалы