Установка і налаштування CentOS / RHEL Server під ключ

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

Встановлення CentOS Server: де ламається ручне налаштування

Розгорнути сервер з нуля здається лінійним завданням: розмітити диски, встановити пакети, підняти сервіси. Відмова настає пізніше — коли машина падає без причини, а поруч стоїть вузол, який «ставили за тією самою інструкцією», але поводиться інакше. Ручне встановлення CentOS Server майже завжди залишає по собі такий технічний борг.

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

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

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

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

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

Що змінюється в роботі сервера після вивіреної збірки

Вивірена збірка передусім видна за термінами: сервер виходить у робочий стан за години, а не за дні ручного підгону.

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

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

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

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

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

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

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

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

Варіанти розгортання: виділений сервер, віртуалізація, хмара

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

Той самий дистрибутив — актуальна гілка Red Hat Enterprise Linux або її вільний аналог — на залізі та в хмарі поводиться по-різному: відрізняється робота з драйверами, знімками стану й мережевими налаштуваннями.

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

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

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

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

Етапи впровадження: від аудиту до передачі в супровід

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

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

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

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

    Міжмережевий екран закритий за замовчуванням, правила відкривають лише потрібні порти й адреси; режим примусової ізоляції процесів увімкнено, а не вимкнено «для зручності».

  4. Розмежування прав доступу. Особисті облікові записи замість спільного root, вхід за ключами, підвищені права — через обмежений набір дозволених команд. Сервісні користувачі без оболонки, окремі ролі для застосунків, журналювання дій адміністраторів.

  5. Перевірка перед введенням в експлуатацію. Контрольний список: перезавантаження без помилок, автозапуск служб, відновлення з копії на тестовому вузлі, спрацьовування алертів, недоступність закритих портів ззовні. Перевіряємо не «сервер відповідає», а поведінку при відмові.

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

Конфігурації CentOS Server, схеми мережі та регламенти

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

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

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

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

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

Що змінили

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

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

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

Що стало

Показник До Після
Відновлення вузла після відмови 4–6 годин 15–25 хвилин
Сервери з відхиленнями від еталона близько 60% за вибіркової перевірки 0 за щоденного прогону
Введення нового сервера в роботу близько дня менше години

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

Що робити, якщо сервер уже розгорнуто й він працює

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

Шляхи різняться обсягом втручання та передбачуваністю повернення. Нижче три варіанти, між якими реально обирають на діючому вузлі під керуванням Red Hat Enterprise Linux і сумісних збірок.

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

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

Якщо вузол тримає критичний контур, спочатку піднімаємо заміну поруч і переводимо трафік, і лише потім гасимо старий.

Часті технічні сумніви щодо налаштування сервера

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

Як оновлювати систему, не зупиняючи сервіси?

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

Чи сумісне нове середовище з нашим поточним?

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

Хто і як отримує доступ до сервера?

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

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

Що буде з даними, якщо налаштування піде не так?

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

Що входить у супровід після впровадження?

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

Обговоримо завдання й повернемося з оцінкою та планом робіт

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

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

Цього набору достатньо, щоб розкласти роботи за етапами, оцінити трудовитрати й узгодити строки. Чим точніше сформульовані вимоги до доступності сервісів і вікна проведення робіт, тим менше правок на етапі встановлення CentOS Server. Опишіть завдання — повернемося з оцінкою та планом робіт.

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

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

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