본문 바로가기

Cloud/Openstack

[Centos7/Openstack]Openstack 구축(2)-Install NTP(Network Time Protocol)

2023.09.28

연휴를 맞이하여, openstack을 구축하려고 한다. 해당 포스팅을 실행하기 전 그 전의 포스팅을 먼저 보고 실행한 후에 실행하는 것을 추천한다.  이 글을 순서대로 작성되지만 실행하는 것은 순서대로 Controller 먼저 구성하기 때문에 포스팅이 중간 중간 수정될 수 있음을 알린다.

 

2023.09.29

젠장.. 오류나서 이 부분을 다시 오다니..정말 별로다. 하지만, 할 수 없다. 원래 구축과정은 forth and back을 반복하는 것이니깐!!!!

 

 


 

Controller

1. Install Chrony Package

[root@localhost network-scripts]# yum install chrony
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: mirror.navercorp.com
 * extras: mirror.navercorp.com
 * updates: mirror.navercorp.com
base                                                                  | 3.6 kB  00:00:00
extras                                                                | 2.9 kB  00:00:00
updates                                                               | 2.9 kB  00:00:00
(1/4): base/7/x86_64/group_gz                                         | 153 kB  00:00:00
(2/4): extras/7/x86_64/primary_db                                     | 250 kB  00:00:00
(3/4): base/7/x86_64/primary_db                                       | 6.1 MB  00:00:00
(4/4): updates/7/x86_64/primary_db                                    |  23 MB  00:00:01
Package chrony-3.4-1.el7.x86_64 already installed and latest version
Nothing to do

 

2. Chrony.conf 파일 수정

[root@localhost network-scripts]# cat /etc/chrony.conf
# 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

# korea time
server 3.kr.pool.ntp.org iburst
server 1.asia.pool.ntp.org iburst
server 0.asia.pool.ntp.org iburst

allow 192.168.56.0/24



# 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.
makestep 1.0 3

# Enable kernel synchronization of the real-time clock (RTC).
rtcsync

# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *

# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2

# Allow NTP client access from local network.
#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.
#keyfile /etc/chrony.keys

# Specify directory for log files.
logdir /var/log/chrony

# Select which information is logged.
#log measurements statistics tracking

기존의 ntp 서버 대신 한국시간에 맞춰 동기화할 수 있도록 한다. 기본적으로 controller는 공용 서버에 대한 풀을 통하여 시각을 동기화한다. 

다른 노드가 컨트롤러 노드에서의 chrony 데몬에 접속하도록 활성화하기 위해 해당 키를 'allow~' chrony.conf 파일에 추가한다.

 

 

3. NTP 서비스 재시작

[root@localhost network-scripts]# systemctl enable chronyd.service
[root@localhost network-scripts]# systemctl start chronyd.service

[root@controller ~]# systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2023-09-26 07:17:11 EDT; 2 days ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
 Main PID: 734 (chronyd)
   CGroup: /system.slice/chronyd.service
           └─734 /usr/sbin/chronyd

Sep 29 06:06:39 localhost.localdomain chronyd[734]: Selected source 175.195.167.194
Sep 29 06:06:39 localhost.localdomain chronyd[734]: System clock wrong by 1.347601 secon...ed
Sep 29 06:07:43 localhost.localdomain chronyd[734]: Selected source 3.36.253.109
Sep 29 06:07:44 localhost.localdomain chronyd[734]: Source 121.174.142.81 replaced with ...40
Sep 29 06:13:08 localhost.localdomain chronyd[734]: Selected source 175.195.167.194
Sep 29 06:24:59 controller chronyd[734]: Selected source 121.174.142.82
Sep 29 06:41:14 controller chronyd[734]: Selected source 175.195.167.194
Sep 29 06:41:14 controller chronyd[734]: Source 158.247.195.140 replaced with 121.162.54.1
Sep 29 06:42:18 controller chronyd[734]: Selected source 121.174.142.82
Sep 29 06:44:24 controller chronyd[734]: Selected source 3.36.253.109
Hint: Some lines were ellipsized, use -l to show in full.

 

** 검증 **

[root@controller ~]# chronyc sources
210 Number of sources = 3
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 193.123.243.2                 2   6   377    21   +187us[ +934us] +/- 6439us
^- time.citra.net.id             2   6   377    16    +45ms[  +45ms] +/-  219ms
^- 36.91.114.83                  2   6     7    16  -8997us[-8997us] +/-  252ms

