CentOS Nastavenia dátumu a času, zóny, synchronizácia s NTP

V tomto článku vám poviem, ako nastaviť čas, dátum a zmeniť časové pásmo v systéme Linux CentOS, ako synchronizovať čas so serverom NTP a opraviť bežné chyby..

obsah:

  • Hwclock: nastavenie času hardvéru (systému)
  • Manuálne nastavenie času v CentOS
  • Nastavenie časového pásma v systéme CentOS
  • Konfigurácia časovej synchronizácie NTP v systéme CentOS
  • Na synchronizáciu času v CentOS 8 používame chronyd
  • Časté chyby pri nastavovaní času v systéme CentOS

Na serveroch sú dva druhy hodín. Hardvér (hodiny v reálnom čase), ktorý funguje, aj keď je server vypnutý, a softvérové ​​hodiny operačného systému. Hodnoty týchto dvoch hodín sa môžu líšiť. V tomto prípade po spustení operačného systému sú softvérové ​​hodiny založené na údajoch o hardvéri a môžu byť upravené systémom..

Prevažná väčšina programov využíva pri svojej práci hodiny softvéru..

Hwclock: nastavenie času hardvéru (systému)

Nástroj používaný na kontrolu času hardvéru v systéme Linux hwclock:

  • hwclock - miestny čas - kontrola hardvéru bez korekcie
  • hwclock --utc - kontrola času s podmienkou, že hardvérové ​​hodiny sú v UTC

[root @ server atď] # hwclock --localtime

27. novembra 2019 11:28:28 AM +06 -1,012225 sekúnd

[root @ server atď] # hwclock --utc

27. novembra 2019 05:28:30 PM +06 -0,045476 sekúnd

Ak chcete nastaviť hardvérový čas rovný systémovému času, spustite príkaz:

# hwclock --systohc

Ak chcete nastaviť konkrétny čas, postupujte takto:

# hwclock --set - dátum "27. november 2019 17:30"

Manuálne nastavenie času v CentOS

V systéme Linux je tento program zodpovedný za čas programu dátum alebo timedatectl. Ak zavoláte obslužný program dátum bez parametrov zobrazí aktuálny čas na serveri:

[root @ server atď.] # dátum

27. novembra 17:40:56 +06 2019

Ak chcete nastaviť čas ručne, môžete použiť pomôcku dátum s ďalšími kľúčmi:

# date MMDDhhmm

Kde MM je mesiac, DD je deň, hh je hodina, mm sú minúty.

Napríklad:

# date 11261740

Na získanie podrobnejších informácií o dátume, čase, zóne, synchronizácii, nastaveniach prechodu na sezónny (letný / zimný) čas (DST) sa používa obslužný program timedatectl. Poskytuje podrobnejšie informácie o nastavení času servera..

Timedatectl vám tiež umožňuje zmeniť čas:

# timedatectl set-time '2019-11-27 17:51:00'

Nastavenie časového pásma v systéme CentOS

Ak chcete, aby čas servera CentOS Linux zodpovedal vášmu časovému pásmu, môžete ho zmeniť manuálne. Na tento účel existujú dva pomocné programy:

  • timedatectl
  • tzdata

Zmena časového pásma pomocou obslužného programu timedatectl, spustiť príkaz:

# timedatectl set-timezone Europe / Moscow

Alebo môžete použiť tzdata. Ak chcete použiť túto metódu, musíte súbor nahradiť / etc / localtime tomu, čo potrebujete. Celý zoznam časových pásiem sa nachádza v adresári / usr / share / zoneinfo /. Zmeňte časové pásmo na Ázia / Almaty. Vytvorte zálohu súboru locatime:

# mv / etc / localtime /etc/localtime.bak

Vytvorte symbolický odkaz na požadované časové pásmo:

# ln -s / usr / share / zoneinfo / Asia / Almaty / etc / localtime

Konfigurácia časovej synchronizácie NTP v systéme CentOS

Na svojom serveri môžete nakonfigurovať automatickú synchronizáciu času s externým serverom NTP (Network Time Protocol). Nainštalujte službu ntp. Napríklad na serveri CentOS 7 sa inštalácia vykonáva cez yum:

# yum install ntp -y

Po inštalácii musíte spustiť službu ntpd a pridať ju k spusteniu:

# systemctl start ntpd.service
# systemctl enable ntpd.service

Skontrolujte, či je služba spustená:

[root @ server Asia] # service ntpd status

