Centos7下ups监控apcupsd的使用
什么是UPS
UPS-Uninterrupted Power System;利用电池化学能作为后备能量,在市电断电等电网故障时,不间断地为用户设备提供(交流)电能的一种能量转换装置。
UPS的主要功能
实现电网与用电器之间的隔离
实现两路电源的不间断切换
提供高质量电源
电压变换和频率变换功能
停电后提供后备时间
为什么用UPS
1、不停电功能,解决电网停电问题
2、交流稳压功能,解决网压剧烈波动问题
3、净化功能,解决电网与电源污染问题
4、管理功能,解决交流动力维护问题
实际使用的过程中使用ups最大的目的是为了当市电突然断电的时候可能会造成文件无法保存、丢失,减少硬件寿命,以及浪涌对服务器损害等事故。
购买ups
在购买ups的时候尽量购买在线式的ups,我们公司的ups购买的是低端 施耐德的APC Smart SUA3000ICH,是不带网络管理卡(AP9631等),所以一台ups只能控制一台Dell服务器。为了能够控制公司30台左右的dell服务器在断电的时候通过ups自动关机而采用了apcupsd来监控ups。
Apcupsd简介
Apcupsd is a UPS control system that permits orderly shutdown of your computer in the event of a power failure.(Apcupsd是一种UPS控制系统,可在发生电源故障时有序关闭计算机。)
Apcupsd安装及配置文件
在低端的ups上面的有两个串口,配给了两条电缆,一条是串行电缆,一条是USB通信电缆。我们使用usb通信电缆将ups和服务器相连接。
下载源码3.14.14:
启动apcupsd:systemctl start apcupsd
安装成功之后,执行apcaccess或者执行/sbin/apcaccess,会看到以下返回(大概类似),说明安装成功
/etc/apcupsd/apcupsd.conf apcupsd的配文件
UPSCABLE ether //用于将UPS连接到计算机的电缆类型。
UPSTYPE net //拥有的apcups类型
DEVICE 192.168.10.3:3551 //如果apcups的模式为nat模式,则要是批核端口的对应格式LOCKFILE /var/lock //apcupsd为指定目录中的串行或USB端口创建一个锁文件。
SCRIPTDIR /etc/apcupsd //apccontrol和事件脚本所在的目录。
PWRFAILDIR /etc/apcupsd //apcupsd写入当apcupsd启动系统关闭时创建的powerfail标志文件的目录。
NOLOGINDIR /etc //apcupsd写入nologin文件的目录,该文件告诉操作系统禁止新登录。
ONBATTERYDELAY 6 //检测到电源故障直到apcupsd对电池事件发生反应的秒数。
BATTERYLEVEL 5 //当剩余电池电量低于指定百分比时,apcupsd将在电源故障期间关闭系统。默认值为5
MINUTES 3 //当UPS内部计算的电池剩余运行时间低于指定的分钟数时,apcupsd将在电源故障期间关闭 系统。默认值为3。
TIMEOUT 90 //发生电源故障后,apcupsd将在指定的秒数过期后关闭系统。
ANNOY 300 //指定请求登录用户从系统注销的广播消息之间的时间(以秒为单位)。仅当UPS使用电池运行时,此计时器才会启动。默认值为300秒(5分钟)。
ANNOYDELAY 60 //指定请求登录用户从系统注销的广播消息之前的延迟时间(以秒为单位)。
NOLOGON disable
KILLDELAY 0
NETSERVER on //打开或关闭网络信息服务器(NIS)。
NISIP 0.0.0.0 //指定apcupsd将侦听传入连接的网络接口的IP地址。默认值为0.0.0.0,这意味着NIS将侦听 所有网络接口上的连接。如果计算机具有多个接口,则可以指定单个接口的IP以限制与该接 口的连接。指定环回地址(127.0.0.1)将使NIS守护程序仅接受来自本地计算机的连接。
NISPORT 3551 //指定NIS守护程序使用的端口。默认值为3551
EVENTSFILE /etc/apcupsd/apcupsd.events
EVENTSFILEMAX 10
UPSCLASS shareslave //设置ups的模式,我们主要用主从模式
UPSMODE share //设置为“禁用”以进行正常的独立操作,指示您正在禁用Share-UPS接口扩展器支持。
STATTIME 0STATFILE /etc/apcupsd/apcupsd.status //启动日志
LOGSTATS off
DATATIME 0
配置主从模式
首先尝试用两台Centos7搭建主从模式并自动关机。
首先选择其中一台主机作为Master,连接USB信号线,下载并安装Apcupsd,并修改配置文件
配置好之后,master/slave都重新启动。就ok了。
实际使用中有如下问题需要注意
1、一旦安装有管理卡,UPS上自带的串口是不能再使用的
2、因为是smart UPS,apcupsd在关闭服务器之后会调用重启ups指令,这就会有如下一些问题
a、如果apcupsd是master-slave模式,那么理论上可安全关闭每一台服务器,但一旦master服务器有问题,则所有机器会不能关机
b、如果每台服务器独立运行apcupsd,则ups上的一些参数要注意:
由于配备的电池容量只能坚持20分左右,加上对电池到底能坚持多久有一些担心,所以没有用smart ups智能判断关机时间的功能,而是将关机时间设置成10秒,也就是停电10秒就开始关机,这时一些ups的参数(管理卡上配置)作用如下:
Low Battery Duration: 2分钟,这个指的是ups在知道自己还能坚持2分钟时开始发送关机指令,并执行一系列关机过程,由于我在apcupsd上设置了10秒关机,故关机指令以10秒为准
Shutdown Delay:720秒,这个指ups执行一系列关机操作的延时时间,建议设置大一些,这样在ups最后自己关机重启之前,我们有时间做一些其他操作
Maximum Required Delay:2分,这个是关机指令(ups向服务器发送)发送超时时间,没必要修改
Sleep Time:这个不太知道什么意思,调整过似乎没什么影响
Minimum Battery Capacity:ups恢复启动要求的最小电池电量(百分比)
Return Delay:ups恢复延时
最重要的一点,smart UPS在关闭所有服务器(或者是他认为他关闭了所有服务器)之后会自动重启UPS,这时你要小心了,如果有机器没关机就惨了,我就尝过苦头,所以建议shutdown delay设置大一点,如果设置小了即使ups能坚持20分,他也可能5分钟后就重启,还有千万不要在市电恢复之后自己去启动服务器,一定要等待ups自己完成重启之后再启动服务器(建议服务器都设置成通电自启动),如果你在ups自动重启之前手工启动了服务器,后果你知道的。
3、我们自己购买的是施耐德apcups smart 3000系列的,具体参数是2700w/16a,带有8个可插电口,两个串行口。dell r730服务器使用双处理器(设计功率在135w)的情况下,长期满载的功率不会超过350w,加上硬盘和满内存不会超过400w。所以在U盘是的功率为2700w的情况下,可以带6台dell r730的满配服务器,其余的可带交换机极路由器等小功率设备。
4、交换机和路由器一定要连接在上,否则可能会造成master对slave关机不成功!
特别注意
BATTERYLEVEL 5 //当剩余电池电量低于指定百分比时,apcupsd将在电源故障期间关闭系统。默认值为5
MINUTES 3 //当UPS内部计算的电池剩余运行时间低于指定的分钟数时,apcupsd将在电源故障期间关闭系 统。默认值为3。
TIMEOUT 90 //发生电源故障后,apcupsd将在指定的秒数过期后关闭系统。
这三个参数是apcupsd关机指令里面比较重要的,一般我们都使用timeout参数,master设置为240s,slave设置为60s。
意思就是:在发生电源故障后,master对slave说:“市电断开了,现在在使用ups来供电,你要在接收到我给你的指令60s内关机”,然后所有的slave都会关机,然后在240s内master自己也会关机,都关闭之后ups自身也会关机。
在主/从配置中,主设备无法100%确定从设备在执行关闭电源之前全部关闭。要避免这种情况,请确保通过在配置文件中设置不同的TIMEOUT,BATTERYLEVEL或MINUTES参数,将所有从站(客户端)配置为在主站之前关闭 。关机期间可能出现的一个问题可能是旧版本的遗留问题。请务必删除或重命名所有先前版本(/usr/local/sbin/apcupsd或/sbin/powersc)
关闭exsi
在master的配置文件中/etc/apcupsd/apccontrol中加入关闭虚拟机和ESXI主机的脚本。
参考文档
http://www.apcupsd.org/manual/manual.html#basic-user-s-guide
https://fossies.org/linux/misc/apcupsd-3.14.14.tar.gz/
https://www.chiphell.com/thread-1699396-1-1.html
http://bbs.21ic.com/icview-2501542-1-1.html
http://www.360doc.com/content/17/0601/16/13681512_659035982.shtml
https://blog.csdn.net/windowsxpwyd/article/details/7522137
https://blog.csdn.net/wangluoyang/article/details/24742483
http://blog.ltns.info/linux/esxi_auto_shutdown_with_apcupsd/
Centos7下ups监控apcupsd的使用的更多相关文章
- 最新 centos7下zabbix 监控redis状态
准备 先准备两台服务器,已经部署好了zabbix-sever和zabbix-agent zabbix-server 192.168.1.70 centos7.2 zabbix-agent 192.16 ...
- CentOS7下搭建zabbix监控(四)——Zabbix报警设置
CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置 CentOS7下搭建zabbix监控(三)——Zabbix ...
- CentOS7下搭建zabbix监控(三)——Zabbix监控服务配置
CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置 (1).配置Zabbix监控Apache服务 主机名:yo ...
- CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置
Zabbix监控端配置请查看:CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 (1).在CentOS7(被监控端)上部署Zabbix Agent 主机名:youxi2 IP地址: ...
- Centos7下设置ceph 12.2.1 (luminous)dashboard UI监控功能
前言 本文所使用的集群是作者在博客 Centos7下部署ceph 12.2.1 (luminous)集群及RBD使用 中所搭建的集群 dashboard是为了完成对集群状态进行UI监控所开发的功能, ...
- CentOS7下搭建zabbix监控(一)——Zabbix监控端配置
zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix 能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位 ...
- 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,
第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误, 注意:版本,不然会报错 Docker >=1.11Compose >1.6.0 通过d ...
- CentOS7下单机部署RabbltMQ环境的操作记录
一.RabbitMQ简单介绍在日常工作环境中,你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息服务 ...
- centos7下源码方式安装gitlab8.9+发送邮件+ldap
CentOS7下源码方式安装gitlab 环境描述 操作系统: centos7 redis: >=2.8 mysql >=5.5.14 git >=2.7.4 架构设计 一台gitl ...
随机推荐
- JS =>处理单击事件与拖动事件并存
使用click事件,很难确定在拖动开始和结束的时候触发,所以使用了onmouseup(释放鼠标的时候),释放鼠标的时候,即在拖动还未结束,但是准备处理的阶段,此时mouseButtonFlag按照逻辑 ...
- (转)mysql百万级以上查询优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- cordova(安卓)(腾讯信鸽注册绑定与反绑定) 插件开发
腾讯信鸽快速开发指南 http://developer.xg.qq.com/index.php/Android_SDK%E5%BF%AB%E9%80%9F%E6%8C%87%E5%8D%97 本文参考 ...
- cmus 命令行播放器使用
安装 sudo eopkg it cmus 启动 cmus 设置输出 :set output_plugin=pulse 导入本地音乐 :add /home/your_username/Music 查看 ...
- 有关 PHP 的 10 道问题
1.简述面向对象的三大特性 答:封装 -- 继承 -- 多态 封装的目的:为了让类更安全 继承的概念:子类可以继承父类的一切 多态的概念:当父类引用指向子类实例,由于子类里面对父类的方法进行了重 ...
- np.mgird np.ogrid
np.ogrid: address:https://docs.scipy.org/doc/numpy/reference/generated/numpy.ogrid.html returns an o ...
- webuploader 跨域上传demo(还没有写记录一下)
webuploader 跨域上传demo(还没有写记录一下)
- easyui datagrid 弹出页面会出现两个上下滚动条处理办法!
同事推荐将datagrid上加一个toolbar 将上面的工具元素加上就可以了 toolbar: '#divListToolbar',
- 自建docker swarm体验简单之美
之前用的阿里云容器服务,但由于acsrouting的路由错乱问题,被逼上自建docker swarm的梁山.今天尝试自己搭建docker swarm,竟然轻松搞定,简单的超乎想象. 以下是实际搭建操作 ...
- sql语句 isnull(列名,'')='' /STUFF的意思
(1) SELECT SYXH,ZYHM,YEXH,ISNULL(YETZ,'') AS YETZ ,RYKSMC,RYBQMC,HZXM FROM YG_BRSYK 如果列名数据等于NULL,那么 ...