Как организовать сервер на домашнем компьютере
Перейти к содержимому

Как организовать сервер на домашнем компьютере

  • автор:

Домашний веб-сервер для чайников

Привет, Хабр! Относительно недавно после пары лет перерыва в айти, потраченных на изучение японского языка, мне пришлось срочно обновлять свои знания на работе. Ну знаете, искать возможности исполнить все хотелки начальника, как и положено эникею. Меня ждало много увлекательных открытий, но при этом, как водится, и немало боли и борьбы с непонятками. Docker, контейнеры, реверс DNS и реверс прокси, получение TLS сертификатов. В какой-то момент я наконец дошёл до удобного решения, которым я теперь хочу поделиться.

В своё время домашний сервер очень облегчил бы мне понимание Docker’а, да и удобство работы с ним неслабо бы повысил. Поэтому возникла идея написать эту статью, после прочтения которой любой человек даже с поверхностными знаниями в информационных технологиях сможет поставить себе постоянно доступный домашний сервер на базе Docker Swarm с удобной веб-мордой, простым получением TLS-сертификатов и Heroku-подобным функционалом (для чего будем использовать PaaS CapRover).

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

Зачем оно нужно?

Ну как минимум потому что это круто, иметь домашний сервер! Да и настраивать всё это дело интересно. При этом он уже за месяца три отобьёт свою стоимость в сравнении с VPS’ом схожей конфигурации. Ну и наконец он просто радует глаз и миленький.

Что же до использования — иметь возможность развернуть в пару кликов дома Docker-контейнеры сразу в формате http://контейнер.мой.домен/ и в ещё один клик подключить к нему SSL неплохо упрощает жизнь. Сейчас всё больше и больше разнообразных приложений и сервисов переезжают в контейнеры и, если вы не любите лишний раз платить большим компаниям, иметь свои аналоги платных сервисов на домашнем сервере это очень удобно.

Ну а удобство для разработчиков и так понятно.

Подготовка

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

Port Forwarding

Схема работы перенаправления портов

Схема работы перенаправления портов

Проверьте наличие у вашего маршрутизатора (роутера) опции Fort forwarding/Port mapping/Перенаправление портов. Это не самый безопасный, но самый простой способ дать нашему серверу путь во внешний мир. Убедитесь что 80, 443 и 3000 порты у вас ничем не заняты — именно их вы будете прописывать IP адресу вашего сервера. Возможно в будущем, например, если вы захотите поднять почтовый сервер, вам придётся прописать дополнительные порты, но пока нужно только это.

Если проводить аналогию для понимания перенаправления портов, то представьте работу мамы в детстве. По умолчанию охранник туда не пустит, но стоит только сказать волшебную фразу «Я к маме», как строгий охранник уже пускает и говорит куда пройти. Вот и тут так же, с нашим NAT’ом роутера, только вместо «Я к маме» вы говорите порт, на что вас направляют куда надо.

Так же стоит убедиться, что у DHCP вашего роутера есть возможность зарезервировать выданный IP адрес за MAC. Скорее всего ваш сервер будет стоять включённым всё время и не просрочит свой выданный IP адрес, но подстраховаться никогда не бывает лишним. Если нельзя — выпишите машине статичный IP вне зоны выдачи адресов DHCP. Это сложнее и неудобнее, но тоже вариант (Кто-то даже скажет что так даже лучше сделать. Но я сейчас за простоту).

Нету этих опций? Возможно ещё не всё потеряно. Проверьте базу https://dd-wrt.com/support/router-database/ на наличие вашего роутера и есть ли тема по нему на 4pda. Если и там пусто. Ну, либо сворачивайте это руководство, либо пора купить новый роутер.

Домен

Конечно, ничто не мешает нам обращаться к нашему домашнему серверу и напрямую по IP адресу, но делать так не рекомендуется: и не особо безопасно, и запоминать IP адрес не просто, да и если у вас динамический, меняющийся каждый раз как вы заново подключаетесь к интернету, IP адрес, то запоминать его вообще бессмысленно. Ну и наконец, у нас много сервисов планируется, а чтобы к ним доступ был тупо по IP адресу, придётся их на разные порты навешивать. Оно вам надо?

Именно поэтому мы будем использовать домен.

Ну, знаете, ту самую штуку, которую вы вводите в адресной строке. В результате сможем давать сервисам поддомены для удобства и не страдать. Ну, например https://пароли.мой.домен/ для парольного сервиса или https://почта.мой.домен/ для почты. Удобно, в общем, запоминается. Делать это будет Ngnix под капотом нашего PaaS, при желании всегда можете разобраться в конкретике.

Схема работы обратного прокси Ngnix в случае контейнеров

Схема работы обратного прокси Ngnix в случае контейнеров

Рекомендую я, конечно, домен купить. Цены на домены в популярных зонах достаточно либеральные, платить раз в год, регистраторов куча. В плане выбора регистратора я ничего конкретного советовать не буду. Адекватнее всего ориентироваться по цене и отзывам. Разве что маленькое наблюдение: если регистратор требует миллиарды шекелей за такие вещи, как банальное управление DNS записями, то возможно это не очень хороший регистратор и следует посмотреть в другую сторону.

Впрочем если вы только пощупать пришли, то домен можно получить и бесплатно. Есть такой регистратор — Freenom, там можно бесплатно достать домен в зонах .tk, .ml, .ga, .cf или .gq. Правда как часто бывает с чем-то бесплатным, сайт глючный. Если на проверке доменов у вас всё время пишется, что домен занят, попробуйте поставить сразу полный путь. То есть вводите в проверочное поле не мой_домен, а сразу, скажем, мой_домен.tk.

Очевидно, что если что-то досталось бесплатно, то и потерять его легко — отзывы у Freenom в этом плане далеки от хороших. Так что если планируете что-то серьёзное, то лучше домен себе всё-таки купить у регистратора. Однако для маленького домашнего сервера потенциальная потеря домена не критична.

Cloudflare

Тут мы уже входим в пространство вкусовщины. Вам ничто не мешает использовать и редактор DNS записей вашего регистратора или любой другой сервис управления DNS записями домена. Тут, на хабре, вон вообще CloudFlare раком интернета недавно называли. Но с другой стороны, CloudFlare даже в базовой, бесплатной версии имеет достаточно много приятных фишек, которые ваш регистратор скорее всего не предоставляет. Тут и какая-никакая защита от DDoS, кеширование, расширенные возможности управления доступом и так далее и в том же духе. Плюс в одном из следующих пунктов, когда мы поднимем контейнер для DDNS, будет использоваться именно CloudFlare (впрочем настроить DDNS с другим провайдером вроде DuckDNS — задача достаточно тривиальная).

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

Платформа

Физический путь

Удобство физического пути очевидно — стоит отдельная машинка, не мешает основной работе, радует глаз.

Если спросить, что же использовать как платформу, наверняка многие ответят Малинку (то есть Raspberry Pi). На мой взгляд это не самый лучший выбор для данного случая.

Raspberry Pi отлично подходят для самодельных решений разнообразной направленности, но по соотношению цена/производительность не являются каким-либо лидером. И, хотя сейчас уже множество софта доступно под ARM системы, под x86 программы всё-таки чувствуют себя постабильнее.

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

Я же советовал бы купить для данных целей недорогой (или не очень дешёвый, если вы хотите постоянно запускать «тяжёлые» задачи на вашем сервере) мини-пк (иначе называемый неттоп). Доступные варианты с 8 гигабайтами оперативной памяти, четырёхядерным Celeron и SSD на 128 гигабайт можно найти за 150-200 долларов и этого более чем хватит для домашних задач. При этом он будет компактным, тихим, удобным в размещении, достаточно приятно выглядящим и с низким TDP. Даже в самые дешёвые модели обычно можно доставить как минимум один, а порой и два 2,5 дюймовых диска, так что как файловую помойку его, в общем-то, тоже можно использовать. Хотя лучше превратить его в личное облако, а как файловый сервер использовать отдельное NAS-устройство — для отказоустойчивого хранения большого количества данных форм фактор мини-пк не слишком располагает.

Помимо этого, если вы «наиграетесь» и решите, что оно не ваше, такому компьютеру будет легко найти место. Например поставить обратно Windows и отдать маме/тёте Вале из третьего подъезда. Для офисной работы и использования браузера он подойдёт прекрасно.

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

Сразу, правда, надо учесть: шансы, что у такой машинки не будет работать Wi-Fi под линуксом, мягко говоря, не самые маленькие. Так что планируйте проводное соединение.

Заранее погуглите, на какую клавишу вызвать boot menu у вашей машинки. А образ для установки, если вы на Windows, лучше всего на флешку записывать программой Rufus.

Виртуальный путь

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

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

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

