Environnement expérimental :
OS : Linux Centos 7.4 x86_64
1. Affichez le fuseau horaire actuel du serveur, répertoriez le fuseau horaire et définissez le fuseau horaire (s'il s'agit déjà du fuseau horaire correct, veuillez ignorer) :
# timedatectl # timedatectl list-timezones # timedatectl set-timezone Asia/Shanghai
2. Comprendre la notion d'heure et de fuseau horaire :
GMT, UTC, CST, DST
UTC :
La terre entière est divisée en vingt-quatre fuseaux horaires, et chaque fuseau horaire a sa propre heure locale. Dans les communications radio internationales, dans un souci d'unification, une heure unifiée est utilisée, appelée Temps Universel Coordonné (UTC : Universal Time Cooperative). ).
GMT :
L'heure moyenne de Greenwich fait référence à l'heure standard de l'Observatoire royal de Greenwich situé dans la banlieue de Londres, en Angleterre, car le méridien d'origine est défini sur la longitude qui y passe (les heures UTC et GMT sont fondamentalement les mêmes).
CST :
Heure normale de Chine
GMT + 8 = UTC + 8 = CST
heure d'été :
L'heure d'été signifie que lorsque le soleil se lève plus tôt en été, l'heure est avancée d'une heure pour avancer l'utilisation de la lumière du jour (non utilisée en Chine).
2. Utilisez les serveurs d'heure du pool public NTP http://www.pool.ntp.org pour synchroniser l'heure de votre serveur.
Vérifiez s'il est installé :
# rpm -q ntp ntp-4.2.6p5-25.el7.centos.2.x86_64
S'il est déjà installé, veuillez ignorer cette étape, sinon veuillez exécuter la commande suivante pour l'installer :
# yum install ntpdate ntp -y
Modifier la configuration NTP :
Remarque : la couleur verte est le contenu original que j'ai commenté, la couleur rouge est le nouveau contenu qui remplace le commentaire précédent et les autres sont par défaut.
# vim /etc/ntp.conf # For more information about this file, see the man pages # ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5). driftfile /var/lib/ntp/drift #新增:日志目录. logfile /var/log/ntpd.log # Permit time synchronization with our time source, but do not # permit the source to query or modify the service on this system. restrict default nomodify notrap nopeer noquery # Permit all access over the loopback interface. This could # be tightened as well, but to do so would effect some of # the administrative functions. restrict 127.0.0.1 restrict ::1 #这一行的含义是授权172.16.128.0网段上的所有机器可以从这台机器上查询和同步时间. restrict 172.16.128.0 mask 255.255.255.0 nomodify notrap # Hosts on local network are less restricted. #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap # Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). #server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst #新增:时间服务器列表. server 0.cn.pool.ntp.org iburst server 1.cn.pool.ntp.org iburst server 2.cn.pool.ntp.org iburst server 3.cn.pool.ntp.org iburst #新增:当外部时间不可用时,使用本地时间. server 172.16.128.171 iburst fudge 127.0.0.1 stratum 10 #broadcast 192.168.1.255 autokey # broadcast server #broadcastclient # broadcast client #broadcast 224.0.1.1 autokey # multicast server #multicastclient 224.0.1.1 # multicast client #manycastserver 239.255.254.254 # manycast server #manycastclient 239.255.254.254 autokey # manycast client #新增:允许上层时间服务器主动修改本机时间. restrict 0.cn.pool.ntp.org nomodify notrap noquery restrict 1.cn.pool.ntp.org nomodify notrap noquery restrict 2.cn.pool.ntp.org nomodify notrap noquery # Enable public key cryptography. #crypto includefile /etc/ntp/crypto/pw # Key file containing the keys and key identifiers used when operating # with symmetric key cryptography. keys /etc/ntp/keys # Specify the key identifiers which are trusted. #trustedkey 4 8 42 # Specify the key identifier to use with the ntpdc utility. #requestkey 8 # Specify the key identifier to use with the ntpq utility. #controlkey 8 # Enable writing of statistics records. #statistics clockstats cryptostats loopstats peerstats # Disable the monitoring facility to prevent amplification attacks using ntpdc # monlist command when default restrict does not include the noquery flag. See # CVE-2013-5211 for more details. # Note: Monitoring will not be disabled with the limited restriction flag. disable monitor
3. Configurez le système pour qu'il démarre automatiquement au démarrage :
# systemctl enable ntpd # systemctl enable ntpdate # systemctl is-enabled ntpd
Lorsque le service ntpd démarre, utilisez d'abord la commande ntpdate pour synchroniser l'heure :
# ntpdate -u 1.cn.pool.ntp.org
Une des raisons : lorsque le décalage horaire entre le serveur et le client est trop important, modifier l'heure à ce moment-là peut provoquer des problèmes imprévisibles au système ou à l'application, et NTP arrêtera la synchronisation de l'heure. Si vous vérifiez que l'heure n'est pas synchronisée après le démarrage de NTP, vous devez considérer que l'erreur d'heure peut être trop importante. Dans ce cas, vous devez d'abord synchroniser l'heure manuellement.
Démarrer le serveur NTP :
# systemctl start ntpdate # systemctl start ntpd
4. Rejoignez le pare-feu :
# firewall-cmd --permanent --add-service=ntp # firewall-cmd --reload
5. Vérifiez l'état de la connexion NTP. S'il n'y a pas de problème, écrivez l'heure correcte sur le matériel :
# ss -tlunp | grep ntp # ntpq -p # hwclock -w
5.1. Heure système et heure matérielle
Temps matériel :
L'heure RTC (Real-Time Clock) ou CMOS est généralement alimentée par les piles de la carte mère, et le serveur continuera à fonctionner même après sa mise hors tension. Seules les valeurs de date et d'heure sont enregistrées, les paramètres de fuseau horaire et d'heure d'été ne peuvent pas être enregistrés.
Heure système :
Généralement, l'heure RTC est copiée au démarrage du serveur, puis s'exécute indépendamment, en enregistrant les paramètres d'heure, de fuseau horaire et d'heure d'été.
6.Client :
Synchronisation en temps réel via le processus de service (NTP doit être installé) :
# vim /etc/ntp.conf server 172.16.128.171
Important : La modification du fichier de configuration NTP de n'importe quel serveur de nœud nécessite le redémarrage du service ntpd :
# systemctl restart ntpd
Synchronisez l'heure avec le plan de tâches crontab (ntpdate doit être installé, l'heure de synchronisation est mise à jour à minuit tous les jours) :
# crontab -e 0 0 * * * /usr/sbin/sntp -P no -r 172.16.128.171;hwclock -w
Déployé. De cette manière, le cluster synchronisera automatiquement les services régulièrement, afin que l'heure du cluster reste cohérente.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!