All streams
Search
Write a publication
Pull to refresh

Comments 156

Я взял одну из самых дешевых китайских на 1150 сокете.

Вот тут надо быть очень осторожным, потому что китайцы очень любят в свои платы распаивать 100-мегабитную сеть. Где-то даже про это честно упоминают в характеристиках. Да и дефолтного гигабита в брендовых платах тех времён для четырёх дисков маловато как по мне. Учитывая, что единственный PCI-E занят SAS контроллером, то про нормальные скорости получается можно забыть.

Согласен, в целом думал даже пересобрать в будущем с платой побольше, где будет несколько PCI-E

Экономия на материнской плате для сервера это всегда плохая идея

А почему не OpenMediaVault ?

Я не автор, но когда я выбирал OMV непонравилсь менее большим активным комьюнити, так как чем больше людей, тем больше шансов, что в случае чего удастся найти решение своей проблемы.

Я когда систему выбирал мне такой вариант нигде не попадался, так что буду знать и попробую потом посмотреть, спасибо

Я пользовался OMV с 4 версии начиная и там чем дальше, тем они меньше понимают, что вообще хотят делать. Если чистая файлопомойка на каком-нибудь калькуляторе - то OMV хорош. Но полноценный домашний сервер с кучей сервисов и плюшек будет слишком неуклюжим, на мой взгляд. Технически реализовать можно, но что в том же трунасе делается в несколько кликов, в OMV потребует чтения доков и ковыряния в консоляхъ.

Лет 5 назад тоже пробовал omv, надоело возиться с настройкой и чтением доков, хотелось чего-то более простого.

Про truenas тогда не слышал или может он сырым был, поэтому как тогда поставил себе XPEnology, так и сижу до сих пор, только на свежую версию перекатился. К ресурсам не требовательна, с настройкой справится даже условная домохозяйка, багов не встречал, какие-никакие пакеты есть. Нужно что-то сверх доступного в репе synology/synology community - есть докер.

Разумеется, во внешнюю сеть ничего не торчит, доступ извне только через дешевую vps -> nginx -> тоннель до контейнеров.

vps -> nginx -> тоннель до контейнеров

А с помощью чего тоннель настраивали с vps до NAS? Рассматриваю на такой вариант переехать, а то с KeenDNS есть свои нюансы.

@porok

т.к. нагрузка небольшая (до 3 юзеров), использую reverse ssh тоннель. autossh для реконнекта.

Схемка:

внешний юзер -> cloud.example.com or vps_ip:9999 (nginx на vps проксирует на локальный порт, например, localhost:12345) -> reverse SSH, поднятый со стороны nas, прокидывает порт 12345 с vps на порт 7890 nas -> nas:7890 (где висит, к примеру, nextcloud).

прокинутых портов несколько (по количеству сервисов), принцип тот же, не стал усложнять схему.

Есть какой-нибудь pangolin, frp, rathole. Если устраивают ограничения - cloudflare ZeroTrust, но возможно для регистрации нужна карта банка не рф, но не понадобиться vps. Есть ещё и совсем «ручные» варианты, но это наверное не интересно.

Есть ещё другой вариант, построить туннель к nas через какой нибудь меш-vpn, типа tailscale/zerotier/nebula/netbird и подобных

А что за еюансы с keendns? У меня тоже кинетик и хочу поднять Affine с пробросом через их cloud dns

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

  2. Невозможно контролировать все хедеры, реальный клиентский ip не прокидывается из-за чего например невозможно закрыть какой-нибудь url по префиксу только для локалки (админку кейклока например)

  3. Иногда жутко медленно работает

vps -> nginx -> тоннель до контейнеров.

Вот это меня тоже интересует - как реализовано?

Там zfs нативно не поддерживается, только через плагин, и бубны с танцами неизбежны.

У меня NAS на OMV без raid с дисками SATA на ext4. Если оно нужно только как единая точка бэкапа, только дома и только периодически, и чтобы в обслуживании было неприхотливое (кагбэ, родной Debian) то решение работает на все 100%.

Я давно думаю уже о том, чтобы наконец собрать что-то компактно, но увы, у меня не выходит сильно дешевле готовых вариантов, при схожих возможностях. Когда беру свои хотелки:

  1. Возможность установки нескольких NVMe (под Special Device ZFS, кэши и так далее)

  2. Возможность установки 10Gb карты

  3. Хотя бы 5-6 HDD LFF

Оказывается, что оно будет либо большое, либо сравнимо по цене с готовым (не Synology конечно, но готовым)

Возможность установки нескольких NVMe (под Special Device ZFS, кэши и так далее)

Я тоже когда-то очень хотел slog-и и прочие arc-и, по факту оказалось, что прирост производительности нужно искать под лупой, так еще и на "содержание" этих девайсов уходит оперативка. Народная мудрость гласит, что всегда нужно в первую очередь досыпать оперативку, и только потом уже от безысходности пытаться в SSD\NVME кеши.

Я не стал заморачиваться в итоге с размером и просто на шкаф поставил Define R5 с 14 3.5 дисками.

Большое (собранное из старого компа) то есть, но хочется заполучить именно компактное и желательно ещё и относительно тихое.

Если есть 3d принтер, то есть относиельно компактный корпус для nas под itx. Мне показался любопытным за счет возможности расширения по необходимости и неплохой доки, но руки пока не дошли:

https://www.printables.com/model/590711-nas-itx-pc-case-with-stackable-expansions-modcase

Я собрал всё в корпусе Node 304 — Fractal Design, купив его на авито. Заменил все корпусные кулеры на Noctua. В итоге компактно, тихо и не жарко на шкафу в коридоре.

