У меня DIY дисковая полка была. Теперь понимаю, что самодельное охлаждение было совсем не оптимальное. Я не мог до винтов дотронуться, когда манипуляции с ними делал. Пальцы обжигали. Такие горячие были.
Забитый под завязку будет ооочень горячий. У меня 12 HDD отличненько так нагревали гардероб в 4-5 м.кв. до 30+ градусов. Винты начали сыпаться потихоньку от такого перегрева.
Note: Unity originally used the Cg language, hence the name of some of Unity’s keywords (CGPROGRAM) and file extensions (.cginc). Unity no longer uses Cg, but these names are still in use.
Принципы компьютерной графики не меняются уже много лет. Возможности видеокарт выросли, пайплайн усложнился немного. Появился compute, ray tracing. Но база та же. Из этих книг можно много чего почерпнуть даже сейчас.
Ой, не нравятся мне эти вопросы по MSAA и TXAA. Очень смахивает на "сам только что узнал, буду теперь валить кандидатов". Чего греха таить, сам я не знаю сходу (хотя графический программист, вроде) ответы на эти вопросы. Но это очень специфические, относящиеся к определенной технике/методу/эффекту темы. Кто с этим плотно не работал (я не работал), всех нюансов сходу знать не может. Таких вопросов можно придумать миллион. ИМХО, надо спрашивать про базовые вещи, без понимания которых очевидно что дальше в "MSAA" лезть не следует. Вопросы описанные в статье - база и основа. Хорошие вопросы (Ваш про оптимизации тоже).
Матрицы трансформации. Пространства координат и переходы между ними. У нас есть большущий бесшовный мир, будут ли проблемы с точностью вычислений и если будут, то какие есть методы борьбы с ними?
Render Pipeline. Как из вершины модели получается пиксель на экране? Какие оптимизации применяют производители видеокарт для ускорения пайплайна? Что быстрее отрисовать: меш из миллиона вершин занимающих один пиксель, или треугольник занимающий миллион пикселей? (Не смотрите на меня так, очевидно же что вопрос с подвохом).
Владение тулзами. У вас на сцене то исчезает, то появляется модель (должна быть всегда, это баг). Что вы будете делать чтобы локализировать и починить эту проблему? На некоторых видеокартах эффект отличается визуально от референсной реализации. Ваши шаги по выявлению "неисправности"?
Как то я пропустил вторую часть статьи. Я тоже home server maniac :) Немножко описания и фото я кидал в комментариях к первой части. Прошел путь от простого WD Elements Desktop подключенного по USB к рабочему компу, до 8U стойки уже без свободного места.
Скажу всем начинающим и продолжающим домашнесерверостроителям, что какое бы не было решение, всегда надо идти на компромиссы. У меня дом, но изначально, я немного неправильно спроектировал центр свода коммуникаций в небольшой гардероб. Думал сколько там надо? Полочку одну выделить. Ага :) Сначала была обычная десктопная mini-itx платка на Intel Atom + 5-слотовая 3.5" корзинка с алиэкспресс. Совсем не server grade hardware. Эксперименты по SSH иногда заканчивались обрубанием ветки на которой сидишь, приходилось тащить монитор клавиатуру туда куда их очень сложно притулить (дешево, но не предназначено для работы в качестве сервера 24/7 — компромисс). В общем скоро я понял, что это не дело. Неудобно. Плюс незакрепленная корзина с HDD, с тянущимся к ней питанием и шейфом SATA кабелей, которые было легко зацепить, напрягала (дешево, но ненадежно — компромисс).
Начался поиск недорогой серверной Mini-ITX платы, так как корпус только маленький помещался в гардероб (компромисс). Нашел ASUS P10S-I. Также была сделан DIY дисковая полка на основе Chenbro Backplane на 16 HDD. Соединялось это вместе посредством LSI SAS HBA, который занимал единственный слот в матплате. Уже дороже, но несравненно удобнее (компромисс). IPMI на плате освободил от забот тягать монитор и клавиатуру к серверу. 16 слотов под HDD сильно развязали руки в плане манипуляций с данными. Это все стало уже занимать 2 полки шкафа гардероба. Но в гардеробе стало очень тепло, а температура HDD стала достигать 60-и градусов. Плюс отсутствие ИБП сильно печалило. В жаркий гардероб пихать еще и ИБП я совсем не хотел. А также хотел сделать несколько часов автономной работы. Тогда созрел хитрый план. Купить б.у. хороший ИБП с возможностью подключения внешних батарей. Сделать батарейный блок большой емкости. Разместить все это в пристроенном гараже в серверной стойке. От ИБП протянуть провод в гардероб, благо такая возможность имелась. Взял APC SURT2000XLI, 4 12в батареи на 45Aч. Вместе с питающим проводом 220в протянул 2 пары оптики и 5 UTP Cat 5e (всегда планируйте с запасом). В квартирах места под стойку обычно нет, к сожалению. ИБП 2U, весит много, батареи весят еще больше, гудит как самолет. Если изолированного места в жилище нету под это все, то такое, наверное, не навернешь.
Заработало, отлично. Теперь я с ИБП и 3-мя часами автономной работы (и котел газовый туда же подключил). Камерки будут исправно долго писать даже без электричества (POE switch подключен к ИБП). Протянул оптику, надо заюзать! Слотов PCI-E больше нету, значит меняем плату. Supermicro X11SSM-F отличный вариант, но она уже MicroATX. Смена корпуса, перетаскивание сервера на отдельную полку (теперь уже 3) (места больше — компромисс).
Начали вылетать винты. Они были б.у. с ebay и 60 градусов по S.M.A.R.T. это не шутки. Замена тот еще геморрой. Останови сервак, отключи все кабеля к дисковой полке. Открути болтики прижимающих планок. Пальцы об горячие HDD обожги. Вытаскивать неудобно, запихивать неудобно. Понять где какой стоит неудобно. Горячо и неудобно, но дешево и занимает мало места (компромисс). Но мне повезло, у меня есть прохладный гараж с 8U стойкой и оптикой подведенной к ней. Был куплен 3U корпус с 16 hot swap корзинами. Весь сервак и дисковая полка переехала туда. Оно воет что боинг и адски тяжелое, так что это точно не для квартиры, но в доме не слышно. Зато теперь прохладно и доступ удобный (компромисс).
Собрал еще один похожий, но 2U для бекапов и экспериментов, теперь в стойке уже нет места (надо расширятся). Следующим этапом мож 48 HDD полка от supermicro? Я не знаю, но процесс походу бесконечный :)
Винчестеры подключены к SAS backplane. Эти backplane часть серверных корпусов с SAS hotswap корзинами. Выбирайте нужный вам форм фактор (6/8/12/16/24 слота, 2.5 или 3.5 дюймовые HDD). Плата стоящая вертикально — это SAS Expander, подключенный в PCI-E Riser Card.
После обновления перестал запускаться unbound. Просто не запускается из webgui и все. В логах пусто. Я недолго осваивал OPNSense, поэтому не знал всех премудростей внтуренних особенностей запуска сервисов, a service unbound restart не работает. Мне такая ситуация не понравилась, а в чистом FreeBSD я более менее знаю куда лезть и смотреть. Также возникли сложности с "адаптацией" параметров в GUI, к параметрам в конфигах и родных документациях тех утилит, которые были нужны (pf, unbound, haproxy, dhcpd). Вторым фактором была невозможность (официальный способ по крайне мере) установить систему на ZFS. Частые "бесплатные" снапшоты + их репликация уж очень вкусные плюшки. Налажал в экспериментах — rollback на 15 мин назад. Очень удобно. АвтоGit :) Бекапы на другую машину настраиваются за 10 минут (zap). Это все я умел, поэтому поставил привычную мне систему и настроил. Я не утверждаю, что этого нельзя сделать на OPNSense, но мне было непривычно и неудобно, вот и перешел.
Сервер в маленьком корпусе (без дисков). Можно и mini-ITX, но мне надо больше одного слота PCI-E:
DIY дисковая полка:
LSI SAS SAS9207-8e (2 внешних порта) соединяется с HP SAS Expander, который запитан от PCI-E Expander Card. Все это дело запитано от отдельного БП, который включается параллельно серверу посредством add2psu платы.
Но корпус в обслуживании неудобен. Он то свою функцию выполняет хорошо, но манипуляции с винчестерами затруднены. Тяжело поставить HDD на место (направляющих нет), чтобы снять/поставить надо сверху прижимную планку откручивать. Апгрейдом планирую купить rackmount полку, отпилить и использовать только отсек с корзинами. Тогда манипуляции с дисками будут намного проще.
Диски беру 3TB б.у. на ebay сразу пачкой. Можно сторговаться иногда за 20$ за штуку (вот такие например). Высокая надежность меня особо не заботит, так как ZFS Mirrors и Raid-Z. Плюс все важные данные (по сути всё, кроме фильмов и сериалов) реплицируются на отдельный комп каждый день.
Стоимость сервера. У меня не mission critical задачи, да и выкладывать кучу денег за современное серверное железо я не готов. Но понимаю важность server grade аппаратуры для уверенности в стабильной работе. Поэтому придерживаюсь некой середины. Беру хорошее серверное железо, но б.у. и предыдущих поколений. Можно иногда очень вкусные предложения на ebay, или локально в стране найти.
Сервисы хранения файлов стоят денег. Например 2ТБ iCloud стоит 10$/мес. Это уже 120$/год. А так у меня бесплатный безлимит.
Домашний сервер дает много удобств, к которым быстро привыкаешь. Умный дом (пачка дешевых Sonoff/ESP8266/ESP32/xiaomi, которые централизованно работают только с внутренним сервером и не ломятся в Китай), файлохранилище, централизованная медиатека (а телевизоров несколько), удобный каталог домашних фотографий + уверенность в том что это не исчезнет при глюке винта/флешки/dvd архива.
Это ж homelab. Хобби. Нравится мне колупаться во всем этом. Усилий собрать и настроить это все конечно надо немало.
У меня DIY дисковая полка была. Теперь понимаю, что самодельное охлаждение было совсем не оптимальное. Я не мог до винтов дотронуться, когда манипуляции с ними делал. Пальцы обжигали. Такие горячие были.
И тихий? Вентиляторов много?
Забитый под завязку будет ооочень горячий. У меня 12 HDD отличненько так нагревали гардероб в 4-5 м.кв. до 30+ градусов. Винты начали сыпаться потихоньку от такого перегрева.
Я вон, ниже, ссылку на видео давал. Игра на Unity + DOTS. Куда уж реалистичнее
Возможно
Нет: https://docs.unity3d.com/Manual/SL-ShaderPrograms.html
В юнити не GLSL, а HLSL
Принципы компьютерной графики не меняются уже много лет. Возможности видеокарт выросли, пайплайн усложнился немного. Появился compute, ray tracing. Но база та же. Из этих книг можно много чего почерпнуть даже сейчас.
Ой, не нравятся мне эти вопросы по MSAA и TXAA. Очень смахивает на "сам только что узнал, буду теперь валить кандидатов". Чего греха таить, сам я не знаю сходу (хотя графический программист, вроде) ответы на эти вопросы. Но это очень специфические, относящиеся к определенной технике/методу/эффекту темы. Кто с этим плотно не работал (я не работал), всех нюансов сходу знать не может. Таких вопросов можно придумать миллион. ИМХО, надо спрашивать про базовые вещи, без понимания которых очевидно что дальше в "MSAA" лезть не следует. Вопросы описанные в статье - база и основа. Хорошие вопросы (Ваш про оптимизации тоже).
Чтобы я еще спрашивал:
Буфер глубины. Как хранятся значения в нем? Как влияет на точность значения near и far plane? Что можно сделать для повышения точности
Матрицы трансформации. Пространства координат и переходы между ними. У нас есть большущий бесшовный мир, будут ли проблемы с точностью вычислений и если будут, то какие есть методы борьбы с ними?
Render Pipeline. Как из вершины модели получается пиксель на экране? Какие оптимизации применяют производители видеокарт для ускорения пайплайна? Что быстрее отрисовать: меш из миллиона вершин занимающих один пиксель, или треугольник занимающий миллион пикселей? (Не смотрите на меня так, очевидно же что вопрос с подвохом).
Владение тулзами. У вас на сцене то исчезает, то появляется модель (должна быть всегда, это баг). Что вы будете делать чтобы локализировать и починить эту проблему? На некоторых видеокартах эффект отличается визуально от референсной реализации. Ваши шаги по выявлению "неисправности"?
Графика: серии Shader X, GPU Pro, GPU Zen, GPU Gems, Ray Tracing Gems. Отдельные книги: Shaders for Game Programmers and Artists, Real-Time Rendering.
Игровые движки, и всякие околодвижковые темы: серии Game Programming Gems, Game Engine Gems.
А как запертость двери проверяете? Умный замок?
Может железку нормальную использовать проще?
Как то я пропустил вторую часть статьи. Я тоже home server maniac :) Немножко описания и фото я кидал в комментариях к первой части. Прошел путь от простого WD Elements Desktop подключенного по USB к рабочему компу, до 8U стойки уже без свободного места.
Скажу всем начинающим и продолжающим домашнесерверостроителям, что какое бы не было решение, всегда надо идти на компромиссы. У меня дом, но изначально, я немного неправильно спроектировал центр свода коммуникаций в небольшой гардероб. Думал сколько там надо? Полочку одну выделить. Ага :) Сначала была обычная десктопная mini-itx платка на Intel Atom + 5-слотовая 3.5" корзинка с алиэкспресс. Совсем не server grade hardware. Эксперименты по SSH иногда заканчивались обрубанием ветки на которой сидишь, приходилось тащить монитор клавиатуру туда куда их очень сложно притулить (дешево, но не предназначено для работы в качестве сервера 24/7 — компромисс). В общем скоро я понял, что это не дело. Неудобно. Плюс незакрепленная корзина с HDD, с тянущимся к ней питанием и шейфом SATA кабелей, которые было легко зацепить, напрягала (дешево, но ненадежно — компромисс).
Начался поиск недорогой серверной Mini-ITX платы, так как корпус только маленький помещался в гардероб (компромисс). Нашел ASUS P10S-I. Также была сделан DIY дисковая полка на основе Chenbro Backplane на 16 HDD. Соединялось это вместе посредством LSI SAS HBA, который занимал единственный слот в матплате. Уже дороже, но несравненно удобнее (компромисс). IPMI на плате освободил от забот тягать монитор и клавиатуру к серверу. 16 слотов под HDD сильно развязали руки в плане манипуляций с данными. Это все стало уже занимать 2 полки шкафа гардероба. Но в гардеробе стало очень тепло, а температура HDD стала достигать 60-и градусов. Плюс отсутствие ИБП сильно печалило. В жаркий гардероб пихать еще и ИБП я совсем не хотел. А также хотел сделать несколько часов автономной работы. Тогда созрел хитрый план. Купить б.у. хороший ИБП с возможностью подключения внешних батарей. Сделать батарейный блок большой емкости. Разместить все это в пристроенном гараже в серверной стойке. От ИБП протянуть провод в гардероб, благо такая возможность имелась. Взял APC SURT2000XLI, 4 12в батареи на 45Aч. Вместе с питающим проводом 220в протянул 2 пары оптики и 5 UTP Cat 5e (всегда планируйте с запасом). В квартирах места под стойку обычно нет, к сожалению. ИБП 2U, весит много, батареи весят еще больше, гудит как самолет. Если изолированного места в жилище нету под это все, то такое, наверное, не навернешь.
Заработало, отлично. Теперь я с ИБП и 3-мя часами автономной работы (и котел газовый туда же подключил). Камерки будут исправно долго писать даже без электричества (POE switch подключен к ИБП). Протянул оптику, надо заюзать! Слотов PCI-E больше нету, значит меняем плату. Supermicro X11SSM-F отличный вариант, но она уже MicroATX. Смена корпуса, перетаскивание сервера на отдельную полку (теперь уже 3) (места больше — компромисс).
Начали вылетать винты. Они были б.у. с ebay и 60 градусов по S.M.A.R.T. это не шутки. Замена тот еще геморрой. Останови сервак, отключи все кабеля к дисковой полке. Открути болтики прижимающих планок. Пальцы об горячие HDD обожги. Вытаскивать неудобно, запихивать неудобно. Понять где какой стоит неудобно. Горячо и неудобно, но дешево и занимает мало места (компромисс). Но мне повезло, у меня есть прохладный гараж с 8U стойкой и оптикой подведенной к ней. Был куплен 3U корпус с 16 hot swap корзинами. Весь сервак и дисковая полка переехала туда. Оно воет что боинг и адски тяжелое, так что это точно не для квартиры, но в доме не слышно. Зато теперь прохладно и доступ удобный (компромисс).
Собрал еще один похожий, но 2U для бекапов и экспериментов, теперь в стойке уже нет места (надо расширятся). Следующим этапом мож 48 HDD полка от supermicro? Я не знаю, но процесс походу бесконечный :)
Винчестеры подключены к SAS backplane. Эти backplane часть серверных корпусов с SAS hotswap корзинами. Выбирайте нужный вам форм фактор (6/8/12/16/24 слота, 2.5 или 3.5 дюймовые HDD). Плата стоящая вертикально — это SAS Expander, подключенный в PCI-E Riser Card.
Наверное не подскажу, но посоветую поштудировать https://github.com/awesome-selfhosted/awesome-selfhosted, может найдете что-то подходящее.
После обновления перестал запускаться unbound. Просто не запускается из webgui и все. В логах пусто. Я недолго осваивал OPNSense, поэтому не знал всех премудростей внтуренних особенностей запуска сервисов, a service unbound restart не работает. Мне такая ситуация не понравилась, а в чистом FreeBSD я более менее знаю куда лезть и смотреть. Также возникли сложности с "адаптацией" параметров в GUI, к параметрам в конфигах и родных документациях тех утилит, которые были нужны (pf, unbound, haproxy, dhcpd). Вторым фактором была невозможность (официальный способ по крайне мере) установить систему на ZFS. Частые "бесплатные" снапшоты + их репликация уж очень вкусные плюшки. Налажал в экспериментах — rollback на 15 мин назад. Очень удобно. АвтоGit :) Бекапы на другую машину настраиваются за 10 минут (zap). Это все я умел, поэтому поставил привычную мне систему и настроил. Я не утверждаю, что этого нельзя сделать на OPNSense, но мне было непривычно и неудобно, вот и перешел.
В догонку (мож кому интересно):
Сервер в маленьком корпусе (без дисков). Можно и mini-ITX, но мне надо больше одного слота PCI-E:

DIY дисковая полка:


LSI SAS SAS9207-8e (2 внешних порта) соединяется с HP SAS Expander, который запитан от PCI-E Expander Card. Все это дело запитано от отдельного БП, который включается параллельно серверу посредством add2psu платы.
Но корпус в обслуживании неудобен. Он то свою функцию выполняет хорошо, но манипуляции с винчестерами затруднены. Тяжело поставить HDD на место (направляющих нет), чтобы снять/поставить надо сверху прижимную планку откручивать. Апгрейдом планирую купить rackmount полку, отпилить и использовать только отсек с корзинами. Тогда манипуляции с дисками будут намного проще.
Еще есть Motion. Более легковесный, но и более хардкорный в настроке. К нему можно прикрутить MotionEye
Экономическую выгоду я не преследую, но: