Назад | Перейти на главную страницу

Дрейф времени

Как вы справляетесь с дрейфом времени сервера?

Сетевой протокол времени или NTP можно использовать для синхронизации времени на сервере с официальным источником. Серверы Windows, например, будут использовать один из контроллеров сетевого домена (DC, который выполняет роль FSMO эмулятора PDC для домена [спасибо Грэму]) для получения информации о времени. Ты можешь настроить контроллер домена для получения информации из известного источника, например time.windows.com.

И чтобы представить толпу виртуальных машин ...

Если ты бежишь виртуальные серверыдрейф времени кажется распространенной проблемой - и поэтому обычно есть способ (кроме NTP) поддерживать синхронизацию виртуальных машин с их хостом.

В моем случае я использую VMWare. Я могу включить это с виртуальной машины Linux, используя:

vmware-guestd --cmd "vmx.set_option synctime 0 1"

А с виртуальной машины Windows вы можете открыть vmware-инструменты значок на панели задач и выберите синхронизация времени между виртуальной машиной и ОС хоста

VMwareTools SyncTime - не лучший вариант для виртуальных машин на ESX! Сама VMware изменила свои рекомендации по хронометрированию на виртуальных машинах на использование NTP вместо vmware-tools в случае возникновения проблем.

Однажды я говорил об этом с инженером из VMware в VMworld, и мне сказали, что vmware-tools никогда не предназначались для выполнения той работы, которую она выполняет сейчас. Раньше потеря прерывания была большой проблемой. Сегодня намного меньше. Это причина, по которой vmware-tools может корректировать время вашей машины, если машина отстает, но не когда машина впереди. Фактически, если машина опережает «реальное» время, вы в значительной степени облажаетесь, если используете vmware-tools для хронометража.

Еще лучше: при использовании ntp процесс, который корректирует ваше время, на самом деле просыпается реже, чем при использовании vmware-tools. Итак, для виртуальных машин ntp предоставит Меньше накладные расходы вместо большего.

Поэтому для Linux вам следует всегда использовать ntp в виртуальных машинах VMware. Полностью отключите vmware-tools synctime.

Для виртуальных машин Windows на Vmware я менее уверен, но думаю, что это почти то же самое. Используйте встроенную функцию синхронизации времени в AD, которая работает лучше, чем VMware SyncTime. (Несмотря на то, что синхронизация времени AD сама по себе отстой; единственная причина существования - поддерживать синхронизацию Windows boxen с их контроллерами домена, и Kerberos все равно будет работать, пока разница часов составляет менее 5 минут, так что есть много меньшая потребность в точности.)

Вы можете прочитать о синхронизации времени VMware в Linux немного подробнее. Вот

Используйте демон NTP.

NTP твой друг.

RHEL / CentOS:

yum install ntpd

Debian / Ubuntu:

apt-get install ntpd

Windows:

  • Для Windows 2000: Тардис 2000. Работает неплохо, есть панель управления. Если вы используете это, обязательно выключите службу времени Windows.
  • Для Windows 2003/2008: Уже упоминалось в других ответах на этот вопрос. В качестве альтернативы вы можете запустить Tardis 2000 на коробке 2k3, я не знаю, работает ли она на 2k8.
  • Для любой рабочей станции Windows: выполните следующую команду при входе в систему: net time /domain:your-domain-here

Для всех сервисов NTP:

Направьте свой сервис на pool.ntp.org, хотя вы захотите хотя бы сузить его до того же континента. Например, серверы в США будут использовать 0.us.pool.ntp.org, 1.us.pool.ntp.org, 2.us.pool.ntp.org и т. Д.

Как многие ответили, NTP - это правильный путь. В зависимости от ваших потребностей и требований существует несколько возможных вариантов, которые вы можете использовать для синхронизации времени.

  1. Синхронизировать отдельные машины с общедоступным хостом, например, pool.ntp.org
  2. Назначьте локального мастера (с восходящим NTP) и синхронизируйте с ним все остальное
  3. Локальный мастер с вашим собственным GPS-приставкой (может быть $$$)

Если у вас много машин, варианты 2 и 3 намного удобнее для сети. Для получения дополнительной информации прочтите о NTP и часовые слои.

Кроме того, я обнаружил, что интервал синхронизации по умолчанию в Windows слишком велик (раз в неделю), что приводит к слишком большому смещению. Вы должны проверить следующее, если хотите установить более короткий период (я использую один раз в день).

http://www.softpedia.com/get/System/System-Miscellaneous/Internet-Time-Update.shtml http://www.tweakxp.com/article36948.aspx

В основном хороший NTP-сервер. Настройте его так, чтобы часы не сдвигались более чем на несколько секунд с момента последней синхронизации NTP, и у вас не должно быть никаких проблем.

Если ваш сервер дрейфует более 30 секунд в день, возможно, вы захотите найти лучшие альтернативы, но часы на большинстве компьютеров обычно намного лучше, чем 30 секунд в день, поэтому обычно достаточно одной синхронизации в день.

ВНИМАНИЕ, что вы можете пропустить минуты, если вы настроите его на периодическую синхронизацию (ntpdate) и не используете демон NTP (ntpd) - если вы отстаете от 3 секунд, а синхронизация NTP пытается обновить через 10 минут 58 секунд , он перейдет к 11 минутам 1 секунде и, в зависимости от используемого вами планировщика, может не запускать 11-минутные задачи.

Демон NTP работает в фоновом режиме и медленно фиксирует время, поэтому программы и процессы замечают, что время может идти немного быстрее или медленнее, чем обычно, но не пропускает секунду.

-Адам

Сервер NTP - это то, что нужно для синхронизации времени на вашем DC, да. Прочтите эту статью, чтобы узнать, как синхронизировать ваш DC с внешним источником, и эта статья базы знаний о том, как настроить авторитетный сервер времени с Windows 2003. Вам потребуется и то, и другое, чтобы синхронизировать время вашего домена. Рабочие станции, подключенные к домену, автоматически синхронизируются с официальным сервером времени.

Используйте общий источник часов для всех ваших серверов и убедитесь, что ваши часовые пояса настроены правильно. Хороший источник в Интернете - "time.windows.com". Если вы используете Windows, вы можете использовать «net time» и «w32tm» для команд, связанных со временем.