AlmaLinux Server: налаштування, безпека, автоматизація

Сервер зазвичай ламається не в момент встановлення, а в перші тижні: пропущені оновлення, слабкі доступи, ручні операції замість автоматики. Ми налаштовуємо AlmaLinux під ключ — від розмітки диска та служб до резервних копій і перевірок. Замовник отримує стійку систему та передбачуваний час відновлення після збою.
Часті запитання

Встановлення Alma Linux: де ламається типовий сценарій розгортання

Встановлення Alma Linux виглядає лінійним: образ, кілька екранів, перезавантаження. Проблеми майже ніколи не проявляються в цей момент — вони спливають через місяці, коли сервіс уже в продакшені, а переграти розділи й права на живій системі нічим.

Найдорожче місце — розмітка дисків під час встановлення. Сценарій «увесь диск під один кореневий розділ» залишає без запасу /var і /var/log: переповнення журналів або зростання бази виводять з ладу всю систему.

Розмітка з LVM і окремими томами під /var, /var/log, /home та дані сервісів дає змогу розширювати потрібний том без простою, а знімок перед оновленням повертає попередній стан за хвилини.

Друге джерело збоїв — початкова конфігурація linux-сервера. Встановлення «під root із паролем по SSH» та вимкнений SELinux економлять годину на старті, але потім вимагають ручного розбору доступу під час кожного нового інженера.

Розмежування прав через sudo-політики, вхід за ключами, обмеження портів і коректні контексти SELinux дають зрозумілий журнал змін.

Налаштування сервера з нуля майже завжди страждає від одного й того самого: оновлення та резервні копії відкладаються «до стабілізації».

У підсумку система живе на застарілих пакетах, а точка відновлення існує лише в теорії — повернення після збою перетворюється на проєкт на кілька днів замість однієї процедури.

Типові помилки встановлення сервера рідко пов’язані з дистрибутивом: їхнє джерело — у порядку кроків: розмітка, права, оновлення, копії. Нижче розбираємо, як це закривається на кожному кроці.

Що дає підготовлений сервер: час, стійкість, контроль

На підготовленому вузлі AlmaLinux роль керування конфігурацією розгортає базовий шар повністю: розмітку дисків, набір пакетів, служби, правила доступу та параметри журналювання.

Сервер входить у роботу за години, а не за дні ручних правок, а наступний вузол піднімається за тим самим описом — розбіжності між машинами залишаються в межах версії ролі, а не в пам’яті адміністратора.

Частка ручних операцій падає завдяки розкладу: оновлення безпеки, ротація журналів, продовження сертифікатів, перевірка вільного місця та стану служб відбуваються без входу на кожен вузол.

Інженер займається відхиленнями, а не повторенням одного й того самого сценарію, і рутина перестає залежати від того, хто сьогодні на чергуванні.

Окремо закривається клас відмов, який зазвичай доходить до користувачів: переповнений розділ, сертифікат, у якого минув термін дії, служба, що впала без перезапуску, конфігурація, що розійшлася з еталоном.

Порогові перевірки, автоматичний перезапуск і оповіщення до моменту деградації переводять такі випадки в планову роботу — сервіс залишається доступним, а розбір іде за метриками, а не за скаргами.

Контроль стану тримається на метриках, журналах і активних перевірках доступності: видно не лише «вузол відповідає», а й запас за диском, час відгуку, довжину черги завдань.

Завдяки цьому планові роботи зводяться до перемикання трафіку, а не до простою, і стан кожного сервера можна перевірити, а не описати словами «наче працює».

Варіанти встановлення: ручне налаштування, образ, автоматизація

Розгорнути сервер AlmaLinux можна трьома способами, і вибір між ними визначається не смаком інженера, а розміром парку та вимогами до повторюваності конфігурації.

За одного-двох вузлів ручне встановлення сервера залишається швидким і передбачуваним; за десятків машин важливіша не швидкість першого складання, а те, наскільки однаково поводяться вузли після нього.

Варіант Коли підходить Обмеження
Ручне встановлення сервера Одиничний вузол, нестандартна роль, разове завдання Конфігурація живе лише в записах інженера, розбіжності між вузлами виявляються пізно
Встановлення з підготовленого образу Типові ролі, швидке введення вузла в роботу, однакові середовища Зміни після розгортання вносяться окремо, і за ними потрібно стежити
Автоматизоване розгортання Парк зростає, потрібна повторювана конфігурація сервера Потребує підтримуваних описів стану: помилка тиражується на всі вузли

Де закінчується автоматизація

Межі в неї теж є. Опис стану потрібно підтримувати в актуальному вигляді, інакше повторювана конфігурація сервера сама стає джерелом розбіжностей між середовищами.

Уже працюючі вузли, налаштовані вручну, переселяємо поступово: спочатку переносимо їхній стан в опис, потім звіряємо поведінку і лише після цього виводимо з експлуатації.

Тому ми зазвичай починаємо з одного еталонного вузла — доводимо його до робочого стану, фіксуємо результат і вже потім тиражуємо на решту.

