Máme instanci Amazon AWS s CentOS Linux 7 (Core) . Ale možná to není specifické pro systém
Před několika dny Systémové hodiny (datum ) se začíná velmi rychle zrychlovat.
Pokud jej synchronizujeme s Hardwarovými hodinami (hwclock ), přibližně po 10–20 minutách Systémové hodiny (datum ) bude napřed o 48 sekund.And 48 secs offset is the max value
. Po několika hodinách bude také o 48 sekund napřed.
Vím, že malý posun je normální. Ale offset 48 sekund za ~10-20 minut není normální.
Také vím, že existují soubory a knihovny jako adjtimex, které mohou používat hodnotu „delta“ a upraví systémový čas
Ale v mém případě proces zrychlení se zastaví, když dosáhne ~48 sekund.
Takže, hwclock vytiskne například 12:00:00 a datum vytiskne 12:00:48
Zkusil jsem:
- Nainstalujte ntpdate a synchronizovat čas přes
ntpdate pool.ntp.org
hwclock --hctosys
pro nastavení systémového času z Hardwarových hodin. Také jsem vyzkoušelhwclock --systohc
po synchronizaci času (data) s ntpdate- Vytvořený soubor
/etc/sysconfig/clock
pomocí „HWCLOCK_ADJUST ” parametr nastaven natrue
. Také vyzkoušeno sfalse
hodnotu - Smazaný soubor
/etc/adjtime
nebo tak, který měl UTC a NULA hodnoty v něm
Ale bez štěstí.
Po synchronizaci času spustím další kód:$ while true; do ntpdate pool.ntp.org; sleep 60; done
16 Jan 15:29:45 ntpdate[20656]: step time server 129.250.35.251 offset -4.977822 sec
16 Jan 15:30:46 ntpdate[20743]: step time server 129.250.35.251 offset -5.117517 sec
16 Jan 15:31:48 ntpdate[20813]: step time server 74.117.214.3 offset -4.853926 sec
16 Jan 15:32:50 ntpdate[20890]: step time server 23.239.26.89 offset -5.583270 sec
16 Jan 15:33:51 ntpdate[20941]: step time server 74.117.214.3 offset -4.983483 sec
16 Jan 15:34:53 ntpdate[20994]: step time server 12.167.151.1 offset -5.150401 sec
16 Jan 15:35:54 ntpdate[21080]: step time server 173.255.206.154 offset -5.256357 sec
16 Jan 15:37:03 ntpdate[21155]: adjust time server 12.167.151.1 offset 0.011276 sec
16 Jan 15:38:09 ntpdate[21205]: adjust time server 108.61.56.35 offset -0.019818 sec
16 Jan 15:39:16 ntpdate[21241]: adjust time server 108.61.56.35 offset -0.285154 sec
16 Jan 15:40:18 ntpdate[21660]: step time server 108.61.56.35 offset -5.227262 sec
16 Jan 15:41:19 ntpdate[21706]: step time server 108.61.73.244 offset -5.474606 sec
16 Jan 15:42:20 ntpdate[21756]: step time server 108.61.73.244 offset -5.286961 sec
16 Jan 15:43:22 ntpdate[21791]: step time server 108.61.73.244 offset -4.808674 sec
16 Jan 15:44:29 ntpdate[21885]: adjust time server 96.244.96.19 offset -0.010287 sec
16 Jan 15:45:36 ntpdate[21952]: adjust time server 96.244.96.19 offset -0.000296 sec
16 Jan 15:46:43 ntpdate[22013]: adjust time server 96.244.96.19 offset -0.012838 sec
16 Jan 15:47:51 ntpdate[22126]: adjust time server 198.206.133.14 offset -0.347436 sec
16 Jan 15:48:53 ntpdate[22220]: step time server 198.206.133.14 offset -5.570427 sec
16 Jan 15:49:57 ntpdate[22300]: step time server 198.206.133.14 offset -5.229636 sec
16 Jan 15:50:58 ntpdate[22367]: step time server 104.131.53.252 offset -5.466987 sec
16 Jan 15:52:00 ntpdate[22407]: step time server 104.131.53.252 offset -5.298659 sec
16 Jan 15:53:01 ntpdate[22462]: step time server 104.131.53.252 offset -5.127748 sec
16 Jan 15:54:03 ntpdate[22578]: step time server 129.6.15.30 offset -5.014787 sec
16 Jan 15:55:05 ntpdate[22617]: step time server 129.6.15.30 offset -5.144181 sec
16 Jan 15:56:06 ntpdate[22694]: step time server 129.6.15.30 offset -5.436509 sec
16 Jan 15:57:08 ntpdate[22733]: step time server 96.238.43.39 offset -5.038639 sec
Kdo mi může říct, co se tady děje?
Znamená to, že Systémové hodiny funguje někdy dobře asi ~3-4 minuty?
Před těmito protokoly jsem si myslel, že se to zrychlí vždy až na 48 sekund.
Důvod, proč se protokoly netisknou každých přesně 60 sekund, protože ntpdate funguje několik sekund a po synchronizaci zapíše tento text.
Tento problém jsme vyřešili spuštěním ntpdate (ntp) jako služby pro automatickou synchronizaci data.
Jaké jsou možné důvody tohoto „náhlého gigantického zrychlení“?
Pokud se nejedná o běžný problém, požádáme o pomoc podporu Amazon.
Přijatá odpověď:
Problém byl pravděpodobně v některém z hypervizorů; mohly to být hodiny zkosené o 48s; stává se to (a není to problém pouze pro AWS)
Vyskytla se také chyba Xen, netuším, jestli to platí i v dnešní době. (nepřešel AWS na kvm?)
Amazon radí lidem, aby si nainstalovali chrony
synchronizovány s jedním z jejich serverů NTP. Podívejte se na dokumenty AWS – EC2 – Nastavení času pro vaši instanci Linuxu
Jako v:
sudo yum erase ntp*
sudo yum install chrony
Vytvořte /etc/chrony.conf
s:
server 169.254.169.123 prefer iburst
A nakonec:
sudo service chronyd start
Jedna věc, kterou lze také vyzkoušet, podle komentáře @jordanm, je zastavení/spuštění EC2 serveru. Možná budete mít štěstí a spustíte to v jiném hypervizoru bez zkreslených hodin.
Pokud tyto akce stále nevyřeší problém, otevřel bych tiket s Amazonem.