Orange Pi 5 - мини компьютер, домашние облако и что можно сделать. (Часть 1)

Мир движется вперед, устройства уменьшаются в размерах, и статья о том как можно при небольших затратах иметь под рукой довольно много мощности, что бы делать проекты быстрее. Нашел для себя SBC Orange PI 5 и постарался описать какие бонусы можно получить от использования. "Мясо" в конце статьи.

Работаю разработчиком и довольно часто бывает нужны какие то сервисы локальные под рукой, что то дорогого покупать не хотелось, арендую обычно когда выкатываю к заказчику. Подумал поискать где можно хранить нужные для разработки, хранения и демонстрации сервисы (сайты, API и другое) . Наткнулся я на очень миниатюрное и экономичное решение, это SBC - single-board computer, одноплатные компьютера. Из того что хотелось бы это побольше памяти и ядер (потоков) процессора, а тут бонусом еще и миниатюрность, возможность легко перевозить, работать от power bank в случае необходимости.

В процессе анализа рынка я находил разные решения, начиная от популярных Raspberry Pi 4, до мало известных Khadas Vim4, который я брал летом и продал осенью потому что подумал что цена для него высоковата, в сравнении с другими устройствами.
Требования у меня были примерно такими:
1) 8+Гб оперативной памяти (желательно DDR4, 1666 и выше)
2) 4+ ядра (хотелось бы х86/х64, с arm64 и другими не работал, но готов исследовать)
3) Наличие подключения для SATA или NVMe дисков.
4) Возможность собрать несколько устройств в единый класстер.
5) Возможность легко перевозить и настраивать.

Посмотрев разные варианты мне на глаза в ноябре попался Orange Pi 5 RK3588S, который стал доступен по предзаказу в официальных магазинах производителя. В мои пожелания он укладывался и даже очень.
Детальную спецификацию можно посмотреть на сайте производителя, но тут я укажу основные параметры которые меня подкупили.
SOC — Rockchip RK3588S
CPU — 8-core 64-bit processor, 4xCortex-A76 (2.4GHz) and 4xCortex-A55 (1.8GHz)
RAM — 4GB/8GB/16GB /32GB(LPDDR4x)
GPU — Arm Mali-G610 MP4 + HDMI2.1, up to 8K @60Hz
Drive — M2 M-Key, USB 3.1 x2 и множество других подключений.
Цена: 8781 THB (около 16000 рублей за две штуки с доставкой)

Заказал в ноябре и о чудо, 20 декабря пришли две платы Orange Pi 5 16Gb Ram.
Заказал в ноябре и о чудо, 20 декабря пришли две платы Orange Pi 5 16Gb Ram.

Приехал доставщик Fedex c таможенной бумажкой к дому, на месте заплатил +7% Тайский таможенный налог за ввоз. (около 700 бат) . Упаковано было не очень, просто коробка, внутри плата и инструкция, но все доехало в целости.

Почитав инструкцию по использованию нашел как установить операционную систему и запустить. На официальном сайте доступны несколько ОС, я выбрал обычную Linux Ubuntu 22.04 с рабочим столом xfce.

Скачал образ Ubuntu 22 и через balenaEtcher залил образ на SD карту. Процесс там элементарно простой, выбрать образ, выбрать куда, нажать запуск, дождаться окончания и вот флеш карта с системой готова. Далее остается ее вставить в единственные подходящий порт, подключить монитор и питание. У меня есть переносной монитор 17", подключил его по HDMI, вставил кабель USB-C и нажав кнопочку пошли моргать светодиоды. Красный что устройство включено и зеленый когда идет работа.

Набрав пару команд можно посмотреть параметры, Linux Jammy Orange Pi 5 5.10 rk-3588
Набрав пару команд можно посмотреть параметры, Linux Jammy Orange Pi 5 5.10 rk-3588

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

stress --cpu 4 
stress --cpu 4 

При нагрузке 4х потоков тепмература повышается до 70 градусов, (при дневной +32) это с учетом небольшого радиатора 25х25мм. С охлаждением я еще что нибудь придумаю, на текущий момент охлаждается довольно быстро, если нагрузка не постоянная. При обычной работе до 10% процессора около +5-8 градусов к комнатной температере. Потребление 5V 0.4-3.7A зависит от нагрузки.

Теперь перейду к основному, для чего я взял, в ОС которую я поставил уже установлен Docker для использования контейнеров (маленьких приложений) , управлять им через CLI командную строку не особо удобно и я поставил Portainer. Ставится просто двумя командами
«docker volume create portainer_data»
«docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest»
более подробно тут
далее открываем порт https://ip_address:9443/ и видим интерфейс для работы с контейнерами Portainer (при первом входе попросит создать пароль)

orange pi 5 linux jammy aarch64 docker portainer
orange pi 5 linux jammy aarch64 docker portainer

Для тех кто знает из чего состоит докер все будет относительно понятно, volume — места для хранения, network — настройки сети, images — образы, containers — непосредственно сами контейнеры, запущенные инстансы образов с настройками и stacks — система конфигураций, для запуска нескольких контейнеров с широким спектром возможностей (например маштабировать — реплецировать сервисы, сайты, API и т.д).

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

список запущенных сервисов в Portainer
список запущенных сервисов в Portainer

Пока что немного в догонку, я попробовал поставить gitlab-ce, minio S3, postgre, nginx, gitlab-runner c alpine. (docker-compose для gitlab-ce aarch64) Надо помнить что система на архитектуре aarch64 и не все приложения смогут запуститься. Но мир движется к тому что бы многое стало доступнее. В портейнере есть шаблоны для запуска Wordpress, Joomla, Drupal, Rabbit MQ, MySQL, ELK (elasticsearch) и другого.

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

minio S3
minio S3

Моя следующая цель позапускать через pipeline сборку приложений, для начала .Net Core C# (asp mvc, web api), а потом попробовать собрать игру Unity3d и запустить серверную часть внутри кубера с балансировкой игроков.

Напишите в комментариях, интересна ли вам статья? , что еще вы бы хотели попробовать, проверить, посмотреть? на Orange Pi 5.
Буду рад вашим вопросам, пожеланиям и предложениям.

55
5 комментариев

не проще ли купить vds, < https://cloud.timeweb.com/?i=5602 >? Вы же не робота собираете, зачем физический машину показывать.

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

2

Как прошли тесты машинки? Какие-то уже выводы?) А то вот себе тоже хочу прикупить.

А вы сравнивали быстродействие с каким-нибудь мобильным процессором ?
Потянет система на этой плате не нагруженный форум, как пример, или годится только для тестовых сайтов ?