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

Хранилище TrueNAS

Редакция Pro

Управление хранилищем из админки — Pro. Диски с играми на уже настроенных ПК работают в любой редакции; личные сохранения гостей — Lite. Подробнее — Редакции и лицензия.

TrueNAS — сервис-хранилище клуба. В нём живут две вещи:

  1. Игры — один эталонный диск на весь клуб (см. ниже, как это устроено).
  2. Сохранения игроков — личная папка каждого гостя; сейвы «ездят» за гостем на любой ПК клуба.

Мастер устанавливает и настраивает TrueNAS полностью автоматически. Повседневные операции делаются из админки клуба; в сам TrueNAS вы заходите редко (место, диски, квоты).

Как устроено хранение игр (стоит понять один раз)

graph TB
    P["Пул (массив из ваших дисков)"] --> M["Эталонный том игр<br/>(мастер: Steam-библиотека и т.д.)"]
    M --> S["Снимок эталона<br/>(мгновенная «фотография»)"]
    S --> C1["Клон для ПК-1"]
    S --> C2["Клон для ПК-2"]
    S --> C3["Клон для ПК-N"]
    C1 -.->|"по сети (iSCSI)"| PC1["ПК-1: диск G: с играми"]
  • Эталонный том — единственное место, где игры реально лежат. Обновляет его машина обновлений.
  • Каждому игровому ПК выдаётся клон снимка эталона. Клон создаётся за секунды и почти не занимает места: хранится только то, что ПК изменил (копирование-при-записи).
  • ПК видит клон как обычный локальный диск с играми — по сети (iSCSI).

Практическое следствие: после обновления игр на эталоне нужно пересоздать клоны — тогда обновление доезжает до всего зала. Админка → Инфраструктура → Хранилище: на вкладке «Snapshots» кнопка «Пересоздать все клоны», а на вкладке «Клоны» у каждого ПК — значок «Пересоздать клон» (две стрелки). Делайте вне сессий, это пара минут. Изменения, которые ПК успел записать «в свой клон», при этом стираются — это нормально и правильно (гостевой мусор не копится).

  • Про «Windows предлагает проверить диск» при подключении клона — чинится автоматически на стороне хранилища, гостям ничего нажимать не нужно.

Что настроил мастер

Всё это мастер установки создаёт сам — здесь только объяснение, что вы увидите, заглянув в TrueNAS. Руками ничего из этого создавать не нужно.

Что Где в TrueNAS Зачем
Пул nvme-games Storage Ваши диски под игры, собранные в один массив. Тип (один диск / зеркало / RAID-Z) вы выбрали в мастере; зеркало переживает смерть одного диска
Том games/master Datasets Эталон игр. Не папка, а виртуальный диск («Volume»): ПК подключают его по сети и видят как жёсткий диск. Том «тонкий» — место занимают только реально записанные игры. Размер — до ¾ свободного места пула: остаток нужен клонам и снимкам (пул, заполненный больше чем на 80 %, начинает тормозить)
Папка saves + пользователь gc_saves Datasets, Credentials → Users Сохранения игроков. Владелец папки — служебный пользователь gc_saves, через него ПК клуба пишут сейвы
Общая папка SMB saves Shares Раздаёт saves по сети
Портал iSCSI (0.0.0.0:3260) Shares → Block (iSCSI) Точка входа для сетевых дисков. Таргетов после мастера нет — это нормально: сетевые диски эталона и клонов создаёт панель, когда появляются ПК
Службы iSCSI, SMB, SSH System → Services iSCSI — диски с играми, SMB — сейвы, SSH — панель через него проверяет и чинит файловую систему клонов
Ключ API gc-panel Credentials → API Keys Им панель управляет хранилищем (снимки, клоны, сетевые диски). Удалите ключ — админка потеряет TrueNAS

Со стороны панели те же данные (адрес TrueNAS, ключ, пул, путь к эталону, адрес папки сохранений) записаны в админке: Система → Настройки → Инфраструктура. Сменился адрес хранилища — исправлять там.

От вас в самом TrueNAS нужна одна настройка — почта для тревог (см. «Веб-интерфейс TrueNAS» ниже).

Наполнить эталон играми (первый раз)

После мастера установки эталонный том пустой: мастер создаёт место под игры, но сами игры ставите вы. Есть два пути.

