Tag Archives: 서버관리

[CentOS] ntpd 설치하기

CentOS에서 ntp를 설치하는것은 yum이용하면 되기에 정말 쉽고 간단한 일입니다. 하지만 적절한 시간 싱크 서버들을 정리해두고자 이 글을 작성합니다.

ntp 데몬의 설치는 다음과 같이 명령어 한줄로 가능합니다.

$ yum install ntp

설치가 끝났군요. 이제 데몬에 등록하고 실행해 보도록 하겠습니다.

$ chkconfig --level 3 ntpd on
$ service ntpd start
Starting ntpd:                                             [  OK  ]

설치와 실행이 간단하게 끝났지만 한국 실정에 맞게 시간 동기화 서버들을 추가해보도록 하겠습니다. /etc/ntp.conf 파일의 server항목을 다음으로 변경합니다.

server time.bora.net
server time.kriss.re.kr
server time.windows.com
server 0.asia.pool.ntp.org

그리고 데몬을 재시작 합니다.

$ service ntpd restart
Shutting down ntpd:                                        [  OK  ]
Starting ntpd:                                             [  OK  ]

이제부턴 ntp 데몬이 주기적으로 시간을 교정하게 됩니다.

[Linux] sar를 이용하여 서버의 현재 부하상태를 알아보기

사용자 삽입 이미지
서버가 부하가 가중되면 가장 먼저 알아내야 하는것이 원인을 파악하는 것일 겁니다. 하지만 그러기 어려운 상황이라면 가장 먼저 파악해야 하는것이 CPU에서 오는 부하인지 I/O에서 오는 부하인지를 알아내야 할 것입니다.

우선 기본적으로 부하상태(Load Average)를 알아내기 위해 top, w, uptime의 명령어를 활용할 수 있습니다.

top

top - 11:46:06 up 77 days,  1:16,  1 user,  load average: 0.06, 0.15, 0.11
Tasks:  87 total,   1 running,  86 sleeping,   0 stopped,   0 zombie
Cpu(s):  6.5%us,  0.5%sy,  0.0%ni, 92.7%id,  0.0%wa,  0.0%hi,  0.3%si,  0.0%st
Mem:   4033528k total,  1571260k used,  2462268k free,    26472k buffers
Swap:  3911816k total,      128k used,  3911688k free,   627956k cached

w

11:47:39 up 77 days,  1:17,  1 user,  load average: 0.08, 0.14, 0.11
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    121.133.79.177   11:13    0.00s  0.01s  0.00s w

uptime

11:47:56 up 77 days,  1:18,  1 user,  load average: 0.06, 0.13, 0.10

top > w > uptime 순으로 보여지는 정보의 양이 적어지는군요. top의 경우에는 실행중인 프로세스의 목록도 표시됩니다. 오늘 언급하려는것은 sar(System Activity Reporter)입니다. 매우 간단하게 부하를 분류하여 보여줍니다.

$ sar
Linux 2.6.18-238.19.1.el5 (Theeye)        09/29/11

16:20:10 CPU %user %nice %system %iowait %steal %idle
16:30:10 all 17.81 0.84  2.75    68.50   0.00   10.10
16:40:23 all 16.75 0.00  3.26    69.68   0.00   10.30
Average: all 17.28 0.41  3.01    69.10   0.00   10.20

위의 시스템은 IO대기가 차지하는 비율이 70%에 육박하는 상태입니다. IO문제가 분명하군요. 보통 DB 서버들이 부하가 걸릴때 위와 같은 모습을 보입니다. 이 경우 메모리를 증설하면 디스크에 읽고 써야 하는 데이터를 그만큼 메모리에 올릴 수 있어 디스크의 IO를 현저히 줄일 수 있습니다.

$ sar
Linux 2.6.18-238.19.1.el5 (Theeye)        09/29/11

14:30:01 CPU %user %nice %system %iowait %steal %idle
15:50:01 all 14.67 0.10  4.51    1.63    0.00   79.08
16:00:01 all 17.06 4.91  4.96    1.53    0.00   71.53
16:10:01 all 14.63 0.00  4.74    1.21    0.00   79.41
Average: all 13.04 2.18  3.98    8.36    0.00   72.45

메모리를 8G에서 16G로 증설한 후의 모습입니다. 정말 신기할 정도로 IO가 줄었네요. sar에서 자주 쓰이는 옵션으로는 다음과 같은 것이 있지 않을까 생각합니다.

-u : CPU 사용율 확인
-P : 특정 CPU의 사용율 확인 (sar -P 0)
-q : Load Average 확인
-r : 메모리 사용 현황 확인

sar는 sysstat 패키지에 포함되어있습니다. 다음과 같이 설치 가능합니다.

$ yum install sysstat