


これからの電力需要と雷シーズンにそなえてAPC RS550を購入しました
いままで使用していたAPC BK350Jがサポートされなくなったのでバッテリー交換もできなく、さらにバッテリーそのものの劣化で瞬電対応ぐらいしかできなくなっていました
1分ぐらいしかバッテリー供給できない状態なんですよね(^_^;
2012-05-01 19:28:13 +0900 Power failure.
2012-05-01 19:28:19 +0900 Running on UPS batteries.
2012-05-01 19:29:20 +0900 Reached run time limit on batteries.
2012-05-01 19:29:20 +0900 Initiating system shutdown!
2012-05-01 19:29:20 +0900 User logins prohibited
2012-05-01 19:29:21 +0900 apcupsd exiting, signal 15
2012-05-01 19:29:21 +0900 apcupsd shutdown succeeded
APC RS550
http://cyber.apc.co.jp/p-BR550G-JP.html?scode=BR550G-JP
購入先はNTT-X Store
http://nttxstore.jp/_II_AP12897199
会員クーポン利用、送料無料で12,800円でした
さて、本題ですがFreeNASにapcupsdをインストールすることになりました
当初はvMA 5.0にapcupsdをインストールしてシリアルケーブルで電源管理を行っていたのですが、今回購入したRS550はUSB接続なのです
そこでvMA 5.0をUSB接続でapcupsdに認識させたかったのですが私の技量ではダメでした
そこで構成を組み替えて
RS550<=(usb)=>FreeNAS(Endeavor NP11)<=(lan)=>vMA 5.0
にしました。そこでFreeNASにapcupsdの必要がでてきたのです
- 現在のパーティション構成です
- apcupsdをpkg_addでインストールしましたがエラーになります
- 今度はpkg_addにpathを指定してapcupsdをインストールします
- apcupsd.confファイルを編集します
- apcupsdを起動時に起動させるように設定します
- apcupsdを起動
- RS550の状態確認してみます
freenas:~# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/da0s1a 1027420 208244 736984 22% /
devfs 1 1 0 100% /dev
procfs 4 4 0 100% /proc
/dev/ad4p1 302732044 19446 278494036 0% /mnt/data
/dev/da0s2a 2087036 8 1920068 0% /mnt/work
freenas:~# pkg_add -r -v apcupsd
scheme: [ftp]
user: []
password: []
host: [ftp.freebsd.org]
port: [0]
document: [/pub/FreeBSD/ports/amd64/packages-7.3-release/Latest/apcupsd.tbz]
—> ftp.freebsd.org:21
looking up ftp.freebsd.org
connecting to ftp.freebsd.org:21
<<< 220 ftp.beastie.tdk.net FTP server (Version 6.00LS) ready. >>> USER anonymous
<<< 331 Guest login ok, send your email address as password. >>> PASS root@freenas.rootlinks.net
<<< 230 Guest login ok, access restrictions apply. >>> PWD
<<< 257 "/" is current directory. >>> CWD pub/FreeBSD/ports/amd64/packages-7.3-release/Latest
<<< 550 pub/FreeBSD/ports/amd64/packages-7.3-release/Latest: No such file or directory. >>> CWD pub
<<< 250 CWD command successful. >>> CWD FreeBSD
<<< 250 CWD command successful. >>> CWD ports
<<< 250 CWD command successful. >>> CWD amd64
<<< 250 CWD command successful. >>> CWD packages-7.3-release
<<< 550 packages-7.3-release: No such file or directory. >>> QUIT
<<< 221 Goodbye. Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-7.3-release/Latest/apcupsd.tbz: File unavailable (e.g., file not found, no access) pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-7.3-release/Latest/apcupsd.tbz' by URL pkg_add: 1 package addition(s) failed
freenas:~# pkg_add -v ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-7-stable/Latest/apcupsd.tbz
scheme: [ftp]
user: []
password: []
host: [ftp.freebsd.org]
port: [0]
document: [/pub/FreeBSD/ports/amd64/packages-7-stable/Latest/apcupsd.tbz]
—> ftp.freebsd.org:21
looking up ftp.freebsd.org
connecting to ftp.freebsd.org:21
<<< 220 ftp.beastie.tdk.net FTP server (Version 6.00LS) ready. >>> USER anonymous
<<< 331 Guest login ok, send your email address as password. >>> PASS root@freenas.rootlinks.net
<<< 230 Guest login ok, access restrictions apply. >>> PWD
<<< 257 "/" is current directory. >>> CWD pub/FreeBSD/ports/amd64/packages-7-stable/Latest
<<< 250 CWD command successful. >>> MODE S
<<< 200 MODE S accepted. >>> TYPE I
<<< 200 Type set to I. setting passive mode >>> PASV
<<< 227 Entering Passive Mode (193,162,146,4,199,227) opening data connection initiating transfer >>> RETR apcupsd.tbz
<<< 150 Opening BINARY mode data connection for 'apcupsd.tbz' (418606 bytes). Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-7-stable/Latest/apcupsd.tbz...x +CONTENTS x +COMMENT x +DESC x +DISPLAY x +MTREE_DIRS x man/man5/apcupsd.conf.5.gz x man/man8/apcaccess.8.gz x man/man8/apccontrol.8.gz x man/man8/apctest.8.gz x man/man8/apcupsd.8.gz x sbin/apcupsd x sbin/apcaccess x sbin/apctest x sbin/smtp x etc/apcupsd/apcupsd.conf.sample x etc/apcupsd/apccontrol x etc/apcupsd/changeme x etc/apcupsd/commfailure x etc/apcupsd/commok x etc/apcupsd/onbattery x etc/apcupsd/offbattery x etc/rc.d/apcupsd x share/doc/apcupsd/apcupsd.pdfWaiting for final status <<< 226 Transfer complete. tar command returns 0 status Done. extract: Package name is apcupsd-3.14.10 extract: CWD to /usr/local extract: /usr/local/man/man5/apcupsd.conf.5.gz extract: /usr/local/man/man8/apcaccess.8.gz extract: /usr/local/man/man8/apccontrol.8.gz extract: /usr/local/man/man8/apctest.8.gz extract: /usr/local/man/man8/apcupsd.8.gz extract: /usr/local/sbin/apcupsd extract: /usr/local/sbin/apcaccess extract: /usr/local/sbin/apctest extract: /usr/local/sbin/smtp extract: /usr/local/etc/apcupsd/apcupsd.conf.sample extract: /usr/local/etc/apcupsd/apccontrol extract: /usr/local/etc/apcupsd/changeme extract: /usr/local/etc/apcupsd/commfailure extract: /usr/local/etc/apcupsd/commok extract: /usr/local/etc/apcupsd/onbattery extract: /usr/local/etc/apcupsd/offbattery extract: CWD to /usr/local extract: /usr/local/etc/rc.d/apcupsd extract: /usr/local/share/doc/apcupsd/apcupsd.pdf Running mtree for apcupsd-3.14.10.. mtree -U -f +MTREE_DIRS -d -e -p /usr/local >/dev/null
Attempting to record package into /var/db/pkg/apcupsd-3.14.10..
Package apcupsd-3.14.10 registered in /var/db/pkg/apcupsd-3.14.10**********************************************************************
Read the manual/usr/local/share/doc/apcupsd/apcupsd.pdf
to do site specific configuration assigenments! Especially have a
detailed look into the chapter describing the shutdown procedure.Sample files are installed in /usr/local/etc/apcupsd. These files
must be copied and/or configured for a proper working apcupsd.
You need to modify /usr/local/etc/apcupsd/apcupsd.conf as follows:For serial cable: DEVICE /dev/cuadX (or /dev/cuaaX for [45.]x)
For USB cable: DEVICE (yes, leave it blank after DEVICE)NOTE that for USB cable you must comment out the line
device uhid # “Human Interface Devices”
in your kernel configuration file and recompile the kernel.
Your keyboard and mouse will still work.WARNING USB support on FreeBSD is still considered BETA!
Add apcupsd_enable=YES to your /etc/rc.conf[.local] to have apcupsd
starting up at boot time.**********************************************************************
freenas:~# vi /usr/local/etc/apcupsd/apcupsd.conf
## apcupsd.conf v1.1 ##
#
# for apcupsd release 3.14.10 (13 September 2011) – freebsd
#
# “apcupsd” POSIX config file#
# ========= General configuration parameters ============
## UPSNAME xxx
# Use this to give your UPS a name in log files and such. This
# is particulary useful if you have multiple UPSes. This does not
# set the EEPROM. It should be 8 characters or less.
UPSNAME RS550# UPSCABLE
# Defines the type of cable connecting the UPS to your computer.
#
# Possible generic choices forare:
# simple, smart, ether, usb
#
# Or a specific cable model number may be used:
# 940-0119A, 940-0127A, 940-0128A, 940-0020B,
# 940-0020C, 940-0023A, 940-0024B, 940-0024C,
# 940-1524C, 940-0024G, 940-0095A, 940-0095B,
# 940-0095C, M-04-02-2000
#
#UPSCABLE smart
UPSCABLE usb# To get apcupsd to work, in addition to defining the cable
# above, you must also define a UPSTYPE, which corresponds to
# the type of UPS you have (see the Description for more details).
# You must also specify a DEVICE, sometimes referred to as a port.
# For USB UPSes, please leave the DEVICE directive blank. For
# other UPS types, you must specify an appropriate port or address.
#
# UPSTYPE DEVICE Description
# apcsmart /dev/tty** Newer serial character device, appropriate for
# SmartUPS models using a serial cable (not USB).
#
# usbMost new UPSes are USB. A blank DEVICE
# setting enables autodetection, which is
# the best choice for most installations.
#
# net hostname:port Network link to a master apcupsd through apcupsd’s
# Network Information Server. This is used if the
# UPS powering your computer is connected to a
# different computer for monitoring.
#
# snmp hostname:port:vendor:community
# SNMP network link to an SNMP-enabled UPS device.
# Hostname is the ip address or hostname of the UPS
# on the network. Vendor can be can be “APC” or
# “APC_NOTRAP”. “APC_NOTRAP” will disable SNMP trap
# catching; you usually want “APC”. Port is usually
# 161. Community is usually “private”.
#
# netsnmp hostname:port:vendor:community
# OBSOLETE
# Same as SNMP above but requires use of the
# net-snmp library. Unless you have a specific need
# for this old driver, you should use ‘snmp’ instead.
#
# dumb /dev/tty** Old serial character device for use with
# simple-signaling UPSes.
#
# pcnet ipaddr:username:passphrase:port
# PowerChute Network Shutdown protocol which can be
# used as an alternative to SNMP with the AP9617
# family of smart slot cards. ipaddr is the IP
# address of the UPS management card. username and
# passphrase are the credentials for which the card
# has been configured. port is the port number on
# which to listen for messages from the UPS, normally
# 3052. If this parameter is empty or missing, the
# default of 3052 will be used.
#
#UPSTYPE apcsmart
#DEVICE /dev/usv
UPSTYPE usb
DEVICE# POLLTIME
# Interval (in seconds) at which apcupsd polls the UPS for status. This
# setting applies both to directly-attached UPSes (UPSTYPE apcsmart, usb,
# dumb) and networked UPSes (UPSTYPE net, snmp). Lowering this setting
# will improve apcupsd’s responsiveness to certain events at the cost of
# higher CPU utilization. The default of 60 is appropriate for most
# situations.
#POLLTIME 60# LOCKFILE
# Path for device lock file. Not used on Win32.
LOCKFILE /var/spool/lock# SCRIPTDIR
# Directory in which apccontrol and event scripts are located.
SCRIPTDIR /usr/local/etc/apcupsd# PWRFAILDIR
# Directory in which to write the powerfail flag file. This file
# is created when apcupsd initiates a system shutdown and is
# checked in the OS halt scripts to determine if a killpower
# (turning off UPS output power) is required.
PWRFAILDIR /var/run# NOLOGINDIR
# Directory in which to write the nologin file. The existence
# of this flag file tells the OS to disallow new logins.
NOLOGINDIR /var/run#
# ======== Configuration parameters used during power failures ==========
## The ONBATTERYDELAY is the time in seconds from when a power failure
# is detected until we react to it with an onbattery event.
#
# This means that, apccontrol will be called with the powerout argument
# immediately when a power failure is detected. However, the
# onbattery argument is passed to apccontrol only after the
# ONBATTERYDELAY time. If you don’t want to be annoyed by short
# powerfailures, make sure that apccontrol powerout does nothing
# i.e. comment out the wall.
ONBATTERYDELAY 6#
# Note: BATTERYLEVEL, MINUTES, and TIMEOUT work in conjunction, so
# the first that occurs will cause the initation of a shutdown.
## If during a power failure, the remaining battery percentage
# (as reported by the UPS) is below or equal to BATTERYLEVEL,
# apcupsd will initiate a system shutdown.
BATTERYLEVEL 5# If during a power failure, the remaining runtime in minutes
# (as calculated internally by the UPS) is below or equal to MINUTES,
# apcupsd, will initiate a system shutdown.
MINUTES 3# If during a power failure, the UPS has run on batteries for TIMEOUT
# many seconds or longer, apcupsd will initiate a system shutdown.
# A value of 0 disables this timer.
#
# Note, if you have a Smart UPS, you will most likely want to disable
# this timer by setting it to zero. That way, you UPS will continue
# on batteries until either the % charge remaing drops to or below BATTERYLEVEL,
# or the remaining battery runtime drops to or below MINUTES. Of course,
# if you are testing, setting this to 60 causes a quick system shutdown
# if you pull the power plug.
# If you have an older dumb UPS, you will want to set this to less than
# the time you know you can run on batteries.
TIMEOUT 3# Time in seconds between annoying users to signoff prior to
# system shutdown. 0 disables.
#ANNOY 300
ANNOY 120# Initial delay after power failure before warning users to get
# off the system.
#ANNOYDELAY 60
ANNOYDELAY 30# The condition which determines when users are prevented from
# logging in during a power failure.
# NOLOGON[ disable | timeout | percent | minutes | always ]
NOLOGON disable# If KILLDELAY is non-zero, apcupsd will continue running after a
# shutdown has been requested, and after the specified time in
# seconds attempt to kill the power. This is for use on systems
# where apcupsd cannot regain control after a shutdown.
# KILLDELAY0 disables
KILLDELAY 0#
# ==== Configuration statements for Network Information Server ====
## NETSERVER [ on | off ] on enables, off disables the network
# information server. If netstatus is on, a network information
# server process will be started for serving the STATUS and
# EVENT data over the network (used by CGI programs).
NETSERVER on
#NETSERVER off# NISIP
# IP address on which NIS server will listen for incoming connections.
# This is useful if your server is multi-homed (has more than one
# network interface and IP address). Default value is 0.0.0.0 which
# means any incoming request will be serviced. Alternatively, you can
# configure this setting to any specific IP address of your server and
# NIS will listen for connections only on that interface. Use the
# loopback address (127.0.0.1) to accept connections only from the
# local machine.
NISIP 0.0.0.0# NISPORT
default is 3551 as registered with the IANA
# port to use for sending STATUS and EVENTS data over the network.
# It is not used unless NETSERVER is on. If you change this port,
# you will need to change the corresponding value in the cgi directory
# and rebuild the cgi programs.
NISPORT 3551# If you want the last few EVENTS to be available over the network
# by the network information server, you must define an EVENTSFILE.
EVENTSFILE /var/log/apcupsd.events# EVENTSFILEMAX
# By default, the size of the EVENTSFILE will be not be allowed to exceed
# 10 kilobytes. When the file grows beyond this limit, older EVENTS will
# be removed from the beginning of the file (first in first out). The
# parameter EVENTSFILEMAX can be set to a different kilobyte value, or set
# to zero to allow the EVENTSFILE to grow without limit.
EVENTSFILEMAX 10#
# ========== Configuration statements used if sharing =============
# a UPS with more than one machine#
# Remaining items are for ShareUPS (APC expansion card) ONLY
## UPSCLASS [ standalone | shareslave | sharemaster ]
# Normally standalone unless you share an UPS using an APC ShareUPS
# card.
UPSCLASS standalone
#UPSCLASS sharemaster# UPSMODE [ disable | share ]
# Normally disable unless you share an UPS using an APC ShareUPS card.
UPSMODE disable
#UPSMODE share#
# ===== Configuration statements to control apcupsd system logging ========
## Time interval in seconds between writing the STATUS file; 0 disables
#STATTIME 0
STATTIME 30# Location of STATUS file (written to only if STATTIME is non-zero)
STATFILE /var/log/apcupsd.status# LOGSTATS [ on | off ] on enables, off disables
# Note! This generates a lot of output, so if
# you turn this on, be sure that the
# file defined in syslog.conf for LOG_NOTICE is a named pipe.
# You probably do not want this on.
LOGSTATS off# Time interval in seconds between writing the DATA records to
# the log file. 0 disables.
DATATIME 0# FACILITY defines the logging facility (class) for logging to syslog.
# If not specified, it defaults to “daemon”. This is useful
# if you want to separate the data logged by apcupsd from other
# programs.
#FACILITY DAEMON#
# ========== Configuration statements used in updating the UPS EPROM =========
##
# These statements are used only by apctest when choosing “Set EEPROM with conf
# file values” from the EEPROM menu. THESE STATEMENTS HAVE NO EFFECT ON APCUPSD.
## UPS name, max 8 characters
#UPSNAME UPS_IDEN
UPSNAME UPSRS550# Battery date – 8 characters
#BATTDATE mm/dd/yy# Sensitivity to line voltage quality (H cause faster transfer to batteries)
# SENSITIVITY H M L (default = H)
SENSITIVITY L# UPS delay after power return (seconds)
# WAKEUP 000 060 180 300 (default = 0)
WAKEUP 60# UPS Grace period after request to power off (seconds)
# SLEEP 020 180 300 600 (default = 20)
SLEEP 020# Low line voltage causing transfer to batteries
# The permitted values depend on your model as defined by last letter
# of FIRMWARE or APCMODEL. Some representative values are:
# D 106 103 100 097
# M 177 172 168 182
# A 092 090 088 086
# I 208 204 200 196 (default = 0 => not valid)
#LOTRANSFER 208# High line voltage causing transfer to batteries
# The permitted values depend on your model as defined by last letter
# of FIRMWARE or APCMODEL. Some representative values are:
# D 127 130 133 136
# M 229 234 239 224
# A 108 110 112 114
# I 253 257 261 265 (default = 0 => not valid)
#HITRANSFER 253# Battery charge needed to restore power
# RETURNCHARGE 00 15 50 90 (default = 15)
#RETURNCHARGE 15# Alarm delay
# 0 = zero delay after pwr fail, T = power fail + 30 sec, L = low battery, N = never
# BEEPSTATE 0 T L N (default = 0)
#BEEPSTATE T# Low battery warning delay in minutes
# LOWBATT 02 05 07 10 (default = 02)
#LOWBATT 2# UPS Output voltage when running on batteries
# The permitted values depend on your model as defined by last letter
# of FIRMWARE or APCMODEL. Some representative values are:
# D 115
# M 208
# A 100
# I 230 240 220 225 (default = 0 => not valid)
#OUTPUTVOLTS 230# Self test interval in hours 336=2 weeks, 168=1 week, ON=at power on
# SELFTEST 336 168 ON OFF (default = 336)
#SELFTEST 336
/etc/rc.confに記述しても次回起動時に消されてapcupsdが起動してきません
freenas:~# vi /etc/defaults/rc.conf
(snip)
# apcupsd
apcupsd_enable=”YES”##############################################################
### Define source_rc_confs, the mechanism used by /etc/rc.* ##
### scripts to source rc_conf_files overrides safely. ##
##############################################################
(snip)
freenas:~# /usr/local/etc/rc.d/apcupsd start
Starting apcupsd.
freenas:~# ps ax | grep ups
1888 ?? Ss 0:00.04 /usr/local/sbin/apcupsd –kill-on-powerfail
1890 p0 S+ 0:00.00 grep ups
freenas:~# /usr/local/sbin/apcaccess
APC : 001,036,0909
DATE : 2012-05-30 16:09:57 +0900
HOSTNAME : freenas.rootlinks.net
VERSION : 3.14.10 (13 September 2011) freebsd
UPSNAME : RS550
CABLE : USB Cable
DRIVER : USB UPS Driver
UPSMODE : Stand Alone
STARTTIME: 2012-05-30 16:09:55 +0900
MODEL : APC RS 550G
STATUS : ONLINE
LINEV : 098.0 Volts
LOADPCT : 0.0 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 650.0 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
SENSE : Medium
LOTRANS : 082.0 Volts
HITRANS : 123.0 Volts
ALARMDEL : 30 seconds
BATTV : 13.6 Volts
LASTXFER : No transfers since turnon
NUMXFERS : 0
TONBATT : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x07000008 Status Flag
SERIALNO : 3B1126X44080
BATTDATE : 2011-06-25
NOMINV : 100 Volts
NOMBATTV : 12.0 Volts
NOMPOWER : 330 Watts
FIRMWARE : 855.L4 .A USB FW:L4
END APC : 2012-05-30 16:10:33 +0900