Обычный путь — через машину обновлений

  1. На машину обновлений (отдельный Windows-ПК или Windows-VM из мастера) поставьте лаунчер клуба — она появится в админке в Клуб → Компьютеры.
  2. Если в установщике выбрана роль «Машина обновлений» и другой машины обновлений в клубе нет, ПК станет мастером сам. Иначе: откройте этот ПК → блок «Машина обновлений» → «Назначить мастером». Панель сама создаст в TrueNAS сетевой диск эталона, а агент на машине подключит его и отформатирует. Через минуту в «Этом компьютере» появится диск G: «Games».
  3. Ставьте игры на G: — в Steam, Epic и других лаунчерах добавьте библиотеку на диске G: (например, G:\SteamLibrary).
  4. Когда игры установлены: админка → Инфраструктура → Хранилище → «Snapshots» → «Создать snapshot» (имя можно не вводить), затем «Пересоздать все клоны». Диск машины обновлений на время снимка сам отключится на минуту.

Если после «Назначить мастером» админка показала жёлтое «эталон не подключён: …» — там написана причина (обычно TrueNAS не настроен в Система → Настройки → Инфраструктура). Исправьте и нажмите «Снять мастера» → «Назначить мастером» ещё раз.

Дальше эталон держит в актуальном состоянии машина обновлений, а новые версии доезжают до зала по расписанию (см. ниже) или кнопкой.

Вручную — с любого Windows-ПК

Для тех, у кого пока нет машины обновлений, или кто ставил диски TrueNAS вручную. Нужен Windows-ПК в той же сети.

  1. TrueNAS → Shares → блок Block (iSCSI) Shares Targets → Wizard: шаг Target — «Create New» → Next; шаг Extent — Name nvme-games, Device — существующий том nvme-games/games/master, Sharing Platform — Modern OS (сектор 4 КБ, как у клонов; с вариантом по умолчанию клоны на ПК не откроются) → Next; шаг Protocol Options — Portal 1 (0.0.0.0) (его создал мастер установки) → Save.
  2. Windows → «Инициатор iSCSI» (Пуск → iscsicpl) → поле «Объект» — адрес TrueNAS → «Быстрое подключение» — Windows найдёт …:nvme-games и подключится сама («Подключено») → «Готово» → OK.
  3. «Управление дисками» (diskmgmt.msc) → Windows предложит инициализировать новый диск → GPT → правой кнопкой по нераспределённому месту → «Создать простой том» → буква G, файловая система NTFS, размер кластера 4096.
  4. Ставьте игры на G:, как в обычном пути.
  5. Перед снимком обязательно отключите диск: «Управление дисками» → правой кнопкой по диску → «Вне сети» (или «Отключить» в инициаторе iSCSI). Панель не знает про этот ПК и сама диск не отключит — снимок «на ходу» даст всем ПК диск, который Windows захочет проверять.
  6. Админка → Хранилище → «Создать snapshot» → «Пересоздать все клоны».

Один писатель

Подключать эталон на запись можно только к одному ПК одновременно. Если потом назначите машину обновлений в админке — сначала отключите диск на ПК из ручного пути.

Сохранения игроков

Сейвы гостей хранятся отдельно от игр — в сетевой папке (SMB), у каждого гостя своя. При входе гостя на любой ПК агент подключает его папку, при выходе — сохраняет прогресс. Пересоздание игровых клонов сейвы не трогает.

Полезно знать:

  • Квота «сколько места на сейвы одного гостя» задаётся в админке: Система → Настройки → раздел «Инфраструктура» → блок «Сохранения игр (per-user SMB)» → «Квота по умолчанию (МБ)» — чтобы один человек не забил всё. В самом TrueNAS ничего настраивать не нужно.
  • Если включали при установке «отдельный массив под сохранения» — сейвы живут на своих дисках (обычно HDD-зеркало), игры — на NVMe.

Диски под игры (экран «Диски TrueNAS» мастера)

На экране «Диски TrueNAS» мастера установки три режима (переключатель сверху):

Режим Когда выбрать
«Физические диски сервера целиком (проброс)» у сервера есть отдельные диски под игры — рекомендуется
«Виртуальные диски на хранилище Proxmox» отдельных дисков нет; игры будут лежать на диске Proxmox (для пробы или маленького клуба)
«Подключу диски сам (вручную в TrueNAS)» только если вы знаете TrueNAS: мастер поставит его без дисков под игры, пул nvme-games соберёте сами. Обязательно задайте «Пароль администратора TrueNAS» на экране «Сеть» → «Дополнительно»

Подробно по полям каждого режима — Установка по шагам.

Физические диски (проброс)