동기화가 되었음을 확인할 수 있다. 동기화가 시간이 몇분 걸릴 수 있으니 너무 조급해하지 말자

 

 

 

5. 추가적인 설정(개인적인 설정)

Controller Node에 'date' 명령어를 실행한 결과 다음과 같은 결과값이 나왔다.

[root@localhost network-scripts]# date
Wed Sep 27 20:46:04 EDT 2023

현재 실행 중인 날짜와 시간이 맞지 않음을 확인하였고, 더 자세히 알기 위해 'timedatectl'을 확인해본 결과 다음과 같은 결과값이 나왔다.

[root@localhost network-scripts]# date
Wed Sep 27 20:46:04 EDT 2023
[root@localhost network-scripts]# timedatectl
      Local time: Wed 2023-09-27 20:47:30 EDT
  Universal time: Thu 2023-09-28 00:47:30 UTC
        RTC time: Tue 2023-09-26 15:06:02
       Time zone: America/New_York (EDT, -0400)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  Sun 2023-03-12 01:59:59 EST
                  Sun 2023-03-12 03:00:00 EDT
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Sun 2023-11-05 01:59:59 EDT
                  Sun 2023-11-05 01:00:00 EST
[root@localhost network-scripts]#

현재 Controller는 'America/New_York'으로 시간이 설정되어 있어 한국 시간과 전혀 맞지 않았다. 그래서 한국시간과 설정을 맞게 하기 위해 수정하였다.

[root@localhost network-scripts]# timedatectl set-timezone Asia/Seoul
[root@localhost network-scripts]# timedatectl
      Local time: Thu 2023-09-28 10:01:49 KST
  Universal time: Thu 2023-09-28 01:01:49 UTC
        RTC time: Thu 2023-09-28 01:01:05
       Time zone: Asia/Seoul (KST, +0900)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

이 과정을 하게 되면 chronyd도 재시작해야한다. systemctl restart chrony으로 재시작한 후 chronyc sources 로 동기화가 제대로 되었는지 확인한다. ^? 로 되어 있을 수 있다. 이는 동기화가 되는데 시간이 걸리는 것이니 몇 분 후 다시 해보면 제대로 동기화됨을 확인할 수 있다.

 

 


 

 

Compute

 

패키지를 설치

[root@compute ~]# yum install chrony
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: mirror.navercorp.com
 * extras: mirror.navercorp.com
 * updates: mirror.navercorp.com
base                                                                  | 3.6 kB  00:00:00
extras                                                                | 2.9 kB  00:00:00
updates                                                               | 2.9 kB  00:00:00
(1/4): base/7/x86_64/group_gz                                         | 153 kB  00:00:00
(2/4): extras/7/x86_64/primary_db                                     | 250 kB  00:00:00
(3/4): base/7/x86_64/primary_db                                       | 6.1 MB  00:00:00
(4/4): updates/7/x86_64/primary_db                                    |  23 MB  00:00:02
Package chrony-3.4-1.el7.x86_64 already installed and latest version
Nothing to do

 

[root@compute ~]# systemctl enable chronyd
[root@compute ~]# systemctl start chronyd

[root@compute ~]# systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2023-09-26 07:23:27 EDT; 2 days ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
 Main PID: 725 (chronyd)
   CGroup: /system.slice/chronyd.service
           └─725 /usr/sbin/chronyd

Sep 29 03:56:13 localhost.localdomain chronyd[725]: Source 175.195.167.194 online
Sep 29 03:57:10 localhost.localdomain chronyd[725]: Selected source 13.209.84.50
Sep 29 05:32:33 localhost.localdomain chronyd[725]: Forward time jump detected!
Sep 29 05:32:33 localhost.localdomain chronyd[725]: Can't synchronise: no selectable sources
Sep 29 05:34:47 localhost.localdomain chronyd[725]: Selected source 13.209.84.50
Sep 29 06:02:20 localhost.localdomain chronyd[725]: Forward time jump detected!
Sep 29 06:02:20 localhost.localdomain chronyd[725]: Can't synchronise: no selectable sources
Sep 29 06:04:34 localhost.localdomain chronyd[725]: Selected source 13.209.84.50
Sep 29 06:05:34 localhost.localdomain chronyd[725]: Selected source 121.174.142.81
Sep 29 06:06:43 controller chronyd[725]: Selected source 13.209.84.50
Hint: Some lines were ellipsized, use -l to show in full.