Chistory

ESXi, Pfsense, OMV 환경에서 APC Back - UPS 라인업 활용하기. 본문

인프라/NAS & 홈 서버

ESXi, Pfsense, OMV 환경에서 APC Back - UPS 라인업 활용하기.

Chistory 2020. 3. 9. 13:17

최근에 서버용 보조전원으로 Back-UPS 550 Pro를 구매했다. 보통 시놀로지 유저들이 많이 UPS를 구매하는 모델이다. 

시놀로지 모델에서는 UPS를 통한 전원관리 기능이 따로 있어서, 설정하고 사용하는데 문제가 없다.

다른 NAS OS를 사용하거나, ESXi 로 가상화놀이를 한다거나, 리눅스 PC용, 공유기 용도 등으로 사용하는 경우라면, 조금 난처할 수 있다. (내가 그랬다.)

이 경우(시놀로지와 Windows-Desktop 전용으로 사용하는게 아닌 경우) APC 가정용 UPS를 최대한 활용하는 방법에 대해 포스팅을 하려한다. 

먼저 공식 제조사에서 제공하는 툴은 PowerChute 계열이다. 각각 개인 사용자용, 비즈니스 사용자용, 네트워크 셧다운 소프트웨어를 제공하고, 흔히 각각 pcpe, pcbe, pcns 라고 불린다. 

https://www.apc.com/shop/kr/ko/tools/software-firmware/

만약 Smart-UPS 라인업을 구매했다면(오픈마켓 기준 가장 저렴한 모델이 30만원이다.) , pcbe를 사용하면 된다. 

데스크탑에만 사용한다면 pcpe를 쓰면 모든 기능을 활용할 수 있다. pcns는 데이터센터 규모에서 사용하는 소프트웨어다. 

나는 pcbe가 사용하고 싶었는데, 이는 웹 서버를 통해 들어가서 UPS 정보를 확인할 수 있을 뿐 아니라, 거의 모든 OS에 대해 유틸리티와 드라이버를 제공하기 때문이었다. 하지만 이는 Back-UPS 라인업에 대해서는 서비스를 제공하지 않았다. 연결을 해도 Unknown Device 라는 문구만 나올 뿐이었다.

하지만 어떤 소프트웨어를 사용하든, 원리는 snmp를 통한 데이터 공유에 기반한다. 역시 따로 Third-Party 소프트웨어가 역시 존재하고 있었다. 

https://networkupstools.org/

 

Network UPS Tools - Welcome

The primary goal of the Network UPS Tools (NUT) project is to provide support for Power Devices, such as Uninterruptible Power Supplies, Power Distribution Units, Automatic Transfer Switch, Power Supply Units and Solar Controllers. NUT provides many contro

networkupstools.org

현재 최신 버전은 ESXi 6.X 까지 지원하는것을 확인했다. 

내가 확인한 바로는, openmediavault, pfsense에는 따로 패키지 플러그인 형태로도 관리할 수 있다. 아래는 차례대로, OMV, pfsense, esxi 에 각각 전원 관리 옵션을 사용하는 방법을 적어보도록 하겠다. 

사전에 esxi 서버와 usb는 동봉된 케이블로 연결했다. 


1. openmediavault 에 UPS 연결 (master)

APC UPS를 NAS에 연결한다.

가장 먼저 한 일은, omv 에 USB를 직결하는 것이다. 나같은 경우에 ESXi 환경에 pfsense, OMV 를 물려놓고 구동중이다. 나는 omv를 ups 정보를 뿌려주는 master server, esxi를 그 클라이언트로 두고 shutdown 명령을 내리게끔 할 예정이다. 모니터링은 pfsense 역시 ups 클라이언트로 두고 gui를 통해 하고자 한다. 

openmediavault에 플러그인을 설치할 수 있도록 Extra 설정을 해 두면, 아래 플러그인을 설치할 수 있다.

nut 플러그인을 설치한다.
대략적인 설정

위와같이 설정하면, nut 클라이언트를 위한 모니터링 서버로도 구동되며, esxi에서 추가한 usb를 통해 ups 정보를 확인할 수 있다. UPS에 대한 정보는 서비스 -> UPS 에서 볼 수 있다. 

아래와 같이 단순 변수 뿐 아니라 그래프로도 확인 가능하다. 단, 모델이 온도 정보는 지원하지 않아 온도 정보는 나타나지 않는다.

 UPS 배터리 충전정보
