Новости

Установка, настройка і синхронізація часу в CentOS 7

  1. Час на сервері CentOS 7
  2. Установка і настройка часу в CentOS 7
  3. Установка і настройка часового поясу в CentOS 7
  4. Налаштування сервера ntp в CentOS 7
  5. Онлайн курс "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 / messages |  grep ntpd

# Cat /var/log/ntp.log

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 місяців, після чого успішні випускники курсу зможуть пройти співбесіди у партнерів. Перевірте себе на вступний тест і дивіться програму детальніше по.

Допомогла стаття? Є можливість віддячити автора

Чому важливо, щоб в системі було правильне час?
Допомогла стаття?

Уважаемые партнеры, если Вас заинтересовала наша продукция, мы готовы с Вами сотрудничать. Вам необходимо заполнить эту форму и отправить нам. Наши менеджеры в оперативном режиме обработают Вашу заявку, свяжутся с Вами и ответят на все интересующее Вас вопросы.

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: