История этого проекта началась в 2017 году, тогда я углубился в работу с NodeJS ещё и ASP.NET Core хотелось попробовать. Но использовать свой рабочий ноутбук в качестве тестового сервера с не хотелось, так как он был достаточно шумным(а хотелось возможность работы сервера 24/7), а арендовать сервер было как-то не спортивно, да и денег было жалко на PET-проекты. Изначально я планировал сделать сервер на базе старого ПК(который завалялся на полках у родителей), но шум производимый этим компьютером был достаточно сильным, чтобы мешать ночью спать. Всё поменялось когда мне подарили Raspberry Pi 2 Model B.

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


В качестве основы было взято:

  • Raspberry Pi 2 Model B(4-x ядерный ARM процессор, 1GB RAM)

  • Модем от компании Djunce(на базе ZTE MF170)

  • Корпус от роутера Asus RT-G32

  • Жесткий диск 2.5 Hitachi 500GB 3Gb/s

  • Блок питания от роутера на 10W

  • Micro SD card 16Gb class 10

  • Ubuntu Core

На фоне «главного экспоната» – можно заметить старенькую материнскую плату с 1Gb ram и 2-х ядерным процессором Intel(с пассивным охлаждением). В качестве питания использовал переходник от блока питания для ноутбука(мощности блока было достаточно).
На фоне «главного экспоната» – можно заметить старенькую материнскую плату с 1Gb ram и 2-х ядерным процессором Intel(с пассивным охлаждением). В качестве питания использовал переходник от блока питания для ноутбука(мощности блока было достаточно).

Благодаря мобильному процессору — получилось обойтись без активного охлаждения, но жесткий диск создавал небольшой шум во время работы(записи и чтения, после чего переходил в режим сна). Питание для жесткого диска было взято из блока питания, так как требовалось большая мощность, чем выдавала “малинка”.

Удивительно, но эти комплектующие, почти идеально, помещаются в коробку от старенького роутера Asus. Пришлось только немного увеличить отверстия для USB портов и разъема для питания.

Для создания сервиса по отправки СМС, был подключён модуль ZTE, со стандартными драйверами. Никаких танцев с бубном не было.

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

.Net Core не удалось запустить и после нескольких попыток стало понятно что это займёт намного больше времени чем выполнение npm install на этом же устройства(поверьте на установку пакетов уходит вечность). Зато mongoDB и Nginx — встали из коробки и работали без каких-либо нареканий(кроме скорости записи данных в базу данных).


В итоге устройство проработало около полу года. За это время удалось перепробовать множество разных программ(в числе из них plex сервер, git сервер и т.д.). Но были и критичные проблемы такие как медленная скорость работы и регулярные «отвалы» microSD карты памяти, что постоянно требовало ручной перезагрузки устройства.

Резюмирую

Преимущества:

  • Миниатюрный ПК с Linux, SSH и другими прелестями

  • Почти бесшумная работа

  • Большая комьюнити готовая поддержать и дать советы

Недостатки:

  • Жесткий диск работает через USB-порт, который совмещён с LAN-портом посредством USB-hub’а. Из-за этого скорость обмена данными замедляется

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

  • Некоторые библиотеки не имеют альтернатив под архитектуру ARM

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

  • Нестабильная работа SD карты

Стоимость этого проекта

Итого мне это всё обошлось где-то в 50 USD(“малинка”, б/у жесткий диск), с учётом того что некоторые комплектующие были дома. Конечно для удалённого доступа арендовал выделенный IP-адрес – 0.8 USD/месяц

Show must go on

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

Спасибо за внимание. И удачных вам экспериментов.

