Как стать автором
Поиск
Написать публикацию
Обновить

Бюджетный вариант сетевого хранилища TrueNAS на виртуальной платформе Proxmox

Уровень сложностиСредний

Со временем в наличии оказалось несколько старых компьютеров и кое-какие комплектующие. Пришла мысль сделать из этого что-нибудь полезное, например домашнее сетевое хранилище. Испробованы были несколько комбинаций операционных систем (ОС) и оборудования. Работоспособными, в принципе, оказались все, но идея несколько трансформировалась в процессе. Для более эффективного использования ресурсов было решено реализовать виртуальную среду Proxmox, и уже на ее основе создать сетевое хранилище с использованием ОС TrueNAS. Здесь тоже были несколько комбинаций оборудования и версий TrueNAS Core и TrueNAS Scale. Более подробно остановлюсь на последнем варианте.

Итак, дано:

  • Неработающий компьютер формата mini‑ITX в корпусе In Win.

  • 2.5 дюймовый SATA SSD 128 GB

  • 2.5 дюймовый SATA HDD 1 TB

  • Внешний USB 3 HDD 512 GB

  • Виртуальная платформа Proxmox 8.4–1

  • TrueNAS Scale 25.04.0

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

  • БУ материнская плата GA‑E3800N со встроенным процессором AMD E2–3800 APU (1.3 ГГц, 4 ядра, 15 Вт). Вариант не идеальный, но приемлемый. На торговой площадке kufar.by обошлась в 50 Бел.Руб (Примерно 16 долл США)

  • Два модуля памяти DDR3 1600 по 8 ГБ каждый. Приобретались на amd.by за 46 Бел.Руб (Примерно 15 долл США)

  • Для установки также потребуется монитор, клавиатура и мышь. После завершения установки их можно отключить.

Сборка комплекта особой сложности не представляет. Все разъемы стандартные, все подписано. SSD и 1 ТБ HDD подключаются к SATA разъемам на материнской плате. Внешний 512 ГБ HDD подключается через USB 3 порт. SSD будет использоваться для установки ОС, остальные диски -для сетевого хранилища.

И далее, сам процесс установки:

1 Скачиваем установочные ISO файлы Proxmox и TrueNAS Scale с соответствующих сайтов.

2 Подготовка загрузочного USB накопителя Proxmox.
2.1 Для Windows можно воспользоваться утилитами Rufus или Balena Etcher.
2.2 В Linux можно использовать штатную утилиту dd

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

3 И собственно установка Proxmox, Все довольно просто, процедура занимает примерно 10 минут.
3.1 Подключить компьютер сетевым кабелем к роутеру или коммутатору
3.2 Вставить загрузочный USB накопитель и включить компьютер. Используя соответствующую вашей материнской плате клавишу войти в меню выбора загрузочного устройства и выбрать нужную опцию.
3.3 Выбор пользовательского интерфейса для процесса установки. Особого значения не имеет, но графический привычнее.

Важно: В случае использования некоторых специфических видеоадаптеров изображение может пропасть сразу после выбора интерфейса пользователя. Исправляется следующим образом. Выбрать опцию интерфейса для установки, но вместо Enter нажать Е для редактирования. Найти строку, которая начинается со слова Linux. Если имеется, удалить опцию 'quiet splash = silent', в конце строки через пробел добавить “nomodeset” без кавычек,
нажать F10 чтобы сохранить и продолжить установку.

3.4 Выбор диска для установки ОС Proxmox. Из списка подключенных накопителей выбирается намеченный ранее для установки ОС и виртуальных машин. Здесь же в опциях по умолчанию задается файловая система ext4 и можно включить файл подкачки и задать его размер.
3.5 Продолжить установку в графическом или текстовом формате и выбрать страну и часовой пояс.
3.6 Задать пароль и электронную почту для пользователя root. Адрес электронной почты может быть вымышленным.
3.7 Заполняются данные локальной сети. Например Hostname - pve1.lab.net, IP – 192.168.0.133, Gateway – 192.168.0.1, DNS – 8.8.8.8

Примечание: По умолчанию поля и IP адрес заполняются автоматически DHCP Сервером и при необходимости могут быть отредактированы. Чтобы избежать проблем с доступом в случае изменения динамического адреса, рекомендуется присваивать статический IP адрес. Перед установкой следует убедиться, что этот адрес исключен из адресного пространства DHCP сервера локальной сети. Сконфигурировать статический IP адрес можно и после завершения установки из административной панели.

3.8 Процесс установки завершается предложением извлечь установочный USB накопитель и перезапустить компьютер. После перезагрузки панель управления Proxmox будет доступна из браузера любого подключенного к этой локальной сети компютера по адресу
https://xxx.xxx.xxx.xxx:8060, где xxx.xxx.xxx.xxx – IP адрес, указанный в п.3.5. Предупреждение системы безопасности можно пропустить и продолжить подключение к панели нажав ссылку на дополнительные параметры.

