안녕하세요. 슈다 입니다.
OS 별 윤초 (Leap second) 조치 방법을 알아보겠습니다.
윤초 (Leap second) 란?
세계에서 공용으로 사용하는 세계협정시(UTC) 의 오차를 맞추기 위해 1초를 더하거나 빼는 것을 의미합니다.
한국은 2017년 1월 1일 9시에 1초가 추가된 이력이 있습니다.
윤초 (Leap second) 가 시스템에 미치는 영향
1초가 더해지거나 빼지는 것은 시스템에 있어서 치명적일 수도 있습니다.
주로 DB 및 시간과 관련된 시스템에서 Crash를 발생하는데요,
1초 차이로 인해 DB Data가 꼬여버리거나 Crash 되는 등의 심각한 상황이 발생할 수 있습니다.
그렇지만 Windows시스템이나 VMware 등은 윤초로 인한 문제 발생 가능성이 매우 낮다고 합니다.
OS 별 윤초 조치 방법 및 점검
□ UNIX
윤초로 인해 발생 가능한 문제점 : Time backwards로 인한 DB Crash 발생 가능성
해결방법 : NTP 의 slew 옵션 적용 (-x 옵션)
확인방법 : -x 옵션 적용 되었는지 확인하며, 적용되어 있지 않다면 적용
# ps -ef |grep ntp
# /usr/sbin/xntpd -x (옵션 적용됨)
# /usr/sbin/xntpd (옵션 적용되지 않음)
적용방법 (AIX)
# stopsrc -s xntpd (NTP 중지)
# chsys -s xntpd -a "-x" (NTP 실행 시 -x 옵션 실행되도록 시스템 설정 변경)
# lssrc -Ss xntpd ( : 로 구분된 3번째 필드 cmdargs 에 -x 가 있는지 확인)
# startsrc -s xntpd (NTP 기동)
# ps -ef |grep ntp 명령으로 xntpd -x 로 기동되어 있는지 확인
번외
# startsrc -s xntpd -a "-x" (chsys 명령으로 변경하지 않고, ntp 기동 시 옵션을 넣어 기동하는 방법)
□ Linux
윤초로 인해 발생 가능한 문제점
1. Time backwards로 인한 DB Crash 발생 가능성
해결방법 : NTP 의 slew 옵션 적용 (-x 옵션)
확인방법 : -x 옵션 적용 되었는지 확인하며, 적용되어 있지 않다면 적용
# ps -ef |grep ntp
# ntpd -x -u ntp:ntp .... (옵션 적용됨)
# ntpd -u ntp:ntp .... (옵션 적용되지 않음)
적용방법
/etc/sysconfig/ntpd 파일을 수정합니다. OPTIONS 값에 -x 추가 및 SYNC_HWCLOCK 값을 입력합니다.
# vi /etc/sysconfig/ntpd
# OPTIONS="-x -u ntp:ntp -p /var/run/tnpd.pid" (-x 값을 추가합니다.)
# SYNC_HWCLOCK=no (값을 추가하거나 yes를 no로 변경해 줍니다.)
# service ntpd restart (NTP 데몬 재기동)
# ps -ef |grep ntp (-x 옵션이 적용되었는지 확인)
2. 커널 업데이트가 필요할 수 있습니다. - kernel crash 발생 사례 있다고 함
chronyd 패키지를 사용하는 경우 최신 커널 버전을 권장합니다. - Redhat 권고사항
RHEL7 버전을 사용하는 경우 아래의 kernel level 보다 높은 버전을 권장합니다.
7.2 : kernel-3 - 7.2: kernel-3.10.0-327.41.4.el7
7.3 : kernel-3.10.0-514.2.2.el7
□ Windows
윤초로 인해 발생 가능한 문제점
Time 값을 Primary Key로 사용하는 DB Table의 경우에, 테이블 업데이트 주기가 1초 미만인 경우 Duplication 발생 가능
그렇지만 발생 가능성이 매우 낮다고 합니다.
해결방법 : 별도 Action 없음
1. 윤초 (Leap second) 관련하여 Windows에서 보고된 사례가 없는 것으로 확인된다고 하며 (2016년 말 기준)
2. NTP Client는 동기화 시 윤초를 구분하지 않고 평소처럼 시간 동기화 주기 때 동기화를 시도하고
3. NTP Server는 Client와 동일한 방식으로 동기화 하며, Client에 동기화packet 전달 시 윤초 packet을 전달하지 않는다고 합니다.
4. 1초 이하의 시간을 사용하는 Application은 NTP 동기화 시 잘못된 동기화로 인한 오류 발생 가능성으로 인해
독립적인 Clock 사용으로 NTP 운영환경에서의 문제발생 여지가 적음
'IT > Unix & Linux' 카테고리의 다른 글
[AIX] cron 종료 방법 - respawn daemon kill (0) | 2019.06.19 |
---|---|
[AIX] default gateway 추가 및 삭제하기 (0) | 2019.06.17 |
[UNIX] session time out 설정방법 - TMOUT, logintimeout (0) | 2019.06.12 |
[AIX] 로그인 시 비밀번호 재설정 나오지 않게 하기 / 비밀번호 변경일자 확인 - pwdadm (0) | 2019.06.11 |
[Linux] service 명령 사용시 주의사항 (0) | 2019.06.05 |