Комментарии (30)


  1. maxzabl
    28.01.2022 16:39
    +1

    Это решение намного мощнее, быстрее и титише.

    Intel NUC / Gigabyte Brix / etc ?


    1. stalko23 Автор
      28.01.2022 17:07

      Хорошие варианты, но это было бы слишком просто. Да и шума в любом случае не избежать(хотя соглашусь что его будет намного тише обычного ПК). Честно говоря были такие идеи чтобы купить Intel nuc( подержанный - дабы съекономить), но цены на них казались слишком высокими.


      1. Fox_exe
        28.01.2022 17:18
        +1

        Любой из сотен китайцев на Celeron J1900 и подобных - тут вам и пассивное охлаждение и компактный размер (Pico-ITX) и ценник в пределах 10т.р. Есть варианты без корпуса (Если есть 3D принтер - самый идеальный вариант для создания кастомного сервера под любые нужды).
        Да и потребление платки с "Селероном", как правило, не первышается 15-20W.


        1. stalko23 Автор
          28.01.2022 17:23

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

          Может есть какие-то рекомендации в какую сторону(производителя) стоит посмотреть? Главное чтобы это было не дорого(до 100$) и тихо(с пассивным охлаждением).


          1. Fox_exe
            28.01.2022 17:31

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

            Главный плюс таких железок - это "полноценный" процессор x86/x64, что позволяет запустить на нем практически что угодно. Плюс возможность дальнейшего апгрейда: Нарастить оперативку, подключить что-то по полноценному USB (Или даже usb-3.0), NVME, опять-же, можно поставить в некоторых моделях. Или расширить через него кол-во SATA портов и собрать NAS на 6+ дисков.

            Есть даже очень компактные клоны NUC'ов, полноразмерным сокетом, позволяющим менять даже процессор (Купить Celeron, со временем проапгрейдить до Core i3-5-7)

            Ну а Raspberry - это, всёже, больше про GPIO и всякие девайсы с подключением по i2c/spi/uart/и т.д.


            1. stalko23 Автор
              28.01.2022 17:40

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

              Мне в Raspberry нравится конкретно ARM процессор. Да, именно из-за него множество софта не подходит(особенно больно работать с кодированием/декодированием видео). Но теплопакет и энергопотреблене при этом очень радует. А тут ещё и Apple стимулирует рынок на переход с x86/x64 на ARM.


              1. Jury_78
                28.01.2022 18:39

                Можно еще рассмотреть б/у Тонкие клиенты - это сразу БП, корпус и много USB.


                1. stalko23 Автор
                  28.01.2022 18:53

                  Даже не думал в эту сторону. У них, наверно, на базе стразу установлен linux?

                  Ещё они должны быть готовы работать 24/7. Но не уверен что характеристику(ЦП, Память и т.д) у них будут приятные.


                  1. Jury_78
                    28.01.2022 19:43

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


      1. Lopar
        28.01.2022 17:23

        В НЮКах младших моделей нет кулеров. А в некоторых даже распаяна еММС память.
        В НЮКах младших моделей нет кулеров. А в некоторых даже распаяна еММС память.

        Шум? Его нет. Цена: $175, но это самый-самый новый, купленный в декабре.


        1. stalko23 Автор
          28.01.2022 17:25

          А что при этом у него за 175$ внутри? Я так понял что некоторые модели продаются даже без CPU/RAM/HDD - пустишка, которую самому нужно укомплектовать.


          1. ximik666
            28.01.2022 17:55
            +3

            Брал за 6.000 рублей год назад б/у.

            Intel Nuc NUC6CAYH

            Celeron J3455 (4 ядра)
            SSD SmartBuy Ignition PLUS 60 GB
            4 Gb памяти (KVR16LS11/4 4GB 1Rx8 512M x 64-Bit PC3L-12800)
            Видео Intel HD Graphics 500

            Стоит Ubuntu, Home Assistant, z2m, несколько web-приложений python, Klipper для 3д печати, Influxdb, Grafana, Elasticsearch. Никакого шума нет вообще, аптайм 240 дней, компактный. Не пожалел ни разу.

            До этого стоял Raspberry Pi 3 Model. Замучился постоянными фризами и ребутами.


            1. stalko23 Автор
              28.01.2022 19:24

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


          1. Lopar
            28.01.2022 19:14

            На фото - пустышка. Но на деле есть модель за те же деньги с 4ГБ озу, 64 гб eMMC и даже Windows 10 Home лицензионной. Просто снимать его ради фотки грустно.

            Модель: BOXNUC7CJYSAMN


            1. stalko23 Автор
              28.01.2022 19:22

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

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


              1. fshp
                29.01.2022 12:15

                1. stalko23 Автор
                  31.01.2022 11:46

                  Спасибо! Вот это уже выгладит очень даже интересно. Попробую приобрести такую штуку


      1. junari
        29.01.2022 13:57

        ТВ бокс на s905x3 (4x cortex a53 1.9Ghz) с 4gb оперативы, гигабитным портом (без всяких USB), USB3, WIFI5, BT полгода назад обошелся в 30 долларов. Также в цену входит пульт, корпус, блок питания и шнур hdmi. Умеет грузиться с жесткого диска, подключенного по USB. Установлена бомжара, полгода полет нормальный. До этого был год бокс на s905x.

        RPI избыточен для такого простого применения.


        1. stalko23 Автор
          31.01.2022 11:48

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


  1. horodchukanton
    29.01.2022 00:25

    Тоже держу домашний сервер на raspberry. Много намучился с 3B+ (перегрев и проблемы с памятью), после покупки 4B на 8Gb с металлическим корпусом осталась только одна - не знаю чем его занять (сейчас там торренты, Plex, Home Assistant, Homebridge, ESPHome, MQTT, NodeRed и Pihole). Для вот этих ширпотребных задач домашнего сервера подходит идеально, оригинального БП хватает еще и на 2.5" USB HDD

    Относительно проблем с IO microSD карты - у 4B есть полноценные USB 3.0 порты (с отдельной PCI Express шиной), можно воткнуть SSD или m.2 через переходник.


    1. stalko23 Автор
      29.01.2022 00:30

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

      По поводу PCI express шины есть нюанс, его потенциал не возможно раскрыть благодаря порту USB 3.0. В итоге максимальная скорость даже SSD NWMe будет ограниченна всё тем же интерыейсом и будет выдовать около 300 МБит/с. В любом случае это лучше чем SD карта в плане скорости чтения/записи особенно радомного и небольших файлов.

      Подскажи а какую систему используешь? Стандартную - Raspbian?


      1. horodchukanton
        29.01.2022 01:44

        Да, стандартный Raspbian Lite.


        1. stalko23 Автор
          31.01.2022 11:50

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


  1. chukov
    29.01.2022 12:01

    Мне кажется, намного удобней и надежней получить виртуалку Oracle Always Free. Намного бесшумнее и производительнее.


    1. fshp
      29.01.2022 12:14

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


      1. stalko23 Автор
        29.01.2022 12:55

        А какие характеристики виртуалки при этом предоставляли?


        1. fshp
          29.01.2022 13:56

          До этого не дошло. Зарегистрироваться не смог.


    1. stalko23 Автор
      29.01.2022 12:53

      Я пользовался бесплатными web-сервисами Azure. Это было удобно и быстро, но слишком много ограничений вплоть до лимита по аптайму в месяц(кажется до 200часов в месяц, но это не точно). Опять таки давали не виртуалку, а сервис - что такжн было не удобно в плане возможностей в использовании разного ПО.


  1. nibb13
    30.01.2022 19:42

    Хо-хо, вот так джекпот!.. Тёзка, коллега, единомышленник-техноманьяк, да ещё и одессит!

    Оставлю ссылку на свой пост по теме, не сочтите за излишнюю саморекламу.
    Как раз сейчас "переезжаем" с роутера на RPi 2 model b. 99% переезда завершено, осталось чуть-чуть скрипты поправить под новое окружение.

    Буду счастлив пересечься в оффлайне. Наше "логово" в центре, Олеши, 10.
    Техноманьячная тусовка собирается довольно часто, по вечерам.


    1. stalko23 Автор
      31.01.2022 11:55

      Шалом! Вот это совпадение. С удовольствие почитал статью и буду рад встречи. По поводу RPi2 model b - всё-таки переживаю что вашему проекту это может не подойти и начнуться бессоные ночи. micro SD карта, с которой будет происходит загрузка системы, достаточно капризна(в отличии от флеш памяти того же роутера). Что приведёт к зависаниям или же перезагрузкам.

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