4 Начальная конфигурация Proxmox и подготовка к установке ОС TrueNAS Scale.
4.1 Добавить загрузочный TrueNAS Scale ISO файл в Proxmox.
4.1.1 В левой колонке панели управления раскрыть уровни древовидной иерархической структуры и выделить Storage Local (HostName).
4.1.2 В правой части панели выделить опцию ISO Images и нажать кнопку Upload.
4.1.3 Во всплывшем окне нажать кнопку Select file и в диспетчере файлов выбрать ранее скачанный ISO TrueNAS Scale. Файл появится в списке ISO Proxmox.
4.2 Создание VM (Виртуальной Машины) для последующей установки TrueNAS. В верхней части панели Proxmox нажать кнопку Create VM и во всплывшем окне заполнить данные.
4.2.1 Вкладка General. Достаточно указать только наименование виртуальной машины. Например, NAS.
4.2.2 Вкладка OS. Из списка выбрать ранее загруженный TrueNAS ISO файл, остальные поля принять без изменения.
4.2.3 Вкладка System. Принять все значения без изменений.
4.2.4 Вкладка Disks. Минимальный размер системного диска TrueNAS составляет 16 ГБ, с учетом последующего использования дополнительных приложений выставить, например, 24 ГБ.
4.2.5 Вкладка CPU. Устанавливается количество выделенных для виртуальной машины ядер процессора, например 2.
4.2.6 Вкладка Memory. Рекомендуемая для TrueNAS составляет 8 ГБ. Выставляем, например 10240 MiB.
4.2.7 Вкладка Network остается без изменений.
4.2.8 На вкладке Confirm убедиться, что выключена опция старта виртуальной машины после создания, и нажать кнопку Finish.
4.3 Непосредственное подключение предназначенных для сетевого хранилища накопителей к созданной виртуальной машине.

Примечание: Буквенно-цифровое обозначение дисков в Linux может изменяться в зависимости от количества и способов подключения дисков. При непосредственном подключении к виртуальной машине диски следует идентифицировать по серийному номеру.

4.3.1 Определить идентификаторы непосредственно подключаемых к виртуальной машине дисков. Используется стандартная команда Linux

ls -l /dev/disk/by-id

Искомыми в данном случае являются строки для дисков sdb и sdc, начинающиеся с ata и содержащие серийные номера дисков
4.3.2 Перенаправление дисков к виртуальной машине осуществляется из консоли Proxmox командами qm

qm set 101 -scsi1 /dev/disk/by-id/ata-ST1000LM014-SSHD-8GB_W381LNCH
qm set 101 -scsi2 /dev/disk/by-id/ata-SAMSUNG_HM501II_S25QJ9BBC00108


Где:
101 – Идентификатор виртуальной машины присвоенный при ее создании
scsi1/scisi2 – идентификатор scsi интерфейса виртуальной машины (следует обратить внимание, что scsi0 был использован для системного диска при создании виртуальной машины)

5 Установка TrueNAS Scale.
5.1 В левой части панели Proxmox выделить ранее созданную виртуальную машину, в правой части панели выделить опцию Console.
5.2 Запустить виртуальную машину либо кнопкой Start now из консоли, либо кнопкой Start в верхней части панели справа.
5.3 Инициируется процесс установки TrueNAS Scale, в консоли появляется установочное меню.
5.3.1 Выбрать и исполнить опцию Install/Upgrade.
5.3.2 Выбрать созданный ранее в п. 4.2.4 диск для установки ОС и продолжить установку.
5.3.3 Принять условия установки и продолжить.
5.3.4 Задать пароль для администратора TrueNAS.

Примечание: В отличии от предыдущих версий, в TrueNAS Scale v25.04 по умолчанию имя администратора truenas_admin

5.3.5 В качестве режима загрузки выбираем Boot via BIOS, чтобы избежать возможных проблем с совместимостью.
5.3.6 Процесс установки длится дольше, чем в случае Proxmox. Нажать ОК на уведомлении о завершении установки.
5.3.7 Выбрать опцию Reboot System на следующем экране. После перезагрузки панель управления TrueNAS будет доступна из браузера любого подключенного к этой локальной сети компьютера по адресу, указанному в консоли виртуальной машины. Предупреждение
системы безопасности можно пропустить и продолжить подключение к панели нажав ссылку на дополнительные параметры.
5.3.8 Включить автоматическую загрузку виртуальной машины TrueNAS при старте сервера. В левой части панели Proxmox выделить ВМ TrueNAS, в правой части панели выделить Options, выбрать Start at Boot и нажать кнопку Edit. Поставить отметку в поле Start at Boot и нажать ОК.
5.3.9 Установить очередность запуска виртуальной машины TrueNAS при старте сервера. В в левой части панели Proxmox выделить ВМ TrueNAS, в правой части панели выделить Options, выбрать Start/Shutdown order и нажать кнопку Edit. Поставить 1 в поле Start/Shutdown order и нажать ОК.
5.3.10 Включить ускорение аппаратной составляющей системы. В левой части панели Proxmox выделить ВМ TrueNAS, в правой части панели выделить Options, выбрать QEMU Guest agent и нажать кнопку Edit. Поставить Enabled в поле QEMU Guest agent и нажать ОК.

