ntp 시간 동기화 서버 구축, cm 시간 문제 해결

Cloudare Manager에서 CDH5.12.2 클러스터 환경을 구축하고 서버 시간이 동기화되지 않는 문제가 발생하여 자체적으로 구축했습니다. 여러분에게 깨우침을 주고 직접 측정해 보시기 바랍니다!---여러분은 궁금한 점이 있으면 언제든지 저에게 메시지를 남기거나 이메일:[email protected](1) 목표 환경, 5대 linuxcentos6.7, 한 대는 NTPD 서비스와 외부 공공 NTP 서비스의 동기화 시간, 동시에 내부 네트워크의 NTPD 서버로서 다른 기계는 이 서비스와 시간을 동기화한다.
서버 IP
역할
설명
동기화 방식
192.168.0.211
NTPD 서비스
외부 네트워크와 표준 시간을 동기화하는 것을 책임지고 내부 네트워크 ntpd 서비스로 삼다
NTPD 서비스 부드러운 동기화
192.168.0.212
내외부 NTP 클라이언트
인트라넷 장치와 192.168.0.211 동기화 시간
NTPD 서비스 부드러운 동기화
192.168.0.213
내외부 NTP 클라이언트
인트라넷 장치와 192.168.0.211 동기화 시간
NTPD 서비스 부드러운 동기화

1. NTP 시간 동기화 방식 선택


NTP 동기화 방식은 linux에서 일반적으로 두 가지가 있는데 그것이 바로 ntpdate 명령을 사용하여 직접 동기화하고 NTPD 서비스를 사용하여 부드럽게 동기화하는 것이다.무슨 차이가 있겠는가, 간단하게 말하자면, 시간이 길어지고, 개념이 모호해지지 않도록.현재 장치 한 대, 시스템 시간은 13:00, 실제 현재 시간(공중, 아마도 위성, 여기 동기화를 준비하는 상위 목표 NTP 서버라고 가정)은: 12:30입니다.만약에 우리가 ntpdate 동기화(ntpdate-u 목표 NTP 서버 IP)를 사용한다면 운영체제의 시간은 즉시 12:30으로 업데이트됩니다. 만약에 우리 시스템이 매일 12:40에 실행되는 정시 응용 프로그램이 있다면 실제 오늘 이 작업은 이미 실행되었습니다(현재 시간은 13:00이잖아요). 현재 ntpdate에 의해 12:30으로 수정되었습니다. 그러면 10분 후에 또 한 번의 작업을 수행한다는 뜻입니다. 큰일입니다.이 미션은 한 번만 수행할 수 있잖아!!나는 네가 이미 ntpdate 시간 동기화의 위험을 이해했다고 생각한다. 물론 이 예는 극단적이지만 확실히 위험이 있다. 생산 환경은 이렇게 하지 않으려고 한다. 그래도 좀 타당해야 한다.따라서 이 문제를 해결하는 방법은 시간의 매끄러운 변경이다. 한 시간점이 하루에 두 번 겪지 않도록 하는 것이다. 이것이 바로 NTPD 서비스 방식의 매끄러운 동기화 시간이다. 매번 동기화 시간의 편이량이 너무 가파르지 않다.천천히 하는 거예요.

2. 설치 구성


CentOS 6.7 시스템은 이미 자체적으로 NTPD 서비스를 가지고 있으며 일반적으로 기본값은 에 따른다. 설치하지 않으면 먼저 검사한 다음에 yum창고를 설치하고 yum방식으로 설치하면 OK. 구체적으로는 다음과 같다.
rpm -q ntp
ntp-4.2.4p8-2.el6.x86_64//  , , 。

만약 설치되지 않았다면, 우리는 아래와 같이
yum install ntp

위의 설치 방식에 따라 네트워크의 모든 서버에 NTP 패키지를 설치합니다.
완료되면 NTP 서비스를 자동으로 시작하도록 구성해야 합니다.
chkconfig ntpd on
chkconfig --list ntpd
ntpd   0:  1:  2:  3:  4:  5:  6: 

설정하기 전에 ntpdate를 사용하여 수동으로 시간을 동기화합니다. 이 컴퓨터와 외부 시간 서버의 시간 차이가 너무 커서 ntpd가 정상적으로 동기화되지 않도록 합니다.네트워크 동기화 시간 사용:
ntpdate cn.pool.ntp.org

3, 네트워킹 NTP-Server 구성(192.168.0.211)


