ติดตั้ง nut แบบ client ติดต่อกับ nut server
- เพื่อให้เซิร์ฟเวอร์ที่ติดตั้ง nut แบบ client ได้รับสถานะไฟฟ้าจาก UPS จาก nut server แล้วสั่ง shutdown ตัวเอง
- ทดสอบกับ ubuntu 10.04, 12.04
- สมมติหมายเลขไอพีของ nut server คือ 10.0.0.201
และมีชื่อที่กำหนดไว้ใน nut server ดังนี้
แฟ้ม /etc/nut/ups.conf มีข้อมูล
[myapc]
desc = "my apc"
แฟ้ม /etc/nut/upsd.users มีข้อมูล
[monuser]
password = changeme
- ติดตั้งโปรแกรม snmp ด้วยคำสั่ง
sudo apt-get install snmp
- ติดตั้งโปรแกรม nut ด้วยคำสั่ง
sudo apt-get install nut nut-cgi nut-snmp
- สำหรับ server ที่ติดตั้ง nut แบบ client ให้แก้ไขดังนี้
แก้ไขแฟ้ม /etc/nut/nut.conf แก้ไขข้อมูลจากเดิม
MODE=none
ให้เป็นว่า
MODE=netclient
แก้ไขแฟ้ม /etc/nut/upsmon.conf เพิ่มเข้าไปว่า
MONITOR myapc@10.0.0.201 1 monuser changeme slave
แล้วสั่ง nut ทำงาน ด้วยคำสั่ง sudo /etc/init.d/nut start
ตรวจสอบดู nut ว่ายังทำงานด้วยคำสั่ง
sudo /etc/init.d/nut status จะได้ข้อความตอบว่า
upsmon is running
ลองตรวจสอบด้วยคำสั่ง upsc myapc@10.0.0.201 จะได้ข้อมูลตอบประมาณว่า
ambient.humidity.high: 60.00
ambient.humidity.low: 30.00
ambient.temperature.high: 40.00
ambient.temperature.low: 10.00
battery.charge: 100.00
battery.charge.restart: 0
battery.current: 0.00
battery.date: 11/14/07
battery.packs: 0.00
battery.packs.bad: 0.00
battery.runtime: 2700.00
battery.runtime.low: 120
battery.voltage: 54.00
battery.voltage.nominal: 0.00
device.mfr: APC
device.model: Smart-UPS 2200 RM XL
device.serial: JS0746004426
device.type: ups
driver.name: snmp-ups
driver.parameter.mibs: apcc
driver.parameter.pollinterval: 2
driver.parameter.port: 172.17.112.15
driver.parameter.snmp_version: v1
driver.version: 2.4.3
driver.version.internal: 0.47 (mib: apcc 1.1)
input.frequency: 50.00
input.sensitivity: high
input.transfer.high: 253
input.transfer.low: 208
input.voltage: 231.00
output.current: 1.00
output.frequency: 50.00
output.voltage: 231.00
output.voltage.nominal: 230
ups.delay.shutdown: 270
ups.delay.start: 0
ups.firmware: 690.16.I
ups.id: UPS_IDEN
ups.load: 18.00
ups.mfr: APC
ups.mfr.date: 11/14/07
ups.model: Smart-UPS 2200 RM XL
ups.serial: JS0746004426
ups.status: OL
ups.temperature: 21.00
ups.test.result: Ok
แสดงว่าตั้ง ups บน nut ถูกต้องแล้ว
- หากต้องการเลือกใช้ upsshed เพื่อเลี่ยง Notify Storm เมื่อ UPS อาจมีการปิดเปิดในช่วงเวลาสั้นๆ
แก้ไขแฟ้ม /etc/nut/upsmon.conf ด้วยคำสั่ง
sudo vi /etc/nut/upsmon.conf
แก้ไขให้เป็นตามนี้ หรือเพิ่มต่อท้ายแฟ้มก็ง่ายดี
MONITOR myapc@10.0.0.201 1 monuser changeme slave
NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC
NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC
NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC
NOTIFYFLAG FSD SYSLOG+WALL+EXEC
NOTIFYMSG ONLINE "UPS %s on line power"
NOTIFYMSG ONBATT "UPS %s on battery"
NOTIFYMSG LOWBATT "UPS %s battery is low"
NOTIFYMSG FSD "UPS %s: forced shutdown in progress"
NOTIFYCMD /sbin/upssched
แก้ไขแฟ้ม /etc/nut/upssched.conf ด้วยคำสั่ง
sudo vi /etc/nut/upssched.conf
เพิ่มบรรทัดตามนี้
PIPEFN /var/run/nut/upssched.pipe
LOCKFN /var/run/nut/upssched.lock
CMDSCRIPT /etc/nut/scripts/upssched-cmd
AT ONBATT * START-TIMER onbattwarn 600
AT ONLINE * CANCEL-TIMER onbattwarn
สร้างไดเรกทอรี
sudo mkdir /etc/nut/scripts
สร้างแฟ้ม /etc/nut/scripts/upssched-cmd ด้วยคำสั่ง
sudo vi /etc/nut/scripts/upssched-cmd
เพิ่มตามนี้
#!/bin/sh
case $1 in
onbattwarn)
/sbin/upsmon -c fsd
;;
ups-back-on-power)
logger -t upssched-cmd "UPS Back on Power"
;;
*)
logger -t upssched-cmd "Unrecognized command: $1"
;;
esac
กำหนดสิทธิไฟล์
sudo chmod 755 /etc/nut/scripts/upssched-cmd
sudo chown root:nut /etc/nut/scripts