6 Начальная конфигурация TrueNAS после завершения установки. Открыть и войти в панель управления TrueNAS как truenas_admin
6.1 Конфигурация системных сетевых параметров. Открыть Network > Global configuration > Settings. Некоторые поля уже заполнены. Внести следующие изменения:
6.1.1 Отключить наследование доменного имени от DHCP сервера.
6.1.2 Указать желаемое доменное имя. На момент первичной конфигурации может быть произвольным. Редактирование возможно по мере необходимости.
6.1.3 Убедиться, что IP адрес шлюза указан правильно, при необходимости редактировать.
6.1.4 Убедиться, что IP адреса DNS серверов указаны правильно, при необходимости отредактировать.
6.2 Конфигурация статического IP адреса. Открыть Network. В таблице Interfaces выбрать сетевой интерфейс и нажать иконку редактирования.
6.2.1 Отключить опцию получения динамического IP адреса от DHCP сервера.
6.2.2 Указать и применить желаемый статический IP адрес. Как уже упоминалось ранее, статический адрес не должен входить в адресное пространство динамических IP адресов DHCP сервера.
6.2.3 Проверить доступ к панели TrueNAS по указанному статическому адресу и в случае успешного доступа подтвердить.

7 TrueNAS. Конфигурация сетевого хранилища общего пользования. В левой части панели управления выделить Storage, в правой части нажать кнопку Create pool.
7.1 Pool creation wizard. Задать имя группы накопителей. Кнопка Next.
7.1.1 Категория Data. Опция Layout (Организация хранения). Имеющиеся в наличии накопители не позволяют применить отказоустойчивые технические решения. Будет использоваться распределенное подисковое чтение/запись информации (Striping). Меры по обеспечению отказоустойчивости данных придется реализовывать отдельно.
7.1.2 Опция Automated disk selection — автоматический выбор диска. Из выпадающего списка можно выбрать любой из перечисленных. В данном случай выбираем SATA диск объемом 931.5 GiB. Автоматически создается виртуальное устройство VDEV.
7.1.3 Manual disk selection — выбор диска вручную. Добавление диска другого объема к одному и тому же виртуальному устройству не рекомендуется. Кнопкой Add добавляем второе виртуальное устройство VDEV и мышкой перетаскиваем в это устройство оставшийся диск объемом 465.76 GiB. Сохраняем кнопкой Save selection.
7.1.4 Сохраняем созданную группу кнопкой Save and go to review, перемещаемся на стадию обзора и проверки. Причины недостаточной отказоустойчивости выбранного технического решения уже указаны выше. Нажимаем кнопку создания группы Create pool.
7.1.5 Подтвердить во всплывающем окне и нажать кнопку продолжения. Вновь созданная группа устройств хранения pool1 отобразится на вновь созданной панели управления устройствами хранения Storage dashboard.
7.2 Создание группы пользователей и хотя бы одного пользователя сетевого хранилища.
7.2.1 В левой части панели выбираем Credentials, из всплывающего списка опций выбираем Groups и нажимаем кнопку Add над таблицей перечня групп. Во всплывшем окне заполняем наименование группы, например home и отмечаем опцию SMB group. Сохраняем кнопкой Save.
7.2.2 В левой части панели снова выбираем Credentials, из всплывающего списка опций выбираем Users и нажимаем кнопку Add над таблицей перечня пользователей. Во всплывшем окне заполняем имя пользователя,например test, отключаем опцию создания первичной группы Create new primary group. В качестве первичной группы для пользователя выбираем из выпадающего списка ранее созданную группу home. Убеждаемся что отмечена опция SMB user. Остальные поля оставляем без изменения. Сохраняем кнопкой Save.
7.3 Создание Datasets (Наборов данных). В левой части панели управления выделяем Datasets, в правой части появляется список наборов данных, в котором на данной стадии присутствует только набор данных ранее созданной группы устройств хранения pool1. Нажать кнопку добавления набора данных Add dataset.

Примечание: В TrueNAS термин Dataset (набор данных) примерно соответствует понятиям Директория/Папка когда речь идет о файловой структуре.

7.3.1 Во всплывающем окне указываем наименование набора данных, например home_smb
7.3.2 В поле Dataset preset выбираем SMB
7.3.3 Отмечаем опцию Create SMB share для автоматического создания сетевого хранилища.
7.3.4 Сохраняем кнопкой Save. Вновь созданное сетевое хранилище home_smb появится в списке сетевых хранилищ Shares.

На этом базовую конфигурацию сетевого хранилища TrueNAS в виртуальной среде Proxmox можно считать законченной.

На подключенных к локальной сети Windows компьютерах данное сетевое хранилище будет доступно в диспетчере файлов по адресу \\YourTrueNAS-IP\home_smb.

На компьютерах Apple и Linux адрес доступа в диспетчере файлов будет
smb://YourTrueNAS-IP/home_smb.

В качестве реквизитов при подключении использовать данные учетной записи ранее
созданного пользователя test.

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.