• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
가이드

OPNsense에 UPS USB로 연결하고 시놀로지에 연결하기 feat. NUT

ExpBox ExpBox 154

3

2

안녕하세요. Expbox입니다.

 

정말 오랫만에 가이드 말머리 달고 글을 써보는 것 같습니다. 시놀로지 나스 외에 서버 장비를 켜지 못하는 상황이었습니다. 당연하게도 활동의 원동력이 없어져서 서버포럼 활동도 자연스럽게 줄었는데 이제는 조금씩 다시 세팅하면서 정상화 중인지라 점점 활동이 늘어갈 것 같습니다. 다시 세팅하면서 방법을 잊어버려서 또 삽질해야하나 싶었는데 예전에 적었던 글이 확실히 도움이 되었네요. ㅎㅎ 이번 글도 동일합니다. 생각보다 어렵진 않지만 혹시나 다시 설정해야할 때를 위해서 기록겸 가이드 작성합니다.

 


 

https://svrforum.com/board/1333322

서버가 있는 곳이 전기 상태가 그리 좋은 곳이 아닌지라 UPS/AVR을 설치하고 오랜 시간이 지났습니다. 하지만 UPS를 제대로 사용하지 못하고 있던 상황이었습니다. 원래는 UPS에 SNMP 모듈을 추가해서 각 서버에서 UPS 상태를 확인하고 전기가 끊기면 안전하게 종료하는 방법을 사용하려고 했으나 그게 계획대로 안됐거든요. 그래서 USB 연결로 사용했는데 이 USB 연결의 문제점은 서버가 여러대 있으면 그 서버들 중에 하나 외에는 UPS의 상태를 확인할 수 없다는 것이죠.

 

이 말은 전기가 끊기게되면 서버 하나 외에는 안전하게 종료되지 않는다는 뜻인지라 다른 서버에 치명적인 문제가 발생할 수 있습니다. 따라서 저는 OPNsense에 USB로 UPS를 연결하고 NUT 플러그인으로 인식 및 각 서버에 UPS의 정보를 뿌려주게끔 설정할 생각입니다. 즉, 마스터가 OPNsense가 되고 슬레이브가 시놀로지가 되는 겁니다. 

 


 

참고

 

이 가이드는 아래의 레퍼런스로 작성되었습니다.

https://schnerring.net/blog/configure-nut-for-opnsense-and-truenas-with-the-cyberpower-pr750ert2u-ups/

https://www.clien.net/service/board/lecture/17484453 (얼마 전 사태 때문인지 글삭됐네요. 제일 도움많이 되었던 글이었는데 그새... 백업해놓을걸 ㅠ)

https://www.reddit.com/r/synology/comments/wii8bq/how_do_i_configure_synology_ups_server_and/

 


 

세팅

 

OPNsense 버전: 24.1.4-amd64

NUT 플러그인 버전: 1.8.1_2

UPS 모델: APC Smart-UPS 1500VA(SUA1500I)

 

프로그램 버전 때문에 문제가 생길 일은 없긴하겠지만 혹시나 몰라 적어놓습니다.

 

+ UPS는 USB로 연결할 수 있는 모델이면 어떤 모델이라도 상관 없을 것으로 보입니다.

 

 


 

준비 사항

  1. 제목에도 써있는 것 처럼 OPNsense가 설치된 서버에 USB로 연결해야합니다. UPS와 연결하는 USB 케이블은 적절한 케이블을 찾아서 연결해주시면 됩니다.
  2. OPNsense의 웹 관리페이지, 시놀로지의 IP 주소를 확인하셔야합니다.
  3. OPNsense와 시놀로지가 네트워크로 연결되어있어야 합니다. 스위치 혹은 직접 연결되어 있어야합니다.
  4. OPNsense 웹 관리페이지에서 NUT 플러그인을 설치하려면 최신 버전으로 업데이트해야합니다. 수동 설치는 쉘로 해야한다고하던데 저도 잘 몰라요 ㅠ

 


 

1. OPNsense에 NUT 플러그인 설치하기

 

image.png.jpg

 

왼쪽의 메뉴에서 System - Firmware - Plugins로 들어갑니다.

 

* 처음 Plugins 탭을 확인하면 플러그인의 리스트가 뜨지 않을겁니다. 그럴때는 System - Firmware - Status 에서 Check for updates를 눌러서 업데이트한 뒤 확인하시면 됩니다.

 