А контейнер — это как пакетик из магазина. Вроде и служит примерно той же цели, что и коробка, но внутрь что-то положить и достать проще, укладывать по-особому не нужно,места много не занимает, и выкинуть не жалко, и продырявить просто. Говоря же чуть более нормальным языком — контейнер это такая недо-виртуалка, которая ведёт себя скорее как процесс программы.

Конкретный гипервизор (ну, программа, где ваши виртуальные машины создаются и управляются) — на ваше усмотрение. Лучше, конечно, использовать гипервизор первого типа (они, как правило, быстрее, поскольку работают “под” операционной системой, а не “над” ней, как гипервизоры второго типа), но нашему серверу это не очень критично.

Внимание, любители всяких игруль, мобильных и не очень, на Windows — большая часть гипервизоров конфликтуют с эмуляторами Android для игр и с некоторыми античит решениями. Нормально только Bluestacks для Hyper-V работает, так что заранее выберите, что вам важнее.

VirtualBox

Для начала распишу для VirtualBox, который доступен на всех основных платформах, хотя и не отличается высокой скоростью.

Нажмите на кнопку New (Создать) для создания новой машины, и, ориентируясь по своей логике, задайте все настройки — если что, то потом всегда сможете поправить. Правда, меньше чем 2 гигабайта оперативной памяти лучше не ставить.

После создания машины войдите в её настройки. В разделе Storage (Носители) добавьте ваш образ к дисководу (синяя иконка), а в разделе Network (сеть) поменяйте тип подключения на Bridged Adapter (Сетевой мост) и выберите сетевую карту, по которой к вам приходят интернеты, после чего сохраните.

Hyper-V

Поскольку сам я в основном пользуюсь Windows, то предпочитаю использовать Hyper-V — встроенный в Pro версию системы гипервизор первого типа. Если вы пользователь Windows, то вам я тоже его советую — как и положено гипервизору первого типа, он весьма радует своей производительностью.

Чтобы использовать Hyper-V, активируйте его в Turn Windows Features on or off (Включение или отключение компонентов Windows) и перезагрузите компьютер. Вероятно, вам ещё придётся включить аппаратную виртуализацию в BIOS, если вы ещё не делали это. Также необходимо создать в Hyper-V manager (Диспетчер Hyper-V) сетевой интерфейс, ведущий во внешнюю сеть. Кликните справа на Virtual Switch Manager (Диспетчер виртуальных коммутаторов), выберите External (Внешний) и нажмите Create Virtual Switch (Создать виртуальный коммутатор). Далее в настройках External Network (Внешняя сеть) выберите сетевую карту, по которой к вам приходят интернеты, а потом сохраните.

После этого создайте новую машину в Hyper-V manager (но только не создавайте «быструю» машину, там всё не слава богу), а потом пройдите в её свойства и отключите Secure Boot (если машина 2-ого поколения). Остальные параметры по вкусу, но меньше 2 гигабайт оперативной памяти лучше не ставить. Ну и как сетевой интерфейс, очевидно, нужно поставить свежесозданный.

Установка и настройка системы