다음은 주로 내부 네트워크를 설정하는 NPTD 서버(192.168.0.211)입니다. NTPD 서비스 설정의 핵심은/etc/ntp입니다.conf 파일, 설정하면 OK.인터넷, 특히 외국의 문장은 모두 매우 간단하다. 나는 속았다. 기초 환경이 다르기 때문에 우리는 중국 특색을 가져야 한다.먼저 프로필을 올린 다음에 빨간색 부분 (문법은 색을 표시하지 않습니다. 주의) 은 제 수정이고 다른 것은 기본입니다.
# 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
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod 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 -6 ::1
# 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).

#   : http://www.pool.ntp.org/zone/cn
server 210.72.145.44 perfer   #  
server 202.112.10.36             # 1.cn.pool.ntp.org
server 59.124.196.83             # 0.asia.pool.ntp.org

# 
#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

# allow update time by the upper server 
#  
restrict 210.72.145.44 nomodify notrap noquery
restrict 202.112.10.36 nomodify notrap noquery
restrict 59.124.196.83 nomodify notrap noquery


# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available. 

#  , 
server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10
# --------------------------- ------------------------------------------
# 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

매개변수 및 명령 구성에 대한 간단한 설명은 다음을 참조하십시오.http://linux.vbird.org/linux_server/0440ntp.php#server_ntp.conf
  • 프로필 수정 완료, 저장 종료, 서비스 시작..
  • # service ntpd start
  • 시작 후 외부 시간 서버와 동기화를 시작하는 데 보통 5-10분 정도 걸립니다.명령을 통해 NTPD 서비스 상황을 조회할 수 있습니다.서비스 연결과 감청을 보십시오
  • # netstat -tlunp | grep ntp      
    udp        0      0 192.168.1.135:123           0.0.0.0:*                               23103/ntpd          
    udp        0      0 127.0.0.1:123               0.0.0.0:*                               23103/ntpd          
    udp        0      0 0.0.0.0:123                 0.0.0.0:*                               23103/ntpd          
    udp        0      0 fe80::6cae:8bff:fe3d:f65:123 :::*                                    23103/ntpd          
    udp        0      0 fe80::6eae:8bff:fe3d:f65:123 :::*                                    23103/ntpd          
    udp        0      0 ::1:123                     :::*                                    23103/ntpd          
    udp        0      0 :::123                      :::*                                    23103/ntpd  
    

    빨간색이 굵어진 부분을 보면 연결과 감청이 정확하고 UDP 방식을 사용한다는 것을 나타낸다
  • ntpq-p는 네트워크의 NTP 서버를 보고 클라이언트와 각 서버의 관계를 표시합니다
  • # ntpq -p
         remote           refid      st t when poll reach   delay   offset  jitte
    ==============================================================================
    *202.112.10.36   202.112.10.60    2 u  277  128  314  201.553    9.193  17.068
    +59.124.196.83   129.6.15.28      2 u   88  128  377   71.153  -25.111  14.004
     LOCAL(0)        .LOCL.          10 l   15   64  377    0.000    0.000   0.000
    

    위치
    표식
    함의
    부호
    *
    응답하는 NTP 서버 및 가장 정확한 서버
    +
    이 쿼리 요청에 응답하는 NTP 서버
    blank
    응답 없는 NTP 서버
    제목
    remote
    refid
    NTP 서버에서 사용하는 고급 서버 이름
    이 요청에 응답하는 NTP 서버의 이름
    st
    요청에 응답하는 NTP 서버 수준
    when
    지난번 성공 요청 이후 지금까지 초수.
    poll
    로컬과 원격 서버는 몇 시간에 한 번씩 동기화를 할 수 있습니까? 단위 초입니다. NTP를 처음 실행할 때 이poll 값은 비교적 작습니다. 서버가 동기화하는 빈도가 커서 가능한 한 빨리 정확한 시간 범위로 조정할 수 있습니다. 이후에poll 값은 점점 커지고 동기화 빈도도 상응하여 감소합니다.
    reach
    서버와 연결할 수 있는지 테스트하는 데 사용되는 8진수 값입니다. 연결에 성공할 때마다 값이 증가합니다.
    delay
    로컬 컴퓨터에서 ntp 서버로 동기화 요구 사항을 보내는 왕복 시간
    offset
    호스트는 NTP 시계를 통해 동기화된 시간원과 시간 편이량을 동기화합니다. 단위는 밀리초이고 offset는 0에 가까울수록 호스트와 ntp 서버의 시간은 가깝습니다.
    jitter
    특정한 연속된 연결수에서 오프셋의 분포 상황을 통계했다.간단하게 말하면 이 수치의 절대값이 작을수록 호스트의 시간은 더욱 정확해진다
    ntpstat 명령은 시간 동기화 상태를 볼 수 있습니다. 이것은 일반적으로 5-10분 후에야 연결과 동기화에 성공할 수 있습니다.따라서 서버가 시작되면 잠시 기다려야 합니다.처음 시작할 때 일반적으로:
    # ntpstat 

    시작 상태:
    unsynchronised
      time server re-starting
       polling server every 64 s

    연결 및 동기화 후:
    synchronised to NTP server (202.112.10.36) at stratum 3 
       time correct to within 275 ms
       polling server every 256 s

    OK, 네트워크의 NTPD 서비스는 이미 설정이 완료되었습니다. 만약 모든 것이 정상적이라면 네트워크의 다른 장치와 이 서버를 시간 동기화 서비스로 설정하기 시작합니다.

    4, 네트워킹 NTP-Clients 구성


    네트의 다른 장치는 NTP의 클라이언트 설정으로 비교적 간단하고 모든 장치의 설정이 같다.
  • 우선 NTPD 서비스를 설치해야 합니다
  • 그런 다음 NTP-Server와 동일하게 자체 부팅으로 구성합니다..
  • 그 중 하나를 찾아서/etc/ntp를 설정합니다.conf 파일, 설정 완료 검증 통과 후 다른 클라이언트 기계로 복사하여 직접 사용하면 됩니다
  • # yum install ntp
    # chkconfig ntpd on
    # vim /etc/ntp.conf
    driftfile /var/lib/ntp/drift
    restrict 127.0.0.1
    restrict -6 ::1

    시간 서버를 로컬 시간 서버로 구성
    server 192.168.0.211
    restrict 192.168.0.211 nomodify notrap noquery
    server  127.127.1.0     # local clock
    fudge   127.127.1.0 stratum 10
    includefile /etc/ntp/crypto/pw
    keys /etc/ntp/keys

    간단하게 하기 위해서, 여기는 설정 항목만 열거하고, 주석은 모두 정리했다.OK, 종료를 저장하고 서버를 요청하기 전에 ntpdate를 사용하여 수동으로 시간을 동기화하십시오
    # ntpdate -u 192.168.0.211
    22 Dec 17:09:57 ntpdate[6439]: adjust time server 192.168.1.135 offset 0.004882 sec

    여기에서 동기화 실패가 발생할 수 있습니다. 일반적인 상황에서 원인은 로컬 NTPD 서버가 아직 정상적으로 시작되지 않았기 때문입니다. 일반적으로 몇 분 후에야 동기화를 시작할 수 있습니다.
    클라이언트 시작
    # service ntpd start

    시작 후 동기화 확인
    # ntpq -p
    # ntpstat

    내부 네트워크이기 때문에 일반적으로 ntpstat는 곧 동기화할 수 있으며 몇 분은 기다려야 한다.
    OK, 네이티브 클라이언트 구성이 완료되면 SCP 복제본/etc/ntp를 사용합니다.conf는 동기화가 필요한 다른 클라이언트 기기에 가서 NTPD 서비스를 시작하면 됩니다.
    다른 클라이언트 기기의 작업 구성은 다음과 같습니다.
     
    #  ntpdate -u 192.168.0.211
    22 Dec 17:09:57 ntpdate[6439]: adjust time server 192.168.1.135 offset 0.004882 sec
    
     
    # scp -r  /etc/ntp.conf   /etc/
    
     ntpd 
    # service ntpd start   

    5. 오류 문제 처리


    설치, 설정 및 응용 프로그램에 발생하는 문제를 수집하는 데 사용: 오류 1: ntpdate-u ip -> no server suitable for synchronization found
    판단: ntp 클라이언트에서 ntpdate – d 서버 IP로 보면'서버 dropped:strata too high'오류가 발견되고'stratum 16'이 표시됩니다.정상적인 상황에서stratum이라는 가치 범위는'0~15'이다.
    원인: NTP 서버가 아직 그 자체나 그 서버와 동기화되지 않았습니다.ntp 서버에서 ntp 서비스를 다시 시작하면 ntp 서버 자체나 서버와 동기화되는 데 시간이 걸릴 수 있습니다. 이 과정은 5분일 수 있습니다. 이 시간 안에 클라이언트가 ntpdate 명령을 실행할 때 no 서버 suitable for synchronization found의 오류가 발생할 수 있습니다.
    처리: 몇 분을 기다린 후에 일반적인 해결을 다시 시도합니다.
    명령 ntpq-p를 사용하여 상황을 볼 수도 있습니다

    좋은 웹페이지 즐겨찾기