신영진 / wonshin@enveng.chungbuk.ac.kr
|
저와 같은 많은 초보자 분들이 정전으로 인한
리눅스 파일시스템의 에러를 여러 번 경험하셨을 것입니다. 심지어
리눅스 박스가 날아가 버려서 허무함을 느껴보기도 하셨을 것입니다.
UPS는 uninterrupted Power Supply라고 합니다.
즉, 정전에 대비한 보조 전원 장치입니다. 보통 UPS는 두 가지로 나누는데, 그냥 건전지 역할만을 하는 UPS가 있습니다. 보통 Dumb UPS라고 부릅니다. 그냥 전원이 꺼졌을 경우 글자 그대로 보조 전원으로써의 역할만을 수행하는 것입니다. 요사이에는 이런 제품은 거의 판매가 되지 않습니다. 전원이 꺼지면 일정시간 유지해 주다가 보조 전원의 전원이 다 될 때쯤 되면 시스템의 안전하게 shutdown해주는 UPS가 주종을 이루고 있습니다. 이것을 Smart-UPS, Intelligent UPS라고 부릅니다. 저는 그냥 똑똑이 UPS라고 부르도록 하지요. [그림 1] 일반 컴퓨터의 전원 연결 구조와 UPS를 사용한 컴퓨터의 전원 연결 구조. 똑똑이 UPS는 멍청이 UPS와는 다르게 시리얼 포트나 패러럴 포트를 이용하여서 RSC-232에 의한 보조 전원 장치의 신호를 컴퓨터에 알려줄 수 있습니다. 이렇게 함으로써 컴퓨터는 전원의 현재 상태를 감지할 수 있습니다.
하드웨어 설치 * 첫번째로 그림 설치를 해보도록 하겠습니다. 여기서는 널리 쓰이고 있는 America Power Conversion사의
APC기종을 사용해 보도록 하겠습니다. 옆의 그림은 Smart-UPS Model600
모델입니다. 가격도 저렴하고 기본적으로 컴퓨터의 2대정도는 거뜬히
연결할 수 있습니다. [그림.2] UPS의 외형
* 두 번째로 UPS 뒷면을 보시면 아래와 같이
시리얼 케이블, 전원 출력부, 전원 입력부가 시리얼 케이블은 서버의 COM1 이나 COM2에 연결이 되어서 똑똑이 UPS의 상태를 알려줍니다. 전원 입력부는 전원 장치로부터 전기는 UPS가 전원을 공급 되어지는 단자입니다. 전원 출력부는 UPS가 전원에 공급해주는 장치의 전원 콘센트를 꼽는 곳입니다. [그림.3] APC UPS의 뒷면과 부분 명칭
* 세번째로 시리얼 케이블과 전원 입력부에 전원 콘센트를 꼽아줍니다. 아래의 그림은 시리얼 케이블과 전원 입력부에
연결한 상태입니다. [그림.4] 전원이 연결된 UPS
* 네번째로 컴퓨터에 시리얼 케이블을 연결해야 합니다. 먼저 시리얼 포트의 포트가 남지 않으신다면,,,, [그림.5] 시리얼 케이블을 패러럴로 연결하는 커낵터 UPS에 연결한 시리얼 포트의 반대쪽을 컴퓨터의 시리얼 포트에 연결하시면 됩니다. 그림은 알파 리눅스 박스에 시리얼 포트를 연결한 장면입니다. [그림.6] UPS를 연결한 컴퓨터
* 그리고 나서 UPS의 전원 장치를 켜주시면 됩니다. * 이제 그러면 최소한 멍청이 UPS역할까지는 할 수 있는 상태가 되었습니다. 그러면 이제 리눅스 박스 안에서 UPS의 상태를 점검하고 신호를 받아서 리눅스를 안전하게 shut-down시키는 데몬의 설치와 셋팅을 해보도록 하겠습니다.
소프트웨어 설치 전원 장치를 감시하고 제 역할에 대한 데이터를 받고 보내는 데몬은 보통 /sbin/powerd 데몬을 사용하고 있습니다. 하지만, 지금 우리가 설치한 APC UPS는 APC사의 제품에 맞는 특정한 데몬 프로그램이 3개가 있습니다. apcd, apcupsd, smupsd 프로그램입니다. 그중에 apcd는 아주 작으면서도 효율적인 데몬입니다. apcupsd는 libc5와 libc6용으로 두 가지 있으면서 APC사의 모든 UPS를 지원합니다. smupsd는 자바를 통해서 엑스 윈도우에서 UPS의 상태 등을 전원 상태 등을 체크할 수 있는 프로그램입니다. 여기서 전 apcupsd를 사용하고 합니다. 지원 폭이 넓고, 사용하기도 쉽고, 어느 배포판에서나 설치가 쉽게 됩니다. http://www.dyer.vanderbilt.edu/server/apcupsd/에서 구하시면 됩니다. 현재까지 최신 버전은 apcupsd-3.3.0입니다. 만약 레드헷 사용자라면 RPM이나 SRPM으로 최신 버전보다 약간 낮은 버전이 있으니 그것을 사용하셔도 좋습니다. [root@enveng /tmp]# tar - zxvf apcupsd-3.3.0.bin.linux.tar.gz Installing "apcupsd-libc6" in
"/sbin/apcupsd" slackware redhat suse unifix debian 어느 배포판이던지 앞의 내용을 써주면 됩니다. 그리고 libc6인지 libc5인지 내용을 써주면 인스톨이 됩니다. 만약에 언인스톨을 원하신다면... [root@enveng apcupsd-3.3.0.bin.linux] ./INSTALL remove libc6 이렇게 remove와 라이브러리를 써주시면 언인스톨도 가능합니다. 보통 설정 파일은 /etc/apcupsd.comf 초기화 스크립터는 /etc/rc.d/init.d/apcups에 설치가 됩니다. 먼저 설정 파일을 조절해 주어야 합니다. 사용자는 보통 시리얼 포트에 연결을 했으므로.... /dev/ttyS1 을 사용하셔야 할 것입니다. 하지만, 간혹 /dev/ttyS1 이 작동하지 않으시면.../dev/cual로 잡으시면 됩니다. [root@enveng apcupsd-3.3.0.bin.linux]#vi/etc/apcupsd.conf 참고: 저의 알파에 /dev/ttyS1에서는 작동하지
않아서 /dev/cua1로 연결을 시켰습니다. LOCKFILE /var/lock <-
apcupsd 데몬이 작동했을 때 lock 파일이 생기는 디렉토리 설정 나머지 설정은 readmes 디렉토리를 참조하여 주세요! 넷으로 UPS를 공유하는 설정 파일이 예제도 들어 있습니다. UPS 하나만 설치하더라도 UPS의 용량에 따라서 리눅스 박스를 여러 대를 꼽을 수가 있습니다. 그럴 경우 신호를 보낼 수 있는 포트가 하나이기 때문에 시리얼 포트가 꼽아 있는 리눅스 박스가 다른 리눅스 박스에 신호를 보내서 같이 shutdown을 할 수 있게 할 수 있습니다. 그리고 나서 보통 레드헷에서는 엑스 윈도우에 있는 Runlevel Manager을 사용하시던지 그냥 심볼릭 링크를 하시던지 본인에 취향에 따라서 Sys V Runlevel Manager를 이용하셔서 /etc/rc.d/rc.3d와 /etc/rc.d/rc.5d에 /etc/rc.d/init.d/apcups스크립터를 넣어주시면 됩니다. 수동으로 실행하려면 /etc/rc.d/init.d/apcups
start라고 써주시면 됩니다.
전원장치 시험하기 모든 설치가 끝나면 UPS를 시험해 보아야 합니다. 아래와 같은 순서에 맞게 실행해 보세요. 1. 먼저 데몬을 알맞은 실행 레벨에 선택했는지 확인합니다. 2. 시리얼 포트를 알맞게 설치했는지 확인합니다. 3. 전원을 차단시킵니다. -> UPS 전원으로 전환됩니다. 4. 설정한 시간 안에 안전한 shutdown이 되는지 시간을 측정합니다. 5. 오류 발생시 이렇게 함으로써 여러분은 드디어 UPS 설치를
끝마치고 전원 문제에서 영원한 해방의 기쁨을 맛 볼 수 있을 것입니다.
앞으로 파워 유저가 아니더라도 UPS 구입을 생각해 보셔도 좋을
듯 합니다. |