차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
tech:linux_time [2011/05/11 17:07] vaslortech:linux_time [2016/07/12 00:56] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +{{tag>tech linux 우분투 서버 time}}
 +======리눅스 시간 맞추기======
 +
 +시피유에 부하가 갈 수록 시간이 틀려진다고????
 +
 +리눅스는 자기가 시간을 계산한다.
 +
 +  ntpdate -b -s time.kriss.re.kr
 +
 +이거 쓰면 됨.
 +
 +1. 우리나라의 NTP(Network Time Protocol) 서버
 +
 +  1) Stratum 1 서버 :
 +     GPS 위성으로 부터 표준시각정보를 받는 타임 서버를
 +     NTP Primary Time Server 혹은 Stratum 1(one) 라고 부름
 +
 +     데이콤 (gps.bora.net), 코넷 (ntp.kornet.net), GNGIDC,
 +     부산대학교 (ntp1.cs.pusan.ac.kr / ntp2.cs.pusan.ac.kr),
 +     한국 표준과학 연구원 시간 · 주파수 연구실 (time.kriss.re.kr)
 +
 +  2) Stratum 2 서버 :
 +     Stratum 1 서버로 부터 표준시간을 받는 타임서버를
 +     TP Secondary Time Server 혹은 Stratum 2 서버라고 부름
 +
 +     PSINet Korea (time.nuri.net),
 +     GNGIDC (ntp1.gngidc.net / ntp2.gngidc.net),
 +     이대부속 초등학교 (ntp.ewha.net / ticktock.ewha.net)
 +
 +3. ntpdate를 이용한 시간 동기화
 +
 +  1) 동기화
 +
 +      ntpdate -b -s time.kriss.re.kr
 +
 +     -s : 결과를 화면이 아닌 syslog로 보냄
 +
 +  2) 다음과 같은 오류가 발생한 경우
 +
 +     
 +  [root@truefeel root]# ntpdate -b time.kriss.re.kr
 +  17 Mar 21:03:25 ntpdate[8244]: no server suitable for synchronization found
 +
 +  ->  NTP 프로토콜은 UDP port 123 을 사용하는데, 이 포트가 방화벽 등으로
 +       막혀있는 경우에는
 +
 +       ntpdate -u time.kriss.re.kr
 +
 +       처럼 -u 를 옵션을 사용해서 다른 포트 사용하도록 한다.
 +
 +  3) 사용 예
 +
 +     
 +  [root@truefeel root]# date
 +  월  3월 17 21:40:35 KST 2003
 +  [root@truefeel root]# date 03172150 <- 강제로 시간을 3.17일 21:50 으로 변경함
 +
 +  월  3월 17 21:50:00 KST 2003
 +  [root@truefeel root]#
 +  [root@truefeel root]# ntpdate -u time.nuri.net <- 시간을 동기화 함
 +  17 Mar 21:40:44 ntpdate[8835]: step time server 203.255.112.96 offset -557.336058 sec
 +  [root@truefeel root]#
 +  [root@truefeel root]# date
 +  월  3월 17 21:40:46 KST 2003  <- 시간이 동기화 됨
 +
 +  위에서 'offset -557.336058 sec'은 타임서버의 시간(reference time)과 로컬 서버와의
 +  시간 차이를 나타냄
 +
 +  4) ntpdate의 2가지 시스템 콜
 +
 +  ntpdate는 settimeofday(), adjtime()의  2가지 시스템 콜로 시간을 설정한다.
 +  settimeofday()은 timezone과 시간을 설정하고,
 +  adjtime()은 점근적 시각 보정 방식으로 커널 클럭을 조정한다. 주로 시간 동기화에 사용한다.
 +
 +  ntpdate는 옵션(-b, -B)을 지정하지 않으면 현재 시스템 시간과 차이가 128ms 이상이면
 +  settimeofday()을, 이내이면 adjtime()을 사용한다.
 +  또한 강제적으로 ntpdate -b 로 settimeofday()를, ntpdate -B로 adjtime()를 사용할 수 있다.
 +
 +  ntpdate 실행 결과 메시지에 'step time server...'로 표시되면 setimeofday()가 사용되었고,
 +  'adjust time server...' 로 표시되면 adjtime()가 사용되었다.
 +
 +     
 +  [root@truefeel root]# ntpdate time.nuri.net
 +  14 Mar 01:09:31 ntpdate[3127]: step time server 203.255.112.96 offset 82.763348 sec
 +  [root@truefeel root]# ntpdate time.nuri.net
 +  14 Mar 01:22:30 ntpdate[3182]: adjust time server 203.255.112.96 offset -0.064531 sec
 +
 +부팅할 때는 ntpdate -b 로, cron등으로 정기적으로 시간조절을 할 때는 옵션없이 ntpdate  사용하기를 하기 바란다.
 +
 +==== 주의 사항====
 + time.kriss.re.kr 서버는 1초내에 여러번 접속을 시도할 경우 해당 IP를 차단 시키므로     테스트를 하더라도, 시간 간격을 두고 하도록
 +
 + 
 + * 출처: [[http://coffeenix.net/board_print.php?bd_code=19|시스템 관리자의 쉼터, 커피닉스]]
 +
 +