Важно; Синхронизация времени через Интернет
Важно! Синхронизация времени через Интернет
Время в эпоху информационных технологий приобрело особое значение для современного человека. Каждый из нас как минимум по нескольку раз в день поглядывает на часы. Многие регулярно синхронизируют свои устройства отчета времени посредством различных источников, в том числе и Интернет. Точное время порой играет порой решающую роль в делах, где важны даже не минуты, а секунды. К примеру, торги на фондовых, товарных биржах, могут обернуться крахом для игрока, чьи часы показывали неправильное время. Попробуем настроить свои электронные часы на компьютере и синхронизировать точное время посредством Интернет.
Технология синхронизации времени
В начале немного расскажу о технологии, с помощью которой происходит получение точного времени из Интернет-источников. Весь процесс синхронизации времени проводиться посредством специального сетевого протокола называемого NTP (Network Time Protocol). Данный протокол представляет из себя свод различных правил и математических алгоритмов, благодаря которым происходит точная настройка времени на вашем компьютере с разницей в несколько сотых одной секунды. Существует протокол и для систем, не требующих такой точной синхронизации, который называется SNTP. Разница источника и устройства-приёмника времени по нему может составлять до 1 секунды.
Технология передачи параметров точного времени представляет из себя многослойную структуру, где каждый нижележащий слой электронных устройств синхронизируется с вышележащим. Чем ниже технологический слой, тем менее точным будет полученное от него время. Но это в теории, на практике же все зависит от множества параметров, участвующих в системе синхронизации и получить более точное время можно, к примеру, от четвертого слоя устройств, нежели от третьего.
На нулевом уровне этой цепочки передачи всегда располагаются устройства отчета времени, грубо говоря, часы. Эти часы представляют из себя молекулярные, атомные или квантовые устройства подсчета времени и называются эталонными. Такие устройства не передают параметры времени в Интернет напрямую, обычно они подключены к первичному компьютеру посредством высокоскоростного интерфейса с минимальными задержками. Именно эти компьютеры составляют первый слой в технологической цепочке. На втором слое будут располагаться машины получающие время от первого слоя устройств посредством сетевого соединения, чаще всего через Интернет. Все последующие уровни будут получать информацию о точном времени по тем же сетевым протоколам от вышележащих слоев.
Синхронизация времени в Windows
Попробуем произвести синхронизацию времени средствами системы Windows XP, Windows 2003. Для этого кликните по часам, которые расположены у вас в трее (обычно это правых нижний угол экрана), чтобы вызвать настройки даты и времени. При этом обязательно проверьте настройки “часового пояса”, которые находятся там же и скорректируйте их при необходимости.
Далее в этом окне нужно перейти во вкладку настройки времени через Интернет.
Синхронизация времени через Интернет
Для Windows Vista, Windows 7 также достаточно кликнуть по часам внизу экрана и перейти к настройкам через специальную ссылку “Изменение настроек даты и времени”
Синхронизация времени через Интернет
Затем перейдите во вкладку “Время по Интернету” и нажмите кнопку “Изменить параметры”.
Синхронизация времени через Интернет
Появится окно настроек времени по Интернету, схожее с таким же окном из Windows XP, 2003.
Синхронизация времени через Интернет
В этом окне имеется опция автоматической сверки часов через Интернет, которая доступна напротив надписи “Выполнять синхронизацию с сервером времени в Интернете”. Если ее включить, поставив галочку, то периодически время вашего компьютера будет уточняться через Интернет-сервера самой операционной системой.
Далее, напротив опции “Сервер:” пользователю доступен выбор из списка адресов, с которых будет производиться синхронизация. Попробуйте выбрать один из них и нажать кнопку “Обновить сейчас”. Если через определенное время под списком появится надпись об ошибке синхронизации, введите вручную один из нижеприведенных адресов сервера и проверьте соединение с ним.
ntp.mobatime.ru
nist1-ny.ustiming.org
ntp.chg.ru
[h2]Изменяем период автоматической синхронизации времени в Windows
[/h2]
По умолчанию, операционная система Windows обращается к серверам синхронизации только раз в неделю. При условии, что пользователь поставил автоматическую проверку времени, конечно. Для некоторых такой период может показаться достаточно большим или может быть весьма частым, чем хотелось бы. К счастью, в системе предусмотрена смена этого параметра через настройки реестра.
Откройте окно “Выполнить” через меню “Пуск”. В командной строке наберите regedit и запустите кнопкой “OK”. Вам необходимо поочередно добраться до следующего раздела
HKEY_LOCAL_MACHINE – SYSTEM — ControlSet001 – Services — W32Time – TimeProviders – NtpClient
и выбрать в окне слева параметр SpecialPollInterval. Здесь указано значение 604800, если перевести его в десятичную систему исчисления. Это количество секунд равное одной недели. Сюда можно занести другое значение, которое необходимо вам, сконвертировав его в секунды.
Синхронизация файлов между персональным компьютером и ноутбуком
Давно прошли те времена, когда один компьютер делился между десятками и даже сотнями пользователей. Сейчас, при нынешней реальной дешевизне всяких нетбуков, нередко бывают случаи, когда один человек имеет два и даже более компьютеров — как правило, это обычный персональный (стационарный) компьютер, переносной нетбук, ноутбук или субноут (у кого на что хватает денег), ну и коммуникатор, который, по сути, — тот же компьютер.
И это, замечу, вовсе не пижонство. На стационарном компьютере очень удобно работать дома: мощная машина, обойдется недорого и апгрейдится легко, да и вниз ее можно засунуть, чтобы не занимала драгоценное пространство верхней крышки стола. Однако если человеку требуется куда-то ездить — по городу, в командировки, за границу и так далее, — то ему обычно крайне необходим еще один компьютер: переносной, мобильный. Сейчас время такое: очень многие уже работают через Интернет, с собой им нужно возить массу файлов и документов, при этом также иметь возможность быстро это все отредактировать — в общем, без переносного компьютера не обойтись.
Одни пользователи решают эту проблему тем, что приобретают приличный по характеристикам ноутбук и на нем работают дома и в поездках. Да, разумный подход. Но совершенно компромиссный. Чем мощнее ноутбук — тем он больше, тяжелее и дороже. Дома на нем работать более или менее удобно, а вот с собой таскать — уже проблема. Если же приобретать недорогой легкий нетбук, то он мало подходит для постоянной работы дома, ибо имеет небольшой дисплей, не слишком быстрый и так далее. В поездках такой — самое оно (особенно когда не хочется тратить на разъездной компьютер много денег), а вот использовать его постоянно — очень даже неудобно.
В результате многие приходят именно к двойному варианту: стационарный компьютер дома и нетбук-субноут для поездок.
Всякие ноутбуки, нетбуки, планшеты
И вот тут в полный рост встает вопрос синхронизации ваших личных данных: документов, фотографий, музыки и так далее и тому подобное. Перед отъездом вам обязательно нужно сделать на нетбуке копию всех ваших данных — не дай бог, что-то забудете. В поездке вы будете с этими данными работать: добавлять туда новые документы, редактировать старые и так далее. По возвращении новые данные нужно перенести на стационарный компьютер — не дай бог, что-то забудете, пропадет работа нескольких дней.
А как это все переносить, спросите вы? Опять скопом перегонять папки или же вручную отбирать файлы, измененные за последние несколько дней?
Разумеется, вручную такую задачу решать не нужно — мы же имеем дело с компьютером. Пускай синхронизацией занимаются специальные программы, которые для того и разработаны.
Замечу, что в данной статье мы с вами рассмотрим только вопрос синхронизации стационарного компьютера с переносным — ноутбуком, нетбуком, дескноутом. Вопросы синхронизации двух удаленных машин (например, рабочего компьютера и домашнего) мы рассмотрим в другой статье, так как они решаются немного по-другому.
Итак, синхронизация домашнего ПК с ноутбуком. Лично я для этой цели использую довольно мощную и продвинутую программу SyncBackPro, но она, во-первых, конкретно платная ($50), во-вторых, англоязычная (точнее, там нет поддержки русского языка), а в-третьих, слишком сложна для обычных непродвинутых пользователей. Да и на самом деле не нужна им эдакая моща: программное обеспечение нужно подбирать под соответствующие задачи, а не наоборот.
Поэтому вам я порекомендую другую программу. Она совершенно бесплатна (точнее, мы будем говорить о бесплатной версии, потому что у нее существует еще и платная, для коммерческого использования), поддерживает русский язык и обладает очень даже неплохими возможностями.
Называется программа AllwaySync — вот здесь ее можно скачать.
Перед первым запуском программы лучше убедиться в том, что у нас все заранее подготовлено. Что именно? Первое — вы должны знать, какие именно папки вам надо скопировать на ноутбук, то есть где и какие ваши данные хранятся.
Кстати, манера многих пользователей (к сожалению, очень и очень многих пользователей) создавать и хранить документы прямо на рабочем столе — она глубоко порочна по существу. Потому что вы потом замучаетесь отделять мух от котлет: документы от ярлыков приложений и ярлычков других документов. Это уж не говоря о том, что многие пользователи (к сожалению, очень и очень многие пользователи) просто забывают скопировать папку «Рабочий стол», наивно считая, что выложенные там файлы лежат в папке «Мои документы».
Посоветовать тут можно следующее:
Храните соответствующие данные только в соответствующих папках!
Документы — в «Моих документах», изображения и фото — в «Изображениях», музыку — в «Моей музыке», ну и так далее. Тогда у вас не будет проблем с копированием и архивированием этих данных: достаточно только сохранить папку вашего пользователя — и все, все ваши данные находятся с вами.
Также совершенно дурная манера — создавать различные папки в корне диска и туда пихать файлы. При этом вы наверняка забудете что-нибудь скопировать, потому что пропустите какую-то папочку. Потому что ваши личные данные должны находиться в папке ваших личных данных, а уж внутри нее создавайте папки какой угодно вложенности!
Второе. На подключенном к локальной сети ноутбуке расшарьте для доступа тот диск или ту папку, куда должны быть помещены ваши данные. Если вы храните все в папке «Мои документы» (ай, какой вы молодец), тогда на ноутбуке сделайте общий доступ к соответствующей папке. (Мы сейчас не будем лезть в дебри видов сетевого доступа.) Вы просто зайдите в свойства соответствующей папки, нажмите на кнопку «Доступ», зайдите в «Общий доступ» и там слева от кнопки «Добавить» вбейте «Все». Потом опцию «Чтение» замените на «Чтение и запись» и нажмите кнопку «Общий доступ». Вот и все, папка будет открыта для сетевого доступа. (Также еще нужно, чтобы на ноутбуке был создан пользователь с таким же логином-паролем, как на вашем стационарном компьютере.)
Создание доступа
Теперь на стационарном компьютере зайдите в «Сеть», найдите там ноутбук, щелкните по нему, на расшаренной папке нажмите правую кнопку мыши и там выберите пункт «Подключить сетевой диск». Дайте диску желаемую букву (например, «Z») и нажмите «ОК». Теперь у вас нужная папка нетбука подключена к стационарному компьютеру под видом диска «Z».
Ну и после этого можно запустить программу AllwaySync и настроить синхронизацию. (Все большие скриншоты ниже — кликабельны для увеличения.)
Главное окно программы
Система там очень простая. В закладочке сверху меняем название задания на более понятное — например, «Мои документы». В поле слева нужно указать путь к папке-источнику (это делается с помощью кнопки «Обзор»), в папке справа — к папке назначения. Там указываем, например, «D:UsersПетя МокинМои документы» в исходной папке, «Z:UsersПетя МокинМои документы» в папке назначения. Или же, если надо скопировать все ваши данные, а не только документы, просто «D:UsersПетя Мокин» и «Z:UsersПетя Мокин».
Далее нужно настроить вид синхронизации, нажав на двойную стрелку, находящуюся между заданными папками.
Вид синхронизации
По умолчанию установлено точное зеркалирование: то есть программа обе папки будет делать совершенно идентичными. Если в одной из них добавился или изменился файл — он скопируется в другую папку. Если в одной из них удалился файл — он будет удален во второй папке.
Такой режим синхронизации нужен тогда, когда работа с файлами ведется и на стационарном компьютере, и на ноутбуке. Если вам нужно только скопировать файлы, но не синхронизировать их (мало ли, какие задачи бывают), тогда вы можете задать здесь направление синхронизации.
Задали папки, настроили. Теперь можно нажать кнопку «Анализировать», чтобы проверить, какие файлы программа собралась копировать. Получите нечто вроде вот такого отчета.
Результаты анализа
Там также появилось «Важное сообщение», в котором вас просто предупреждают, что программа увидела большое количество изменений — понятное дело, ведь мы еще эту папку ни разу не копировали. Там надо нажать «Игнорировать», а также можно задать поведение программы в подобных случаях — например, игнорировать автоматом.
Теперь, когда все в порядке, можно нажать кнопку «Синхронизировать», и программа проведет полную синхронизацию двух папок. Когда вы вернетесь из поездки с ноутбуком, нужно будет его подключить к сети, вызвать эту программу и просто нажать одну кнопку, чтобы обновленные или добавленные файлы скопировались на стационарный компьютер. Вот и все!
Если у вас на ПК есть другие папки с данными — настраиваете их синхронизацию аналогичным образом.
Кстати, программа умеет синхронизировать не только папки Windows. Если вызвать выпадающее меню под указанными папками, получите следующее.
Виды синхронизации
То есть программа умеет превращать ваши папки в архивы или зашифрованные архивы, копировать данные на FTP-серверы или защищенные FTP-серверы, синхронизироваться с онлайновыми хранилищами, с мобильными устройствами и документами Google Docs.
Онлайновые хранилища или FTP, кстати, могут решить проблему удаленной синхронизации — в случаях, когда эти два компьютера невозможно включить в локальную сеть (например, рабочий компьютер и домашний компьютер).
По умолчанию там создан шаблон задачи синхронизации ваших данных с онлайновым сервисом OffsiteBox. Это имеет смысл, если вам нужен доступ к вашим данным в поездках с любых компьютеров. Однако бесплатно на OffsiteBox вам дадут не более гигабайта (по современным меркам это — тьфу), так что вряд ли имеет смысл регистрироваться на данном сервисе. (На Dropbox, о котором мы еще поговорим, дают 2 Гб.)
Если вы постоянно переносите файлы туда-сюда с компьютер на ноутбук и обратно, то вам, возможно, будет удобнее сделать автоматическую синхронизацию — например, по расписанию. Эта программа такое умеет делать, причем вариантов там — немало: при подключении устройства, через определенный период, при обнаружении изменений в файлах, при простое компьютера, с помощью планировщика Windows.
Настройка автоматической синхронизации
В программе есть опции «Синхронизировать все» — чтобы запустить сразу все установленные задачи.
Чтобы не удалить что-нибудь очень нужное (мало ли, случайно убьете целую папку на ноутбуке, а программа при синхронизации убьет такую же на компьютере), вы можете настроить, как именно программа будет поступать с удаляемыми файлами. Например, она может хранить их в специальной папке.
Настройка режима удаления
Ну и вы также можете задавать очень гибкие фильтры отбора того, что включать в синхронизацию, а что нет. Например, если из фотоальбома вам не нужны фотографии пятилетней давности — это просто можно задать в параметрах фильтрации. При этом если файлы не копируются на ноутбук, то при последующей синхронизации они, конечно, не будут удаляться — файлы просто останутся на источнике без копии на ноутбуке.
Настройки фильтров
Вот такая программа. На мой взгляд, для бесплатной версии она просто очень хорошая — с одной стороны, простая в использовании, но с другой — обладает весьма развитой функциональностью.
Так что ставьте ее, настраивайте — и после этого у вас не будет проблем с синхронизацией персональных данных!
Настройка NTP сервера в Windows
Начиная с Windows 2000 все операционные системы Windows включают в себя службу времени W32Time. Эта служба предназначена для синхронизации времени в пределах организации. W32Time отвечает за работу как клиентской, так и серверной части службы времени, причем один и тот же компьютер может быть одновременно и клиентом и сервером NTP (Network Time Protocol).
По умолчанию служба времени в Windows сконфигурирована следующим образом:
• При установке операционной системы Windows запускает клиента NTP и синхронизируется с внешним источником времени;
• При добавлении компьютера в домен тип синхронизации меняется. Все клиентские компьютеры и рядовые сервера в домене используют для синхронизации времени контроллер домена, проверяющий их подлинность;
• При повышении рядового сервера до контроллера домена на нем запускается NTP-сервер, который в качестве источника времени использует контроллер с ролью PDC-эмулятор;
• PDC-эмулятор, расположенный в корневом домене леса, является основным сервером времени для всей организации. При этом сам он также синхронизируется с внешним источником времени.
Такая схема работает в большинстве случаев и не требует вмешательства. Однако структура сервиса времени в Windows может и не следовать доменной иерархии, и надежным источником времени можно назначить любой компьютер. В качестве примера я опишу настройку NTP-сервера в Windows Server 2008 R2, хотя со времен Windows 2000 процедура не особо изменилась.
Запуск NTP сервера
Сразу отмечу, что служба времени в Windows Server (начиная с 2000 и заканчивая 2012) не имеет графического интерфейса и настраивается либо из командной строки, либо путем прямой правки системного реестра. Лично мне ближе второй способ, поэтому идем в реестр.
Итак, первым делом нам надо запустить сервер NTP. Открываем ветку реестра
HKLMSystemCurrentControlSetservicesW32TimeTimeProvidersNtpServer.
Здесь для включения сервера NTP параметру Enabled надо установить значение 1.
Затем перезапускаем службу времени командой net stop w32time && net start w32time
После перезапуска службы NTP сервер уже активен и может обслуживать клиентов. Убедиться в этом можно с помощью команды w32tm /query /configuration. Эта команда выводит полный список параметров службы. Если раздел NtpServer содержит строку Enabled :1 , то все в порядке, сервер времени работает.
Для того, чтобы NTP-сервер мог обслуживать клиентов, не забудьте на файерволле открыть UDP порт 123 для входящего и исходящего траффика.
Основные настройки NTP сервера
NTP сервер включили, теперь надо его настроить. Открываем ветку реестра HKLMSystemCurrentControlSetservicesW32TimeParameters. Здесь в первую очередь нас интересует параметр Type, который задает тип синхронизации. Он может принимать следующие значения:
NoSync — NTP-сервер не синхронизируется с каким либо внешним источником времени. Используются часы, встроенные в микросхему CMOS самого сервера;
NTP — NTP-сервер синхронизируется с внешними серверами времени, которые указаны в параметре реестра NtpServer;
NT5DS — NTP-сервер производит синхронизацию согласно доменной иерархии;
AllSync — NTP-сервер использует для синхронизации все доступные источники.
Значение по умолчанию для компьютера, входящего в домен — NT5DS, для отдельно стоящего компьютера — NTP.
И параметр NtpServer, в котором указываются NTP-сервера, с которыми будет синхронизировать время данный сервер. По умолчанию в этом параметре прописан NTP-сервер Microsoft (time.windows.com, 0x1), при необходимости можно добавить еще несколько NTP-серверов, введя их DNS имена или IP адреса через пробел. Список доступных серверов времени можно посмотреть например здесь.
В конце каждого имени можно добавлять флаг (напр. ,0x1) который определяет режим для синхронизации с сервером времени. Допускаются следующие значения:
0x1 – SpecialInterval, использование специального интервала опроса ;
0x2 – режим UseAsFallbackOnly;
0x4 – SymmetricActive, симметричный активный режим;
0x8 – Client, отправка запроса в клиентском режиме.
При использовании флага SpecialInterval, необходимо установленное значение интервала в ключе SpecialPollInterval. При значении флага UseAsFallbackOnly службе времени сообщается, что данный сервер будет использоваться как резервный и перед синхронизацией с ним будут выполнятся обращения к другим серверам списка. Симметричный активный режим используется NTP-серверами по умолчанию, а клиентский режим можно задействовать в случае проблем с синхронизацией. Подробнее о режимах синхронизации можно посмотреть здесь, либо не морочиться и просто ставить везде ,0x1 (как советует Microsoft).
Еще один важный параметр AnnounceFlags находится в разделе реестра HKLMSystemCurrentControlSetservicesW32TimeConfig. Он отвечает за то, как о себе заявляет NTP-сервер и может принимать следующие значения:
0x0 (Not a time server) — сервер не объявляет себя через NetLogon, как источник времени. Он может отвечать на NTP запросы, но соседи не смогут распознать его, как источник времени;
0x1 (Always time server) — сервер будет всегда объявлять о себе вне зависимости от статуса;
0x2 (Automatic time server) — сервер будет объявлять о себе только, если он получает надежное время от другого соседа (NTP или NT5DS);
0x4 (Always reliable time server) — сервер будет всегда заявлять себя, как надежный источник времени;
0x8 (Automatic reliable time server) — контроллер домена автоматически объявляется надежным если он PDC-эмулятор корневого домена леса. Этот флаг позволяет главному PDC леса заявить о себе как об авторизованном источнике времени для всего леса даже при отсутствии связи с вышестоящими NTP-серверами. Ни один другой контроллер или рядовой сервер (имеющие по умолчанию флаг 0x2) не может заявить о себе, как надежном источнике времени, если он не может найти источник времени для себя.
Значение AnnounceFlags составляет сумму составляющих его флагов, например:
10=2+8 — NTP-сервер заявляет о себе как о надежном источнике времени при условии, что сам получает время из надежного источника либо является PDC корневого домена. Флаг 10 задается по умолчанию как для членов домена, так и для отдельно стоящих серверов.
5=1+4 — NTP-сервер всегда заявляет о себе как о надежном источнике времени. Например, чтобы заявить рядовой сервер (не домен-контроллер) как надежный источник времени, нужен флаг 5.
Ну и настроим интервал между обновлениями. За него отвечает уже упоминавшийся выше ключ SpecialPollInterval, находящийся в ветке реестра HKLMSystemCurrentControlSetservicesW32TimeTimeProvidersNtpClient. Он задается в секундах и по умолчанию его значение равно 604800, что составляет 1 неделю. Это очень много, поэтому стоит уменьшить значение SpecialPollInterval до разумного значения, скажем до 1 часа (3600).
После настройки необходимо обновить конфигурацию сервиса. Сделать это можно командой w32tm /config /update. И еще несколько команд для настройки, мониторинга и диагностики службы времени:
w32tm /monitor – при помощи этой опции можно узнать, насколько системное время данного компьютера отличается от времени на контроллере домена или других компьютерах. Например: w32tm /monitor /computers:time.nist.gov
w32tm /resync – при помощи этой команды можно заставить компьютер синхронизироваться с используемым им сервером времени.
w32tm /stripchart – показывает разницу во времени между текущим и удаленным компьютером, причем может выводить результат в графическом виде. Например, команда w32tm /stripchart /computer:time.nist.gov /samples:5 /dataonly произведет 5 сравнений с указанным источником и выведет результат в текстовом виде.
w32tm /config – это основная команда, используемая для конфигурирования службы NTP. С ее помощью можно задать список используемых серверов времени, тип синхронизации и многое другое. Например, переопределить значения по умолчанию и настроить синхронизацию времени с внешним источником, можно командой w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update
w32tm /query — показывает текущие настройки службы. Например команда w32tm /query /source покажет текущий источник времени, а w32tm /query /configuration выведет все параметры службы.
Ну и на крайний случай 🙁
w32tm /unregister — удаляет службу времени с компьютера.
w32tm /register – регистрирует службу времени на компьютере. При этом создается заново вся ветка параметров в реестре.
Как установить, изменить время и часовой пояс в CentOS 7, 8
Для нормального функционирования сервера требуется корректно настроить текущее время и его своевременное обновление с определенной периодичностью. Как правильно произвести смену часового пояса в centos в случае его изменения или неверного указания во время установки – одна из тем этой статьи. Также я затрону вопрос установки и использования утилиты разовой синхронизации времени ntpdate и настройки сервиса точного времени ntp.
Цели статьи
- Показать способы настройки и смены времени и часового пояса в centos.
- Рассказать о средствах для автоматической синхронизации времени.
- Настройка своего сервера точного времени на основе centos.
Данная статья является частью единого цикла статьей про сервер Centos.
Время на сервере CentOS
Во время установки CentOS вам обязательно предлагается настроить текущее время, указать временную зону, в которой находится машина. По-умолчанию инсталлятор берет время из bios и предлагает его откорректировать. Кто-то во время установки не придал этому значение и не откорректировал часы, кто-то ошибся в выборе часового пояса. Так же популярна ситуация, когда сервер арендуется за границей, там уже предустановлена система и ее настройки времени и часового пояса не соответствуют необходимым. Все это можно исправить после установки, я подробно обо всем расскажу. Но начнем с самого простого.
Почему важно, чтобы в системе было правильное время? Причин может быть несколько:
- Для корректного логирования событий той или иной службы. Например, у вас в сети случился какой-то инцидент и вы его расследуете. Удобно, когда время на всех машинах сети одинаковое, это упрощает проверку и сопоставление различных действий.
- Могут возникнуть проблемы с работой в доменной среде windows, если у вас существенно различаются данные системных часов. Это актуально, если у вас файловый сервер centos интегрирован в доменную сеть windows. Пользователь в определенный момент не сможет получить доступ к файлам, если время сервера превысит допустимое отклонение от контроллера домена (более 5 минут). Это связано с особенностью работы протокола аутентификации Kerberos.
- На вашем сервере может располагаться web хостинг с сайтами, в которых указано время публикации материала. Если часы сервера не будут совпадать с временной зоной основной аудитории, то могут возникать курьезные моменты, когда посетители увидят статьи, опубликованные в будущем. Так же некорректно будет работать статистика, основанная на анализе логов apache или nginx.
- Вы используете планировщик cron в своей работе. Для корректной и предсказуемой работы запланированных событий дата и часовой пояс на сервере должны быть настроены правильно.
Чтобы избежать проблем в подобных ситуациях, займемся настройкой времени, даты и часового пояса. Кратко этот вопрос я разбирал в отдельном материале по базовой настройке centos после установки. Рекомендую с ним ознакомиться, там много полезного.
Установка и настройка времени в CentOS
Первым делом проверим текущую дату и время на сервере с помощью команды date:
Или более подробной команды timedatectl.
Mon | день недели, в данном случае понедельник |
Oct 21 | месяц август, 10-е число |
11:17:03 | текущее время часы:минуты:секунды |
MSK | часовой пояс |
2019 | текущий год |
Чтобы вручную настроить правильное время, можно воспользоваться командой с дополнительными параметрами:
Здесь MM — месяц, DD — число, hh — час, mm — минуты. Таким образом, чтобы изменить дату на 22 октября, 17:10, выполняем в консоли:
Чтобы узнать текущее время без учета часового пояса, то есть время по UTC, можно воспользоваться следующим ключом команды date:
В выводе видим время относительно нулевого меридиана, без поправок на часовой пояс. После установки корректного времени переходим к настройке часового пояса.
Установка и настройка часового пояса в CentOS
Как уже было показано раньше, чтобы узнать в каком часовом поясе находятся системные часы сервера centos, необходимо воспользоваться командой date. В нашем случае timezone указана как MSK. Это общепризнанное сокращение для часовой зоны Московское время (Moscow Time). Если у вас указан другой часовой пояс, а вы хотите установить московскую временную зону, то вам нужно выполнить следующие процедуры:
Обновить системный список часовых поясов tzdata с помощью yum:
Настраиваем часовой пояс с помощью утилиты timedatectl.
Эта утилита выполняет очень простое действие. Она проставляет символьную ссылку с нужного файла timezone из /usr/share/zoneinfo на файл /etc/ localtime . Тот же самый результат вы получите, если сделаете это сами вручную.
Перед этим лучше сделать резервную копию текущей timezone на всякий случай:
Далее найдите в каталоге /usr/share/zoneinfo/ необходимую временную зону. В нашем случае это файл Moscow в папке Europe.
Установить символьную ссылку на указанный файл timezone:
Все, часовой пояс успешно изменен. После установки времени и часового пояса можно переходить к настройке синхронизации часов.
Синхронизация времени с помощью chrony, ntpdate
Способов синхронизации времени в centos существует как минимум три:
- ручной с помощью утилиты ntpdate
- автоматический при помощи сервиса ntp или chrony
- автоматический через утилиту из пакета systemd — timesyncd.
Рассмотрим сначала вариант ручной однократной синхронизации при помощи программы ntpdate. Она позволяет разово синхронизировать локальное время с эталонным сервером времени в интернете. Подобных эталонов существует великое множество. Мы для примера воспользуемся одним из них — pool.ntp.org
Запускаем синхронизацию времени:
Если получите ошибку
значит утилита у вас не установлена. Установить ее можно из базового репозитория.
Это актуально только для 7-й версии, в В CentOS 8 ntp и ntpdate убрали из репозиториев . Для синхронизации времени можно использовать только chrony. Ее мы рассмотрим ниже.
Утилита ntpdate провела синхронизацию, в результате которой к моему системному времени было добавлено 0.001664 секунды для приближения к эталонному. Если в результате работы синхронизации вы получаете ошибку: no server suitable for synchronization found то попробуйте в работе утилиты использовать непривилегированный порт. По-умолчанию ntpdate работает по 123 порту. Если он закрыт на фаерволе, то помочь в синхронизации поможет следующий параметр:
Если у вас запуск ntpdate завершается ошибкой — the NTP socket is in use, exiting, значит у вас уже установлена и запущена служба ntpd, которая заняла udp порт, необходимый для работы ntpdate. Установкой и настройкой этой службы мы и займемся далее.
Как я уже сказал, в CentOS 8 служба ntpd и утилита ntpdate стали недоступны в базовых репозиториях. Возможно, их как-то удастся установить из сторонних репозиториев, но большого смысла нет. Можно воспользоваться программой chrony. Ставим ее:
Запускаем и добавляем в автозагрузку.
Программа стартовала и уже выполнила синхронизацию с источниками точного времени в интернете. Каких-то особых настроек для получения точного времени больше не надо. Служба будет постоянно работать и выполнять синхронизацию. Проверим это с помощью timedatectl.
systemd-timesyncd
Отдельно пару слов о службе systemd-timesyncd, которая в системах с systemd выступает в роли простого sntp клиента, в отличие от chrony и ntp, которые в том числе могут работать в качестве сервера времени. В Debian служба systemd-timesyncd присутствует в составе systemd и ей можно пользоваться, что достаточно удобно. Легкий полновесный клиент, который по дефолту есть в составе системы.
Я сначала не мог понять, что с systemd-timesyncd в Centos. Команда вроде есть и работает, но как оказалось, это просто обертка над chrony. Реально команда управляет именно chrony и без него не работает. Без него вы получите ошибку, при попытке активировать компонент timesyncd.
Если вернете chrony в систему, то timedatectl будет запускать именно его. Немного погуглив, я понял в чем тут дело. Red Hat компилирует systemd без компонента systemd-timesyncd, предлагая по дефолту именно chrony.
Настройка сервера ntp в CentOS 7
Сервер времени ntp использует в своей работе одноименный протокол — Network Time Protocol, которому для работы необходим UDP порт 123. Так что перед установкой и настройкой службы времени убедитесь, что на фаерволе открыт этот порт.
Устанавливаем сервер ntp:
Теперь отредактируем файл конфигурации /etc/ntp.conf , удалив все лишнее:
После завершения редактирования файла настроек запускаем службу синхронизации времени:
Проверяем запустился ли сервер:
Все в порядке, служба слушает положенный порт 123. Проверим еще на всякий случай системные логи centos:
Все в порядке, сервер запущен и полностью готов к работе.
Теперь настроим автозапуск ntp вместе с загрузкой centos:
Наблюдать за работой службы ntp можно с помощью команды ntpq -p:
Что значат все эти данные:
remote | Адрес удаленного эталона времени, с которого была синхронизация |
refid | Указывает, откуда каждый эталон получает точное время. Это могут быть другие сервера времени, система GPS и другое |
st | Stratum (уровень) это число от 1 до 16, которое указывает на точность эталона. 1- максимальная точность, 16 — сервер недоступен. Уровень вашего сервера будет равен уровню наименее точного удаленного эталона плюс 1. |
poll | Интервал в секундах между опросами |
reach | Восьмеричное представление массива из 8 бит, отражающего результаты последних восьми попыток соединения с эталоном. Бит выставлен, если удаленный сервер ответил. |
delay | Время задержки ответа на запрос о точном времени |
offset | Разница между вашим и удаленным сервером |
jitter | Дисперсия (Jitter) — это мера статистических отклонений от значения смещения (поле offset) по нескольким успешным парам запрос-ответ. Чем меньше значение дисперсии, тем лучше, поскольку позволяет точнее синхронизировать время. |
Настройка сервера chrony в CentOS 8
С сервером времени chrony все будет практически идентично ntpd. Принцип работы и формат конфигов у них примерно одинаковый. Если вы еще не установили chrony, то сделайте это и добавьте его в автозагрузку.
Конфигурация сервера времени chrony располагается в файле /etc/chrony.conf. Ниже представлен минимум настроек, необходимых, чтобы он работал в качестве локального сервера времени для клиентов.
Параметр rtcsync задает возможность периодически записывать системное время в RTC (Real Time Clock) — аппаратные часы компьютера. Описание всех параметров файла конфигурации можно посмотреть тут — https://chrony.tuxfamily.org/doc/3.4/chrony.conf.html.
Не забываем настраивать firewalld, если отдельно не настраивали iptables, для доступа клиентов к серверу.
Теперь можно перезапустить chrony и проверить синхронизацию времени с какого-нибудь клиента в сети.
Идем на другой компьютер и там проверяем работу нашего сервера времени.
Часто задаваемые вопросы по теме статьи (FAQ)
Мне отличия не известны. В общем случае, обе утилиты делают одно и то же. Формат конфигов у них тоже одинаковый. Конечно же, программы имеют отличия, но в общем случае, для типового сервера нет принципиальной разницы.
Я бы рекомендовал так делать. Если перезагрузиться совсем нельзя, я рекомендую вручную перезапустить основные сервисы. Не все могут автоматически корректно отработать внезапное изменение времени. Может начаться путаница в логах, особенно если время изменилось существенно (на несколько часов).
Некоторые провайдеры блокируют порты, необходимые для синхронизации времени. Связано это с тем, что серверы времени могут быть использованы для организации ddos атак. Обычно в таком случае провайдер предоставляет адреса своих внутренних ntp серверов, с которых можно произвести синхронизацию. Так что если у вас никак не работает синхронизация времени на арендованном сервере, рекомендую написать вопрос в тех. поддержку и прояснить этот момент. Подробнее об этом рассказываю в отдельной статье.
Нет, это не возможно. Да и не имеет практического смысла. Обе эти программы проверяют при запуске, свободен ли udp порт 123 на сетевом интерфейсе. Если он занят другой программой, то запуск завершится с ошибкой.
В общем случае лучше настроить у себя в локальной сети сервер времени и синхронизироваться с него. Так у вас гарантированно у всех серверов будет одинаковое время, даже если по какой-то причине сам сервер времени не будет синхронизироваться с внешним источником. Это лучше, нежели разное время на всех серверах.
Заключение
Подведем итог опубликованного материала. Мы рассмотрели практически все, что связано со временем на сервере CentOS. Да и не только на нем, вся информация в статье актуальна практически для любого Linux дистрибутива. Мы научились устанавливать время, изменять часовой пояс, синхронизировать время с помощью ntp, chrony и настраивать сервер времени в локальной сети.
Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.