При выборе дистрибутива для установки у нас есть некоторый выбор (Но свериться с поддерживаемыми платформами на https://docs.docker.com/engine/install/ не помешает). Официально докер рекомендуется ставить на Ubuntu, я обычно предпочитаю Debian, но нам в целом не принципиально. Однако возможные подводные камни я распишу только для этих двух дистрибутивов.

И да, если можете, то лучше напрямую смотрите инструкции. А то информация в интернете имеет привычку устаревать и есть шанс, что к моменту, как вы это читаете, всё уже десять раз поменялось.

В случае с Ubuntu скачайте Ubuntu Server — на сервере графический интерфейс ни к чему, вы даже не будете подключать к нему монитор после изначальной установки. При установке важный момент — НЕ отмечайте Docker в качестве установки по умолчанию. Иначе он поставится как snap пакет, будет глючить, тупить и вообще, зачем вам лишние проблемы, не дружите со snap’ами, это плохая компания.

После установки системы копипастим по одной эти строчки (вы же уже подключились по SSH, правда ведь? Если нет, то чуть подальше будет инструкция) или вбиваем вручную:

При установке Debian не надо отмечать web server, поскольку в качестве него у нас Nginx внутри контейнера Docker’а с нашим PaaS работать будет.

После установки системы копипастим эти строчки:

В общем скачайте что вам нравится, запишите на флешку при физическом пути, подключите к виртуалке при виртуальном и давайте, устанавливайте по инструкциям.

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

Ansible это достаточно важный инструмент для Linux-админа и, если вы планируете сдавать или хотя бы просто учиться на сертификации от RedHat, то он вам понадобится. Ну так, на будущее.

Ssh клиентов великое множество, я обычно пользуюсь встроенным в Windows OpenSSH (хотя он встроен, но в старых версиях Windows 10 может быть по-умолчанию отключен. Включается в Turn Windows Features On and Off (Управление дополнительными компонентами)). Просто открываете PowerShell и пишите:

А после вводите пароль своего пользователя. Тут стоит отметить, что использовать ssh с паролем это не особо безопасно (но зато проще всего), и, если у вас будет желание с этим разобраться, то лучше настроить ssh ключ.

Систему мы настроили, но не спешите ставить CapRover. Сначала вернёмся к роутеру. Найдите в нём ваш сервер и зарезервируйте его IP адрес в DHCP. Ну или поменяйте его на что-нибудь приятное и зарезервируйте. У вас есть чувство прекрасного, я уверен. После этого пропишите перенаправление с 80, 443 и 3000 портов маршрутизатора на 80, 443 и 3000 порты нашего сервера.

Вот пример того, как оно выглядит в моём роутере TP-Link:

Теперь идём к домену. Войдите в CloudFlare или DNS редактор вашего регистратора и создайте следующую запись:

Тип: A
Хост: *.ваш.домен
Запись: указывает на ваш внешний IP адрес

Если вы не знаете как узнать ваш внешний IP адрес, то посмотрите в настройках интерфейса, роутера, где угодно. Ну или наберите в поисковике что-нибудь вроде «мой IP», если копаться не хочется.

Можете сразу не отходя от кассы создать токен, если планируете динамически обновлять DNS при изменении вашего IP адреса.

Для этого пройдите по ссылке https://dash.cloudflare.com/profile/api-tokens и создайте токен со следующими свойствами:

Zone — Zone Settings — Read
Zone — Zone — Read
Zone — DNS — Edit

Include — All zones

Сохраните длинный Cloudflare API токен, но далеко не убирайте.

Всё, теперь заходим на сервер и пишем волшебную команду, которая поднимает нашу систему для управления контейнерами:

Если вы плохо знакомы с Docker’ом, то тут мы запускаем наш первый контейнер — небольшой PaaS CapRover. Помимо этого мы даём портам в контейнере путь на волю (-p 80:80 -p 443:443 -p 3000:3000), позволяем контейнеру иметь доступ к демону Docker на хост-машине (-v /var/run/docker.sock:/var/run/docker.sock) и делаем так, чтобы папка из контейнера хранила своё содержимое в папке на хосте (-v /captain:/captain). Если так не сделать, то при перезапуске контейнера всё содержимое: настроечные файлы и другие данные нашего контейнера, потеряются навсегда. Так что никогда не забывайте указывать команду -v при работе docker в консоли, чтобы потом не плакать у разбитого корыта. Ну а caprover/caprover — это образ на Docker Hub.

Подождите немного и зайдите либо по айпи адресу, либо по адресу вашего домена:3000 (например http://мой.домен:3000), введите пароль captain42 . После этого тут же введите в нижнее поле ваш домен и нажмите Update Domain. Можете также нажать на Enable HTTPS, но вот на Force HTTPS не надо нажимать — Cloudflare и так трафик у вас (если вы оставили рекомендуемые настройки) с http на https переводит. Конфликтов на этом поводе нам не надо.

Настала пора запустить наш первый контейнер внутри PaaS.

Перейдите в веб панели в раздел Apps, нажмите на One-Click Apps/Database, найдите CloudFlare DDNS. Это достаточно простой контейнер, весь смысл которого сводится к тому чтобы раз в пять минут проверять, изменился ли IP адрес сервера, и, если изменился, обновлять DNS запись на CloudFlare.

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

А видим мы опции ввода так называемых переменных окружения. Не всех правда, а только тех, которые указал автор конфигурационного файла для CapRover. Значения из этих переменных контейнер может достать и использовать в своих целях, проще говоря через них задаётся начальная конфигурация контейнера.

Так вот, задайте какое-нибудь имя, вставьте ранее сохранённый токен и нажмите Deploy. Контейнер заработал. Теперь можете делать что угодно!

Чуть сложнее

Этот контейнер был простым, без веб доступа, но что у тех, к которым мы будем иметь доступ? Да в общем всё так же, разве что ещё можно включить https, задать домен, указать HTTP порт контейнера и включить websocket. Попробуйте, это просто и интересно!

Использование

И вот наконец у нас всё стоит и работает.

Зачем оно вам? Ну, если вы до сих пор не знаете — придумайте. Для установки в один клик в CapRover доступно множество приложений для повседневного использования. Например менеджер паролей Vaultwarden. Торрент-клиент Qbittorrent. Сервер Minecraft. Боты для Discord. Вариантов много.

Я, например, держу стол для игры в DnD с друзьями Foundry VTT, веб-интерфейс для пробуждение от спячки моего домашнего компьютера (чтобы потом подключаться по RDP), свой маленький гит на базе Gitea, удобный фронтэнд для чтения Reddit’а libReddit, веб-архив для закладок и ещё кучу всякой всячины для тестов и изучения.

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

В самом начале мы установили SSH, так что если вы захотите более тонкой настройки, подключите и тыкайтесь. Советую также зайти на SSH через VS Studio Code с установленным расширением Docker’а, и установить его же сразу там на ваш сервер. Теперь наблюдать, управлять и чистить мусор в контейнерах гораздо удобнее.

Что дальше?

Возможно, вам уже хватило, вы поняли что это не ваше и вообще. Тоже неплохой результат. Возможно, вы просто хотели домашний сервер и получили его — опять же, к результату мы пришли. Или же вы хотите большего — и это тоже прекрасный результат! Надо понимать, что хотя Docker Swarm уже несколько протух, для небольших нагрузок, вроде домашнего использования, он подходит на отлично. А если вам мало, то, разобравшись как и что тут работает, вы можете медленно начать своё движение к изучению kubernetes.

Что можно посоветовать конкретного? Ну, если Docker вам интересен и хочется в нём разобраться поглубже, то вводный цикл статей от Microsoft достаточно приятно и наглядно объясняет как и что оно.

Если хотите покрупнее брать — и в Hyper-V получше разобраться, и в контейнерах и чуточку затронуть кубер, то вот ещё у них есть неплохие материалы.

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

Коли от Microsoft тошнит — ищите курсы. В англоязычных интернетах с этим проще — идёшь на Udemy или Pluralsight и выбираешь курс по теме, где люди поменьше в комментах бугуртят на качество, и в бой. С русскоязычными курсами посложнее в выборе, но кто ищет — тот найдёт.

Ну и наконец если в целом вся эта тема с сервисами на своём домашнем сервере вам интересна, то вот отличный список selfhosted решений на все случаи жизни.

Домашний сервер. Часть 1: Вводная теория

В этой статье будут собраны воедино базовые теоретические моменты, касающиеся организации сервера класса SOHO (small ofice / home office) для использования в домашних условиях.

Тема домашнего сервера уже поднималась на этом блоге и некоторые частные аспекты реализации его функций рассматривались в цикле статей по Raspberry Pi. В частности был описан процесс поднятия медиасервера Plex и облака Nextcloud.

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

Зачем нужен домашний сервер

Домашний сервер. Часть 1: Вводная теория

Первостепенная задача домашнего сервера — хранить на себе пользовательские данные и обеспечивать удобный доступ к ним со всех пользовательских устройств.

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

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

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

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

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

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

Подобное устройство и будет домашним сервером внутри локальной сети. А сейчас детальнее рассмотрим функции, которые такой сервер может выполнять.

Сетевое хранилище

Домашний сервер. Часть 1: Вводная теория

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

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

Медиасервер

Домашний сервер. Часть 1: Вводная теория

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

Контент может транслироваться по протоколам DLNA, HTTP или через приложения-компаньоны. Мощным и очень красивым комбайном, работающим практически на всех платформах, является Plex.

Торрент-клиент

Домашний сервер. Часть 1: Вводная теория

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

В некоторых дистрибутивах (например, в OpenMediaVault или в программном обеспечении, предустановленном на готовые брендовые NAS) торрент-клиент уже предустановлен по умолчанию. А где его нет — там нужно вручную установить Transmission или аналогичную программу, поддерживающую удаленное управление через веб-интерфейс.

Сервер видеонаблюдения

Домашний сервер. Часть 1: Вводная теория

Для приема и сохранения видеозаписей с нескольких IP-камер также может использоваться домашний сервер — если его мощность и объемы дискового хранилища достаточно высоки чтобы справиться с этой нагрузкой.

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

Но для простой системы из 2-4 беспроводных IP-камер не нужно покупать отдельное устройство. Получать и сохранять на жестком диске сигналы с них сможет и наш сервер.

Резервное копирование

Домашний сервер. Часть 1: Вводная теория

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

Главное чтобы объемы дискового хранилища сервера были достаточно велики по сравнению с объемами накопителей, установленных в остальных компьютерах.

Веб-сервер и self-hosted сервисы

Домашний сервер. Часть 1: Вводная теория

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

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

Таким образом на домашнем сервере можно развернуть собственный бесплатный аналог Evernote, собственные серверы календаря и контактов на замену Google Calendar, RSS-ридер Tiny Tiny RSS, веб-клиенты для электронной почты и многое другое.

Вот длинный список того, что можно развернуть на базе собственного «железа».

Заглянем в будущее

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

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

А случиться может всякое. Примеров можно привести немало:

  • В 2012 году корпорация Apple внезапно закрыла свое облачное хранилище MobileMe и в одностороннем порядке предложила пользователям мигрировать на iCloud. Если пользователь по каким-то причинам не отреагировал и не перенес свои данные в установленные для этого сроки — он терял их навсегда.
  • В том же году в результате совершенного ФБР рейда был закрыт один из самых популярных в мире файлообменников Megaupload, в результате чего тысячи пользователей лишились своих данных.
  • В 2016 году в сеть утекли данные 68 миллионов пользователей облачного хранилища Dropbox, которые попали в руки хакеров несколькими годами ранее.
  • В 2017 году Amazon в одностороннем порядке отменил безлимитные тарифы своего облачного сервиса и ввел ограничения по максимальному объему докупаемого на один аккаунт дискового пространства.

И это далеко не полный список.

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

Я же этого даже не заметил. Потому что моя музыка продолжает храниться у меня на компьютере.

Домашний сервер. Часть 1: Вводная теория

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

Сбор и обработка Big Data стали выгодным бизнесом, которым занимаются все компании, имеющие доступ к подобным данным, и уже сейчас эксперты прогнозируют, что к 2025 году приватность станет новым элементом роскоши.

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

А начинать возвращать контроль над своими потоками данных и перенести все возможное с чужих серверов на свой собственный можно уже сейчас.

Важные характеристики домашнего сервера

Домашний сервер. Часть 1: Вводная теория

  • Объем дискового хранилища
    Никогда не бывает слишком много свободного дискового пространства. Дополнительное место на дисках — это возможность чаще делать и дольше хранить бэкапы, держать фильмы и музыку в домашней медиатеке в наилучшем качестве. В конце концов, даже создание зеркального RAID-массива требует, чтобы суммарный объем установленного в системе дискового хранилища был минимум вдвое больше, чем объем реально хранящихся в нем данных. Чем больше жестких дисков можно подключить, и чем больше будут их объемы — тем лучше.
  • Уровень шума
    Уровень шума — один из самых важных параметров для домашнего сервера, поскольку он будет работать в жилом помещении круглосуточно, в том числе и по ночам. Источниками шума могут выступать воздушные кулеры и жесткие диски во время работы. Поэтому в идеале охлаждение процессора и блока питания сервера должно быть пассивным, а корпус — достаточно крепким и тяжелым для того, чтобы гасить шумы жестких дисков. Если переход на пассивное охлаждение не представляется возможным, то нужно снизить уровень шума заменой всех вентиляторов на более тихие и эффективные. Например — на продукцию бренда Noctua, выпускающего не самые дешевые, но очень тихие и производительные системы воздушного охлаждения.
  • Энергопотребление
    Пик потребления энергии компьютерной техникой остался в прошлом, и современные компьютеры имеют весьма скромное энергопотребление по сравнению с выпускавшейся 5-7 лет назад техникой при существенно возросшей производительности. И хотя электроэнергия в России стоит дешево, нет рациональных причин использовать в качестве сервера устройства, энергопотребление которых на пиковой нагрузке не способен вытянуть блок питания на 300Вт.
  • Шифрование данных
    Хранящиеся на дисках данные должны быть зашифрованы уже хотя бы потому, что никто не защищен от квартирных краж на 100%. Даже если хранимые данные не представляют коммерческой ценности, вряд ли кому-то будет приятно, если посторонний человек сможет беспрепятственно копаться в его семейных фото или читать личные заметки. Шифрование — это гарантия собственного спокойствия.
  • Скорость дискового хранилища
    Объем дискового хранилища для домашнего сервера имеет значение, а вот скорость его работы — нет, поскольку скорость доступа к данным все равно будет ограничена пропускной способностью канала. Если используется гигабитный Ethernet, то доступ к данным будет возможен на скорости 100 МБ/с (мегабайт в секунду). И тут уже не важно, используется ли интерфейс SATA 2 или SATA 3, SSD или HDD — в любом случае скорости чтения-записи будут значительно превышать пропускную способность канала.
  • Процессорная мощность
    Если для серверов Enterprise-класса, предназначенных для работы в дата-центрах и серверных помещениях крупных компаний, производительность является одним из главнейших параметров, то для домашнего сервера она не настолько важна. Задачи, выполняемые сервером дома или даже в небольшом офисе, не требуют высокой процессорной мощности (хотя исключения, конечно, возможны), поэтому низкий уровень тепловыделения процессора и его невысокая стоимость являются более значимыми параметрами, чем производительность.

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

Платформы для сборки

Теперь рассмотрим подробнее аппаратную составляющую. Собрать домашний сервер своими руками можно на базе практически любого «железа», включая сверхдешевые одноплатные компьютеры или даже имеющиеся в наличии комплектующие от других старых компьютеров.

ARM-микрокомпьютеры

Домашний сервер. Часть 1: Вводная теория

Одноплатным компьютерам на архитектуре ARM посвящен целый раздел на этом блоге.

Самой популярной моделью такого компьютера в мире является Raspberry Pi, однако если выбирать для покупки одноплатник именно с целью построения сервера, то лучшим выбором на мой взгляд станет Cubieboard3 (CubieTruck).

Достоинства этого варианта:

  • Низкая стоимость
    Самый популярный в мире одноплатный компьютер Raspberry Pi 3 стоит $35, а его самый известный аналог Orange Pi всего лишь $15. Дешевле — только даром.
  • Очень компактные габариты
    Размеры одноплатников сравнимы с размерами кредитной карты или пачки сигарет, что позволяет легко брать их с собой (например, на дачу).
  • Крайне низкое энергопотребление
    Одноплатные компьютеры обладают очень низким энергопотреблением, что в отсутствие сетевого электропитания позволяет запитать его даже от обычного повербанка.

Недостатки этого варианта:

  • Низкая производительность
    ARM-процессоры значительно уступают в производительности бюджетным процессорам x86-архитектуры. Сервер на одноплатном ARM-компьютере может не справиться с нагрузкой если повесить на него выполнение нескольких ресурсоемких задач или заставить обслуживать нужды нескольких пользователей одновременно.
  • Архитектура ARM
    Само по себе использование архитектуры ARM можно считать за недостаток, поскольку это сокращает число готовых программных решений. То, что под x86 разворачивается простым добавлением репозитория и командой на установку пакета, под ARM иной раз бывает недоступно или требует сборки из исходников.
  • «Костыльность» сборки
    Готовая сборка на базе одноплатного компьютера будет смотреться несколько неряшливо и неэстетично, что может прийтись не по душе перфекционистам. Если выбранная модель одноплатного компьютера не имеет встроенного SATA-адаптера, то жесткие диски придется подключать посредством USB-SATA переходника, а если планируется использовать 3,5″ диски, то их придется запитывать от внешнего источника питания. Также не для всех моделей можно найти в продаже корпуса, имеющие место и для микрокомпьютера, и для жестких дисков — в таких случаях корпус придется делать своими руками.

Подводя итоги: построение сервера на ARM-микрокомпьютере — хороший вариант для начинающего и не очень требовательного пользователя, который не хочет тратить много денег.

Мини-ПК

Домашний сервер. Часть 1: Вводная теория

Мини-ПК (они же неттопы) — это компактные компьютеры на x86 архитектуре, выпускаемые в полностью собранном виде (с установленной оперативной памятью и системным накопителем) или в формате платформ для сборки (установлен только процессор, а оперативную память и накопитель предлагается докупать отдельно в меру своих потребностей).

Самыми известным представителем ниши мини-ПК является линейка Intel NUC. Сюда же относится и Apple Mac Mini (к слову, на западе Mac Mini часто объединяют в кластеры и используют в серверных сборках). В последнее время на рынок мини-ПК начали экспансию китайские производители, выпускающие устройства под марками Beelink, VOYO и т.д.

Достоинства этого варианта:

  • Есть модели на любой бюджет
    Самые дешевые мини-ПК стоят около $100, что сопоставимо со стоимостью продвинутых моделей ARM-микрокомпьютеров, а стоимость наиболее продвинутых моделей колеблется в районе 40-50 тысяч рублей. Основная масса мини-ПК стоит в районе 15-20 тысяч рублей, таким образом можно найти вариант на любой бюджет.
  • Тихое охлаждение
    Охлаждение в подобных компьютерах всегда работает тихо. Часто используется полностью пассивное охлаждение, иногда в качестве радиатора выступает сам корпус. Если пассивного охлаждения не хватает — используются низкооборотистые вентиляторы, шум от которых сложно разобрать даже ночью.
  • Неплохая производительность
    Многие мини-ПК обладают весьма хорошими техническими характеристиками за свои деньги и при необходимости поддаются апгрейду в виде замены модулей памяти и SSD-накопителей на более емкие и скоростные.

Недостатки этого варианта:

  • Хорошие модели стоят хороших денег
    Купить дешевый мини-ПК и довольствоваться хорошей производительностью и отсутствием проблем не получится. Хорошие, надежные модели стоят своих честных денег, а дешевые как правило имеют не самую мощную начинку (установлены процессоры Atom вместо Celeron и Core i3/i5/i7) или ограничены в возможностях апгрейда (в целях экономии оперативная память может быть распаяна на самой плате).
  • Не всегда качественное охлаждение
    Опять же, проблема дешевых моделей — установленное в них охлаждение не всегда справляется с работой, из-за чего процессор начинает «троттлить» и сбрасывать частоты. Исправляется вручную, заменой штатного радиатора на более тяжеловесный и эффективный вариант, но ради этого придется повозиться.
  • Только 1 разъем для жесткого диска
    Самый главный недостаток мини-ПК — в них можно установить всего один жесткий диск. Причем только 2,5″ формата. Такова плата за компактные габариты.

Подводя итоги: создание сервера на базе мини-ПК — хороший вариант для тех, кому будет достаточно одного дискового накопителя.

Готовый NAS

Домашний сервер. Часть 1: Вводная теория

Сетевое хранилище, оно же NAS (Network Attached Storage) — вещь, появившаяся очень давно в корпоративном сегменте и позднее переместившаяся в сегмент домашний. Самые известные производители в этом сегменте — Synology, QNAP, D-Link, WD с линейкой My Cloud, ASUStor.

Готовый NAS — это компактный компьютер с предустановленной производителем системой и слотами для размещения дисковых накопителей. Кроме дисковых накопителей ничего больше в устройстве не поддается апгрейду — вы не сможете нарастать память или сменить процессор. Также производитель не дает пользователю напрямую вмешиваться в работу системы, предполагая довольствоваться работающим «из коробки» функционалом, а дополнительные функции добавлять при помощи установки пакетов из встроенного магазина приложений.

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

Достоинства этого варианта:

  • Все работает «из коробки»
    Фабричный NAS — это такой iPhone от мира устройств для хранения информации. Не самый функциональный, закрытый от внешних воздействий, но зато легкий в освоении, не требующий сложной настройки и удовлетворяющий большинство пользователей.
  • Хорошие приложения для всех платформ
    Как правило, производители предлагают хорошие и удобные приложения для мобильных платформ, покрывающие все потребности пользователя своего устройства. Если при сборе сервера своими руками необходимо задумываться о том, как реализовать удаленный доступ к той или иной его функции, то в случае покупки NAS все уже продумано.
  • Есть модели со слотами под 1, 2, 4 и больше дисковых накопителей
    Можно подобрать модель исходя из своих потребностей. Для небольшого хранилища достаточно модели на 2 диска, NAS с 4 дисками — продвинутый домашний вариант, а рассчитанные на 6 дисков и более монстры способны удовлетворить потребности в хранении информации целого офиса.

Недостатки этого варианта:

  • Закрытая проприетарная система
    В работу установленной на NAS операционной системы невозможно вмешаться как в работу открытого Linux-дистрибутива. Приходится находиться в рамках, установленных для пользователя разработчиками. Но так ли это плохо?
  • Иногда не самое тихое охлаждение
    В некоторых моделях NAS кулеры заметно шумят и не очень подходят для использования в жилых помещениях по ночам. Нужно учитывать этот момент при покупке.
  • Цена
    Цена на готовые сетевые хранилища несоразмерна стоимости установленного в них «железа». Это объясняется тем, что в стоимость каждого изделия заложена еще и стоимость разработанного под него софта, и отсутствие рекламы и любого рода встроенных покупок в этом софте.

Подводя итоги: покупка готового NAS — хороший вариант для пользователя, приоритетом которого является удобное хранение файлов и чтобы все работало «из коробки» — и готового за это платить.

Готовый мини-сервер

Домашний сервер. Часть 1: Вводная теория

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

«Народной» моделью, популярной у энтузиастов-компьютерщиков по всему миру, является уже слегка устаревший HP ProLiant MicroServer gen8 и вышедшая недавно обновленная модель HP ProLiant MicroServer gen10.

Достоинства этого варианта:

  • Адекватная цена
    Если смотреть на стоимость HP ProLiant MicroServer и на его комплектующие, то становится ясно, что переплата за бренд и готовую конструкцию тут минимальна. Комплектующие того же уровня, купленные по отдельности, суммарно обойдутся примерно в те же деньги.
  • Полная свобода действий
    В отличие от NAS мини-серверы поставляются без операционной системы и настраиваются пользователем с нуля. Полная свобода действий и технических решений.
  • Возможность апгрейда
    Оперативная память и процессор в мини-серверах поддаются апгрейду.

Недостатки этого варианта:

  • Ничем не лучше ITX-самосбора
    Покупка брендового мини-сервера ничем не лучше сборки домашнего сервера с нуля из своих комплектующих.
  • Шумная система охлаждения
    Мини-серверы разрабатывались для использования в условиях офиса, поэтому в них установлены эффективные, но не самые тихие воздушные кулеры. Ночью в квартире их шум может мешать. Кулер можно самостоятельно доработать или заменить.
  • Мало моделей на рынке
    Линейка брендовых мини-серверов в компактных корпусах очень малочисленно. Кроме вышеупомянутого HP ProLiant Microserver gen8/gen10 никаких достойных моделей больше и не припоминается.

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

Самосборный сервер из любых комплектующих

Домашний сервер. Часть 1: Вводная теория

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

Но что не годится для рабочей станции — то вполне может сгодиться для сервера.

Достоинства этого варианта:

  • Себестоимость может стремиться к нулю
    Все индивидуально, но зачастую может оказаться так, что все (или почти все) комплектующие уже есть в наличии, что снижает затраты на сборку практически до нуля.
  • Широкие возможности для апгрейда
    Память, процессор — все поддается апгрейду.
  • Можно подключить много жестких дисков
    Обычно на материнской плате уже содержится от 4 до 6 SATA-коннекторов. Если этого количества не хватает — можно увеличить их число путем докупки SATA-адаптеров для PCI-E разъемов.

Недостатки этого варианта:

  • Довольно большие габариты
    Скорее всего сборка будет создана на базе mATX или fullATX материнской платы в корпусе стандартного типоразмера Midi-Tower. Это достаточно большие габариты для домашнего сервера, существуют намного более изящные решения.
  • Придется как-то решать проблему с шумом
    Скорее всего среди старых комплектующих не найдется достаточно тихих систем охлаждения, поэтому проблему ночного шума от такого сервера придется решать покупкой тихих вентиляторов или созданием пассивного охлаждения.
  • Внутренний перфекционист будет недоволен
    Решение получается рабочее, дешевое, практичное, но далеко не самое изящное. Для склонных доводить все до совершенства людей это может оказаться фатальным недостатком.

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

Самосборный сервер на платформе Mini-ITX

Домашний сервер. Часть 1: Вводная теория

Наконец, самый изящный и эффективный вариант — собрать домашний сервер с нуля на платформе Mini-ITX.

Mini-ITX — это не очень популярная платформа, использующаяся для медиацентров / HTPC и просто компактных компьютерных сборок.

Материнская стандарта Mini-ITX имеет размеры даже меньше, чем mATX. То есть сборка получается действительно маленькой и компактной.

Достоинства этого варианта:

  • Конфигурация на любой бюджет
    Самые дешевые материнские платы стандарта Mini-ITX стоят в районе 3 тысяч рублей, при этом в комплекте уже идет процессор Celeron (он впаян в саму плату и не поддается замене) и радиатор для пассивного охлаждения, а самая дорогая материнская плата этого стандарта стоит около 15 тысяч рублей — уже без интегрированного процессора, можно использовать любой. Таким образом собрать конфигурацию можно на любой бюджет и потребности.
  • Эстетичный внешний вид
    Компьютер в Mini-ITX корпусе будет смотреться очень изящно. А если его не удастся вписать в интерьер, то по крайней мере можно будет легко спрятать.
  • Хорошие возможности апгрейда
    Платформа Mini-ITX является вполне живой и развивающейся, поэтому с апгрейдом проблем не возникнет.

Недостатки этого варианта:

  • Комплектующие придется покупать с нуля
    Скорее всего у вас никогда не было компьютеров на платформе Mini-ITX, поэтому все комплектующие придется покупать с нуля. Вероятность порыться в старых железках и найти валяющуюся без дела материнскую плату или подходящий корпус стремится к нулю.
  • Нужно позаботиться о хорошем охлаждении
    Застаивающийся теплый воздух в корпусах малого объема — прямая дорога к перегреву. Нужно сразу продумать тихую и эффективную вентиляцию.
  • Дороже, чем самосбор из подручных комплектующих
    Самосбор из уже имеющихся под рукой старых комплектующих будет обладать тем же функционалом, но обойдется дешевле.

Подводя итоги: самосборный сервер на Mini-ITX платформе — хороший вариант для человека, который любит делать оптимально и надолго.

Операционная система для домашнего сервера

Домашний сервер. Часть 1: Вводная теория

Последний теоретический момент: на какой операционной системе должен работать домашний сервер?

Если в качестве сервера используется готовый NAS, то этот вопрос сразу снимается — за пользователя уже все решил производитель.

А вот при использовании самосборных конфигураций приходится выбирать: Windows или один из многочисленных Linux-дистрибутивов?

Мое мнение — на сервере должен стоять только Linux. Существуют как специализированные дистрибутивы для самосборных NAS (FreeNAS, OpenMediaVault), так и универсальные Debian и Ubuntu, на базе которых можно настроить себе что угодно.

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

Заключение

На этом вводную статью цикла о создании домашнего сервера заканчиваю.

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

Как организовать сервер на домашнем компьютере

Technogeek Labs

Peter Kalambet

Этой заметкой, я открою серию статей посвященных развертыванию некой разновидности домашнего сервера на платформе Windows. В чем же заключается роль такого сервера? Какое-то время назад, я радовался тому, что Microsoft выпускает платформу названную Windows Home Server, предназначенную для организации домашней сети. На текущий момент можно сказать, что проект Home Server уже завершен. На сайте новой ОС пишут:

This fall, families will have a new way to organize, share and protect photos, videos, music and so much more. For families with multiple PCs, now it’s easy to protect, connect, and organize the way you keep and share your family’s most important memories all in one central place.

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

Весь этот год я занимался подбором мобильного устройства. Были перепробованы все возможные конфигурации и сочетания. Обычные ноутбуки, ультрамобильные ноутбуки, КПК, UMPC, коммуникаторы, смартфоны. Все было в пустую — добиться нужного набора функий, коррелирующего с уровнем мобильности устройства ни как не удавалось. Тогда я сел за стол и выписал на лист, все задачи, которые я хочу решить с помощью мобильного устройства. После некоторых изменений список приобрел такой вид:

  1. Единая почтовая база, доступная мне на работе, дома и на улице.
  2. Единая база контактов, доступная мне на работе, дома и на улице.
  3. Единая система заметок, доступная мне на работе, дома и на улице.
  4. Единый календарь событий и мероприятий, доступный мне на работе, дома и на улице.
  5. Нежелание таскать с собой нечто громоздкое и медленно развертываемое.

Тут надо заметить, что вариант с ноутбуком прошел бы в том, случае, если бы я мог на ноутбуке работать. Но у меня есть мощная машина в офисе, ресурсы которой необходимы в работе. Ноутбуком её не заменить. Распараллеливаться на два дисплея, после полугодовой практики, оказалось очень неудобно (Remote Desktop оказывается местами убогим, потому все-таки два дисплея).

Ну и немаловажный фактор, что для проверки почты (что дома, что на работе), синхронизации телефона и КПК надо доставать ноутбук :), а ты сидишь в удобном кресле перед большим монитором и для открытия Outlook надо просто ткнуть его иконку в Quick Lunch Toolbar (еще ноутбук надо с собой таскать — жуть как неудобно).

Тогда мне пришла в голову идея внешнего накопителя. На него помещаются Presonal.pst и archive.pst, за ним закрепляется буква диска (например Z:\ ). Домашний и офисный Outlook начинают брать один и тот же набор фалов с внешнего HDD. В целом сейчас так и работает. Но и тут без проблем не обошлось. Для синхронизации через ActiveSync КПК имеет два профиля, один для дома другой для офиса. Из-за этого иногда возникают ошибки синхронизации. С телефоном дела обстоят попроще, но тоже в целом не ахти. Единственное логичное решение, которое напрашивалось само — общая база, хранящая все вышеперечисленные типы информации, и готовая в любой момент эту информацию предоставить. А со всеми описанными задачами превосходно справляется Exchange Server. Итоговое решение стало выглядеть так:

  1. установить дома Exchange Server, настроить его на сбор и хранение всей имеющейся почты;
  2. сделать его доступным через Интернет;
  3. домашний и офисный Outlook настроить на синхронизацию с сервером;
  4. заменить все мобильные устройства коммуникатором на базе Windows Mobile 6.0;
  5. сделать доступным Online Outlook Access.

На текущий момент некоторые пункты этого списка выполнены, некоторые находятся в стадии разработки, до некоторых я еще не добрался. Обо всем этом я и напишу в своих публикациях. С вводной пожалуй все. Продолжение следует…

Сборка домашнего сервера

Здравствуйте дорогой StopGame и его обитатели. В блоке введения я представлюсь и расскажу вам о том что сейчас будет происходить. Заодно поясню как я пришел к тому что стоит написать уже хоть что-то на своем любимом сайте.

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

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

В третьих, поводом написания этих строк послужила последняя «АМА» в которой старый и новый главред отвечали на вопросы, а точнее один из вопросов о том что StopGame нужны «железные» авторы. Нет я не напрашиваюсь в авторы, но стало интересно посмотреть на то интересна ли эта тема, хотя если о ней говорят сами главреды то наверное интересна, но как видите тему я выбрал именно серверную, а не сборку игрового ПК. Поэтому проверка будет максимально «хардкорная». Так уж совпало, что когда я слушал эту «АМА» я как раз перебирал свой домашний медиа сервер, поэтому мы собираем именно СЕРВЕР.

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

Со вступлением покончено, перейдем к главной теме… Какое же длинное однако получилось это вступление… простите.

Хотя я слукавил. В одном из выпусков инфакта, в этом году, Илья Шарифов поздравил меня с ДР, а значит под предыдущем выпуском комментарий я все-таки оставлял. Выпуск я сохранил на своем сервере =)

