Penyimpangan waktu host Vmware

10

Bagaimana seseorang memastikan bahwa host linux, yang berjalan di vmware infrastruktur 3 atau vmware 3 esxi tetap sinkron dengan server ntp. Saya telah menemukan bahwa tamu linux yang menjalankan esx atau esxi memiliki kecenderungan untuk memiliki jam melayang di masa depan.

Bagaimana cara memastikan bahwa waktu tetap sinkron dengan server waktu? Apakah saya harus menggunakan alat vmware di host linux? dan kemudian menyinkronkan host ke server ntp, tamu dengan host dan dengan server ntp?

biosFF
sumber

Jawaban:

6

Itu masalah yang saya temui dan terkadang driftnya begitu besar sehingga layanan ntp menolak untuk disinkronkan.

Saya menemukan bahwa jika Anda menginstal alat vmware pada tamu, itu akan secara otomatis menyinkronkan waktunya dengan waktu host.

Tomdeb
sumber
Saya juga menemukan bahwa saya harus menambahkan clocksource = pit ke bootline kernel grub.
Scott
9

Jawaban Singkat: parameter kernel yang tepat dan konfigurasi ntpd

Jawaban Panjang: VMware memiliki dokumen praktik terbaik yang cukup bagus dalam hal ini, http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427

Perhatikan bahwa ini agak bertentangan dengan beberapa informasi di utas ini. Misalnya, secara khusus disarankan untuk tidak menggunakan fitur vynware-tools timesync lagi.

cagenut
sumber
Instalasi host / tamu yang berbeda memerlukan kombinasi solusi yang berbeda, saya rasa. Saya bekerja dengan kotak virtual di pekerjaan lain yang tidak bisa kami perbaiki dengan timesync masalah, apa pun yang kami coba.
staticsan
4

Ya, menginstal vmware-tools untuk alat sinkronisasi jam itu penting, tetapi mungkin tidak cukup.

Apa yang berhasil bagi saya adalah menambahkan parameter boot kernel:

clock=pit notsc

Ini mengatur clocksource untuk sesuatu yang vmware terus diperbarui, dan menonaktifkan penghitung sinkronisasi waktu.

Mungkin tidak berhubungan, tetapi pada kernel yang cukup baru saya selalu menambahkan:

divider=10

yang secara signifikan mengurangi pemanfaatan cpu tamu.

Kedua hal ini juga membantu dengan atau tanpa alat vmware terinstal, dan membantu menjaga agar jam tetap lebih sinkron (daripada perjuangan terus-menerus antara jam yang melayang dengan cepat dan layanan sinkronisasi jam alat vmware).

jmanning2k
sumber
3

Ya, Anda harus menginstal vmware-tools pada klien VM. Kemudian Anda dapat mengatur kotak "sinkronisasi waktu tamu dengan host" tombol pada layar Opsi VM.

David Mackintosh
sumber
1

Ada jawaban yang sudah dipilih (dan itu adalah jawaban terbaik, karena alat vmware memberi Anda begitu banyak keuntungan lainnya), tetapi opsi lain juga untuk menjalankan perintah ntpdate reguler di cron. Ini mengoreksi jam Anda, namun tidak mengelola penyimpangan jam, tetapi bekerja dalam keadaan darurat.

Matt Simmons
sumber
1

Hati-hati dengan ntpdate atau rdate, itu biasanya bukan ide yang bijaksana untuk memindahkan waktu dengan cara yang sulit, karena banyak aplikasi server bergantung pada waktu yang berkesinambungan.

Dovecot misalnya, hanya akan berhenti jika mendeteksi perubahan besar waktu.

Sven
sumber
Juga, jangan pernah menggunakan ntpdate bersama dengan fasilitas sinkronisasi waktu VMWare sendiri. Anda dapat berakhir dengan VMWare yang membuat koneksi drift-base yang signifikan setelah ntpdate memperbarui jam sehingga hal-hal menjadi tidak akurat karena hanya ada di arah lain.
David Spillett
1

Jika Anda menggunakan kernel "tickless" (2.6.22+ secara default IIRC) pada para tamu maka penyimpangan jam lebih mudah untuk dikelola. Saya telah menemukan bahwa menggunakan NTP lebih akurat daripada alat VMWare sendiri tetapi saya belum menguji secara ilmiah ini.

Untuk menghentikan NTP hanya menyerah jika beban berat atau masalah lain membuat jam melayang terlalu jauh (ini jauh lebih jarang dengan kernel yang lebih baru tetapi masih bisa terjadi) pastikan Anda memiliki garis "tinker panic 0" baris di / dekat bagian atas dari ntp.conf Anda.

Agar perhatian, sinkronkan jam mesin host Anda dengan jam publik dan VM dengan host - tidak memiliki semua VM Anda secara terpisah menghubungi server waktu publik.

Juga: jangan gunakan sinkronisasi tamu jam VMWare sendiri pada saat yang sama dengan NTPD. Keduanya akan tersandung satu sama lain meninggalkan jam VM Anda dalam keadaan tidak terdefinisi dan tidak dapat diandalkan.

David Spillett
sumber
0

Jika Anda menginstal daemon NTP pada tamu Linux Anda sebagai klien, itu akan memeriksa secara berkala dan memastikan jam Anda tidak melayang dalam jangka panjang. Anda tidak perlu melakukan sinkronisasi host-tamu mewah, karena server hanya .. di internet. :)

Astaga0
sumber
1
NTP dalam VM sangat mungkin TIDAK akan memperbaiki masalah ini. Masalah dengan menjalankan sebagai VM adalah Anda tidak perlu mendapatkan jumlah ticks per cpu-detik yang konsisten. Dalam kondisi ini, ntp biasanya akan menyerah upaya sinkronisasi cukup cepat. Anda juga harus pergi dengan rute vmware-tools, atau melakukan 'rdate -s $ SERVER' secara kasar dari cron ke menarik jam di sekitar.
David Mackintosh
0

Ini bisa bermanfaat ..

Parameter boot kernel tamu:

 clock=pit
rkthkr
sumber