시스템관리자의 쉼터 커피닉스 커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

가입없이 누구나 글을 쓸 수 있습니다. 공지사항에 대한 댓글까지도..




BBS >> 설치, 운영 Q&A | 네트웍, 보안 Q&A | 일반 Q&A || 정보마당 | AWS || 자유게시판 | 구인구직 || 공지사항 | 의견제시
2015.7.1. 윤초(Leap second) 삽입 관련 서버 점검사항

 
글 쓰기   답변 달기    커피닉스, 시스템 엔지니어의 쉼터 게시판 인덱스 -> *NIX / IT 정보
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
truefeel
카페 관리자


가입: 2003년 7월 24일
올린 글: 1277
위치: 대한민국

올리기올려짐: 2015.6.22 월, 5:58 pm    주제: 2015.7.1. 윤초(Leap second) 삽입 관련 서버 점검사항 인용과 함께 답변

7월 1일 윤초가 삽입(1초 추가)됩니다. 이 윤초가 서버에 영향을 미쳐 문제가 발생할 수 있습니다.

코드:

2015.06.30 23:59:58
2015.06.30 23:59:59
2015.06.30 23:59:60     <-- 윤초 삽입
2015.07.01 00:00:00

위 시간은 UTC기준이므로, 우리 나라 시간(KST)으로는 08:59:60 -> 09:00:00입니다.

미르님 3가지 주의점에 대해 깔끔하게 정리했요. The Leap second (2015.6.20.)

1. 리눅스 커널 버전 패치
2. NTP데몬은 slew 모드로 동작하게.
3. NTP데몬 안돌리는 서버는 tzdate를 tzdata-2015a-1 이상으로 업그레이드

미르님 글 중에 패치안된 낮은 커널이면 '100% 확률로 Freeze 또는 리부팅이 발생할 수 있다'고 했습니다만, 이 부분에 대해서는 제가 알지 못합니다. freeze나 reboot될 가능성은 있는데 100%인지는 모르겠어요. 여러 문서에서 100%라는 글을 본적이 없고, 발생할 수 있다는 글만 있어서.

------------------------------------------------------------------------------------

덕분에 저도 좀 추가로 정리해봅니다. 미르님의 글을 읽고 이 글을 읽는게 나을겁니다.
결론적으로 보면, 꾸준히 커널과 패키지를 업데이트했으면 크게 신경쓸 건 없을 것 같습니다.


1. 문제가 해결된 커널이 언제 나왔는지 찾아봤습니다. (버전은 미르님 글에서)

코드:

RHEL 6 : 2.6.32-279.5.2, 2012.8.
RHEL 5 : 2.6.18-164, 2009.9.
RHEL 4 : 2.6.9-89, 2009.5.


오래됐죠? 꾸준히 업데이트했다면 커널 문제는 없습니다.
RHEL, CentOS를 제외한 다른 리눅스 배포판은 직접 확인해보세요.

※ 커널 버전에 대해서는 추가로 확인해보고 적습니다. (2015.6.23.(화) AM 11시 추가)
인용:

'Resolve Leap Second Issues in Red Hat Enterprise Linux'을 토대로 일부 더 찾아보고.

1) RHEL 7 : 커널 버전 문제 없음

2) RHEL 6 : 특정 커널 버전이하에서 hang발생할 수
kernel-2.6.32-279.5.2, 2012.8.
840950 - livelock in leapsecond insertion [rhel-6.3.z] ( https://rhn.redhat.com/errata/RHBA-2012-1199.html )
윤초 삽입 후 CPU시간을 100% 소모할 수 있는 버그 수정

RHEL 6은 이후에 나온 버전중 윤초관련된게 하나 더 있군요.
kernel-2.6.32-358, 2013.2.
836803 - RHEL6: Potential fix for leapsecond caused futex related load spikes ( https://rhn.redhat.com/errata/RHSA-2013-0496.html )
윤초를 위한 futex 관련하여 load spike를 발생할 수 있는 잠재적인 버그 수정. 보다 안정적으로 가려면 kernel-2.6.32-358 이상이어야 할 듯.

3) RHEL 5 : 특정 커널 버전이하에서 crash될 수
kernel-2.6.18-164 이전 버전 문제.
479765 - Leap second message can hang the kernel ( https://rhn.redhat.com/errata/RHSA-2009-1243.html )
hang 발생될 수 있는 버그 수정

4) RHEL 4 : 특정 커널 버전이하에서 crash될 수
kernel-2.6.9-89 이전 버전 문제.
https://access.redhat.com/solutions/1325313



2. NTP 데몬의 slew 모드

시스템 규모가 조금되면 NTP서버 운영하실텐데, NTP서버는 시간보정하는 방법이 step 모드와 slew 모드 2가지가 있습니다.

- step 모드는 즉시 시간을 보정합니다.
- slew 모드는 아주 아주 천천히 시간을 보정합니다. 1초당 0.5ms로 보정해줍니다.
그러니깐 1초라는 시간을 보정하는데 2000초(1000/0.5 = 2000)라는 시간을 나눠서 아주 조금씩 보정해주는거죠.
시간에 민감한 경우 이렇게 하는게 좋습니다.

개인적으로 보기엔 민감성이 중요하지 않는 곳에서는 step모드(옵션없다면 default)로 해도 상관없을 것 같습니다. 웹서비스를 주로하는 곳에서 서버가 1초 변경되는데 민감할 정도가 아니니깐요. ntpdate를 실행하는 클라이언트에서도 자체 NTP서버와 몇분간격으로 동기화시키는 경우는 드물잖아요? 몇십분에서 몇시간간격으로 가져올테니, 그만큼 시간 민감도는 낮다는 의미죠.

본인들이 운영하는 서비스 특성을 잘 판단해서 step모드로 놔둘지 slew모드로 변경할지 고민하면 될 것 같습니다.
NTP서버의 slew모드로 변경은 미르님이 작성하신 글처럼 ntdp데몬에 -x 옵션을 추가해서 실행하면 됩니다.

혹시나 싶어 다시 얘기하는데, step, slew모드 설정은 ntpd 데몬이 돌아가는 서버에 대한 것입니다. ntpdate를 실행하는 다수의 서버를 말하는게 아닙니다. 아래에서 2번 서버에만 해당됩니다.
코드:

(1) 외부 공식 NTP 서버들(당신의 서버 아님) <-> (2) 내부 NTP서버 (당신이 관리하는 서버) <-> (3) ntpdate를 실행하는 다수의 서버들



3. 최근에 윤초가 언제 발생했는지 찾아봤더니 거의 2006년 부터는 거의 3년마다 한번씩 있었네요.
그 이전에는 더 자주 있었구요. 2012년에 문제가 발생했다면 그 때 뭐가 문제였는지 잘 기억하시고 조치를 취하세요.

코드:

2006.1.1.
2009.1.1.
2012.7.1.
2015.7.1.



4. tzdata가 이번 윤초까지 포함된 경우 다음과 같이 나온다.

인용:

$ zdump -v right/Asia/Seoul
... 생략 ...
right/Asia/Seoul Tue Jun 30 23:59:60 2015 UTC = Wed Jul 1 08:59:60 2015 KST isdst=0 gmtoff=32400
right/Asia/Seoul Wed Jul 1 00:00:00 2015 UTC = Wed Jul 1 09:00:00 2015 KST isdst=0 gmtoff=32400
... 생략 ...

※ KDT라고 적힌 것은 썸머타임 적용이다. KST -> KDT는 썸머타임 시작, KDT -> KST는 썸머타임 종료
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
글 쓰기   답변 달기    커피닉스, 시스템 엔지니어의 쉼터 게시판 인덱스 -> *NIX / IT 정보 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 있습니다
답글을 올릴 수 있습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB © 2001, 2005 phpBB Group