Терминология

Отсюда и далее я буду использовать определенный термины, а именно:

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

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

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

Зачем оно мне надо?

Я думаю у многих в голове возник этот вопрос, зачем вообще нужен мне этот сервер? Что же, сценариев использования довольно много.

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

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

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

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

Сценариев использования на самом деле еще уйма, я же описал самые основные. Если вы придумаете что-то еще с радостью почитаю.

В качестве операционной системы мы будем использовать TrueNas core (бывший FreeNas). Эта операционная система абсолютна бесплатна, имеет кучу возможностей, большинство вообще покажется вам избыточными. Отличный веб интерфейс, где в пару кликов можно установить необходимый софт будь то описанный выше Plex или же NextCloud (облачное хранилище), QbitTorrent (пираты, поднять паруса!).

Впрочем, это не значит что вы должны использовать именного его, можете хоть на Windows делать сервер, зависит от ваших целей и задач. В этом блоге я не буду особо углубляться в выбор/настройку софта. Хотя подбор железа мы будем осуществлять под TrueNas core, существенной разницы (помимо пары нюансов) в вашем выборе не будет.

Материнская плата, процессор и оперативная память

Сразу оговорюсь, сборку я буду описывать для людей у которых нет целого гаража старых железок, если у вас такой есть, то можете конечно же использовать его. Я также не буду вам говорить БЕРИТЕ ЭТО И НИЧЕГО КРОМЕ ЭТОГО, просто дам основные наводки и критерии того куда «копать», особенно если вы новичок в этом деле.

