Привіт всім! Пройшло вже досить багато часу з моменту оприлюднення першої частини цієї статті: «Невелика серверна, вдома 🏡👨🏻💻», тож саме час розповісти вам про мій досвід використання сервера HPE ProLiant DL560 Gen8 для задоволення моїх навчальних потреб, а також для роботи над моїми проєктами.
Віддалене керування й адміністрування
Одною з переваг використання серверного обладнання рівня підприємства є наявність вбудованих інструментів для віддаленого управління ними. Наприклад, у серверах виробництва компанії HP Enterprise
присутній фірмовий IP-KVM
модуль під назвою “HPE Integrated Lights-Out
” (скорочено - “HPE iLO
”), а також інші вбудовані утиліти, доступ до яких можна отримати під час запуску сервера. Вони, усі разом, дозволяють керувати серверами лінійки ProLiant
на 100% віддалено, згадуючи про їх фізичне місцезнаходження лише у разі виявлення модулем HPE iLO
проблем із замінними частинами сервера.
Серед засобів керування серверами HPE ProLiant, окрім iLO
, можна виділити HPE Smart Storage Administrator
(засіб для управління системою зберігання даних і RAID-контролерами) і HPE Intelligent Provisioning
(засіб для керування усіма підсистемами сервера, оновлення прошивок, тощо). Їх огляд заслуговує окремої статті від професійних користувачів таких систем, і таких матеріалів у відкритому доступі є доволі багато.
Для мене можливість віддаленого керування сервером є вкрай необхідною, бо я більшість часу проводжу у Львові, у той час як сервер знаходиться у іншому місті, звідки я родом. Крім неможливості розміщення такого обладнання у студентському гуртожитку, є ще одна, не менш важлива причина такого віддаленого розташування моєї “домашньої лабораторії”: якість і швидкість доступу до мережі Інтернет. У іншому місті, я маю стабільний гігабітний канал, у той час як у Львові на силу отримую до 50 МБіт/сек з максимально можливого тарифного плану «до 100 МБіт/сек» від державного інтернет-провайдера, ДП «УАРНЕТ». Але, давайте не будемо говорити сьогодні про погане 🙂!
Віртуалізація середовища
На сервер було інстальовано актуальну версію апаратного гіпервізора VMware ESXi 7
. Одразу ж виникає питання: нащо використовувати пропрієтарне рішення, якщо є вільне програмне забезпечення під назвою “Proxmox
”? Вся справа у моїх особистих вподобаннях і тому, що в ESXi
зручніше реалізована можливість “прокидування” фізичних накопичувачів та PCIe
-пристроїв у віртуальні машини, в той час як у середовищі Proxmox
для цього потрібно дещо “потанцювати з бубном” (хоча, можливо, за цей час щось таки змінилося, і такий функціонал вже доступний “з коробки” 🤔 - треба буде перевірити).
Також, для роботи з
ESXi
існує зручний мобільний застосунок “vSphere Mobile Client
“ (так, він дозволяє під’єднання окремих ESXi-серверів, без прив’язки до контроллеруvSphere
).
З іншого боку, Proxmox
“з коробки” має підтримку LXC
-контейнерів, і, якщо трошки “погратися” з терміналом, на ньому можна розгорнути Docker
-хост.
Використання Docker-контейнерів
Використовувати Docker
для налагодження і тестування своїх проєктів я став вже достатньо давно, тож на новопридбаному сервері я одразу розгорнув віртуальну машину під Ubuntu
, на якій інсталював саму платформу, а також Portainer
— GUI
для зручного управління Docker
-контейнерами. Хтось може поставити під сумнів швидкодію такого рішення, але для моїх невимогливих потреб цього достатньо.
Під Docker
у мене працюють кілька інстансів СКБД (MariaDB
) для різних проєктів, Jenkins
і його агенти побудови, та контейнери для тестування моїх проєктів. Все це економить мій час і нерви. Наприклад, якщо щось зламається всередині окремого контейнера, не треба буде турбуватися про можливі пошкодження чутливих даних з інших сервісів. Навіть не згадую про старий-добрий Jenkins
😏.
Віртуальні машини для навчання
У ході кожного семестру навчання на Факультеті електроніки та комп’ютерних технологій ми знайомимось з різними технологіями і програмним забезпеченням, яке покликане cпростити нашу роботу. Зараз, наприклад, ми вивчаємо процеси програмування і налагодження мікропроцесорних і мікрокомп’ютерних систем на прикладі Infineon/Cypress PSoC
і Raspberry PI/NVIDIA Jetson Nano
відповідно. А перед тим будували електронні схеми у середовищі NI MultiSim
, використовували OriginLab OriginPro
для аналізу отриманих даних, тощо.
З часом такого програмного забезпечення може накопичитись надто багато, що уповільнюватиме роботу ноутбука чи персонального комп’ютера (на прикладі моїх одногрупників і загалом студентів нашого факультету). Мені ж така проблема не страшна, бо кожного семестру я створюю дві нові віртуальні машини, назвемо їх ubuntu-education
і windows-education
, перед тим видаляючи старі дві. Це дозволяє не тільки не засмічувати основну робочу “машину”, але й надавати доступ до згаданого програмного забезпечення своїм друзям і одногрупникам.
Віртуальні машини для роботи
Для над проєктами мною було створено дві віртуальні машини: одна на базі Ubuntu 20.04
, інша — на базі Windows Server 2019 LTSC
. На кожній з них встановлено необхідний мінімум для розробки і тестування програмного забезпечення, який здебільшого складається з IDE
від компанії JetBrains
і платформи Visual Studio Code
. На ці дві віртуальні машини припадає більшість ресурсів серверної платформи, бо я часто граю у багатозадачність, тож вони мають витримувати одночасну роботу двох IDE
, вебпереглядача, ну і два-три запущених у режимі зневадження програмки.
Ubuntu Server на всі випадки життя
Ніколи не знаєш, у який несподіваний момент тобі треба буде підняти щось на старому-доброму Apache
, чи запустити якусь програмку, яка точно не може працювати у контейнері (наприклад, якщо вона утилізує «особливі» системні виклики, або ж її швидкодія у контейнері буде неприйнятною). Саме тому я тримаю на сервері ще й таку віртуальну машину на базі Ubuntu Server 20.04
. На ній встановлено Apache
і всі основні сервіси, які можуть стати у пригоді.
На тому Apache
, до речі, розгорнуто динамічне і статичне (в залежності від потреби) реверс-проксіювання деяких портів (HTTP
, WebSockets
, тощо) деякого діапазону IP
адрес локальної мережі, у якій знаходиться сам сервер. Це зроблено для зручного тестування вебзастосунків. Доступ до «динамічних портів» (вживаю трішки неправильне формулювання, тож сподіваюся, що ви мене за це пробачите 🙂) можна отримати з доменних імен у зоні *.int.sirkadirov.com
.
Загальні враження від використання
Використання вживаного сервера HPE ProLiant DL560 Gen8
як основної робочої станції виявилося досить цікавим для мене, і, що найголовніше, жодних проблем з ним за час використання не виникало. До того ж, магазин Servak, у якому я його купляв, надає розширену гарантію на сервер і його запчастини — ще менше приводів хвилюватися через можливі поломки і проблеми з його використанням.
Ще одною несподіванкою стало те, що до нього стабільно «приходять» оновлення прошивок, серед іншого — для IP-KVM
модуля; для RAID
-контроллера; для мережевих адаптерів; для інших замінних частин сервера.
Що ж, зважаючи на свій досвід використання такого рішення, зі впевненістю можу сказати, що воно ідеально підійде для використання малим бізнесом і такими ж “ентузіастами” як я сам 😅. Головне — перед прийняттям рішення про придбання подібних серверів рівня підтриємства, необхідно зважити усі “за” і “проти”, і мати розуміння, що адміністрування такого “заліза” у деяких рисах дуже відрізняється від звичайних комп’ютерів і робочих станцій.
Відеоогляд HPE ProLiant DL560 Gen8
Довгий час я стежу за YouTube-каналом “MyPlayHouse”
, де автор, Morten Hjorth, розглядає різні “залізячні” цікавинки. Раджу вам підписатися на його канал, і, за можливості й бажання, підтримати автора за допомогою платформи Patreon
.
Замість завершення
Дякую, що дочитали цю статтю до кінця! Сподіваюся, що вона була для вас цікавою. Хотілося б почути вашу думку щодо неї, та й ідеї на тему того, якими можуть бути наступні статті з цього циклу. До нових зустрічей 😉!