Оглавление
Анализ файла конфигурации Chrony
Синхронизировать сервер времени
анализ выходных данных хронических источников
Проверьте состояние сервера времени
Проверьте, подключен ли сервер времени к сети
Синхронизировать системные часы
Редактировать файл конфигурации
Перезапустите службу и проверьте
Установите node1 для доступа к локальному компьютеру для синхронизации времени.
Перезапустите службу для тестирования.
Сцены
важность
Поскольку точное время очень важно в ИТ-системах, существует множество причин, по которым требуется точное время.
-
При передаче по сети пакеты данных и журналы требуют точных временных меток.
-
Различные приложения, такие как информация о заказах, информация о транзакциях и т. д., требуют точных временных меток.
Два часа для Linux
аппаратные часы
Часы BIOS --- это часы на . Они записывают время в BIOS. Время не будет потеряно после выключения системы . Его можно установить с помощью программы материнской платы при включении системы. .
[root@localhost ~]# hwclock # 查看计算机的硬件时间
системные часы
Часы в системе Linux --- предоставляются ядром Linux . Системные часы основаны на памяти . Если система выключена, время будет потеряно.
[root@localhost ~]# date # 查看软件时间
[root@localhost ~]# date -s 22:00 # 设置错误时间
[root@localhost ~]# date # 查看软件时间
[root@localhost ~]# hwclock -s # 向硬件时间同步
[root@localhost ~]# date
NTP-протокол
NTP (Network Time Protocol) — протокол синхронизации времени , определенный в RFC 1305 , используемый для синхронизации времени между распределенными серверами времени и клиентами.
NTP передает на основе пакетов UDP, а используемый номер порта UDP — 123.
NTP может синхронизировать часы всех устройств с часами в сети , обеспечивая согласованность часов всех устройств в сети, чтобы устройства могли предоставлять различные приложения на основе единого времени . Для локальных систем, работающих по NTP, они могут принимать часы от других часов.Источник синхронизации также можно использовать в качестве источника синхронизации для синхронизации других часов и синхронизации с другими устройствами.
Точность NTP может достигать 0,1 мс в локальной сети , а точность может достигать 1-50 мс в большинстве мест в Интернете.
Введение в Хрони
определение
chrony --- бесплатное программное обеспечение с открытым исходным кодом , которое помогает синхронизировать системные часы с сервером часов (NTP), обеспечивая тем самым точность вашего времени.
Состав --- хронид и хроник
chronyd - это процесс-демон, работающий в фоновом режиме , используемый для настройки системных часов , работающих в ядре , и синхронизации сервера часов . Он определяет скорость, с которой компьютер добавляет или вычитает время, и компенсирует это.
chronyc --- Предоставляет пользовательский интерфейс для мониторинга производительности и выполнения различных конфигураций . Он может работать на компьютере, управляемом экземпляром chronyd, или на другом удаленном компьютере.
Уведомление:
Chrony и NTP являются программами синхронизации времени. Эти два программного обеспечения нельзя открыть одновременно , и могут возникнуть конфликты времени.
Установка и настройка
Установить
[root@localhost ~]# yum install chrony -y # 安装
[root@localhost ~]# systemctl start chronyd # 启动服务
[root@localhost ~]# systemctl status chronyd # 查看状态
Анализ файла конфигурации Chrony
Основной файл конфигурации --- /etc/chrony.conf
[root@localhost ~]# vim /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# 使用 pool.ntp.org 项目中的公共服务器
# 或者使用server开头的服务器,理论上想添加多少时间服务器都可以
# iburst表示的是首次同步的时候快速同步
pool 2.centos.pool.ntp.org iburst
# Record the rate at which the system clock gains/losses time.
# 根据实际时间计算出服务器增减时间的比率,然后记录到一个文件中,在系统重启后为系统做出最佳时间 补偿调整
driftfile /var/lib/chrony/drift
# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
# 如果系统时钟的偏移量大于1秒,则允许系统时钟在前三次更新中步进
makestep 1.0 3
# Enable kernel synchronization of the real-time clock (RTC).
# 启用实时时钟(RTC)的内核同步
rtcsync
# Enable hardware timestamping on all interfaces that support it.
# 通过使用 hwtimestamp 指令启用硬件时间戳
#hwtimestamp *
# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2
# Allow NTP client access from local network.
# 指定 NTP 客户端地址,以允许或拒绝连接到扮演时钟服务器的机器
#allow 192.168.0.0/16
# Serve time even if not synchronized to a time source.
#local stratum 10
# Specify file containing keys for NTP authentication.
# 指定包含 NTP 身份验证密钥的文件
keyfile /etc/chrony.keys
# Get TAI-UTC offset and leap seconds from the system tz database.
leapsectz right/UTC
# Specify directory for log files.
# 指定日志文件的目录
logdir /var/log/chrony
# Select which information is logged.
# 选择日志文件要记录的信息
#log measurements statistics tracking
Синхронизировать сервер времени
Завершите синхронизацию времени и измените адрес сервера времени по умолчанию.
[root@localhost ~]# date -s 22:00 # 修改为错误时间
[root@localhost ~]# date # 查看修改后的错误时间
[root@localhost ~]# vim /etc/chrony.conf
# 删除所有内容,复制粘贴阿里官方的配置
server ntp.aliyun.com iburst
stratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
keyfile /etc/chrony.keys
commandkey 1
generatecommandkey
logchange 0.5
logdir /var/log/chrony内容
[root@localhost ~]# systemctl restart chronyd # 重要:必须重启服务,才会生效
[root@localhost ~]# chronyc source -v # 时间同步
[root@localhost ~]# timedatectl status
хроническая команда
[root@localhost ~]# chronyc sources -v # -v参数表示显示内容是否有解释
анализ выходных данных хронических источников
M --- Указывает режим источника сигнала. ^ представляет сервер , = представляет одноранговый узел , # представляет эталонные часы локального соединения.
S --- В этом столбце указывается состояние источника.
символ | эффект |
---|---|
* | Источник, с которым в данный момент синхронизируется Chronyd |
+ | Представляет приемлемые источники сигнала в сочетании с выбранным источником сигнала. |
- | Указывает приемлемые источники, исключенные алгоритмом слияния. |
? | Указывает источник, потерявший соединение |
Икс | Представляет часы, которые chronyd считает фальшивым тикером (т. е. их время не соответствует большинству других источников ) . |
~ | Указывает на источник, в котором время кажется слишком изменчивым. |
Имя/IP-адрес --- Отображает имя или IP-адрес источника сервера.
Stratum --- Представляет уровень источника , уровень 1 указывает на локально подключенные опорные часы, уровень 2 указывает на синхронизацию через часы компьютера уровня 1 и т. д.
Poll --- представляет частоту опроса источника в секундах. Значение представляет собой логарифм по основанию 2. Например, значение 6 указывает на измерение каждые 64 секунды. Chronyd автоматически изменит частоту опроса в соответствии с ситуацией в данный момент. .
Reach --- Значение фиксации (восьмеричное значение), указывающее на достижимость источника . Значение фиксации имеет 8 бит и обновляется при получении или потере одного из них. Значение 377 указывает, что последние восемь передач были получены корректно. Ответить
LastRx --- Указывает время получения самого последнего сообщения от источника , обычно несколько секунд. Буквы m, h, d или y обозначают минуты, часы, дни или годы соответственно.
Последняя выборка --- представляет смещение местных часов от источника при последнем измерении.Число в левой части квадратной скобки представляет собой исходное значение измерения.Правая часть квадратной скобки представляет собой значение отклонения.Число за индикатором +/- Положительное смещение означает, что локальные часы опережают исходные часы.
Другие команды
Проверьте состояние сервера времени
[root@localhost ~]# chronyc sourcestats -v
Проверьте, подключен ли сервер времени к сети
[root@localhost ~]# chronyc activity -v
Синхронизировать системные часы
[root@localhost ~]# chronyc -a makestep
Общие часовые пояса
UTC --- Вся земля разделена на двадцать четыре часовых пояса, каждый часовой пояс имеет свое местное время. В международной радиосвязи в целях единообразия используется единое время, называемое Универсальным координированным временем (UTC).
GMT --- Среднее время по Гринвичу относится к стандартному времени в Гринвичской обсерватории в пригороде Лондона, Англия, поскольку нулевой меридиан определяется как долгота, проходящая там. ( UTC и GMT — это практически одно и то же время )
CST --- Стандартное время Китая (Стандартное время Китая) GMT + 8 = UTC + 8 = CST
DST --- Летнее время означает, что, когда солнце восходит раньше летом, время переводится на один час вперед, чтобы ускорить использование летнего времени. ( не используется в Китае )
Случай
Используйте хост сервера для синхронизации времени с сервером синхронизации времени Alibaba и предоставления услуг синхронизации времени хосту node1 . Хост node1 отправляет приложение синхронизации времени на хост сервера.
Найдите сервер
Редактировать файл конфигурации
[root@localhost ~]# vim /etc/chrony.conf
# 编辑配置文件,定位定3行,修改为阿里的时间同步服务器地址
server ntp.aliyun.com iburst
Перезапустите службу и проверьте
[root@localhost ~]# systemctl restart chronyd
[root@localhost ~]# chronyc sources -v
[root@localhost ~]# timedatectl status
Установите node1 для доступа к локальному компьютеру для синхронизации времени.
[root@localhost ~]# vim /etc/chrony.conf
#编辑配置文件,定位定26行,设置谁可以访问本机进行时间同步
allow 192.168.149.137 # IP地址改为node1主机的地址
Найдите конец узла 1
[root@localhost ~]# yum install chrony -y
[root@localhost ~]# vim /etc/chrony.conf
Перезапустите службу для тестирования.
[root@localhost ~]# systemctl restart chronyd
[root@localhost ~]# chronyc sources -v #查看时间服务器的IP是否为server端的IP地址
[root@localhost ~]# timedatectl status
Примечание. Как сделать неверный снимок в случае возникновения ошибки
Проверьте подключение к сети , у вас должна быть возможность пинговать
Проверьте разрешение на стороне сервера , чтобы убедиться, что настройки верны.
Необходимо перезапустить службу