Железки - m-itx на x570 чипсете, ryzen 4650GE (35 ваттный) 6 ядер-12 потоков, 32Гб DDR4, 2xM.2 слота (в одном трудится сетевуха 2,5Gbps, в другом cache NVME, в PCi-E плата расширения SATA на 6 дисков.

HDD на 7200 обормотов в минуту в принципе шумные. У меня из-за этого одно время NAS жил на шкафу в коридоре.

Я недавно свой домашний сервере "обновил" до Aoostar WTR Max.
5*NVMe+6*SATA и два 10gb SFP на борту.

Вот тоже на него поглядываю уже пару месяцев, но жаба пока сильнее. Надеюсь их ещё будут продавать, когда я её таки одалею.

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

Давай, интересно - как оно по сравнению с самосбором.

Пока довольно приятно выглядит. Но всерьёз не ковырял, забрал посылку за день до отпуска, так что успел только перекидать диски, починить сдохшую в процессе переезда флэшку с анрейдом, восстановить самые нужные сервисы и загрузить свою картинку в экранчик. После возвращения ещё не ковырялся всерьёз, жду ещё один модуль памяти и с nvme имеющимися ковыряюсь в плане того, какие именно поставить. Однушек у меня дохрена с апгрейдов ноутов, а вот двушек на все пять слотов не наберётся. Потому надо решить, какие именно поставлю и как "разобью".

Кстати - интересно ещё почитать про переезд анрейда на другое железо на практике.

В иностранных интернетах читал ч то просто перекинуть диски и переткнуть флешку. Всё ли так просто?

В общем случае да, не раз так делал уже.
Но в данном случае были приколы с флэшкой - после перетыкания перестала быть загрузочной, хотя информация читалась нормально. И загрузку так и не удалось восстановить, пришлось новую флэшку брать, благо запас обычно есть.

Очень интересно, на нем реально заменить CPU или он там распаян?

Нереально. Считайте, что это миниПК или ноутбук, засунутый в коробку от NAS'a. Только память можно менять.Официально до 96ЕСС, неофициально до 128.
Ну и диски ставить, само собой. И какую-нито хрень в oculink/usb4 втыкать.

Это всё же не суперкомпьютер, а просто NAS с железом несколько выше среднего.

Жаль, тогда не так интересно, тут уж или дешевый готовый NAS которому сильно мощностей не нужно для своих задач, либо самосбор на хорошем 12 ядернике c возможностью хостить виртуалки, цпу что в вшит в Aoostar для моих задач маловато.

А под мои нужды самое то оказалось. У меня был до него ящик на райзене9, но тот оказался слишком горячим парнем, даже вода не спасала. Потому я решил разделить сервер на две части - в одной хранилище, сервисы и лёгкие виртуалки, а во второй уже что-то более мощное под тяжелые задачи.

Wtr Max в данном случае первая часть. Над второй пока думаю.

А что там с приложениями? Есть какой-то стор как synology или ручками через docker?

Это обычный компьютер. Так что ситуация с приложениями зависит от используемой вами ОС. Из коробки там вообще винда будет, если вы с диском и памятью ящик закажете (я голый брал).

Есть примерно аналогичный Minisforum N5 (Pro) - там какая-то своя ОС имеется.

О, понятно. Почему-то подумал, что это какой-то nas

Китайцы даже если и ставят какую-то свою ОС (ugreen, minisforum, terramaster), обычно оставляют загрузчик разблокированным и никто не мешает любую другую ОС поставить.

Aoostar, впрочем, только железки делает, а с ОС заморачивался пока.

Глянул, вроде как нет:/

Через Oculink/usb4 разве что. Ну или через переходники в m2. Но внутри корпуса места уже нет, так что в любом случае придётся наружу это выводить.

Есть ещё Minisforum N5 (Pro) - там есть место под однослотовую карту pci-e.

Это вечный компромисс: производительность, компактность, цена. Выбери любые два. Компактный и мощный самосбор почти всегда будет либо дороже готового NAS, либо превратится в адский колхозинг с дремелем и 3D-принтером

Затевать это ради 2Тб дисков, из пушки по воробьям. И можно задешево купить на али бу рейд контроллер с поддержкой рейд 6. И сделать рейд6 - разгрузить проц и память.

Я потом расширю объем до 6тб, скриншот сделал немного с промежуточным итогом из-за того, что с корпусом придется ещё повозиться. На счет контроллера. Мой в целом и так raid 6 поддерживает, но сама система исключительно под zfs заточена, а память и так планировалась с расчетом под докер, так что сильно экономить её необходимости не было. Процессора вообще с головой хватает, ог практически не загружен.

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

Я не понимаю выбора RAID контролера и ZFS.

Есть дешевые HBA.

Да и в целом вопрос энергоэффективности данной сборки не раскрыт.

Суть NAS работать 24/7.

Вместо 4*2.5 проще было бы поставить 2*3.5 в зеркале большого объёма.

Очень много вопросов.

Суть не суть, а я, к примеру, включаю NAS только в домашней сети и только когда он мне нужен.

Когда понадобилось кое-что иметь в постоянном доступе отовсюду, взял место у городского хостера, чтобы не дергаться про взлом и «к сожалению, диски умерли, а бэкапы были на дисках».

В будущем возможно расширить массив новыми дисками

Это как? Добавление диска в raidz допили?

однако количество дисков для parity расширить не получится

Если очень хочется - то можно. Делаем сразу raidz3. Но два диска "для parity" не подключаем. Имеем деградированный raidz3 функционально подобный raidz. Ну и небольшой оверхед по производительности и месту.

Кстати, ваше описани parity в zfs весьма приблизительно. Возможно для целей статьи и ок.

И зачем вообще пишу. Вы никак не упоминаете использование буквально магии zfs. Не используете?Снапшоты, клоны, zfs send. В частности дельту между двумя любыми снапшотами датасета можно отправить в поток, на том конце либо сохранить в файл либо развернуть на zfs. Как раз средство от малых файлов.

Это как? Добавление диска в raidz допили?

Да, начиная с OpenZFS 2.3.0

Если очень хочется - то можно. Делаем сразу raidz3. Но два диска "для parity" не подключаем. Имеем деградированный raidz3 функционально подобный raidz. Ну и небольшой оверхед по производительности и месту.

Интересная идея кстати, возможно попробую как-нибудь

Вы никак не упоминаете использование буквально магии zfs. Не используете?Снапшоты, клоны, zfs send. В частности дельту между двумя любыми снапшотами датасета можно отправить в поток, на том конце либо сохранить в файл либо развернуть на zfs. Как раз средство от малых файлов.

Снапшоты в системе я включил, однако бэкапы снапшотов на облачное хранилище в самой ОС не предусмотрены (или я не нашёл). Попробую воспользовался другим решением для бэкапов, возможно получится тут сильно оптимизировать.

бэкапы снапшотов на облачное хранилище в самой ОС 

Не обязательно ограничивать себя тем, что реализовали в гуе. У zfs понятное и отлично документированное управление из командной строки. А бекапы вообще в большинстве случаев должны делаться автоматически. И с использованием zfs send reseive написано немало скриптов автоматизации. Я даже сам как то пилил примитивный.

Зато потом как хорошо.

https://2gusia.livejournal.com/472988.html

https://2gusia.livejournal.com/145124.html

Не обязательно ограничивать себя тем, что реализовали в гуе

Тут согласен конечно, изначально просто проще было настроить что уже есть. А за ссылки спасибо большое, материал интересный, попробую себе применить

Прям ностальгией окатило
% cat /usr/local/bin/zfsbackup.sh
#!/bin/sh

# ZFS snapshots commands

## List snapshots
ZLIST="zfs list -Ht snapshot"

## Take a snapshot
ZSNAP="zfs snapshot -r"

## Destroy a snapshot
ZDSTR="zfs destroy -r"

## Send a snapshot to a remote host
ZSEND="zfs send -R -i"

## Receive a snapshot at a remote host
ZRECV="zfs recv -Fdvu"

# Source pool
SPOOL="_spool_"

# Destination pool
DPOOL="_dpool_"

# Destination host
DHOST="x.x.x.x"

# Today date
TODAY=`date +%Y-%m-%d`

# Keep alive threshold (2 months)
OBSOLETE=`date -v-2m +%Y-%m`

# Check for obsolete snapshots
CHECK=`${ZLIST} | grep ${OBSOLETE} | wc -l`

# Most recent snapshot
LATEST=`${ZLIST} | grep "${SPOOL}@" | awk '{a[NR]=$1} END{print a[NR]}'`

# Take a snapshot
${ZSNAP} ${SPOOL}@${TODAY}

# Delete all obsolete snapshots
if [ ${CHECK} -gt 0 ]; then
    ${ZLIST} | awk -v pool=${SPOOL} -v date=${OBSOLETE} '$0~pool"@"date{print $1}' | while read SNAPSHOT; do
        ${ZDSTR} ${SNAPSHOT}
    done
fi

# Send the increment to the destination host
${ZSEND} ${LATEST} ${SPOOL}@${TODAY} | ssh ${DHOST} ${ZRECV} ${DPOOL}

Сделал похожее на NAS4free, которая теперь XigmaNAS. 2 (было 3) raid-z на 4, 7, 7 TB, 1 на 8 TB. XigmaNAS может и не лучше, но привычнее. Подключение бытовых HDD (дешевле) через контроллеры ASM 1166 к обычной плате с i3-2100. 1GB lan. Медленно, но для дома хватает.

Спасибо за обзор self-hosted приложений, утащил себе в заметки, буду пробовать Affine

А как у вас получилась скорость записи в 15.5МВ/с? Это ж, мягко скажем, очень больно для файлохранилища.

Ну и больше вопрос что там со скоростью доступа через сеть. Обычный хард на последовательном чтении/записи спокойно крутит 150-200мбайт/сек (после того как забил кеш). т.е. рабочий минимум - локалка 2.5гбит - что есть в большинстве современных материнок. А с NVMe я и свои домашние 10Гбит утилизирую под завязку.

А как у вас получилась скорость записи в 15.5МВ/с? Это ж, мягко скажем, очень больно для файлохранилища.

Спасибо, что заметили, я почему-то не обратил внимание. Сейчас понял, что оба теста провёл на рандомную запись, немного изменил команду и результат получился гораздо лучше (768 MB/s).

fio --rw=write \
  --ioengine=sync \
  --directory=test-data \
  --size=100m \
  --bs=4k \
  --name=writetest
WRITE: bw=746MiB/s (783MB/s), 746MiB/s-746MiB/s (783MB/s-783MB/s), io=100MiB (105MB), run=134-134msec

При тестах записи на примапленный SMB диск выше 60MB/s не поднимается, возможно я сильно просчитался с материнской платой для сервера. Надо будет разобраться

Если получится selfhost контейнер Affine запустить с доступом из Интернета- очень жду статью

В целом в репозитории, что я к этой статье приложил уже такая конфигурация работает и все объединено с другими сервисами через SSO Keycloak.

А подскажите, как у вас себя чувствует мониторинг в TrueNAS, и в каком браузере смотрите, если хорошо.

У меня в Firefox при стандартном в периоде "1 час" в целом неплохо, но чем больший период беру - тем тяжелее как-то оно вертится.

TrueNAS я раньше напрямую крутил на тачке (i9-10920X, 128GB RAM), но в какой-то момент я устал бодаться с багами в QEMU, который там поставляется в операционной системе, и которым я пользуюсь для виртуальных машин, и я выкинул сам TrueNAS в виртуальную машину, прокинув целиком SATA-контроллер (обычные диски) в неё, эвакуировав все виртуалки в гипервизор уровнем выше.

А подскажите, как у вас себя чувствует мониторинг в TrueNAS, и в каком браузере смотрите, если хорошо.

Проблем замечено не было, использую Firefox. При смене детальности немного подтупливает, но не сильно.

Вопрос есть. Возможно ли чайна-плату с 2011-3, чипсетом с602 (вроде бы) и Xeon без встройки запустить без ВК? Попробовал, судя по звукам - post не проходит. Было предположение, что так и должно быть и дальше не заморачивался.

Вы же пишите, что, насколько понял, у вас без видеокарты работает.

Я не скажу за c602, но 2680v2 на хуанане x79 при посте истерически пищал, но запускался без видеокарты.

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

В моем случае без видеокарты запускается без проблем, по особенностям конкретных и плат чипсетов не знаю. Подключал ВК только для настроек в биосе и установки ОС.

Нет, он изнчально запустил с видюхой, настроил доступ по ssh по сети, потом отцепил видюху

Пользуюсь +/- такой же конфигурацией и всегда было интересно, а что будет, если под ОС умрёт М2? Понятно, что бэкапы конфигов делаются. Можно ли будет в новую ОС импортировать старые пулы?

Можно, импортируется без проблем. Удобнее, если под рукой есть старый конфиг - тогда всего восстановления на полчаса с завариванием кофе. НО! Ключи ssh в копию конфига не кладутся. Поэтому их надо бекапить заранее. Иначе после восстановления отвалятся все репликации, rsync и всё, что было на клбчи завязано. Придётся заново пересоздаватт

Non-ECC (обычная память)

Не подходит для ZFS/серверов (риск повреждения данных).

Подходит, никаких особых рисков от связки ZFS и не-ECC памяти не существует, это миф:

There's nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem. If you use UFS, EXT, NTFS, btrfs, etc without ECC RAM, you are just as much at risk as if you used ZFS without ECC RAM.

Matt Ahrens

поддержу - уже 4 года 24/7 работает TrueNAS дома, на обычной памяти - и все нормально. Аварийные отключения были и никаких с этим проблем не было

Более 10 лет, пока проблем не было.

Вопрос немножко не по теме а подскажите что даёт именно стрим видео? я просто расшариваю папку с видеофайлами и любой с любого устройства его смотрит в сети. Не нужны никакие доп программы. Ну только на андроиды ставлю vlc.

А попробуйте скачать видео гигов на 100 и открыть его на Андроиде любым нативным способом, и сразу станет понятно зачем нужен стриминг и ТД...

Ps это не говоря про старые видео со специфичным кодеком, в которых только звук или наоборот открываются на современных плеерах/устройствах...

IMHO, видео в 100 гигов качаешь именно для того, чтобы смотреть его в высоком качестве. VLC на Android - достаточно нативный способ просмотра? Он у меня всё подряд жрёт.

Так то да, однако моя приставка, даже на проводе, в такой конфигурации сильно тормозит, не хватает видимо мощности.

Про просмотр на телефоне по WiFi можно вообще забыть.

А стриминг этот вопрос почти полностью решает, так что кому как.

Ps были случаи, что единственный файл, который доступен для скачивания как раз 100+ Гб и выбора уже нет...

Стриминг с транскодингом позволяет снизить нагрузку на клиента и на канал. Важно, если вы своё видео из мира смотрите. А так все эти плексы - каталогизаторы, чтобы можно было с красивыми картинками в фильмах копаться, а не просто по папкам ходить. Плюс статистика, плюс возобновление просмотра на другом девайсе...

Я настраивал у себя стрим, при котором нет необходимости скачивать файлы полностью, фильмы любого размера можно стримить на телевизор из приложения аггрегатора без ожидания изначального скачивания.

Попробуйте такой фокус на тв самсунг или лыже провернуть, или на любом другом где нет андроида.

Аппаратный RAID и ZFS - это нерекомендуемое решение. Да и вообще, не люблю я аппаратные рейды для дома. Привязка к конкретному контроллеру, так просто диски не перекинуть и не прочитать.

Что были халявные диски - это хорошо, но это тупик, если захотите ёмкость добавлять. Разве что вы сидите на источнике подобных дисков и сможете добыть их большего объёма. Но, подозреваю, что они толще будут. Потому я бы изначально их попытался продать и взял бы 3-4 обычных 3.5" диска.

Если память нормальная, то без ECC жить можно. Плюс в файловых системах и своя защита бывает. У меня btrfs так помогла сбойную память отловить, падая в ридонли регулярно. Правда, сперва грешил на диск и даже менял, но проверил память - и оказался сбойный модуль.

DeepCool CH160 - это для обычного компа корпус, не для сервера. Много дисков в него ставить тяжко будет, придётся сильно колхозить. Он больше для того, чтобы на ITX-плату поставить видюшку и большой кулер. Впрочем, можно попробовать 4-5 2.5" развесить по краям. И при покупке корпусов на али смотрите обязательно на стоимость доставки, китайцы часто цену разбивают почти пополам, в итоге корпус за 8000 превращается в корпус за 15 тысяч.

На itx-материнках бывает один-два m2 слота, в которые можно ставить не только ссд, но и сата-контроллер, к примеру. Или видеокарту простенькую даже.

Если рейд0 создан нормальным контроллером, то диск просто окроется в режиме hba в винде (по крайней мере в perc 730 работает именно так. Из рисков прокидывания недорейда в трунас - отсутствие мониторинга состояния дисков. Однако вполне нормально работает годами, и даже переезжает между core-scale версиями

С 24й версии трунаса можно расширять zfs пулы. Плюс можно пойти "заменой" дисков по кругу (рабочий вариант, если raidz2). Выдёргиваешб один, на ребилд втыкаешь диск побольше. Так по кругу. По итогу на последнем диске пул сам расширится (ну или толкнуть его через cli)

В своё время приходилось создавать несколько raid0 из одного диска, а потом уже использовать их для софтверного рейда. Но, как правильно сказали, нет инфы о дисках в таком случае.

А на счёт расширения - для дома я всё ещё предпочитаю массив unraid, он более гибок в данном плане. В zfs, впрочем, недавно прикрутили возможность диски разного размера использовать - может и до свободной замены дисков дойдут со временем.

Аппаратный RAID и ZFS - это нерекомендуемое решение. Да и вообще, не люблю я аппаратные рейды для дома.

Контроллер также бесплатно достался без поддержки passthrough режима, а так тоже читал что для ZFS лучше HBA обычный взять.

Что были халявные диски - это хорошо, но это тупик, если захотите ёмкость добавлять.

Когда упрусь в размер думаю буду пул по кругу обновлять дисками большего объёма.

Так 2.5 если брать большего размера, то там опять придётся SAS ловить. Хорошо, если у вас есть источник халявных. Ибо sata 2.5" сегодня все smr, что с raidz несовместимо.

Там мне скорее всего проще будет корпус поменять и взять SAS 3.5 уже.

Это мой первый комментарий на хабре, ради вопроса к статье завёл аккаунт, так как очень релевантная для меня проблема, простите если слишком много написал 🙏

Меня эта статья вдохновила вернуть к жизни моего монстра-франкенштейна с множеством попросту лежащих накопителей, которые бы хотелось использовать по назначению.

Твой сэтап с TrueNAS SCALE и ZFS близок к моему сценарию, но у меня железо послабее и куча разнобойных дисков, до этого я пробовал использовать хранилище на BcacheFS с поблочным зеркалом, но его каждый раз приходилось запускать вручную и оно не слишком быстрое. Хочу локальное хранилище для фото/видео (галерея через Immich, прямой доступ к файлам и монтаж через SMB/NFS на CachyOS/MacOS/Android), с защитой данных и новыми для меня функциями ZFS, так как до этого пользовался в основном BTRFS и BcacheFS.

Мой текущий сэтап:

Pentium G2020, 12GB DDR3 не ECC, ALLOYSEED x1 PCIe-SATA (6 портов, вроде IT-mode), 2.5GbE карта, ATX корпус (думаю над печатью своего корпуса на 3д-принтере).

По дискам: 5 HDD (4TB Seagate Exos, 4TB Skyhawk, 1TB Barracuda, 0.5TB Seagate, 0.256TB HGST (ноутбучный) ), 2 SATA SSD (128GB Intel, 256GB Apacer), 2 NVMe (1TB ADATA Legend 960, 512GB Kingston KC2500 (думаю подключить через PCIe карту, но может вовсе не обязательно) ).

Мне бы хотелось добиться максимальной утилизации дисков, чтобы было ~9-10TB доступного места, готов докупить 4TB, можно попробовать использовать RAID-Z1/2, так как хотелось бы обеспечить безопасность данных, Immich для галереи (авто-upload с андроид смартфона), прямой доступ для монтажа (DaVinci Resolve и kdenlive).

Читал и комменты (2gusia про zfs send, V1tol про сеть, CrazyHackGUT про мониторинг) и у меня есть пару вопросов:

Как бы ты настроил ZFS-пул для моих 9 дисков? RAID-Z1 на 4TB+4TB+1TB+0.5TB с NVMe cache/SLOG и SSD для метаданных — норм? Или лучше mirror+stripe? Докупить 4TB для ~12TB? Есть смысл в JBOD для 0.256TB (как 2gusia советовал для некритичного)? Стоит ли пробовать твой "деградированный RAID-Z3" (из комментов) для роста? Или проще докупить диск?

Кстати, слышал про ZimaOS, говорят что тоже неплохая для DIY NAS, но там бесплатно только до 4-ех дисков, а для бо́льшего количества уже заграничная карта и ±3000₽, но зато одноразовый платёж.

Буду рад любым советам, особенно по смешанным накопителям и оптимизации под слабое железо. Спасибо за статью :)

Для начала я бы выкинул мелкие HDD. Хотя 0,256ТВ можно и оставить. ;)
Оставить два 4ТБ и взять к ним третий для создания raidz1. Проверьте только, чтобы ваш skyhawk не был SMR.
SSD - под кэш массива и для установки приложений в трунасе.

