Apakah saya perlu menjalankan ntpd dalam instance EC2 saya?

42

Saya sedang berusaha menjalankan beberapa server di lingkungan EC2 dan saya melihat beberapa kesalahan dengan ntpd yang mencoba menyinkronkan (menggunakan CentOS).

Saya membaca di situs ini dan kesan yang saya dapatkan adalah bahwa saya tidak perlu menjalankan ntpd karena EC2 adalah Xen dan tuan rumah mengurus waktu untuk server virtual.
http://support.ntp.org/bin/view/Support/KnownOsIssues

Apakah ini akurat atau apakah saya perlu mencari cara untuk mengatasi kesalahan yang saya alami?
cap_set_proc () gagal untuk menghapus hak akses root.
Sepertinya ini melibatkan pembangunan kernel baru dan hal-hal lain yang saya lebih suka tidak lakukan jika saya tidak perlu melakukannya.

ahanson
sumber

Jawaban:

2

Anda seharusnya tidak perlu. Jam instance EC2 Anda akan disinkronkan ke Xen Dom0. Anda dapat memverifikasi ini dengan memeriksa bahwa isinya /proc/sys/xen/independent_wallclock0.

Kamil Kisiel
sumber
2
Saya tidak dapat menemukan yang seperti ini. Apakah informasi ini masih berlaku?
Kariem
8
@ Karem: Kernel yang lebih baru /sys/devices/system/clocksource/clocksource0/current_clocksource, lihat komentar di bawah.
intgr
4
Bagi saya / sys / devices / system / clocksource / clocksource0 / current_clocksource berisi "xen" tetapi masih ada waktu pada mesin dimatikan oleh beberapa menit.
akostadinov
1
Waktu sering salah pada layanan AWS. Bahkan tidak jelas apakah server mereka menyinkronkan sama sekali.
Ken Sharp
1
Saya juga digigit oleh ini pada contoh Ubuntu EC2. Untuk referensi di masa depan saya akan merekomendasikan pengaturan ntp untuk amis Linux non Amazon.
Daryl Teo
72

Ya, Anda harus menjalankan ntpd.

Jam saya adalah 18,5 detik mati pada instance mikro EC2 (menjalankan Ubuntu UEC Maverick) dengan uptime 5 hari.

Setelah dimatikan dan mulai lagi, itu kembali normal, jadi sepertinya ada semacam penyimpangan.

Ini meskipun /sys/devices/system/clocksource/clocksource0/current_clocksourcemengatakan xen, omong-omong. Saya tidak yakin mengapa itu tidak berhasil.

Menginstal paket ntp telah memecahkan masalah bagi saya. Jam tetap akurat, dan tidak ada yang mencurigakan di syslog yang mungkin mengindikasikan konflik dengan sinkronisasi jam Xen. (Menggunakan ntp.ubuntu.com sebagai servernya. Saya tidak yakin apakah ada server NTP di jaringan AWS yang bisa saya gunakan sebagai gantinya, tetapi server Ubuntu akan melakukannya dengan baik untuk saat ini.)

Pembaruan: Saya baru-baru mengamati bahwa pada instance saya (yang lebih baru?) Jam tetap akurat secara otomatis, tanpa ntp berjalan. Dilihat dari komentar, ini tampaknya tidak berlaku untuk semua orang, jadi mungkin masih lebih baik menggunakan ntp untuk jaga-jaga.

Jo Liss
sumber
8
Saya hanya melihat beberapa menit melayang di salah satu server saya di mana /sys/devices/system/clocksource/clocksource0/current_clocksourcediatur xenjuga
jberryman
3
independent_wallclock sysctl tidak diterima di bagian hulu untuk kernel pvops. Kernel yang lebih baru (mungkin 2.6.24 ke atas) berperilaku sebagai wallclock independen == 1. Jadi satu-satunya solusi adalah dengan menggunakan NTP.
akostadinov
3
Posting ini memiliki komentar dari (seharusnya) anggota staf AWS yang mengatakan bahwa EC2 tidak menyinkronkan jam, jadi Anda harus menjalankan NTP. forums.aws.amazon.com/thread.jspa?messageID=364749
Dan Pritts
2
... juga, kumpulan ntp.org memiliki beberapa server khusus amazon: forums.aws.amazon.com/message.jspa?messageID=312682 - Dan Pritts 15 Feb pada 22:21
Dan Pritts
1
baru saja mengalami penyimpangan waktu> 5 menit pada EC2 micro instance dengan / sys / devices / system / clocksource / clocksource0 / current_clocksource == xen
Moritz
8

Kami menjalankan instance Linux ec2 dari kecil ke ekstra besar dan saya hanya melakukan pemeriksaan untuk memastikan semuanya sinkron.

Semua server menjalankan daemon ntp yang terhubung ke kolam spesifik 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

Ini mungkin bukan kasus sebelum bug yang saya hanya ingin memastikan siapa pun yang menemukan ini di masa depan memiliki informasi terkini.

Zach
sumber
1
Contoh-contoh Linux EC2 diatur dengan ntp secara default.
Daryl Teo
2

Anda harus mengkonfigurasi ntpd pada semua instance. Jika tidak, waktu server Anda akan mulai melayang.

Anda harus mengizinkan UDP 123 ke internet publik, seperti yang dijelaskan dalam panduan pengguna di bawah Mengkonfigurasi Protokol Waktu Jaringan .

Jika instance Anda berada di dalam VPC, Anda mungkin ingin mendedikasikan instance untuk menjadi server NTP Anda, hanya memaparkan instance itu ke internet dan membiarkan yang lain menyinkronkannya.

jonatan
sumber