家庭服务器采用UPS不间断供电配置教程,保证数据安全

家庭服务器采用UPS不间断供电配置教程,保证数据安全

系列文章:家庭服务器

对于一个服务器来说磁盘数据的安全性很关键!如果遇到突然断电,恰好磁盘疯狂的读写中,这样磁盘非常容易损坏!对于重要的数据这是非常致命的。

于是博主考虑上一套UPS不间断电源来解决一下这个问题!本文是马甲自己实操的内容。有哪方面不妥希望大家留言讨论。

博主主要是研究家庭服务器,不搭建NAS平台!不搭建NAS平台!

更多内容:家庭IDC / Proxmox

 

控制流程

UPS发现市电断电 - 启动电瓶供电 - USB数据线发送消息 - 迷你主机(PVE) - 根据配置触发PVE关机 - 关机完成后UPS断电

UPS发现市电来电 - 启动市电供电 - 迷你主机通电自启 - PVE启动后触发操作系统启动 - 系统启动后相关服务自动启动

 

UPS采购

我选择的是 山特的TG-BOX850,点击这里下单,当时各种优惠下来购买价格大概466元!

空载功耗5W,不间断功率850VA,如何带迷你主机理论能坚持1小时左右。

支持USB通讯 和 来电自启等功能。

 

 

 

迷你主机

下面为设置迷你主机通电开机设置!

主机开机自启

1,启动主机后,按 DEL 进入 BIOS 设置

 

2,菜单选择Advanced,选择 【AMD CBS】,如图没有【AMD CBS】的话, 按CTRL + F1 开启隐藏菜单!

 

3,进入【Ac Power Loss Options】设置为 【Always On】

 

4,设置完成后,按【F4】,选择【Yes】确认保存退出

 

PVE设置

 

系统开机启动

主机启动后,自动启动操作系统。选择要启动的系统  - 选项 - 开机自启动

 

 

 

 

 

 

PVE自动关机

如市电突然断电,需要触发PVE的关机操作。PVE关机之前会自动触发虚拟机关机动作。

1,UPS会有一根USB数据线,USB插入主机,另一头插入UPS。

 

2,在PVE SHELL中执行下面内容

执行命令:lsusb  查看USB是否识别到UPS(下面Device 004)。

root@pve:~# lsusb
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0029 Intel Corp. AX200 Bluetooth
Bus 001 Device 004: ID 0463:ffff MGE UPS Systems UPS
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

3,安装 apcupsd

执行命令:apt install apcupsd -y

root@pve:~# apt install apcupsd -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  apcupsd-doc libusb-0.1-4
Suggested packages:
  apcupsd-cgi
The following NEW packages will be installed:
  apcupsd apcupsd-doc libusb-0.1-4