Intel (R) Xeon (R) CPU E5-2650 v2 и материнская плата Atermiter X79 Turbo + 32gb оперативной памяти. Мой выбор. На его основе и буду делать пояснения по выбору.

Зелененькая и даже с подсветкой. Ну как такую лапу не купить?

Начнем с процессора, почему этот? Ответ тут прост, цена. Дядюшка Али дает нам возможность покупать такие процессоры по «касарю» и меньше, а бонусом к этому идет то, что у материнских платах под Socket серверных процессоров Xeon довольно часто встречается по 4 разъёма для планок оперативной памяти, а так же возможность подключать серверную память, которая стоит по «касарю» у Дяди Али. Так же процессоры Xeon несмотря на свою цену довольно мощные, в дебрях ютуба вы найдете не один ролик о том как кто-нибудь запускает Cyberpunk 2077 на них и получает вполне приемлемые FPS. В моем случае E5-2650 v2 был у меня уже на руках, поэтому я просто подобрал материнскую плату под него.

Процессор прежде всего будет использоваться при так называемом архивировании файлов на сервере. Как это происходит:
1. Вы загружаете файл на сервер.
2. Процессор начинает сжимать данные.
3. Вы скачиваете файл с сервера.
4. Процессор разархивирует эти данные.
TrueNas core делает это «на лету». Соответственно, если у вас есть какой-нибудь старый компьютер который вы будете использовать в качестве базы для сервера, функцию архивации на нем нужно будет выключать. Стоит так же добавить то, что разные данные сжимаются по разному. Видео плохо сжимается, текст хорошо и если вы планируете хранить на вашем сервере чисто фильмы, то каких-то невероятных объёмов сэкономить не получиться, а нагрузка на процессор останется. В этом сценарии использование архивации так же можно выключить.