UPS 전력 사용 퍼센티지 정보

가용 소비전력인 330W에서, 지금 서버가 30 내외로 소모중이라 퍼센티지는 8~10%정도를 왔다갔다 하는 모습을 볼 수 있다. 


2. pfsense에서 모니터링하기 

위와같이 omv에서도 대략적인 모니터링이 가능하지만, pfsense에서도 관련 유틸 설치 시 가능하다. 

pfsense의 package manager 메뉴에서, nut를 검색한다. 

nut 유틸을 설치한 모습

APC 제품을 위해 만들어진 서드파티 데몬인, apcupsd 라는 유틸리티도 있다. apcupsd 쪽을 메인 Master로 둬도 상관이 없지만, openmediavault는 로컬 소스만 받을 수 있게 되어있기 때문에 openmediavault 에서 모니터링 할 수 없는 점이 있다. 오픈소스 대시보드는 pfsense 쪽이 좀 예쁘기도 해서, pfsense는 slave 모드로 두고, 모니터링만 하게 설정했다. 

nut 유틸을 설치한 경우, 서비스 탭에 UPS 메뉴가 보인다. 

UPS Type은 Remote Nut Server로, OMV에서 설정한 identifier를 UPS Name 에 입력한다.

Driver Settings 에는 OMV의 IP와 OMV에서 설정한 대로 username, password, Remote port는 3493(기본값)을 입력한다. 

Advance Settings를 보면, upsmon.conf 를 수정해서 자동종료나 마스터로부터의 polling 주기 같은걸 설정할 수 있긴 한데.. 이부분은 넘어가도록 한다. 어차피 esxi 에 upsmon 옵션을 켜두면, 자동으로 종료 명령을 모든 가상머신에 내릴것이다.

설정을 마치면 다음과 같이 대시보드에도 추가할 수 있다. 

pfsense 대시보드


3. ESXi 에서 UPS 모니터링하기

마지막으로 ESXi 에서 모니터링하는 옵션을 추가하면 끝이난다.  이부분은 조금 복잡하다. 

https://networkupstools.org/download.html#_virtualization_packages

 

Network UPS Tools - Download information

This section presents the different methods to download NUT.

networkupstools.org

여기서 가장 밑에, VIB package를 다운로드한다. 

tar파일을 받을 수 있는데, 이를 ESXi 데이터스토어에 업로드하고 경로를 기억한다. 

그리고 ESXi 웹 콘솔의 호스트 작업에서, SSH 서비스를 켠 뒤, SSH로 접속한다. 

cd /tmp
#df 를 통해 미리 vmfs 데이터스토어 경로를 확인한다.
cp -rf /vmfs/경로/NutClient-ESXi*tar.gz ./
tar -xf Nut*.tar.gz
./upsmon-install.sh

위와같이 실행했는데, 패키지 인증 수준이 맞지 않는다고 할 수 있다. 

 esxcli software acceptance set --level=CommunitySupported

위 명령어로 패키지 인증 수준을 Community 수준으로 바꾸고 ./upsmon-install.sh 를 다시 실행하면, 정상적으로 설치된다. 

이제 다시 ESXi 웹 콘솔로 돌아와서, SSH를 끄고 작업을 진행하면 된다. 

먼저 호스트 > 관리 > 고급 설정에서 NUT를 검색한다. 

 위와같은 NUT 에서 사용하는 변수들을 확인할 수 있다. 아까 pfsense에서 설정했듯이, openmediavault의 remote ups 정보를 입력해주면 된다. 설정이 다 끝나면, 서비스 탭으로 가서 NutClient를 실행하고, 호스트 시작시 자동 등록되도록 한다. 

이렇게 되면 openmediavault에서 중계되는 이벤트를 받고, 시스템을 자동 종료하도록 연동된 것이다. 

 


APC UPS를 개인 가상화 시스템 레벨에서 활용하는 법을 정리해 보았다. 

조금 더 나아가면, snmp 파서를 직접 만들거나 모니터를 구현해서 그라파나에 등록하는 등의 모니터링을 해볼 수 있을것같긴 하다. 

하지만 가장 좋은건 Smart UPS 라인업을 구입해서 Powerchute business edition을 사용하는 것.. 물론 가장 가벼운 모델도 17kg이라 가정에서 쓰긴 좀 무겁긴 하다. 

Comments