안녕하세요, MJ 입니다.
이번시간에는 시간 동기화를 설명을 합니다.
우리는 OS 를 설치 하고, 시간에 대해 체크를 해야 할 필요가 있습니다.
이것은 타임존과는 별도로 확인이 필요한 내용으로 시스템에서 사용 할 시계가
어느 나라인지를 확인하는 내용이 아니라,
현재의 시각과 시스템에서 확인되는 현재의 시각을 비교하는것을 말합니다.
내 핸드폰 시계를 보고, 시스템에서 확인되는 시각과의 차이를 확인하는 것인데
이때, 시간이 차이가 많이 나게 되면 시계를 맞추어 주어야 합니다.
- 호스트컴퓨터(윈도우)와 VM간에도 시간이 35초가량 차이가 나는것이 확인됩니다.
이렇게 시간이 차이가 나면 일단 이렇게 수동으로 시간을 맞추어 볼 수 있습니다.
- 설정할 시간을 입력하고 그 시간이 될때까지 기다렸다가 엔터를 침.
이렇게 시계를 맞추면 비슷한 시간을 맞출 수 있지만 정확하게 일치하는 시간을 만들 수는 없습니다.
그리고, 시간이 흐름에 따라 시각이 계속해서 정확한 시간을 유지할 수 없다는것을 경험에 의해 알고있습니다.
([시계A] 와 [시계B] 의 1초가 달라, 몇일 뒤, 몇주 뒤,,, 시간이 지난 뒤에 확인하였을 때에 몇초든 분이든 틀어짐을 경험해봄)
컴퓨터에는 시각을 계산하기위한 크리스탈이 존재하고, 우리가 알고있는 1초에 가까운 시간을
컴퓨터에서도 1초로 확인할 수 있도록 노력하지만, [시계A] 와 [시계B] 처럼 정확한 1초를 만들기란 불가능에 가깝습니다. 이것이 시간 동기화의 목적이 되겠습니다.
시간을 동기화 하기위해서는 시간동기화를 위한 프로토콜이 필요하게 되고(온전히 시간 동기화만을 목적으로 한 프로토콜) 그 프로토콜의 이름이 NTP 입니다 (Network Time Protocol)
우리의 VM은 현재 시스템에 설정 된 시간이 올바른 시간인지 확인이 필요하고, 올바르지 않다면 올바른 시간으로의 보정이 필요하게 됩니다. 우리의 VM은 올바른 시계로부터 시간을 받아와 보정해야하기때문에 클라이언트가 되고, 올바른 시간을 유지하면서 시간을 알려주는 어딘가가 서버가 될 것입니다.
이렇게 NTP 설정을 하기위해서는 패키지가 필요한데 과거에는 ntpd 라는 서비스를 이용하여 시간을 동기화 하였지만, 최근에는 chronyd 라는서비스를 이용하여 시간을 동기화 합니다.
chronyd 서비스를 사용하기위해서는 시스템에 chrony 라는 패키지가 설치 되어야 합니다.
패키지를 설치하려고 확인했는데 이미 설치가 되어있습니다.
그렇다면 패키지 설치는 skip 하고, 설정을 확인하겠습니다.
설정파일은 /etc/chrony.conf 이고, 내용 중에 주석이 많이있어,설정 된 내용만 빨간줄을 쳐 보았습니다.
설정 방법
1. pool 로 시작되는 설정을 주석처리 또는 삭제하고, 맨 아래에 한줄을 추가: server time.bora.net
2. /etc/chrony.conf 설정을 다시 로드할 수 있도록 chronyd 서비스를 다시 구동
3. NTP 서버의 IP 가 잘 등록되어 시간동기화를 하고 있는지 확인
- chronyc sources 명령어 결과에서
time.bora.net 주소가 확인됩니다. 이 주소는 /etc/chrony.conf 의 맨 아래줄에 추가 한 내용으로,
설정파일의 내용이 잘 로드 되었음을 확인할 수 있습니다.
- chronyc -n sources 명령어 결과에서는
time.bora.net 이름주소의 IP 로 확인이됩니다. Lookup 이 잘 되고 있고, 연동 해야 할 time.bora.net 의
IP 를 확인 할 수 있습니다.
설정파일도 잘 로드 하였고, Lookup 도 잘 되었지만 그렇지만 동기화가 안되고있습니다.
동기화가 잘 되고있다면 NTP 서버의 IP 또는 네임주소 왼쪽에 * 문자가 확인됩니다. (현재는 물음표 ?)
* 문자가 확인되고나면 현재의 시계가 올바른 시계로부터 시간을 보정받아 정확한 시간을 확인할 수 있게 됩니다.
NTP 동기화는 은행, 증권사 등 시간이 중요한 서비스를 제공하는 고객사에게는 굉장히 중요합니다.
이제는 더 이상 없을것이 예상되지만 윤초에 대비하여 패치를 진행했던적이 꽤 있었습니다.
시간 동기화와 관련하여 여러가지 옵션과, 용도에 대해서도 이야기 하고싶지만 내용이 너무 길어질것같아 줄입니다. 간략하게 NTP 설정과 확인방법에 대해 이야기 드려보았는데 필요성을 느끼실 수 있었다면
저는 목적을 달성한것같습니다.
추가 문의사항은 댓글을 달아주시면 답변 드리도록 하겠습니다.
감사합니다.
댓글
댓글 쓰기