Оперативная память очень важна, TrueNas core использует её для дедупликации данных. Минимальный объём оперативной памяти требующийся для стабильной работы TrueNas core 8гб. дедупликация будет «отжирать» по 5гб, за каждый 1тб. пространства жесткого диска. Например, вы хотите сервер с 2тб. под ваши файлы, для стабильной и хорошей работы вашего сервера потребуется 8гб для системы + 10гб для жестких дисков. Думаю теперь ясно зачем нужны 4 слота под оперативную память. Конечно всегда можно обойтись и без дедупликации. Тогда большие объёмы не нужны.

Совет:
Не используйте одну плашку памяти. Да, вы можете купить сразу один модуль оперативной памяти скажем на 16GB и вставить его в один слот, но тогда вы лишитесь двух канального или в случае 4 слотов, четырех канального режима работы оперативной памяти. Разделив же 16GB на 4 планки оперативной памяти по 4гб. вы получите прирост производительности за счет того что процессор может обращаться к каждой плашке по отдельности распределяя нагрузку между каналами памяти.

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

У ребят в теме, я думаю, уже давно зреет один вопрос. Почему Atermiter X79 Turbo? Есть же просто Atermiter X79, нафига тебе это Turbo? Отвечаю, это же ТУРБО, а значит работает в 1000000 раз быстрее.

Жалкий Atermiter X79 без приписки TURBO.

Ладно, это шутка. Думаю вы уже поняли по красному кружочку на фотокарточке выше причину выбора Turbo. Количество SATA портов. У нашего «турбированного» образца их 6, а у обычного 4. Это довольно важный критерий выбора материнской платы. Количество жестких дисков которое вы сможете подключить. Чем больше, тем лучше. Если вы не доверяете Дедушке Али и его непонятным брендам типа HUANAN и Atermiter, а хотите собирать свой сервер на комплектующих от «нормальных брендов» и без доставок через пол мира, так же обращайте на количество SATA портов очень пристальное внимание. Даже если у вас всего 4 жестких диска на руках, есть вероятность, что вам захочется подключить больше. Ходят конечно слухи о картах расширения, но я таких зверей не встречал. Хотя картинки видел.

Видеокарта

Тут все просто, любая.

Ладно не любая, критериев не так уж много, но они важны:

1. Разъем подключения к материнской палате. Да, знаю весьма очевидно, но когда вы пойдете на металлоприемку и по тегу «видеокарта» поставите цену от самых дешёвых до самых дорогих вы можете увидеть в начале списка динозавров на AGP. Обращайте на это внимание. В моем случае разъем на материнской плате PCI Express, соответственно карту выбираем выбираем с таким типом подключения. Вы же выбираете под тот разъем который у вас.

2. Разъем подключения к монитору. Скорее всего, если у вас не старый монитор, то там HDMI. Да всегда можно докупить переходник например с DVI, но оно вам нужно? В прочем если цена на видеокарту будет особенно «вкусной» то можно и с переходником.

3. Не такой критичный критерий выбора как первые два, но все же. Пассивное охлаждение. Проще говоря, отсутствие вентилятора на карте. Это прежде всего не создает шума и страхует вас от поломки кулера. Кусочек железки прикрученный к плате сломать весьма проблематично.

Видеокарта вам потребуется только для первоначальной установки программного обеспечения, делать это без монитора немного сложновато =).

Если ваш процессор имеет встроенное видео ядро можно обойтись без видеокарты.

Охлаждение и блок питания

Не буду особенно подробно останавливаться на этом пункте, отмечу лишь пару нюансов.

В случае если вы решитесь пойти по моему пути LGA2011 обратите внимание на то что не каждый куллер подойдет под этот сокет. Есть варианты, что добрый Дядюшка Али положит вам переходное кольцо для крепления. Или не положит, тут уж как повезет, в любом случае при выборе куллера смотрите на поддерживаемые им сокеты.