Етапи робіт: від аудиту інфраструктури до передачі сервера

Кожен крок спирається на вимірювання, а не на припущення: спочатку фіксуємо, як система працює зараз, потім проєктуємо цільову конфігурацію і лише потім змінюємо. Так під час розбору інциденту видно, що змінювалося і навіщо, а відкат стає прорахованою дією, а не імпровізацією.

  1. Аудит інфраструктури — знімаємо інвентар: які служби реально слухають порти, що встановлено поза штатними репозиторіями, де залишилися старі ядра та незакриті облікові записи. Знімок стану (список пакетів, розділи, правила фільтрації, конфіги) кладемо в систему контролю версій — це база для звірки після робіт.
  2. Схема конфігурації сервера — узгоджуємо розкладку розділів і томів, розміщення даних, схему резервних копій та вікна обслуговування. Схема фіксується до правок, щоб зміни не перетворювалися на ланцюжок випадкових рішень.
  3. Налаштування — оновлення системи, режим мандатного контролю з точковими політиками замість вимкнення, правила фільтрації трафіку, вхід за ключами, обмеження прав служб, ротація журналів і автоматичне встановлення оновлень безпеки.
  4. Автоматизація — повторювані ролі описують сервер як код: розгортання однаково відтворюється на другій і третій машині, а ручні правки відходять у минуле.
  5. Перевірка після налаштування — звіряємо факт зі схемою: відкриті порти, склад пакетів, права на каталоги, запуск служб після перезавантаження.
  6. Тестування відновлення — розгортаємо копію на окремому стенді й проходимо сценарій повного відновлення: скільки зайняло, що довелося робити руками, які кроки не описані.
  7. Передача сервера в супровід — схема, порядок типових операцій, доступи, регламент відкату та точки контролю передаються разом із сервером.

Що замовник отримує після встановлення й налаштування сервера

Готовий сервер — це не лише запущені сервіси, а й комплект артефактів, за яким систему можна обслуговувати без автора налаштування.

Після встановлення й налаштування AlmaLinux передаємо пакет документів і конфігурацій у структурованому вигляді: усе, що стосується доступу, зберігання даних і відновлення, описано так, щоб новий інженер розібрався за документом, а не за пам’яттю колег.

  • Схема інфраструктури — склад вузлів, мережі, точки виходу назовні, залежності між сервісами; за нею одразу видно, що відмовляє разом із чим.
  • Документація на сервер — призначення кожної служби, розміщення даних, шляхи до журналів, шаблони типових операцій і порядок їх виконання.
  • Політики доступу й права — ролі, розмежування привілеїв, правила підключення адміністраторів, порядок надання й відкликання доступу під час зміни співробітника або підрядника.
  • Регламент резервного копіювання — що копіюється, з якою частотою, де зберігаються копії та на який строк, як перевіряється цілісність і хто відповідає за перевірку.
  • Інструкція з відновлення сервісу — покрокове підняття з копії з контрольними точками, щоб завдання виконав черговий, а не лише людина, яка налаштовувала систему.
  • Конфігурації — файли налаштувань під керуванням системи версій: зміна проходить перевірку, а не правку на живому сервері, і відкочується до попереднього стану.
  • Пороги моніторингу — які показники під наглядом, за яких значень надходить повідомлення і куди воно йде.

Комплект залишається у вас і не прив’язаний до нас: роботу за ним продовжить будь-який інженер. Передачу проводимо розбором — проходимо документами разом із вашою командою, щоб питання закривалися на місці.

Кейс: як скоротили час відновлення сервера після збою

Замовник прийшов із різнорідним господарством: частина сервісів жила на різних системах, налаштування зберігалися в нотатках адміністратора, резервні копії знімалися вибірково. Після відмови диска вузол піднімали вручну — фактично заново згадували, як він був зібраний.

Відновлення займало від сорока п’яти хвилин до години, і весь цей час частина запитів користувачів завершувалася помилкою.

Що змінили

Ми перевели сервіси на AlmaLinux й описали конфігурацію вузлів як код: стан сервера лежить у системі контролю версій, а сам вузол збирається з нього повторювано, без «доопрацювань на місці».

Ролі рознесли за призначенням — веб, база, кеш — щоб машини одного типу не відрізнялися одна від одної. Резервні копії стали регулярними, а відновлення раз на тиждень перевіряємо на тестовому вузлі, а не довіряємо успішному коду повернення.

Моніторинг налаштовано на попередження: про деградацію диска або нестачу пам’яті черговий дізнається раніше за користувачів.

Що стало з метриками

Час відновлення вузла скоротився із сорока п’яти — шістдесяти хвилин до семи: розгорнути з образу й застосувати конфігурацію.

Кількість інцидентів, що доходили до користувачів, упала з шести-восьми на місяць до одного-двох, і ті частіше пов’язані із зовнішнім постачальником, а не з інфраструктурою. Відкат до попереднього стану займає хвилини й не потребує ручної правки файлів на живому сервері.

Налаштування під веб-проєкт і під базу даних: у чому різниця