А что делать с дисками меньше 4тб если их не объединить в RAID Z1 (RAID 5)? Можно ли сделать отдельный том с 1тб, 0.5тб и 0.256тб?

И почему так критично то, чтобы Skyhawk был без SMR?

Диски меньше 4ТБ выкинуть или для холодного архива использовать - записать данные и положить на полку.

SMR и raidz несовместимы. Особенно если вдруг ребилд массива начнётся.
https://habr.com/ru/articles/497900/

Как бы ты настроил ZFS-пул для моих 9 дисков? RAID-Z1 на 4TB+4TB+1TB+0.5TB с NVMe cache/SLOG и SSD для метаданных — норм?

Вам не нужен ни L2ARC ("NVME cache"), ни тем более SLOG - у них есть свои требования по RAM, тогда как вам на саму ZFS памяти-то едва хватает.

Maxing out the RAM before going L2ARC is the suggested approach; do not consider L2ARC at all until you have at least 64GB of RAM.

Понял, спасибо, просто услышал про такие функции и было интересно спросить.

А что насчёт bitrot? Я вот немного не пойму как это работает.

Есть немного опыта с трунас (на железе и в виртуалке. От кор версии с джейлами, потом scale с kubernetes, потом с переходом на doker)

Очень коротко, потому что не спал ночь.

Одинаковые диски (по объему и "черепичности") в raidz1. Никакие кеши не нужны, 12гб рам для дома - дофига. Можно подцепить диск, который самый не жалко для системы (на флешку не ставится, но и крутой ссд ему не нужен). Потом ссд просто отдельным пулом для кэша чего-то типо jellyfin. Особо мудрить не надо. Поставить и пробовать-пробовать-пробовать. Начиная с версии 24, можно добавлять диски в пул, так что не надо никакие дегрейдед raidz (вообще первый раз про такое извращение слышу). Массив на 15тб добавляет новый диск 3 тб около 3х суток, но из-за принципа добавления, потеря данных крайне маловероятна. Ну и помнить, что сам трунас тоже надо бы куда то бекапить (хотя бы критичные данные)

RAID-Z1 на 4TB+4TB+1TB+0.5TB

Размер пула будет "выравнен" по размеру наименьшего диска, поэтому в варианте 4+4+1+0,5 доступно будет меньше, чем просто в зеркале 4+4

А в ZFS нет поддержки гетерогенных конфигураций дисков? Я слышал про JBOD, но как я понял это просто разделение дисков на stripes и объединение их в один виртуальный диск, без какой-либо защиты.

Наверное тогда стоит докупить один диск на 4Тб и сделать RAID5 🤔

Раз у вас уже 2 диска на 4ТБ, то мне кажется есть смысл для raid-z1 или деградированного raid-z2 докупить ещё один на 4ТБ и использовать их под хранение, а систему на ssd поставить.

Кеш я бы наверное ставить не стал, как писали выше он также требует затрат по памяти, при этом на сайте TrueNAS пишут, что не стоит подключать кеш если zfs не упирается в память. Возможно что-то ещё полезное найдете в обсуждении по этой теме https://forums.truenas.com/t/l2arc-tuning-guide-and-common-misconceptions/33128

я просто перенес маленькие диски в отдельный нас для бекапов. и оставил 4+4 отдельными дисками без рейда. зачем мне рейд дома.

Не очень понятно, как такой сетап противостоит кейсу южнокореских госуслуг.

Ну и, как обычно, "мне досталось бесплатно серверное железо, расскажу вам как бесплатно организовать домашний NAS"

Нет, домашний NAS это не панацея. Гораздо логичнее выглядит покупка облака типа ЯД, плюс холодное хранение копии на внешнем диске (или на двух копиях). Горячий кэш можно хранить в платном облаке + копию в бесплатном.

Не очень понятно, как такой сетап противостоит кейсу южнокореских госуслуг.

Нужен просто сетап из 2 подобных коробочек c настроенной синхронизацией между ними, одна из которых у родственников. Плюс настроить автоматическую синхронизацию на периодически подключаемый внешний диск и/или во внешнее S3 если средства есть.. Синхронизировать можно не все, а только датасеты с важными данными.

