Czy muszę uruchomić ntpd w mojej instancji EC2?

42

Pracuję nad uruchomieniem niektórych serwerów w środowisku EC2 i zauważam pewne błędy przy próbie synchronizacji ntpd (przy użyciu CentOS).

Czytałem na tej stronie i mam wrażenie, że nie muszę uruchamiać ntpd, ponieważ EC2 to Xen, a host zajmuje się czasem serwerów wirtualnych.
http://support.ntp.org/bin/view/Support/KnownOsIssues

Czy to jest dokładne, czy muszę wymyślić, jak obejść występujący błąd?
cap_set_proc () nie upuścił uprawnień roota.
Wygląda na to, że wymaga zbudowania nowego jądra i innych rzeczy, których wolałbym nie robić, jeśli nie muszę.

Ahanson
źródło

Odpowiedzi:

2

Nie powinieneś. Zegar instancji EC2 zostanie zsynchronizowany z Xen Dom0. Możesz to sprawdzić, sprawdzając, czy zawartość /proc/sys/xen/independent_wallclockwynosi 0.

Kamil Kisiel
źródło
2
Nie mogłem znaleźć czegoś takiego. Czy te informacje nadal obowiązują?
Kariem
8
@Kariem: Nowsze jądra mają /sys/devices/system/clocksource/clocksource0/current_clocksource, patrz komentarz poniżej.
intgr
4
Dla mnie / sys / devices / system / clocksource / clocksource0 / current_clocksource zawiera „xen”, ale czas na komputerze jest wyłączony o kilka minut.
akostadinov
1
Czas jest często zły w usłudze AWS. Nie jest nawet jasne, czy ich serwery w ogóle się synchronizują.
Ken Sharp
1
Ugryzają mnie również instancje Ubuntu EC2. W celu odniesienia w przyszłości zaleciłbym skonfigurowanie ntp dla amatorskich wersji Amazon Linux.
Daryl Teo,
72

Tak, musisz uruchomić ntpd.

Mój zegar był wyłączony o 18,5 sekundy w mikro instancji EC2 (z systemem Ubuntu UEC Maverick) z 5-dniowym czasem bezawaryjnym.

Po wyłączeniu i ponownym uruchomieniu wszystko wróciło do normy, więc wydaje się, że istnieje pewien dryf.

Nawiasem /sys/devices/system/clocksource/clocksource0/current_clocksourcemówiąc xen, dzieje się tak pomimo powiedzenia . Nie jestem pewien, dlaczego to nie działa.

Zainstalowanie pakietu ntp rozwiązało problem. Zegar pozostaje dokładny i w dzienniku systemowym nie ma niczego podejrzanego, co mogłoby wskazywać na konflikt z synchronizacją zegara Xen. (Używa ntp.ubuntu.com jako swojego serwera. Nie jestem pewien, czy w sieci AWS jest serwer NTP, którego mógłbym użyć, ale serwer Ubuntu na razie poradzi sobie dobrze).

Aktualizacja: Niedawno zauważyłem, że w moich (nowszych?) Instancjach zegar pozostaje dokładny automatycznie, bez uruchamiania ntp. Sądząc po komentarzach, wydaje się, że nie dotyczy to wszystkich, więc prawdopodobnie najlepiej jest na wszelki wypadek użyć NTTP.

Jo Liss
źródło
8
Właśnie zauważyłem kilka minut dryfu w jednym z moich serwerów, w którym /sys/devices/system/clocksource/clocksource0/current_clocksourcejest ustawiona na xentak dobrze
jberryman
3
sysctl Independent_wallclock nie został zaakceptowany w górę dla jąder pvops. Nowsze jądra (być może 2.6.24 i nowsze) zachowują się jak niezależny zegar ścienny == 1. Zatem jedynym rozwiązaniem jest użycie NTP.
akostadinov
3
Ten post zawiera komentarz (podobno) członka personelu AWS, który mówi, że EC2 nie synchronizuje zegarów, dlatego powinieneś uruchomić NTP. forums.aws.amazon.com/thread.jspa?messageID=364749
Dan Pritts
2
... także pula ntp.org ma kilka serwerów specyficznych dla Amazon: forums.aws.amazon.com/message.jspa?messageID=312682 - Dan Pritts 15 lutego o 22:21
Dan Pritts
1
właśnie miałem przesunięcie czasu o> 5 min w instancji ec2 micro z / sys / devices / system / clocksource / clocksource0 / current_clocksource == xen
Moritz
8

Uruchamiamy instancje systemu Linux ec2 od małych do bardzo dużych i właśnie sprawdziłem, czy są zsynchronizowane.

Wszystkie serwery działały z demonem NTTP łączącym się z pulami specyficznymi dla Amazon.

server 0.amazon.pool.ntp.org iburst
server 1.amazon.pool.ntp.org iburst
server 2.amazon.pool.ntp.org iburst
server 3.amazon.pool.ntp.org iburst

Być może nie miało to miejsca przed błędem. Chciałem tylko upewnić się, że ktokolwiek natknie się na to w przyszłości, ma aktualne informacje.

Zach
źródło
1
Instancje Linux EC2 są domyślnie skonfigurowane z ntp.
Daryl Teo,
2

Musisz skonfigurować ntpd we wszystkich instancjach. Jeśli nie masz czasu serwerów będzie zacząć dryfować.

Musisz zezwolić UDP 123 na publiczny internet, zgodnie z opisem w podręczniku użytkownika w części Konfigurowanie protokołu czasu sieciowego .

Jeśli twoje instancje znajdują się w VPC, możesz poświęcić instancję jako serwer NTP, ujawnij ją tylko w Internecie i pozwól innym zsynchronizować się z nią.

jonatan
źródło