Pull to refresh

Green server для PET-проектов на базе Raspberry Pi – начало

Reading time 3 min
Views 7.9K

История этого проекта началась в 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

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

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

Tags:
Hubs:
+4
Comments 32
Comments Comments 32

Articles