image.png.jpg

 

os-nut을 검색하고 설치해줍니다. 저는 이미 설치되어있어서 저렇게 굵은 글씨와 os-nut 뒤에 installed라고 뜨네요.

 


 

2. NUT 플러그인 세팅

앞서 말씀드렸다시피 UPS가 USB로 연결됩니다. 따라서 NUT 플러그인에서 USB로 인식시켜줄 필요가 있습니다.

 

image.png.jpg

(저는 깔아놓은 플러그인이 많아서 꽤나 밑에 있네요.)

 

왼쪽의 메뉴에서 Services - Nut - Configuration 으로 이동합니다.

 

image.png.jpg

 

UPS Type의 드롭다운 메뉴에서 USBHID-Driver를 선택합니다.

 

 

image.png.jpg

 

Enable에 체크합니다.

 

Tip) 다른 서버에서도 사용하고 싶을때

image.png.jpg

 

General Settings의 드롭다운 메뉴에서 Nut Account Settings를 선택합니다.

 

image.png.jpg

 

Admin PasswordMonitor Password를 변경해줍니다.

 

* 시놀로지에 연결할 때는 사용하지 않는 세팅입니다. 혹시나 문제가 생긴다면 Monitor Password를 secret으로 변경해주시면 됩니다.

 

image.png.jpg

 

General Settings의 드롭다운 메뉴에서 General Nut Settings를 선택합니다.

 

image.png.jpg

 

Enable Nut에 체크, Name에 ups라고 적습니다. 혹시나 다른 세팅값이 있다면 위의 스샷과 동일하게 하시면 됩니다.

 

Apply를 눌러 저장합니다.

 


 

3. OPNsense 재부팅

image.png.jpg

 

왼쪽의 메뉴에서 Power - Reboot로 이동해서 Yes 버튼을 누릅니다.

 

* 이 과정이 의외로 중요합니다. os-nut 플러그인을 세팅하고 저장하더라도 모니터링이 제대로 안되더군요. 쉘로 접속해서 모든 서비스를 재시작해도 안되는 경우가 있어서 재부팅하는 것을 권장합니다.

 


 

4. UPS 인식 확인

 

image.png.jpg

 

왼쪽의 메뉴에서 Services - Nut - Diagnostics 로 이동합니다.

 

조금 기다리면 아래와 같은 UPS의 데이터가 뜹니다. UPS 모델마다 정보는 조금씩 다를 수 있습니다.

 

battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 50
battery.mfr.date: 2012/04/11
battery.runtime: 360
battery.runtime.low: 120
battery.temperature: 15.7
battery.type: PbAc
battery.voltage: 27.7
battery.voltage.nominal: 24.0
device.mfr: American Power Conversion
device.model: Smart-UPS 1500
device.serial: XXXXXXXXXXXX
device.type: ups
driver.debug: 0
driver.flag.allow_killpower: 0
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.synchronous: auto
driver.state: quiet
driver.version: 2.8.1
driver.version.data: APC HID 0.100
driver.version.internal: 0.52
driver.version.usb: libusb-1.0.0 (API: 0x1000102)
input.sensitivity: medium
input.transfer.high: 253
input.transfer.low: 208
input.voltage: 223.2
output.current: 3.18
output.frequency: 60.0
output.voltage: 221.7
output.voltage.nominal: 230.0
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.delay.start: 30
ups.firmware: 653.19.I
ups.firmware.aux: 11.03
ups.load: 61.7
ups.mfr: American Power Conversion
ups.mfr.date: 2012/04/11
ups.model: Smart-UPS 1500
ups.productid: 0002
ups.serial: XXXXXXXXXXXX
ups.status: OL
ups.test.result: No test initiated
ups.timer.reboot: -1
ups.timer.shutdown: -1
ups.timer.start: -1
ups.vendorid: 051d

 


 

5. OPNsense 포트 포워딩 설정

 

image.png.jpg

 

왼쪽의 메뉴에서 Firewall - NAT - Port Foraward 로 이동합니다.

 

image.png.jpg

 

주황색 + 아이콘을 눌러 생성합니다.

 

설정 스샷 찍기 굉장히 어려워서 수정할 부분만 표로 대체합니다.

 

Interface LAN
Source

Single host or Network

-> 시놀로지 IP

Destination LAN address
Destination port range

from (other) to (other)

from 3493 to 3493

Redirect target IP

Single host or Network

