构建家庭服务器UPS持续供电体系,确保数据安全无忧

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

服务器的运维管理中,硬盘数据的安全保障是至关重要的环节。想象一下,如果在电力供应突然中断的紧急情况下,硬盘正忙于大量的读写操作,这无疑会极大地增加硬盘受损的风险,对于存储的宝贵数据而言,这无疑是一场潜在的灾难。

鉴于此,决定引入一套UPS不间断电源系统,作为应对此类突发状况的解决方案。以下是我个人在实际操作过程中的一些心得与体会,欢迎大家就其中的不足之处提出宝贵意见,共同交流探讨。

需要特别强调的是,我的关注点主要集中在家庭服务器的搭建优化上,而非构建NAS(网络附加存储)平台

UPS工作流程简述:

市电断时,UPS转电瓶供电,并通过USB通知PVE迷你主机关机。关机后,UPS断电。
市电恢复时,UPS转市电供电,PVE迷你主机自动重启,系统及相关服务随之启动。

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

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

图片[2]-构建家庭服务器UPS持续供电体系,确保数据安全无忧-新州信息

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

图片[3]-构建家庭服务器UPS持续供电体系,确保数据安全无忧-新州信息

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

图片[4]-构建家庭服务器UPS持续供电体系,确保数据安全无忧-新州信息

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

图片[5]-构建家庭服务器UPS持续供电体系,确保数据安全无忧-新州信息

PVE设置

图片[6]-构建家庭服务器UPS持续供电体系,确保数据安全无忧-新州信息

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

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的建议:

  1. 考虑环境温度:UPS适宜工作温度为-15°C至40°C,高温环境下可能需要额外降温设备。
  2. 市电输入端配置:若UPS接入端装有漏电保护器,可能会引发跳闸,建议改用空气开关。
  3. 硬盘类型:机械硬盘在突然断电时更易受损,需特别注意。
  4. 磁盘IO活动:若服务器正在进行高频磁盘读写(如复制大文件),断电风险更高。
  5. 数据重要性:评估数据的价值,重要数据需更高保障。
  6. 整体功耗:UPS日常功耗虽小(约5W),但整体系统(包括UPS、迷你主机、CPE、路由器、交换机)每天功耗约1度电,平均40-60W。

© 版权声明
THE END
扫码关注微信公众号,更多精彩
点赞15打赏 分享
十一 12

本站历史上的今天

    "吼吼~~~,往年的今天站长不知道跑哪里偷懒去了~~~"
评论 抢沙发

    暂无评论内容