전산실이나 전산 장비들에 이벤트가 발생 시 장애처리를 위한 log 시간 확인은 가장 중요한 일 중에 하나입니다. 그래서 이번 시간에는 네트워크에서 장비들의 시간을 동기화시켜주는 NTP 서버의 개념 및 구성하는 방식 , 동작원리 등에 대해서 알아보도록 하겠습니다.
1. NTP 서버 ( Network Time Protocol )
: 네트워크로 구성된 환경에서 운영되는 시스템들의 시간을 동기화하기 위한 규약입니다. 서버나 네트워크 장비들이 NTP서버를 통해 시간을 받아와서 , 정확하게 맞는 시간을 같기 위해 설치합니다.
서버라고 하면 헷갈릴수 있으니 " 시각동기화 장치"라고도 부릅니다.
★ NTP서버를 사용하는 이유
: 일반적으로 전산실에서 서버나 네트워크 모든 장비들을 자체적으로 시간을 설정하는데, 이렇게 설정한 시간은 일정 시간이 지나면서 조금씩 틀어지게 됩니다. 아니면 외부 서버 시간 동기화를 해주는 time. bora. net를 이용하여도 되는데 이 외부 사이트 시간 동기화를 사용하려면 인터넷이 되어야 합니다.
하지만 내부에서 인터넷을 보안상 차단시켜놓은 경우도 많고 , 외부의 공격에 취약하기 때문에 사용하지 않습니다.
※ 장비들간 시간이 맞지 않으면 발생하는 문제점
① 내부 시스템 장애의 원인을 파악할 때 서버나 네트워크 장비의 시간 오차로 Log 시간이 틀어져서 정확한 원인 파악에 어려움을 겪을 수 있습니다.
② CCTV 영상을 저장하는 서버라고 했을때 시간이 틀어지면 , 어떤 사건이 일어나서 영상과 시간을 확인할 때 큰 문제가 발생할 수 있겠죠? (교통사고라던가, 사건사고가 터진 CCTV라던가요) 이런 경우를 대비하여 내 사이트에서만 사용 가능한 NTP 서버를 따로 두어 , 시간 동기화를 시킵니다.
2. NTP 서버 구축 구성도
NTP 서버는 안테나를 통해 위성의 시간을 받아오고 , 그 시간을 NTP서버에 표시하게 됩니다. 그러면 다른 내부 서버들이 NTP를 설정할 때 NTP 서버의 IP를 잡아주면 위성을 통해 받은 시간을 모든 서버들이 가져가서 정확한 시간 동기화를 사용할 수 있게 되는 원리입니다. 쉽죠?
1. GPS 안테나
: 위성을 통해서 시간을 받습니다. 보통 동축 케이블로 NTP 서버와 연결
2. 낙뢰방지기
: 안테나가 외부에 설치되기 때문에 낙뢰에 대비한 장치
3. 동축 케이블
: 안테나에서 NTP 서버까지 동축케이블을 이용해서 연결
4. NTP 서버
: 위성에서 보낸 시간을 안테나에서 받아 시간을 NTP 서버에 표출
※ NTP 서버 동작 원리
1. NTP 서버 ethernet포트에 내부에서 사용하는 IP Address를 설정
2. 내부 서버들에서 NTP를 강제로 NTP 서버로 설정
3. 내부 네트워크 장비들 NTP 설정
4. 안테나를 통해 받은 위성의 시간을 NTP 서버에서 동기화하고 , 그 시간을 다른 서버들이 동기화 내부 통신에 문제가 발생하지 않는 한 시간이 틀어지지 않습니다.
※ 자체적으로 NTP 서버를 두고 설치하는 방법 이외도 응용해서 사용하는 방법은 몇 가지가 있는데 , 그중 하나를 소개합니다
1. 서버 한대를 인터넷 허용으로 해서 Time.cora.net로 NTP 서버를 설정
2. 다른 내부 서버들은 위에 서버를 NTP 서버로 설정 : 이렇게 하면 별도의 안테나 설치나 NTP 장비 없이도 정확한 시간 동기화를 사용할수 있습니다.
- NT/Linux/Unix 서버는 NTP서버로 사용될 수 있습니다.
- UDP 123번 port를 사용하므로 방화벽에서 해당 포트는 열려있어야 합니다.
- NTP시간 동기화 시 바로 시간이 변경되는 것이 아니라 조금씩 타깃 서버와 시간을 맞춰갑니다.
(동일 시간대 데이터 생성으로 인한 데이터 정합성의 오류를 방지하기 위함이며 이는 설정에 따라 즉시 변경이 되는 경우도 있습니다.)
- 타겟서버와 시간 차이가 15시간(기본값) 이상 날 경우 동기화되지 않습니다.
저의 글을 읽어 주셔서 감사합니다. 오늘도 즐거운 하루 보내세요.
댓글