Вместо «виртуальных» дисков TrueNAS получает выбранные диски сервера целиком. Список свободных дисков появляется после «Проверки хоста» — отметьте один или несколько под игры (и, при отдельном массиве, под сейвы); тип массива (single/mirror/RAID-Z) выбирается тут же, рядом с подсказками про минимальное число дисков. Так быстрее (нет двойной записи «диск в диске») и надёжнее переносится.

Что знать:

  • выбранные диски будут стёрты — всё, что на них было, пропадёт;
  • в хранилищах Proxmox эти диски перестанут отображаться — это нормально, ими теперь управляет TrueNAS;
  • резервных копий этих дисков Proxmox не делает — избыточность даёт массив (mirror/RAID-Z), поэтому для боевого клуба выбирайте его, а не single.

Веб-интерфейс TrueNAS

http://<ip-хранилища>, пользователь truenas_admin, пароль — из отчёта мастера (сменить: Credentials → Users). Что где:

Раздел Зачем вам
Storage Здоровье массива: зелёный = ок; DEGRADED = умер диск (см. ниже)
Datasets Сколько занято играми/сейвами
System → Alert Settings Почта для предупреждений: карандаш у строки E-Mail → «Override Admin Email» — ваш адрес → Save. Чтобы письма уходили, задайте почтовый сервер: System → General → Email → Settings (SMTP вашей почты, например smtp.yandex.ru, порт 465, логин и пароль приложения) → «Send Test Mail»

Снимки эталона и их расписание в TrueNAS не настраиваются — это делает админка: Инфраструктура → Хранилище → вкладка «Расписание» («Автосоздание snapshots», дни недели, время). В выбранное время панель снимает эталон и пересоздаёт клоны: выключенных ПК — сразу, включённых — когда их выключат. Если машина обновлений в этот момент качает игры, запуск подождёт до двух часов. Старые снимки расписания сверх «Хранить последних снимков» (по умолчанию 3) удаляются сами — если на них не опирается ни один клон. Итог последнего запуска (и сколько старых снимков удалено) написан там же. Советуем ночь, когда ПК выключены. Квота на сейвы — тоже в админке (см. выше).

Чего не делать

Не удаляйте/не переименовывайте пул nvme-games, его тома и снимки — их обслуживает панель, ручное вмешательство ломает диски всех ПК. Не настраивайте iSCSI/SMB вручную.

Типовые операции

Кончается место. Посмотрите в Datasets, что растёт: игры (эталон) — удалите неиспользуемые игры через машину обновлений и пересоздайте клоны; сейвы — ужмите квоту; снимки — расписание само удаляет свои старые снимки (auto-…) сверх числа «Хранить последних снимков» на вкладке «Расписание», если на них больше не опирается ни один клон. Снимки, созданные кнопкой «Создать snapshot», удаляйте сами: админка → Инфраструктура → Хранилище → «Snapshots» → корзина у снимка (в самом TrueNAS снимки не удаляйте).

Удалить снимок вручную. Корзина у снимка открывает окно: в нём видно, диски (клоны) каких ПК удалятся вместе со снимком. Чтобы подтвердить, введите слово удалить — кнопка «Удалить навсегда» до этого неактивна. Как правильно:

  1. Сначала выключите ПК, которые работают на этом снимке, или пересоздайте их клоны на новый снимок. Пока клон снимка у включённого ПК, окно назовёт этот ПК и удалить не даст — иначе диск пропал бы из-под гостя.
  2. Активный снимок (из него создаются новые клоны) не удаляется: сначала создайте новый — он станет активным, — потом удаляйте старый.
  3. ПК, чей клон удалился вместе со снимком, не загрузится, пока клон не пересоздан: вкладка «Клоны» → «Пересоздать клон».

Умер диск (массив DEGRADED). Если пул собран с избыточностью (mirror/RAID-Z) — клуб продолжает работать. Не тяните с заменой: вставьте новый диск того же размера → TrueNAS → Storage → выбрать выбывший диск → Replace. Массив восстановится сам (часы). Без избыточности (single) смерть диска = потеря пула — поэтому для боевого клуба советуем mirror/RAID-Z ещё на этапе установки.

Добавить места. Правильный путь зависит от типа массива (добавить зеркальную пару / заменить диски на большие поочерёдно). Это редкая операция — делайте вместе с поставщиком, чтобы не пересобирать пул с потерей данных.

Проверить, что всё живо, за 10 секунд. Админка → Инфраструктура → Хранилище: доступно, место, статус. Красное — см. диагностику.

Важно про адрес

У хранилища должен быть постоянный IP (статика в мастере или DHCP-резервация — как). Сменившийся адрес = панель теряет хранилище = игры не запускаются.