Presmerovanie na stav / bin / systemctl ntpd.service ● ntpd.service - Sieťový čas načítaný: načítaný (/usr/lib/systemd/system/ntpd.service; povolený; predvoľba dodávateľa: vypnutý) aktívny: aktívny (beží) od Thu 2019-11-28 09:47:33 +06; Pred 5 min. Hlavná PID: 3057 (ntpd) CGroup: /system.slice/ntpd.service └─ 3057 / usr / sbin / ntpd -u ntp: ntp -g 

V súbore /etc/ntp.conf musíte zadať server, s ktorým chcete synchronizovať čas:

server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org

Časová synchronizácia sa vykonáva postupne. Ak prvý server NTP nie je k dispozícii, pristupuje sa k druhému serveru atď..

Čas môžete manuálne synchronizovať so zadaným serverom NTP pomocou príkazu:

# ntpdate 192.168.1.100

V predvolenom nastavení, ntpd zapne v systéme režim „11 minútový režim“, to znamená, že čas sa bude synchronizovať každých 11 minút. Ak nemôžete použiť démona ntpd, môžete nakonfigurovať synchronizáciu času pomocou koruny, do koruny pridajte nasledujúci príkaz:

# ntpdate pool.ntp.org

Na synchronizáciu času v CentOS 8 používame chronyd

Pre CentOS 8 odstránené z oficiálnych archívov ntp a ntpdate, preto na synchronizáciu času musíte použiť CHRONO.

Hlavné výhody chroniky:

  • vysoká rýchlosť a presnosť synchronizácie
  • správna prevádzka bez prístupu k referenčným hodinám (ntpd vyžaduje pravidelné žiadosti)
  • štandardne nemení čas synchronizácie okamžite, aby nedošlo k narušeniu činnosti programov
  • Používa menej zdrojov

Predvolený obslužný program CHRONO už máte nainštalovaný v systéme, ale ak ho z nejakého dôvodu nemáte, nainštalujte:

# dnf chronológia inštalácie

Ako každá iná služba, aj po inštalácii chronológie musíte povoliť a pridať ju do spustenia:

# systemctl start chronyd
# systemctl povoliť chronyd

Skontrolujte stav služby:

Ak chcete overiť, či synchronizácia funguje, spustite príkaz:

# timedatectl status

Služba NTP: aktívna

Konfiguračný súbor CHRONO - /etc/chrony.conf. V ňom musíte zadať zoznam serverov NTP, ktoré chcete použiť na synchronizáciu. Rovnako ako u ntp, na CHRONO existuje rozhranie príkazového riadku chronyc. Ak chcete skontrolovať informácie o aktuálnych nastaveniach synchronizácie času, použite:

# chronyc tracking

Ak chcete skontrolovať informácie o synchronizačných serveroch, spustite príkaz:

# chronyc sources

Ak chcete nastaviť konkrétny čas a dátum ručne, môžete použiť pomôcku dátum, ale predtým musíte démona deaktivovať chronyd.

Časté chyby pri nastavovaní času v systéme CentOS

V tejto časti popíšem bežné chyby, ktoré sa vyskytnú pri práci s pomocnými programami timedatectl, ntp.

Pri ručnej synchronizácii času sa môže vyskytnúť podobná chyba:

ntpdate [26214]: soket NTP sa používa a ukončuje sa

To znamená, že máte démona. ntpd, ktorá blokuje manuálnu synchronizáciu času. Ak chcete vykonať manuálnu synchronizáciu, zastavte démona ntpd:

# service ntpd stop

A reštartujte synchronizáciu:

Pri práci s obslužným programom timedatectl sa môže vyskytnúť podobná chyba:

Nepodarilo sa nastaviť čas: Automatická synchronizácia času je povolená.

Teraz musíte vypnúť automatickú synchronizáciu v samotnom nástroji timedatectl:

# timedatectl set-ntp 0

A vykonajte príkaz na nastavenie konkrétneho času:

Pri práci s časovými zónami nemusia byť nainštalované na vašom serveri a vytvoriť pre ne symbolický odkaz localtime zlyhá. Ak chcete sprístupniť časové zóny v systéme, nainštalujte obslužný program tzdata:

# yum install tzdata -y

Pri manuálnej synchronizácii sa preto často vyskytujú chyby vo formulári:

28 nov 10:12:39 ntpdate [897482]: sendto (185.217.191.98): Operácia nie je povolená

V takom prípade skontrolujte pravidlá brány firewall / iptables a uistite sa, že na vašom serveri je otvorený port UDP 123. Niektorí hostitelia synchronizácie nemusia byť v čase overenia k dispozícii..