NUT的安装与配置过程 - qNFCpの屋
qNFCpの屋

目录

[TOC]

背景

住的地方近期附近施工,经常发生意外(不通知)停电,房东方也无解决方案,故购买了一台UPS防止数据意外丢失。

关键设备

  1. 山特 TG-BOX 850 UPS
  2. IKuai x86 虚拟机 - Ubuntu 24.04 LTS
  3. 群晖 DS220j NAS - DSM 7.2.2-72806 Update 3

描述

  1. UPS连接至Ikuai主机。
  2. Ikuai虚拟机设置USB直通。
  3. 使用Ubuntu虚拟机作为服务端控制外部设备关闭后关闭自身。
  4. 据参考资料4,群晖写死了部分配置。因此账户密码必须严格一致。

配置过程

Ubuntu服务端

  1. 开启UPS
  2. 确认USB已直通到虚拟机
$ lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 0627:0001 Adomax Technology Co., Ltd QEMU Tablet
Bus 002 Device 003: ID 0463:ffff MGE UPS Systems UPS
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  1. 安装NUT工具
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install libusb-1.0-0-dev libsnmp-dev libavahi-client-dev libfreeipmi-dev libneon27-dev libupsclient-dev # 这堆是依赖,Ubuntu24不装就报错
$ sudo apt install nut nut-server nut-client nut-cgi
  1. 查看并记录UPS连接信息 备用
$ sudo nut-scanner -U
Scanning USB bus.
[nutdev1]
        driver = "usbhid-ups"
        port = "auto"
        vendorid = "0463"
        productid = "FFFF"
        product = "SANTAK TG-BOX"
        serial = "Blank"
        vendor = "EATON"
        bus = "002"
        device = "003"
        busport = "002"
        ###NOTMATCHED-YET###bcdDevice = "0100"
  1. 配置 /etc/nut/nut.conf
MODE=netserver
  1. 配置 /etc/nut/ups.conf
    将第三步中获取到的信息填入。

注:群晖要求名称必须为ups。

[ups]
   driver = "usbhid-ups"
   port = "auto"
   vendorid = "0463"
   productid = "FFFF"
   product = "SANTAK TG-BOX"
   vendor = "EATON"
   bus = "002"
  1. 配置 /etc/nut/upsd.conf
LISTEN 0.0.0.0 3493
  1. 配置 /etc/nut/upsd.users
    记得改password参数,密码之后要用

注:群晖要求需存在用户名为monuser,密码为secret的用户。最后一个即是,不要修改其password。

[monmaster]
  password = masterpass
  actions = SET FSD
  instcmds = ALL
  upsmon primary

[monslave]
  password = slavepass
  upsmon secondary

[monuser]
  password = secret
  upsmon secondary
  1. 配置 /etc/nut/upsmon.conf
    记得将masterpass修改为密码
MONITOR ups@localhost 1 monmaster masterpass master
  1. 设置服务自启
sudo systemctl enable nut-server nut-monitor
  1. 启动服务
sudo systemctl start nut-server nut-monitor
  1. 验证
upsc ups@localhost
  1. 配置WEB页面
    编辑文件 /etc/nut/hosts.conf

记得将masterpass修改为密码,引号内容自定义

MONITOR ups@localhost 1 monmaster masterpass "SANTAK UPS TG-BOX 850"
  1. 启用CGI
sudo a2enmod cgi
sudo systemctl restart apache2
  1. 启用配置修改功能
    编辑 /etc/nut/upsset.conf
I_HAVE_SECURED_MY_CGI_DIRECTORY
  1. 打开页面查看
    页面链接为 http://{IP}/cgi-bin/nut/upsstats.cgi

e.g http://192.168.1.101/cgi-bin/nut/upsstats.cgi

  1. [可选] WEB样式
    默认模板文件位于 /etc/nut/upsstats.html, upsstats-single.html,它们控制页面内容与样式。你可以根据需要修改这些文件,添加 logo、表格格式等。
  2. [可选] WEB 访问限制,编辑/etc/nut/upsset.conf
<Files upsset.cgi>
    Require ip 192.168.1.0/24
</Files>

群晖NAS端 (客户端)

遵照以下步骤连接即可:

  1. 打开“控制面板”
  2. 选择“硬件与电源”
  3. 切换至“不断电系统”选项卡
  4. 勾选“启用UPS支持”
  5. UPS类型选择“Synology不断电系统服务器”
  6. 在“网络不断电系统服务器IP地址”填写服务端IP
  7. 应用设置

小插曲

  1. NUC切换到UPS供电就宕机。后面发现是电源适配器的问题,换了一个其他牌子的就好了。
  2. 在淘工厂买的这个UPS,结果在第三天放电测试的时候,主板好像短路了。伴随烧焦臭味、红灯常亮、蜂鸣器长鸣。紧急拔电。发现其不在山特官网所列销售渠道。已退款在官方旗舰店重新购入。

参考

  1. https://www.cnblogs.com/LandWind/articles/pve-nut-config.html
  2. https://networkupstools.org/docs/user-manual.chunked/_installation_instructions.html
  3. https://networkupstools.org/docs/man/nut.conf.html
  4. https://mritd.com/2023/03/18/ups-nut-configuration-tutorial/
暂无评论

添加新评论

Title - Artist
0:00