🛠️ Етапи реалізації проєкту
В межах інженерного експерименту було спроєктовано та реалізовано автономну відмовостійку серверну інфраструктуру типу Self-Hosted Edge Node на базі мобільної архітектури ARM64.
Нижче наведено технічний стек та детальний перелік впроваджених інженерних рішень.
1. Системне середовище та ініціалізація (OS & Lifecycle Management)
- Контейнеризація без Root: Як базове операційне середовище розгорнуто Termux — ізольований простір користувача (user-space) Linux, який функціонує на базі системних викликів ядра Android без необхідності отримання Root-прав.
- Автоматизація життєвого циклу (Init System): Реалізовано запуск сервісів через надбудову
Termux:Boot. Створено завантажувальні скрипти, які перехоплюють системну подіюBOOT_COMPLETED, автоматично ініціалізують демони та запобігають переходу процесора в режим глибокого сну (Wakelock). Це гарантує підняття сервера після раптового перезавантаження пристрою.
2. Вебстек та СУБД (LNMP Stack Optimization)
- Асинхронний Вебсервер (Nginx): Налаштовано
nginxдля обробки статичного контенту та проксіювання динамічних запитів. Оптимізовано параметриworker_processesтаworker_connectionsпід архітектуру процесора Cortex-A53. - Процесинг Динаміки (PHP-FPM): Розгорнуто пул процесів
php-fpm. Комунікацію між Nginx та PHP-FPM переведено на швидкі Unix-сокети (unix:/var/run/php-fpm.sock) замість TCP-сокетів, що мінімізувало затримки на рівні мережевого стека всередині пристрою. - Реляційна СУБД (MariaDB): Розгорнуто сервер баз даних
mariadbd. Налаштовано рушійInnoDBз оптимізацією буферів (innodb_buffer_pool_size), що дозволило базі даних активно використовувати оперативну пам’ять пристрою як кеш і мінімізувати прямі операції читання з флеш-пам’яті.
3. Мережева інфраструктура, Безпека та Маршрутизація
- Захищений тунель (Cloudflare Tunnel): Для розв’язання проблеми динамічного IP та перебування сервера за натівським фаєрволом провайдера (CGNAT) впроваджено демон
cloudflared. Створено стійкий зворотний тунель (Reverse Tunnel) до Edge-мережі Cloudflare. - Криптографічний захист: Маршрутизація трафіку здійснюється через захищений протокол TLSv1.3. Реальна IP-адреса та геопозиція мобільного сервера повністю приховані від зовнішнього сканування.
4. Автоматизація бекапування (Disaster Recovery & Cron)
- Планувальник задач (Cron): Увімкнено службу
crondдля періодичного виконання фонових завдань. - Скрипт резервного копіювання (Bash): Написано кастомний автоматизований скрипт
backup.sh, який щоночі о 03:00 виконує такі операції:- Експортує консистентний зліпок бази даних за допомогою сучасної утиліти
mariadb-dump. - Архівує файлову структуру WordPress за допомогою утиліти
tarзі стисненням. - Здійснює автентифікацію в хмарі за допомогою OAuth2-токенів та синхронізує архіви з Google Drive через
rclone. - Проводить ротацію резервних копій у хмарі, автоматично видаляючи файли, старіші за 14 днів, для оптимізації дискового простору.
- Експортує консистентний зліпок бази даних за допомогою сучасної утиліти
5. Навантажувальне тестування та телеметрія (Benchmarking)
- Стрес-тест HTTP (ApacheBench): Проведено серію запусків
abз конфігурацією до 3000 загальних запитів та високим рівнем конкурентності (c=100). Виявлено та задокументовано вплив локального мережевого інтерфейсу (Loopback overhead) при тестуванні “всередині” системи проти чистого тестування з окремої хост-машини. - Стрес-тест СУБД (mysqlslap): Проведено синтетичне навантаження на MariaDB для перевірки паралельної обробки важких потоків SQL-запитів. Зафіксовано продуктивність на рівні ~247 RPS та виявлено часові просідання (з 1.7 до 5.8 сек), викликані апаратним захистом ядра Android від перегріву (Thermal Throttling).
- Тест дискової підсистеми (I/O Benchmarking): За допомогою утиліти
ddіз прапором синхронізаціїconv=fdatasyncвизначено чисту швидкість послідовного запису накопичувача (140 MB/s), що підтвердило використання архітектури пам’яті типу UFS 2.1.