Совет:
Всегда старайтесь подключать ваши корпусные кулеры к материнской плате, а не к блоку питания напрямую. Подключив их напрямую, они будут молотить всегда на 100% скорости создавая кучу шума. Используйте реобас, в случае если на материнской плате нет разъёмов или если она не умеет регулировать скорость вращения кулера, он позволит вам «подкручивать» скорость вращения кулеров делая компьютер тише.

Dexp CR-6025U добавит в вашу систему картридер, а двумя крутилками по бокам вы можете настроить скорость вращения ваших вентиляторов.

Блок питания берите новый! Чем больше у него систем защиты, тем лучше. Сервер предполагает работу 24/7 поэтому количество ситуаций когда он может принять на себя скачек напряжения и прочие ужасы жизни, кратно возрастают, в отличие от ПК который вы включили на пару часов поиграли и выключили.

Еще одним критерием выбора блока питания количество разъемов 15-pin SATA, которые будут питать ваши жесткие диски. Больше и есть запас? Наш выбор! Если не хватает, есть переходники с Molex на SATA, стоят копейки, можно использовать их.

Жесткие диски

Выбор жестких дисков полностью зависит от вашего кошелька. Да банально, но это факт. Денег мало? Идем на металлоприемку и покупаем все что плохо лежит. Денег много? Идем в магазин и покупаем Seagate Exos X16 на 10тб за 36 тысяч рублей.

Нюансов тут не так много, прежде всего как и в случае с видеокартой держим в голове факт, что не все жесткие диски имеют SATA разъем. Смотрите внимательно на это при покупке.

Есть так называемые «серверные» жесткие диски, как например все тот же Seagate Exos X16, отличие от обычных? Все банально, они рассчитаны на работу в серверах. Если совсем просто, дольше живут, но и стоят дороже. Покупать их или нет зависит от ценности и важности того что вы будете хранить на своем сервере. Супер ценная инфа? Берем серверные жесткие диски и объединяем их в RAID. Сериалы, потеря которых пройдет безболезненно? За 500 рублей с металлоприемки живой образец походит.

В случае использования TrueNas core нужно будет купить 2 жестких диска. Потому что, тот диск на котором стоит система будет вам не доступен для хранения файлов. В моем случае я использую старый жесткий диск из Playstation 3 на 80гб. под систему и 4 диска под хранилище. Да, объём системного диска не сильно важен, образ системы весит 1гб. поэтому ставить систему на крутой «терабайтник» смысла нет. Можете использовать SSD от Дядюшки Али, минимального объёма, система будет загружаться быстрее, а денег особо много тратить не придется.

Немного о программах

Как я и говорил много букв назад, я не буду рассказывать вам о том как установить/настроить софт (это тема для отдельного большого блога), но думаю, для понимания сценариев использования такого сервера будет полезно привести пару примеров.

SMB и AFP. SMB это протокол общего доступа к диску. Включаете его и на любом компьютере вашей сети появляется сетевой диск который будет доступен как обычный диск в «Мой компьютер». AFP это аналог от Apple. Диски которые будут доступны по этому протоколу можно использовать в качестве TimeMachne (пользователи Mac думаю знают что это и зачем).

Демонстрация папки SMB, как видите, проста папка, ничем не отличающаяся от обычных. Ну и да, чё пацаны, аниме?

Nextcloud это плагин который позволит вам организовать свое облачное хранилище. Доступ к которому вы можете получать из приложения на телефоне или браузера. Я его пробовал пользовать, но как-то он у меня не прижился. Если вы используете Яндекс диск (или аналоги), но не хотите доверять ваши файлы яндексу, то почему нет? Тем более вы будете свободны от подписок если вам нужны большие объёмы.

Вот так вот выглядит вкладка плагины в TrueNas core. Все просто, понятно и на русском.

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

Торрент в хроме! Во до чего эти ваши технологии дошли!

Plex это ваш домашний онлайн кинотеатр. Почему именно Plex? Его приложение можно установить на любую микроволновку, телефон, телевизор, ТВ приставку. Естественно есть и Web интерфейс. Поддержка субтитров так же в наличии.

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

Заключение

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

Лучшие комментарии

Я бы хотел внести несколько добавлений от себя.

Производительный проц, это конечно, хорошо. Но тот же 2650v2 — хоть и стоит копейки и дури в нем полно, но производительность для дома, мягко говоря, избыточная а TDP приличный. Перебарщивать тут смысла нет. Я бы, для тех, кто задался целью собрать домашний сервак, смотрел на камни сильно попроще и холоднее. Например 2630l v1|2|3. Под них и материнки есть формата DTX, чтобы собрать компактную систему. Но самый топ для домашних NAS и «гаражных» компов, на текущий момент, это 1260l. Он холодный, достаточно производительный для «бытовых» нужд, со встроенной графикой и под «обычный» сокет 1155. У меня домашний NAS без проблем крутится на E3400, правда и пользуется только как фйалойвая помойка (smb, ftp).

С выбором БП надо быть очень аккуратным. HDD очень чувствительны к качеству питания. Самый дешман брать категорически нельзя. Увлекаться «топовыми» блоками, конечно, тоже не стоит, но все защиты по току в блоке должны быть и емкость выходных конденсаторов по выходу 12V и 5V должна быть приличной. Ну и сами эти кондеры должны быть вменяемые. Не дешманские ChengX и им подобные. (Основной силовой банки это не так сильно касается). Тут при выборе придётся серьёзно покопаться в обзорах и потратить дополнительно денег — но это важно. Диски нынче недешёвые. Хотя, по нынешним временам, можно взять и SSD. У них с требованием к питанию попроще всё.

В охлаждении крайне желательно использовать вентиляторы от 120мм (даже на охлаждении ЦП. Особенно хорошо, если у них и максимальные обороты до 1500. В сочетании с реобасом (тут можно обратить внимание на дешвые китайские трехпозиционные, как правило, этого достаточно) — всё это работает долго и, что немаловажно, тихо. При этом ещё и создает какой-никакой воздушный поток.

Блог действительно полезный. Если кто вдруг считает, что такое ему не надо, подумайте ещё раз. Если есть важные лично вам данные — это очень полезная штука. На фоне цен на восстановление информации (и это если таковая операция будет в принципе возможна), даже недорогая.

Ну и напоследок, для примера, как это компактно можно собрать (на самом деле тупо похвастаться, хотя, по большому счету, это уже дрова во многих смыслах)

https://images.stopgame.ru/uploads/images/212476/form/2022/08/22/65962e9b17386f092b8f5038892bb391.jpg
https://images.stopgame.ru/uploads/images/212476/form/2022/08/22/951a1e5448ba4059f1ec488ce823b5a9.jpg

Да, полностью согласен со всем выше сказанным. И правда, как минимум про TDP надо что нибудь сказать. Я просто когда начал писать этот блог, подумал, ну сейчас пару строк накидаю, расскажу в основном че да как, а оно все пишется, пишется, букв становится уже как-то неприлично много, а сказать по каждому пункту ещё так много надо, поэтому я остановился в какой-то момент, пробежал глазами, увидел что основное было сказано и нажал заветное опубликовать. И писал все чисто под новичка, я потому что по себе помню, когда залетал в эту тему, видел статьи в которых куча терминов, непонятно каких слов и автор со стороны выглядит как профессор магических наук, а ты сидишь такой ээээ куда вставлять sata, порты кончились =) чтооо, мне надо платить 150р сверху в месяц моему провайдеру что бы мы с друзьями могли играть в Майнкрафт, мамочки… И да, маскировка под ящик зачёт, особенно кнопка понравилась, ну и слюни попускал конечно на пурпурные вэдешки.

Я тут могу лишь оперировать своим опытом, до переборки, стоял huanan x79, когда я его увидел впервые, это жесть, компоненты все во флюсе, припой растекщийся, радиатор на мосту не прикручен… Я думал оно вообще не заведется, однако 3 года он отслужил работая 24/7, пока месяц назад дома не выключили свет и когда свет вернулся, к несчастью, ни блок питания, ни хуанан признаков жизни не подали… Сейчас вот пришел этот Atermiter, в плане сборки вопросов ноль, все чисто, красиво, встроенный бипер, экранчик с пост кодами все дела, буду смотреть как он в деле. Вообще, в идеале, если просто хочется попробовать, собирать первый сервак надо из всего что плохо лежит, 775, 478 (хотя ладно, 478 наверное уже не подойдёт), бульдозеры от Amd и так далее. Дальше уже смотреть, если как писал комментатор выше, надо только smb/ftp, то можно сидеть как есть, там какая-то супер мощность не нужна, если уже захочется поднимать свои сервера контры, Майнкрафта, делать суперзащищенное хранилище, вешать камеры наблюдения, а тот же Plex будет перекодировать видео для 5 устройств сразу, ну тут уж при маленьком бюджете только Xeon и вот эти вот платы от дяди Али