Как настроите - так и противостоит.

Облако + внешний диск - базовый, сравнительно бюджетный инструмент для онлайн-доступа и бэкапа. Я бы его в принципе всем рекомендовал.

Домашний NAS его не заменяет, а дополняет, причём только в аспекте онлайн-доступа. И поэтому да, его содержимое тоже надо бэкапить.

Не очень понятно, как такой сетап противостоит кейсу южнокореских госуслуг.

Тут спасают бекапы на ледяное s3 хранилище в Яндекс Клауде.

"мне досталось бесплатно серверное железо, расскажу вам как бесплатно организовать домашний NAS"

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

Гораздо логичнее выглядит покупка облака типа ЯД, плюс холодное хранение копии на внешнем диске (или на двух копиях)

Мне кажется у обоих решений есть плюсы и минусы. Компании спокойно могут менять тарифы и условия со временем, в результате чего условные 3тб в месяц могут стать просто в несколько раз дороже (Как например Microsoft в своё время сократило размер OneDrive для пользователей и просто стёрла мои данные). Плюс помимо хранилища я всё таки получил пул развернутых сервисов, которые могу расширять по своему усмотрению.

Как например Microsoft в своё время сократило размер OneDrive для пользователей и просто стёрла мои данные

Они предупреждали. И давали время выкачать.

Да, но всё равно крайне неприятно, когда меняют изначально заявленные условия

Когда они предупреждают заранее и т.п., это неприятно, но такова жизнь. Бывает. Их право.

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

Когда они предупреждают заранее и т.п., это неприятно, но такова жизнь. Бывает. Их право

Так то оно так, это скорее стало для меня одной из мотиваций своё собрать.

Я и без мотиваций своё собрал. Впрочем, домашний сервер у меня задолго до этих ваших облаков был, так что когда облака появились, то они стали только дополнением к нему.

Да блин, задолбали они. Сперва трафик с безлимитки порезали до терабайта, теперь это. Какой дешевый vps посоветуете? (Ну понятно для чего в текущих реалиях)

У меня там ещё несколько баксов осталось, так что до конца года дотяну.

А за новым пойду под скидки на lowendbox за предложениями.

Кейс Южной Кореи возник из-за кз АКБ. Если такое- не дай Бог- случится дома, то думаю будет не до бэкапов фильмов

  • Поддержка ZFS + Kubernetes (для развертывания контейнеров).

Вроде не совсем так. Ранее TrueNAS использовал Кубер, потом, с версии 24.10 решили перейти на докер. Была еще эпическая тема, когда после ссоры с куберами стали внезапно недоступны практически все приложения, устанавливаемые через GUI из апстора. Теперь в TrueNAS только докер.

Плату я бы брал с IPMI, мне на разных этапах помогала. В т.ч. снимается вопрос с отсутствием видеокарты.
Для установки системы идеально использовать USB флешку с SSD небольшого объёма (ох меня сейчас знатоки засмеют, но я на своём, любительском), т.к. по сути этот раздел вам более не доступен, использовать отдельный диск нецелесообразно. У меня OTG USB Flash 128 ГБ Netac US5. Как воткнул туда систему 2 года назад, так и не вспоминал и слот свободен. А изначально планировал 500Гб SSD использовать, т.е. по сути он бы просто выпал из ресурсов, которые можно задействовать внутри TrueNAS, а так там докер и утилиты живут.
Больной вопрос с сетью. 1Гб\с очень мало, особенно если фильмов сотни и фоток десятки тысяч. У меня роутер позволяет, поэтому воткнул дополнительную сетевуху на 10Гб\с, всё заиграло новыми красками, когда требуется большие объемы перегнать с компа (там тоже 10Гб\с), сейчас основное ограничение в дисках.

Плату я бы брал с IPMI, мне на разных этапах помогала. В т.ч. снимается вопрос с отсутствием видеокарты.

Если не ставить регулярные эксперименты с железом, то ipmi нужно только при первоначальной настройке. Потом уже не используется. Потому для домашнего использования необходимость всех этих ilo преувеличена, на мой взгляд. У меня были как с ilo/ipmi сервера дома, так и без. Наличие приятно, но отсутствие не является проблемой.

изначально планировал 500Гб SSD использовать, т.е. по сути он бы просто выпал из ресурсов, которые можно задействовать внутри TrueNAS, а так там докер и утилиты живут.

Можно пошаманить и отрезать кусок системного диска под свои нужды. Впрочем, я тоже на флэшку поставил, был лишний sandisk extreme.

таки управлять железом удаленно бывает полезно (пример - сбой питания, после которого отвалился загрузочный диск / сменился порядок загрузки). можно спокойно зайти в бивис и понять, что произошло.

прям совсем хардкорный ilo - это приятно, конечно, но не обязательно. Intel AMT вполне достаточно, но раскурить, на каких связках чипсетов + процов всё поддерживается в полной мере - затея для сильных духом. Лучше искать готовые примеры конфигураций у людей, у которых всё работает и брать такое же

Если дело дома происходит, то можно и подождать до вечера, обычно ничего настолько критичного там не водится. Хотя если у вас серьёзный хоумлаб - тут другое дело.
Впрочем, просто для управления сейчас довольно много недорогих ipkvm есть.

если один живешь - то да, безусловно. а если, положим, легли jellyfin и immich для всей семьи, то лучше иметь возможность глянуть удаленно, чего там жена любимый сериал не может глянуть

опять же - если не кроить и брать мамки с алиэкспресса, а стараться что-то надежное взять, то там и AMT, скорее всего будет. Собственно, я весной себе брал мамку на Q670. По цене как геймерские на Z790, но в плюсе AMT и больший уровень физической защиты (скажем, покрыта лаком для защиты от влажности), а в минусе - "некрасивый" зеленый текстолит и отсутствие всяких RGB-подсветок. Да, и UEFI косит под старые биосы. Для меня - сделка века)

Если просто легли севисы, то удалённая консоль не нужна, как правило. Ну и обычно если оно на ровном месте легло, то это проблемы с железом и удалённо не чинятся.

Я не против наличия, но для меня это всегда было приятным бонусом, а не обязательной функцией. Само собой, если речь о доме, а не работе.

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

Полезно, но связываться ради этого с серверным железом - такое.

Так себе идея строить такую серьезную городьбу вокруг самой дешёвой материнской платы...а потом складывать туда свои данные. Лучше уж купить Synology, отдав космические 50 т.р.

Материнскую плату думаю в будущем поменяю действительно. А если брать Synology за 50тр, то он будет ограничен слотами для 2-х дисков, а процессора и памяти не хватит даже на 1 сервис синхронизации фотографий Immich. А вариант, в котором хотя бы 4гб памяти и 4 диска стоит уже за 130к, при том что я могу себе поставить хоть 32гб и 8 дисков.

процессора и памяти не хватит даже на 1 сервис синхронизации фотографий Immich

Вы не правы, мощностей того же DS224+ (с дополнительной планкой памяти на 16ГБ) за 35 тыс. руб. хватает не только на Immich, но и на целый зоопарк из Докеров и виртуалок. Да, процессор там старенький и слабенький за такие деньги, но его все-таки хватает для очень комфортной работы. Диска два, но можно и по 8ТБ поставить.

Ну неправду же говорите. В dns synology на 4 диска стоят от 47тр. Более свежие модели типа ds425+ 67тр. Да и не нужен будет никакой immich - есть родное приложение для фото

Сейчас посмотрел ещё раз, похоже и правда некорректно фильтр в DNS настроил, действительно есть варианты дешевле.

К сожалению родное приложение очень убого по функционалу, все-таки автор прав и лучше завести Immich через Докер.

Всё это конечно хорошо, но я не всегда понимаю смысл поднятия всяких труНАС, вот например поставил я дебиан и один раз в жизни развернул Raid-10, поднял SMB, настроил скрипты бэкапов на rsync и всё...

В том же синолоджи основная польза что он позволяет с телевизора сериальчики смотреть, он даже транскодирует и показывает то, что телевизор через флешку не играет (но сейчас это ушедший функционал).
Синолоджи умеет на всех моих смартфонах, и планшетах, и ноутах создавать оффлайн папки с двусторонней синхронизацией, когда я дома он синхронизирует и это доступно когда я не дома и когда интернета нет под рукой.
Синолоджи фоточки с телефона оперативно заливает когда я домой захожу, как только к вайфай подцепился.

Сейчас я активно пользуюсь Terramaster F4-423, на нем стоит дебиан, ну и всякие там гит-сервера, нексусы, туду-сервисы... Но мне не хватает оффлайн папок с двусторонней синхронизацией для андроида и виндовс. Мне не хватает воспроизведения на тв. Если вы прошли такой путь настройки синхронизации файлов, бэкапов с телефонов и настройки просмотра сериальчиков на тв, то поделитесь пожалуйста. Собрать и настроить сервак с сетевыми шарами тут наверно любой может, а вот настроить узконаправленные сервисы как нужно...

Так TrueNAS и так базируется на Debian, по сути плюс в том, что как раз всё настроено и предоставлено в виде web ui. Так то конечно можно всё самому настроить, но особых плюсов в этом не вижу.

Мне не хватает воспроизведения на тв

Тут я развернул torrserve и дальше можно с ТВ смотреть с различных приложений вроде Streamio, Lampa, Plex, Jellyfin.

бэкапов с телефонов

Мне с телефона интересно бекапить только фото, для этого развернул Immich, больше у меня на телефоне ничего ценного нет.

Но мне не хватает оффлайн папок с двусторонней синхронизацией для андроида и виндовс

Это настроить и правда было бы интересно, возможно поищу какие-либо решения в будущем.

мне не хватает оффлайн папок с двусторонней синхронизацией для андроида и виндовс

nextcloud, syncthing

А самые дешевые однодисковые Synology тоже так умеют?

Я не эксперт в данной теме, но можно ли считать использование иностранной файловой системы решением выдвинутой проблемы "Защита от ухода иностранных сервисов"? Не существует отечественных околоаналогов?

В целом у меня не было цели уйти от иностранных сервисов, я хотел уйти от коммерческих решений, которые меняют условия пользования. Так то все open-source проекты, которые я привёл в статье разрабатываются участниками из разных стран. А вот отечественных файловых систем я не знаю в принципе, а отечественных ОС, специализированных для NAS серверов к сожалению тоже.

Файловая система - не сервис.