0 upgraded, 3 newly installed, 0 to remove and 56 not upgraded.
Need to get 670 kB of archives.
After this operation, 1,779 kB of additional disk space will be used.
Get:1 http://ftp.debian.org/debian bookworm/main amd64 libusb-0.1-4 amd64 2:0.1.12-32 [23.4 kB]
Get:2 http://ftp.debian.org/debian bookworm/main amd64 apcupsd amd64 3.14.14-3.1+b1 [256 kB]
Get:3 http://ftp.debian.org/debian bookworm/main amd64 apcupsd-doc all 3.14.14-3.1 [390 kB]
Fetched 670 kB in 13s (52.7 kB/s)                                                                                                                                                             
Selecting previously unselected package libusb-0.1-4:amd64.
(Reading database ... 45770 files and directories currently installed.)
Preparing to unpack .../libusb-0.1-4_2%3a0.1.12-32_amd64.deb ...
Unpacking libusb-0.1-4:amd64 (2:0.1.12-32) ...
Selecting previously unselected package apcupsd.
Preparing to unpack .../apcupsd_3.14.14-3.1+b1_amd64.deb ...
Unpacking apcupsd (3.14.14-3.1+b1) ...
Selecting previously unselected package apcupsd-doc.
Preparing to unpack .../apcupsd-doc_3.14.14-3.1_all.deb ...
Unpacking apcupsd-doc (3.14.14-3.1) ...
Setting up libusb-0.1-4:amd64 (2:0.1.12-32) ...
Setting up apcupsd-doc (3.14.14-3.1) ...
Setting up apcupsd (3.14.14-3.1+b1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/apcupsd.service → /lib/systemd/system/apcupsd.service.
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for libc-bin (2.36-9+deb12u6) ...

 

4,编辑配置文件 /etc/apcupsd/apcupsd.conf

按下面内容修改配置!

UPSCABLE usb
UPSTYPE usb
#*** 注释以下内容,能自动发现UPS
#DEVICE /dev/ttyS0

LOCKFILE /var/lock
SCRIPTDIR /etc/apcupsd
PWRFAILDIR /etc/apcupsd
NOLOGINDIR /etc

#UPS开始使用电池供电时延迟的秒数。在电池供电6秒后,apcupsd将开始响应电池事件。
ONBATTERYDELAY 6

#指定当电池电量降至40%时,apcupsd将触发关闭或其他预定义的操作(测试时可设置为95)。
BATTERYLEVEL 40

#指定UPS电池可持续供电的最小分钟数。超过10分钟的使用时间将触发关闭操作(测试时可设置为600)。
MINUTES 10

TIMEOUT 0
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 127.0.0.1
NISPORT 3551
EVENTSFILE /var/log/apcupsd.events
EVENTSFILEMAX 10
UPSCLASS standalone
UPSMODE disable
STATTIME 0
STATFILE /var/log/apcupsd.status
LOGSTATS off
DATATIME 0

 

 

5,重启apcupsd

systemctl restart apcupsd
systemctl status apcupsd

 

 

 

6,设置apcupsd开机启动

systemctl enable apcupsd

 

 

 

7,查看apcupsd 日志

journalctl -u apcupsd -f

 

8,实时查看UPS情况

执行命令:apcaccess

: Warning: old configuration file found.

: Expected: "## apcupsd.conf v1.1 ##"
: Found:    "UPSCABLE usb
"

: Please check new file format and
: modify accordingly the first line
: of config file.

: Processing config file anyway.
APC      : 001,028,0660
DATE     : 2024-09-10 23:54:18 +0800  
HOSTNAME : pve
VERSION  : 3.14.14 (31 May 2016) debian
UPSNAME  : pve
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2024-09-10 23:04:07 +0800  
MODEL    : SANTAK TG-BOX
STATUS   : ONLINE 
LOADPCT  : 9.0 Percent
BCHARGE  : 91.0 Percent
TIMELEFT : 48.8 Minutes
MBATTCHG : 95 Percent
MINTIMEL : 600 Minutes
MAXTIME  : 0 Seconds
OUTPUTV  : 230.0 Volts
DWAKE    : -1 Seconds
LOTRANS  : 184.0 Volts
HITRANS  : 264.0 Volts
ALARMDEL : 30 Seconds
NUMXFERS : 0
TONBATT  : 0 Seconds
CUMONBATT: 0 Seconds
XOFFBATT : N/A
STATFLAG : 0x05000008
SERIALNO : Blank
END APC  : 2024-09-10 23:55:07 +0800 

 

 

最后总结

博主已经用了一段时间。说一下自己的情况。

有童鞋想问有没有必要上UPS?

第一,考虑当地温度。这点很重要!UPS正常工作温度是 -15度 到 40度,如果你在南方处于高温需要考虑再上一套降温设备了。

第二,服务器磁盘是否是机械硬盘。机械硬盘突然断电更容易磁盘损坏。

第三,主机跑的服务是否是高频读写磁盘IO?其实如果磁盘正在复制或者移动大文件,断电后更容易翻车。

第四,数据是否重要?数据的价值怎么样。

第五,整体功耗会多一些。UPS平时功耗约5W。目前UPS + 迷你主机 + CPE  + 路由器 + 2.G交换机 每天约1度电!平时功耗约40 - 60W。

 

 

 

版权声明:
作者:我是小马甲~
链接:https://51.ruyo.net/18752.html
来源:如有乐享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
家庭服务器采用UPS不间断供电配置教程,保证数据安全
系列文章:家庭服务器 对于一个服务器来说磁盘数据的安全性很关键!如果遇到突然断电,恰好磁盘疯狂的读写中,这样磁盘非常容易损坏!对于重要的数据这是非常……
<<上一篇
下一篇>>