-> 127.0.0.1

Redirect target port

(other)

3493

Description

NUT 포트 포워딩

(원하는대로 적으세요)

 

image.png.jpg

 

Apply changes를 눌러 저장합니다.

 

시놀로지의 쉘 접속을 허용해두었다면 쉘로 접속하여 아래의 명령어를 사용하여 ups의 정보가 불러와지는지 확인할 수 있습니다.

 

# upsc ups@192.168.0.1
upsc ups@<OPNsense IP>

 


 

6. Synology DSM 설정

 

시놀로지 DSM에 관리자 계정으로 접속합니다.

 

image.png.jpg

 

제어판 - 하드웨어 및 전원 - UPS로 이동합니다.

 

UPS 지원 활성화: 체크

UPS 유형: Synology UPS 서버

Synology NAS이(가) 대기모드로 전환될 때까지의 시간: 원하는대로 하시면 됩니다. (저는 짧게 정전되는 일이 많아 3분으로 지정해놨습니다.)

네트워크 UPS 서버 IP: <OPNsense IP> (저는 192.168.0.1 입니다.)

 

설정을 완료한 후 오른쪽 아래에 적용 버튼을 누릅니다.

 

image.png.jpg

 

정상적으로 인식되었다면 위의 이미지처럼 UPS가 인식됩니다.

 


 

설정이 생각보다 어렵지는 않았죠? 다만 시놀로지가 하드코딩을 은근히 좋아해서(물론 다른 NAS 제조사들도 비슷하지만) 슬레이브로 인식하는 Name이 ups 이었던 것이 이때까지 실패한 원인인 것 같습니다. 물론 포트포워딩도 해야하는지 몰랐던 것도 원인 중 하나이구요.

 

포트포워딩의 경우 Source를 Single host or Network가 아니라 any로 해도 될 것 같긴한데 일단 레퍼런스에서 저렇게 설정하라니까 저렇게 해놓긴 했습니다. 서버가 많아지면서 포트포워딩이 너무 많아지면 any로 수정해서 사용할 것 같긴한데 엄청 늘어날건 아니니까 이대로 쓰는것도 괜찮아보입니다.

 

많지는 않겠지만 혹시나 저와 같은 문제로 고통받으신 분이 계시다면 이 게시글로 해결되었으면 좋겠습니다.

신고공유스크랩
2
2등
opq! 2024.03.30. 21:38
저도 최근에 NUT 구성했는데요
나스가 마스터, 서버가 슬레이브로 구성했는데... 서버 셧다운이 너무 오래 걸려서 도중에 UPS가 꺼지더라고요.

서버/나스 꺼지는 시간 비교해서 upsmon.conf에서 FINALDELAY값 수정했네요.

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
잡담 proxmox로 갈아탔습니다 7 기현 1일 전07:34 317 +2
잡담 Immich가 FUTO에 합류했습니다.(Immich 핵심 팀은 정규직으로 근무합니다.) 4 달소 2일 전11:38 266 +1
정보 오픈아이콘 제공 사이트(https://cdn.jsdelivr.net) 오류 발생 => 복구됨 2 지딱코 2일 전14:31 217 +1
3894 질문
normal
스키피95 13시간 전00:07 71 0
3893 질문
normal
고심분투 20시간 전17:10 151 0
3892 질문
image
경호 22시간 전15:50 72 0
3891 질문
normal
경호 1일 전13:23 48 0
3890 잡담
image
기현 1일 전07:34 317 +2
3889 잡담
image
keiminem 2일 전13:12 437 0
3888 잡담
normal
달소 2일 전11:38 266 +1
3887 질문
image
EXP 2일 전23:48 87 0
3886 질문
normal
홍익 2일 전19:26 207 0
3885 정보
image
지딱코 2일 전14:31 217 +1
3884 가이드
image
달소 3일 전22:22 361 +3
3883 가이드
image
ljr10 4일 전08:20 169 0
3882 가이드
image
달소 4일 전06:46 188 +1
3881
image
달소 4일 전05:50 210 +6
3880 정보
image
달소 4일 전05:38 126 0
3879 잡담
image
달소 4일 전05:20 411 0
3878 오픈소스
image
keiminem 4일 전17:43 359 +3
3877 질문
normal
purndal 4일 전14:32 241 0
3876 질문
image
초보나스 5일 전10:46 105 0
3875 후기
image
달소 5일 전10:03 335 0