Если несложно возможность уйти от платных сервисов, то почему нет? Открытыми решениями ведь все пользуются, несмотря на разработку за рубежом. В конечном счете мейлру с яндексом еще хуже иностранных меняли правила - то обещая "навсегда", а потом все резво менялось (как в известном случае https://habr.com/ru/news/854870/, например). Кроме того, в отсутствии полноценных альтернатив сервисы имеют обыкновение наглеть еще больше.

Со своим решением разве только "налог на болванки" и содержание (еще про бэкапы подумать). Зато гибкости, имхо, больше.

NAS на LSI 9261 — привет из прошлого. Экономия обернётся потерей данных...

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

Из непонятного тут в основном материнская плата, тут действительно рискнул, но потенциально заменю. Но и в целом её выход из строя не сильно большая проблема для меня, контроллер и диски Oracle, их история мне известна, плюс raid позволит мне заменить диски если что-то пойдёт не так. Но учитывать это действительно стоит.

В хранилке самое главное - стоимость хранения определенного объема. Меня например не интересуют темы 1-2-4Тб - детский лепет в 25 году. Сейчас нужно что-то в масштабах 50-100-200Тб - и прикидываем стоимость только дисков с НОРМАЛЬНЫМ резервированием:
6000р/Тб разово - дома
600р/Тб / в месяц - например в ледяном Яндексе - самый дешевый ТП, что увидел для нормальных объемов

Вот и получается: по любому дешевле 100Тб зеркало дома собрать (600т.р.), чем покупать его в облаке (60т.р./мес). Проблема где эти "больше-пол-ляма" найти на "поиграться" :)

P.S. мать-проц-память в сравнении со стоимостью дисков нормальных объемов - мизер
P.P.S. не понимаю зачем фильмы вообще смотреть и совсем не понимаю зачем их качать, есть же какие-то инет-кинотеатры... мне без этого мусора информационного потока хватает
... и да, я в курсе разных FS и разных реализаций массивов, но предпочитаю зеркало RAID1*

не понимаю зачем фильмы вообще смотреть

Ну ладно, раз ВЫ не понимаете не будем смотреть

о, а расскажите чем вы забиваете 100 Тб без фильмов?

Спасибо за статью!

Не страшно брать б/у HDD?

При таком сетапе, какой порядок действий, если отвалится плата? А если диск с ОС? Вопросы для меня не праздные, т.к. тоже буду собирать или покупать NAS в ближайшем будущем. Собираю информацию.

Может быть, совсем нубский вопрос, но за счёт чего такая высокая скорость записи и чтения? Это же HDD, а не SSD. Я ожидал увидеть ~220-250 MB/s.

Не страшно брать б/у HDD?

Риски конечно есть, но по SMART все диски в хорошем состоянии, а если выйдут из строя, то заменю в raid пуле, так что думаю проблем не будет.

какой порядок действий, если отвалится плата

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

А если диск с ОС

Тут установить ОС на новый диск, выгрузить её настройки из бекапа, донастроить докер и запустить контейнеры на данных с пула.

за счёт чего такая высокая скорость записи и чтения? Это же HDD, а не SSD. Я ожидал увидеть ~220-250 MB/s.

Вопрос и правда интересный. На чтение по логике за счёт raid, а вот на запись я сам не понимаю если честно почему такой результат теста. Возможно физический кеш на контроллере как-то вывозит дополнительно.

Не страшно брать б/у HDD?

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

На новые хоть магазинная гарантия есть небольшая.

Я ожидал такого ответа - у вас не будет гарантии если на корпусе диска есть физические повреждения. Заметить эти повреждения при покупке не всегда возможно.

Из двух дисков, которые я покупал в последние годы, на обоих были небольшие вмятины на корпусе. В моей ситуации на функциональность диска это не повлияло, но я читал про ситуации когда диск был дохлый и его, из-за наличия вмятин, достаточно известный магазин отказался менять сославшись на то что повреждения нанес покупатель.

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

А если кирпич башка упадет, то будет айяйяй

Результаты fio на случайную запись (5.5 MB/s) это прям оч плохо. Даже для HDD. Что-то там явно не так. Либо ZFS очень не любит конфигурацию с RAID0-дисками, либо сам контроллер узкое место. Для файлопомойки это не так страшно, а вот для базы данных какого-нибудь сервиса будет боль

Я больше спрашивал про последовательное чтение. Как будто бы физические возможности диска были прилично так преодолены, по данным бенча.

в ледяное S3 хранилище на Yandex Cloud.

И всё таки оно холодное (cold storage), а не ледяное.

У Яндекса написано ледянле (ice)

https://yandex.cloud/ru/docs/storage/concepts/storage-class

Supermicro SuperServer 5028D-TN4T. Xeon D 1541, 8 ядер, 16 потоков. На борту настоящие пара 10Гб медных сетевых порта и IPMI. Память до 128ГБ DDR4 ECC. 4*LFF SAS слота под диски. 1*M2 NVMe.
Железке уже 10 лет.

В целом, почти все перечисленные преимущества есть у btrfs, почему не она? (кроме того, что zfs есть в TrueNas из коробки).

Сам обошелся более простым, компактным и дешевым вариантом - распберри + корпус аргон с m2 sata ssd. На диске btrfs, а сама малинка под NixOS. Получилось очень удобно, что всю конфигурацию системы можно хранить в flake'е на github, правда nixos это целый отдельный мир, с достаточно высоким порогом входа.

Еще интересный аналог Notion - Anytype с его p2p синхронизации между устройствами и e2ee

все перечисленные преимущества есть у btrfs, почему не она? (кроме того, что zfs есть в TrueNas из коробки).

В целом основная причина, что она в TrueNAS из коробки.

Мужик, спасибо за статью!!!

Для 8тб можно было сделать гораздо проще и компактнее. По современным меркам это гроб который уйдет на пенсию через пару лет. Еще и жрущий тонну электричества из за тонны сас дисков. В общем очень странный сетап. Единственный плюс дешевизна. Но даже по цене дешевле купить бу сервак -2 покаления, которые все тупо в мусорку выкидывают вместе с такими дисками

У серваков свои подводные камни: от шума до мутных компонентов, которые невозможно заменить по адекватной цене.

Китайская itx n105 ddr5 2x2.5G+10G 6sata 2 m.2 ест 20вт и стоит 12000руб. 20000 стоит на 8 ядерном n305 с тдп 15вт.

С 6 дисками потребление 60-70вт в работе. До 150вт при раскрутке шпинделей. Соответственно вентилятор нужен только для охлаждения дисков.

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

Электричество в России дешевое и пока ии можно пренебрегать. 5 центов это вам не 50.

Я делал расчет по московскому тарифу на 26 год

Электричество в РФ можно не считать, оно копеечное.

Sign up to leave a comment.

Articles