Різниця починається з профілю навантаження. Серверу під веб-проєкт важливі кількість одночасних з’єднань і передбачувана робота обробника запитів, серверу під базу даних — дисковий ввід-вивід і обсяг пам’яті під кеш сторінок. Однакові налаштування для обох сценаріїв упираються в різні вузькі місця.

За спільного розміщення ролі конкурують за одні ресурси: сплеск трафіку піднімає навантаження на диск, і запити до бази чекають у черзі. Тому розділення ролей серверів — перше питання під час вибору конфігурації сервера. Ми ставимо AlmaLinux на обидва типи вузлів, але політики й ліміти для них прописуємо різні.

Режими обслуговування сервера теж різняться. Веб-вузол за балансувальником виводиться з ротації й оновлюється без простою, а вузол бази потребує керованого перемикання на репліку та регламенту резервного копіювання з перевіркою відновлення.

На практиці обирають одну з трьох схем розміщення.

Варіант Коли підходить Обмеження
Усе на одному вузлі Невеликий проєкт, помірний трафік Ролі ділять ресурси, оновлення бази зупиняє сайт
Веб-вузол і сервер бази окремо Продакшн із постійним навантаженням Дві точки адміністрування та мережа між ними
Веб за балансувальником, база з реплікою Високий трафік, вимоги до доступності Складніший супровід і контроль узгодженості

Вибір не бінарний: схему визначають вимоги до доступності та характеру навантаження. Для невеликого проєкту достатньо одного вузла з роздільними пулами, при зростанні виносимо базу на окремий сервер, а веб — за балансувальник.

Технічні сумніви: оновлення, доступи, перенесення сервера

До старту інженерна команда замовника зазвичай перевіряє три речі: як оновлюється ядро без вікна простою, як переїжджає вже працюючий сервер і як розмежовані права. Нижче — прямі відповіді; порядок дій фіксуємо в регламенті до першої правки на бойовому контурі.

Оновлення йдуть хвилями: спочатку тестовий контур, потім бойовий, з можливістю відкату до попереднього стану. Критичні правки безпеки ставимо поза чергою, планові — за узгодженим циклом.

Права видаємо через ролі, а не загальним паролем адміністратора, і з першого дня вмикаємо збір метрик з оповіщеннями — інакше збій помічають за скаргою користувача, а не за сигналом моніторингу.

Як оновити ядро без простою?

На AlmaLinux короткі оновлення застосовуються на льоту, без переривання сервісів. Коли оновлення потребує повного перезавантаження, трафік переводимо на другий вузол, перезавантажуємо, перевіряємо й повертаємо назад — недоступність триває менше хвилини. Порядок і тригери відкату описані заздалегідь.

Чи можна перенести вже працюючий сервер?

Так, без перескладання з нуля: знімаємо зліпок файлової системи, переносимо дані й конфігурації, піднімаємо сервіси в тестовому режимі та звіряємо поведінку з вихідною.

Перемикання трафіку — на короткому відрізку, старий вузол залишається гарячим резервом, поки новий не підтвердить навантаження.

Як розмежовуються права доступу?

Ролі збираємо під завдання: адміністратор, черговий, розробник, сервісний обліковий запис. Підвищені права видаються за правилами й лише на потрібні команди, вхід під суперкористувачем закритий, ключі персональні. Усі дії потрапляють до журналу, доступ відкликається у разі зміни ролі.

Обговоримо завдання: надішлемо план робіт і схему конфігурації

Щоб повернутися з оцінкою робіт з інфраструктури, а не із загальними словами, нам потрібен мінімум ввідних: поточний стан серверів і те, що ви хочете отримати на виході.

Опишіть завдання — уточнювальні питання поставимо самі, а відповіді зведемо в план впровадження з етапами та орієнтовними строками.

  • Інвентаризація вузлів: скільки машин, де розміщені (власна стійка чи хмара), яка гілка AlmaLinux і як оновлювалася досі.
  • Профіль навантаження: які сервіси працюють, скільки одночасних підключень у піку, чи потрібен відмовостійкий контур із кількох вузлів із балансуванням.
  • Вимоги безпеки: хто і як заходить на сервери, чи є зовнішній контур, власні правила щодо ключів, паролів і журналювання дій.
  • Копії та відновлення: що критично, який простій допустимий, чи є окреме сховище під резервні копії та чи перевірялися вони відновленням.
  • Обмеження: вікна обслуговування, коли не можна чіпати бойовий контур, хто приймає результат і за якими критеріями.
  • Доступи: тимчасовий ключ або окремий обліковий запис з обмеженими правами на період робіт.

У відповідь надсилаємо схему конфігурації під завдання — ролі вузлів, розбиття дисків, мережеві зони, права користувачів, регламент оновлень і копій — і план впровадження з точками приймання.

Старт робіт по серверу йде з тестового стенда: піднімаємо конфігурацію, перевіряємо оновлення ядра й відкат, і лише після цього переносимо на робочі машини. Обговоримо завдання — повернемося з оцінкою та планом.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1393
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1368
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    815
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1139