ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 시스템 락의 설정
    Technique/LPIC 2019. 10. 29. 15:07
    반응형

    컴퓨터에서 다루는 시간이 부정확하다면 로그나 메일에 기록되는 시간 또한 부정확하게 된다. 시스템의 내부 시간을 정확하게 설정해두는 것이 중요하다.

    시스템 클락과 하드웨어 클락

    컴퓨터에는 하드웨어로서 내장되어 있는 시계가 있어 하드웨어 클락이라고 한다. 이 시계는 전류가 off의 상황에서도 동작한다 ( 컴퓨터 안에 들어가 있는 전지를 이용해서 동작한다 ) 반면 하드웨어 클락과는 다르게 Linux의 커널 내부에 존재하고 있는 시계가 있다. 이것을 시스템 클락이라고 한다.

    시스템 클락은 Linux가 기동될 때에 하드웨어 클락을 참조하여 설정하게 되지만, 이후에는 서로서로 다르게 흘러가게 된다. 그렇기 때문에 시스템이 기동 된 후 경과된 시간에 따라 하드웨어 클락과 시스템 락의 차가 발생할 수 있다.

    date 커맨드를 사용하면 시스템 락을 참조하여 현재의 시간을 표시할 수 있다.

     

    root 유저는 date커맨드를 사용하여 시스템 클락을 변경할 수 있다. 

     

    date [MMDDhhmm[[CC]YY][.ss]]

    MM은 월, DD는 날짜, hh는 시간, mm는 분, CC는 서력의 2자리, YY는 서력의 뒤에 2자리 ss는 초를 의미한다.

     

    서식 설명
    %Y
    %m 월 ( 01 ~ 12월 )
    %d 일 ( 01 ~ 31 )
    %H 시 ( 00 ~ 23 )
    %M 분 ( 00 ~ 59 )
    %a 요일
    %b 월명
    참고
    백업을 할 때에 예를 들어 [ tar czf `date "+%Y% m% d"`. tar.gz /data ]라는 커맨드가 자동적으로 실행되도록 해두면 20150223.tar.gz 와 같은 백업을 실행한 날짜를 넣은 압충파일 정보를 작성할 수 있다.

    date 커맨드로 설정한 시스템 클락을 하드웨어 클락으로 설정하기 위해서는 hwclock 커맨드를 사용한다.

     

    hwclock 커맨드

    하드웨어 클락의 참조나 설정을 행한다.

    옵션 설명
    -r 하드웨어 클락을 표시한다.
    -w ( --systohc ) 시스템 클락의 시열을 하드웨어 클락으로 설정한다.
    -s ( --hctosys) 하드웨어 클락의 시열을 시스템 클락으로 설정한다.

     

    NPT를 이용한 시간 설정

    하드웨어 클락도 시스템 클락도 아쉽지만 그렇게 정확하지 않다. 

    정확한 시간을 설정하기 위해서는 네트워크를 경우하여 시간을 동기 하는 프로토콜인 NPT( Network Time Protocol )을 사용하여 인터넷상에 있는 NTP 서버 ( 타임 서버 )로부터 정확한 시간을 취득한다.

    NTP 네트워크는 계단 구성으로 되어 있다. 최상위에는 원자시계나 GPS 등 가장 정확한 시간 정보의 제공처가 있다. 그 이하에 있는 NTP 서버를 Stratuml 그 이하를 Stratum2라고 칭한다. 숫자는 계단을 내려가는 것에 따라 늘어간다. NTP 서버는 상위에 복수의 NTP 서버로부터 정확한 시간 정보를 취득한다.

     

    Linux에서는 ntpdate 커맨드를 이용하여 NTP 서버로부터 정확한 시간 정보를 취득 가능하다.

    ntpdate 커맨드

    지정한 NTP 서버로부터 현재의 시간 정보를 취득한다.

     

    ntpdate time.server.lpic.jp

     

    NTP 서버의 운용

    NTP 서버를 스스로 운영하는 것이 가능하다. 조직 내에 NTP 클라이언트가 많은 경우 NTP 서버를 준비하는 것이 좋다. SysVinit를 채용한 시스템에는 NTP 서버는 다음과 같이 기동 한다.

     

    /etc/init.d/ntpd start

    systemd를 채용한 시스템은 다음과 같이 기 등한다.

     

    systemctl start ntpd.service

     

    ntpq 커맨드를 이용하여 NTP 서버의 상태를 조회하는 것이 가능하다.

     

    NTP 서버의 설정은 /etc/ntp.conf 에서 이루어진다.  보정정보 ( 시간의 오차를 예측한 수치 )는 /etc/ntp.drift 에 보관된다. 

     

    연락처에 NTP 서버는 server 파라미터로 지정한다. 적절한 NTP 서버가 존재하지 않는 경우 pool.ntp.org 프로젝트가 제공하고 있는 서버를 이용하는 것도 가능하다. 이 프로젝트에는 복수의 NTP 서버를 정리한 가상적인 NTP 서버로서 운용되고 있다. 

    반응형

    'Technique > LPIC' 카테고리의 다른 글

    메일 관리  (0) 2019.10.29
    시스템 로그의 설정  (0) 2019.10.29
    cron과 at의 접근제한  (0) 2019.10.29
    job schedule 관리  (0) 2019.10.27
    유저와 그룹의 관리  (0) 2019.10.27

    댓글

Designed by Tistory.