Новости
- Час на сервері CentOS 7
- Установка і настройка часу в CentOS 7
- Установка і настройка часового поясу в CentOS 7
- Налаштування сервера ntp в CentOS 7
- Онлайн курс "DevOps практики і інструменти"
Для нормального функціонування сервера потрібно коректно налаштувати поточний час і його своєчасне оновлення з певною періодичністю. Як правильно провести зміну часового поясу в centos в разі його зміни або невірного вказівки під час установки - одна з тем цієї статті. Також я торкнуся питання установки і використання утиліти разової синхронізації часу ntpdate і налаштування сервісу точного часу ntp.
Якщо у вас є бажання навчитися будувати і підтримувати високодоступних і надійні системи, рекомендую познайомитися з онлайн-курсом «DevOps практики і інструменти» в OTUS. Курс не для новачків, для вступу потрібно пройти.
Дана стаття є частиною єдиного циклу статтею про сервер Centos .
Час на сервері CentOS 7
Під час установки CentOS вам обов'язково пропонується налаштувати поточний час, вказати тимчасову зону, в якій знаходиться машина. За замовчуванням інсталятор бере час з bios і пропонує його відкоригувати. Хтось під час установки не надав цьому значення і не відкоригував годинник, хтось помилився у виборі часового поясу. Так само популярна ситуація, коли сервер орендується закордоном, там вже встановлена система і її налаштування часу та часового поясу не відповідають необхідним. Все це можна виправити після установки, я детально про все розповім. Але почнемо з найпростішого.
Чому важливо, щоб в системі було правильне час? Причин може бути декілька:
- Для коректного логування подій тієї чи іншої служби. Наприклад, у вас в мережі стався якийсь інцидент і ви його розслідуєте. Зручно, коли час на всіх машинах мережі однакове, це спрощує перевірку і зіставлення різних дій.
- Можуть виникнути проблеми з роботою в доменній середовищі windows, якщо у вас істотно розрізняються дані внутрішнього годинника. Це актуально, якщо у вас файловий сервер centos інтегрований в доменну мережу windows. Користувач в певний момент не зможе отримати доступ до файлів, якщо час сервера перевищить допустиме відхилення від контролера домену (більше 5 хвилин). Це пов'язано з особливістю роботи протоколу аутентифікації Kerberos.
- На вашому сервері може розташовуватися web хостинг з сайтами, в яких зазначено час публікації матеріалу. Якщо годинник сервера не збігатимуться з тимчасової зоною основної аудиторії, то можуть виникати курйозні моменти, коли відвідувачі побачать статті, опубліковані в майбутньому. Так само некоректно буде працювати статистика, заснована на аналізі логів apache або nginx.
- Ви використовуєте планувальник cron в своїй роботі. Для коректної і передбачуваною роботи запланованих подій дата і часовий пояс на сервері повинні бути налаштовані правильно.
Щоб уникнути проблем в подібних ситуаціях, займемося налаштуванням часу, дати та часового поясу.
Установка і настройка часу в CentOS 7
Насамперед перевіримо поточну дату і час на сервері за допомогою команди date:
# Date Mon Aug 10 17:40:05 MSK 2015 Mon день тижня, в даному випадку понеділок Aug 10 місяць серпень, 10-е число 17:40:05 поточний час годинник: хвилини: секунди MSK часовий пояс 2015 поточний рік
Щоб вручну налаштувати правильний час, потрібно скористатися командою з додатковими параметрами:
# Date MMDDhhmm
Тут MM - місяць, DD - число, hh - годину, mm - хвилини. Таким чином, щоб змінити дату на 9 серпня, 16:45 виконуємо в консолі:
# Date 08091645 Sun Aug 9 16:45:00 MSK 2015
Щоб дізнатися поточний час без урахування часового поясу, тобто час по UTC, можна скористатися наступним ключем команди date:
# Date --utc Mon Aug 10 15:03:14 UTC 2015
У висновку бачимо час відносно нульового меридіану, без поправок на часовий пояс. Після установки коректного часу переходимо до налаштування часового поясу.
Установка і настройка часового поясу в CentOS 7
Як вже було показано раніше, щоб дізнатися в якому часовому поясі знаходяться системні годинник сервера centos, необхідно скористатися командою date. У нашому випадку timezone вказана як MSK. Це загальновизнане скорочення для годинної зони Московське час (Moscow Time). Якщо у вас вказано інший часовий пояс, а ви хочете встановити московську тимчасову зону, то вам потрібно виконати наступні процедури:
Оновити системний список часових поясів tzdata за допомогою yum:
# Yum -y install tzdata
Зробити резервну копію поточної timezone:
# Mv / etc / localtime /etc/localtime.bak
Знайти в каталозі / usr / share / zoneinfo / необхідну тимчасову зону. У нашому випадку це файл Moscow в папці Europe.
Встановити символьне посилання на вказаний файл timezone: # ln -s / usr / share / zoneinfo / Europe / Moscow / etc / localtime
Все, часовий пояс успішно змінений. Після установки часу і часового поясу можна переходити до налаштування синхронізації годин.
Способів синхронізації часу в centos існує як мінімум два:
- ручний за допомогою утиліти ntpdate
- автоматичний за допомогою сервісу ntp
Розглянемо спочатку варіант ручної одноразової синхронізації за допомогою програми ntpdate. Вона дозволяє разово синхронізувати локальне час з еталонним сервером часу в інтернеті. Подібних еталонів існує безліч. Ми для прикладу скористаємося одним з них - pool.ntp.org
Запускаємо синхронізацію часу:
# Ntpdate pool.ntp.org 10 Aug 19:27:34 ntpdate [24141]: step time server 83.143.51.50 offset 48.649431 sec
Утиліта провела синхронізацію, в результаті якої до мого системного часу було додано 48.6 секунд для наближення до еталонного. Якщо в результаті роботи синхронізації ви отримуєте помилку: no server suitable for synchronization found то спробуйте в роботі утиліти використовувати непривілейований порт. За замовчуванням ntpdate працює по 123 порту. Якщо він закритий на фаєрволі, то допомогти в синхронізації допоможе наступний параметр:
# Ntpdate -u pool.ntp.org
Якщо у вас запуск ntpdate завершується помилкою - the NTP socket is in use, exiting, значить у вас вже встановлена і запущена служба ntpd, яка зайняла необхідний udp порт, необхідний для роботи ntpdate. Установкою і налаштуванням цієї служби ми і займемося далі.
Налаштування сервера ntp в CentOS 7
Сервер часу ntp використовує в своїй роботі однойменний протокол - Network Time Protocol, якому для роботи необхідний UDP порт 123. Так що перед установкою і налаштуванням служби часу переконайтеся, що на фаєрволі відкритий цей порт.
Встановлюємо сервер ntp:
# Yum -y install ntp
Тепер відредагуємо файл конфігурації /etc/ntp.conf, видаливши все зайве:
# Cat /etc/ntp.conf driftfile / var / lib / ntp / drift restrict default nomodify notrap nopeer noquery restrict 127.0.0.1 restrict :: 1 server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp .org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst disable monitor logfile /var/log/ntp.log Параметр Опис server Список серверів для синхронізації часу driftfile Задає адресу файлу, в якому зберігається історія змін часу під час синхронізації. Якщо з якихось причин синхронізація часу з зовнішніми джерелами стане неможлива, служба часу змінить системний годинник відповідно до записів в цьому файлі. restrict 127.0.0.1 Вказує, що користуватися нашим сервером часу можна тільки безпосередньо з локального інтерфейсу. Якщо вам необхідно дозволити іншим комп'ютерам у вашій локальній мережі синхронізувати час з поточної машини, то вкажіть в даному параметрі адресу вашої мережі, наприклад: restrict 192.168.10.0 mask 255.255.255.0 restrict default nomodify notrap nopeer noquery Параметри вказують на те, що клієнтам даного сервісу часу заборонено змінювати його налаштування, отримувати його статус. Вони можуть тільки забрати з нього значення точного часу. disable monitor Даний параметр підвищує безпеку, запобігаючи використання однієї з вразливостей сервісу ntpd, яку можна використовувати для проведення DDoS атак. logfile Вказує шлях до файлу з логами сервісу
Після завершення редагування файлу налаштувань запускаємо службу синхронізації часу:
# Systemctl start ntpd
Перевіряємо запустився чи сервер:
# Netstat -tulnp | grep 123
Все в порядку, служба слухає покладений порт 123. Перевіримо ще на всякий випадок системні логи centos:
# Cat / var / log / messages | grep ntpd
# Cat /var/log/ntp.log
Все в порядку, сервер запущений і повністю готовий до роботи.
Тепер налаштуємо автозапуск ntp разом із завантаженням centos:
# Systemctl enable ntpd
Спостерігати за роботою служби ntp можна за допомогою команди ntpq -p:
Що означають всі ці дані:
remote
Адреса віддаленого еталона часу, з якого була синхронізація refid Вказує, звідки кожен еталон отримує точний час. Це можуть бути інші сервера часу, система GPS і інше st Stratum (рівень) це число від 1 до 16, яке вказує на точність еталона. 1 максимальна точність, 16 - сервер недоступний. Рівень вашого сервера буде дорівнює рівню найменш точного віддаленого еталона плюс 1. poll Інтервал в секундах між опитуваннями reach Вісімкове уявлення масиву з 8 біт, що відображає результати останніх восьми спроб з'єднання з еталоном. Біт виставлений, якщо віддалений сервер відповів. delay Час затримки відповіді на запит про точний час offset Різниця між вашим і віддаленим сервером jitter Дисперсія (Jitter) - це міра статистичних відхилень від значення зсуву (поле offset) за кількома успішним парам запит-відповідь. Чим менше значення дисперсії, тим краще, оскільки дозволяє точніше синхронізувати час.
Підіб'ємо підсумок опублікованого матеріалу. Ми розглянули практично всі, що пов'язано з часом на сервері CentOS. Та й не тільки на ньому, вся інформація в статті актуальна практично для будь-якого Linux дистрибутива. Ми навчилися встановлювати час, зміна часового поясу синхронізувати час за допомогою ntpdate і налаштовувати сервер часу ntpd в локальній мережі.
Нагадую, що дана стаття є частиною єдиного циклу статтею про сервер Centos .
Онлайн курс "DevOps практики і інструменти"
Якщо у вас є бажання навчитися будувати і підтримувати високодоступних і надійні системи, навчитися безперервної поставки ПО, моніторингу та логування web додатків, рекомендую познайомитися з онлайн-курсом «DevOps практики і інструменти» в OTUS. Курс не для новачків, для надходження потрібні базові знання з мереж і установці Linux на виртуалку. Навчання триває 5 місяців, після чого успішні випускники курсу зможуть пройти співбесіди у партнерів. Перевірте себе на вступний тест і дивіться програму детальніше по.
Допомогла стаття? Є можливість віддячити автора
Чому важливо, щоб в системі було правильне час?Допомогла стаття?