Наверно всё-таки дедупликация, а не дуплекация. Вот только зачем он в простенком домашнем NAS’е — не понятно. Этож надо ещё ECC оперативную память ставить. Много памяти. В то время, как без дедупликации хватит и 2 гигов.
На домашем NAS’е, в основном, хранятся фильмы, картинки, дистрибы игр. А они уже в сжатом формате. Так что и сжатие особо не нужно.

Домашний NAS хорошо поднять на чём-нить энергоэффективном, тихом и дешевым. Например, у меня в качестве файлопомойки используется SoC со встроенным процом J1900. Там даже куллер пассивный. И стоит куда меньше.

TrueNas core для домашнего NAS’a тоже избыточен. XigmaNAS, OpenMediaVault или Xpenology — наше всё.

Вообще я считаю что полезно было бы упомянуть что и просто старый комп с парой б/у hdd(берём б/у ведь у нас есть какая-никакая защита от потери данных в виде RAID, но всё же стараемся убитые не брать) вполне пойдёт как сервер для неискушенного пользователя. Ну и я вот вроде показал что я шарю, но на самом деле нет, и потому хочу спросить: как думаете стоит ли собирать сервер на стареньком i5 2400(4 ядра 4 потока, частоты 3.2 ГГц или типа того) и с 8 Гб памяти DDR3(не помню даже в одно- или двухканале), или слабоват будет?

Отсуствие нормально продува внутри корпуса. Между левым кулером и стеной, не больше 3 см, эффективность выдува «крайне мала» как и вероятность «фаер резиста» — крайне мала.

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

Содержимое комода вызывает вопросы в целесообразности. Zotac nforce 610i-itx, socket 775 fsb 1333, ddr2, msata через переходник в качестве системного диска, второй диск 5400 под файлы, БП так не узнаю и отсуствие проводного сетевого подключения. То есть Вы как и автор темы, где-то получили мать+проц и скорее всего msata(это у нас сейчас называется бюджет «шоколадка, пачка чипсов и бутылка тархуна), купили приличный hdd и блок питания, запихнули это все в непродуваемый комод и сейчас сливаете туда файлы с wifi, потому что неуправляемый гигабитный свитч это не для нас. Хотите я Вам, просто за стоимость доставки, отправлю Chieftec BA-01B-B-B-OP?

Не думайте, что я стараюсь Вас обидеть, Вы можете сколько угодно творить любую ерунду, с любым оборудованием, но выкладывать и хвастаться этим — моветон ей-богу.

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

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

Материнская плата, которой нет в обычных магазинах: citilink, dns, и прочее. Выйдет из строя, и где будете искать замену на сокете 2011-x? Ждать с алиэкспресса от 3х недель или покупать за оверпрайс(в среднем +2000 рублей от цены с алиэкспресс) на авито? Рискованный подход для сервера, который работает 24/7/365. Про платы расширения для увеличения количества подключаемых дисков Вы пошутили я надеюсь, потому что иначе Ваша инженерность трещит по швам.

Видеокарта, тут спорный вопрос, конечно в идеале она нужна только 1 раз, при первичной установке операционной системы, если конечно все по плану пойдет. При современных ценах придется выложить минимум 1500 — 2000 рублей, сомнительная трата «на один раз». Вообще странно, Вы советуете процессор, в котором нет встроенной видеокарты, а потом пишите «Если ваш процессор имеет встроенное видео ядро можно обойтись без видеокарты.»

Вообще странно, что Вы не пишите нормально про охлаждение, про блок питания и главное ПРО корпус. А тут много нюансов, начиная от количество HDD, заканчивая расположением БП и длиной кос c Sata-питанием. «главное, чтобы новый был» — сомнительный совет, выбирая между новым Aerocool KCAS и б\у Chieftec с «металлоприемки» или авито, я выберу Chieftec.

Жесткие диски. О, тут Вы завернули адище какое-то. «Нет денег на новый идите покупайте б/у» — написать такое мог только очень глупый человек, при условии, что БП нужно обязательно новый ибо надежно. Прописная истина — хочешь НАДЕЖНО хранить данные — покупай НОВЫЕ диски и делай резервное копирование. Опять же некорректно написано про TrueNas «не нужно купить 2 жестких диска», а нужно рассчитывать, что ОДИН диск будет использоваться под операционную систему, а ОСТАЛЬНЫЕ диски для хранения файлов. А, да, покупать SSD с алиэкспресса это тоже сомнительный совет, надежности там чуть-чуть.

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

В целом статья непонятно зачем нужна, какая-то каша из советов по подбору комплектующих и сборке ПК, а также кусочков информации об использовании домашних NAS’ов и хранении/резервном копировании файлов.

Без всяких оскорблений, я надеюсь, что Вы инженер не в сфере IT.

Всем добра и хороших выходных.

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

x79 + DDR3 в 2022 году это палеонтология какая-то. Почему не x99 + DDR4, бегло нагуглил материнскую плату altermiter x99 turbo d4, она стоит на 800 рублей дешевле, чем то, что предлагает автор. С оперативной памятью та же история, плюс можно найти плату, которая умеет в ECC и non ECC.
А TrueNas Вы выбрали потому что там файловая система ZFS(«архивирование», дедупликация — нужные вещи для файлопойки и медиапроигрывателя)? А добавлять диски/разделы в существующий пул можно? Год назад было нельзя.
Советовать покупать реобас для домашнего сервера, без указания даже примерного количество корпусных вентиляторов — глупость несусветная.
HDD на 80Гб из консоли использовать под ОС на домашнем сервере, Ж — надежность. Вы так хорошо писали про сокеты, оперативную память, но не слова про параметры HDD: скорость вращения шпинделя, черепичную запись, парковку головок и SMART в целом.

Ошибку исправил, спасибо. Ну а касательно раздела, имеется ввиду раздел железо? Ну туда только авторы могут, если я правильно все понимаю, с советующей редактурой и факчекингом. Я то так, рядовой пользователь. Вообще, что называется «интересно» писать, особенно на игровом ресурсе, про железо можно. Интересные рубрики замутить и так далее, ну и гайды естественно, но если гайд/совет написать можно и не имея этого самого «железа» (следующий блог как раз сделаю гайдом такого плана), то вот рубрики которые подразумевают тест игр, уже без этого самого «жедеза» не напишешь, а железо надо либо покупать, что сразу делает бюджет одной статьи неприлично большим, либо как-то выходить на магазины или вендоров, что хрен знает как делается. Не, конечно, на просторах интернета можно найти все тесты, но какой смысл тогда этой статьи, пересказ? В любом случае, спасибо за пожелания, мне правда приятно =)

Начнем с конца, если Вы гуглили о sata-pci контроллерах, то мое опасение, что вы IT’шник испарилось, я выдохнул, спасибо. Едем дальше:
Ваш выбор комплектующих не только исбыточен, они еще вдобавок устарели и продаются за оверпрайс. Хотите избыточности, пожалуйста пишите об актуальном железе и указывайте сразу цены.
Теперь HDD и БП. Придержите челюсть, я выберу 5-7 летний Chieftec с авито, чем новый Aerocool, Exegate, Foxline, и весьма неожиданно, Thermaltake. Потому что я им не доверяю, и покупать раз в 2 года БП не входит в мои планы, пусть даже стоит он до 3 000 рублей. А вероятность, что за «ужаренный Chieftec» умрет и заберет с собой к примеру HDD гораздо ниже, чем хлопок или просадка KCAS’ов по питанию CPU. А вот HDD действительно нужно брать только новые, абсолютно без разницы, что будет на них лежать «Улицы разбитых фонарей», Дом-2 или все фильмы Rocco Siffredi, внезапная потеря данных это всегда неприятно, если Вы с этим не согласны, значит диски у Вас не умирали.

Видеокарта. Тут Вы правы, я не сверился с ценами, сейчас даже gt210 silent можно купить за 1000 рублей.

А теперь самое главное. Если цель Вашей статьи не гайд как собрать и использовать домашний медиасервер, а рассказать людям, какой он у Вас уже есть и как Вы его сделали, то зачем столько ненужных подробностей: серверные процессоры и материнские платы с Алиэкспресс, что-то про память и ее объем, покупка дисков и бп — пишите просто, было вот это, вот это пришлось купить, вот эту ОС поставил, вот так использую, вот фото и скриншоты как пруфы. И сразу набегут те, кому нужен гайд, И Вы напишите этот гайд и будете молодец!

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

Наверное, комментарий про платы расширения был к тому, что платы PCI — SATA на рынке уже лет так дцать, а на современных PCI слотах они размещают по 4 SATA III без потерь. Не говоря уж от PCI Raid картах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *