понедельник, 22 октября 2012 г.

Citrix XenServer 6.0.2 и APC BE525-RS

Здравствуйте, уважаемые посетители. В заметке речь пойдёт о настройке UPS на Citrix XenServer. А если конкретнее,то APC BE525-RS и apcupsd.

Исходные данные:
Сервер из этой заметки;
UPS APC BE525-RS;



Подключаем UPS оригинальным кабелем в USB-порт. Проверяем, что он определился системой:
# dmesg | grep UPS
получаем примерно:  
generic-usb 0003:051D:0002.0001: hiddev96: USB HID v1.10 Device [American Power Conversion Back-UPS ES 525 FW:851.t3.I USB FW:t3] on usb-0000:00:1d.2-2/input0

Затем заходим на сайт, скачиваем последнюю версию rpm пакета с именем apcupsd-xxx-1.el5.i386.rpm (при написании последним являлся apcupsd-3.14.10-1.el5.i386.rpm ), закидываем на сервер (Winscp) и устанавливаем:
# rpm -i apcupsd-3.14.10-1.el5.i386.rpm

Конфиг с комментариями находится в файле /etc/apcupsd/apcupsd.conf
Я оставил его по умолчанию, но Вам никто не запрещает настроить его под себя.

Затем следует проверить скрипт заведения системы в halt. При установке apcupsd, перед строкой "# Now halt or reboot." в него должны были добавиться следующие строки: 
# cat /etc/init.d/halt | grep apc

# See if this is a powerfail situation.                                            
if [ -f /etc/apcupsd/powerfail ]; then                                              
   echo                                                                                            
   echo "APCUPSD will now power off the UPS"                           
   echo                                                                                            
   /etc/apcupsd/apccontrol killpower                                             
   echo                                                                                            
   echo "Please ensure that the UPS has powered off before rebooting"
   echo "Otherwise, the UPS may cut the power during the reboot!!!"
   echo                                                                                            
fi
Смысл этих строк прост – после того, как система встает в halt, на УПС посылается команда отключения с задержкой. Через несколько десятков секунд бесперебойник выключится и включится уже после появления электропитания. Это позволит нам не остаться в halt в случае, если в момент остановки системы электроснабжение восстановилось.

Если надо настроить оповещения о событиях, потребуется изменить следующие строки в  /etc/ssmtp/ssmtp.conf 
root=admin@company.ru   #почта админа
rewriteDomain=xxx.company.local
hostname=xxx.company.local  #здесь требуется корректно указать hostname сервера

*Примечание: Для корректной отправки, на сервере должны быть правильные сетевые настройки, работать ДНС резолвинг и быть доступ к почтовому серверу из MX записи вашего домена company.ru. 

Далее проверим, что apcupsd находится в автозапуске:
# chkconfig --list | grep apc

apcupsd         0:off   1:off   2:on    3:on    4:on    5:on    6:off
Запускаться он должен на 2,3,4,5 уровнях. При необходимости настраиваем.

Далее запускаем сам демон:
# /etc/init.d/apcupsd start

Проверка работы производится командой:
# apcaccess

Всем удачи и спасибо за внимание.
Статья, которую использовал я: http://www.mahno.su/xenserver/nastraivaem-upravlenie-apc-smartups-s-pomoshhyu-apcupsd-v-citrix-xenserver-6-0

1 комментарий:

  1. Я бы еще добавил если нужно чтобы другие сервера узнавали состояние подключенное к этому же APC
    To test your configuration run apcaccess.
    If you get a connection refused error try
    apcaccess status ipaddress:3551

    If you want to be able to use NIS (To read the UPS status from another host / server), you will have to allow the NIS port in the XenServer firewall.
    Edit the file /etc/sysconfig/iptables and add the following line after “-A RH-Firewall-1-INPUT -p tcp -m tcp –dport 631 -j ACCEPT”
    -A RH-Firewall-1-INPUT -p tcp -m tcp –-dport 3551 -j ACCEPT
    Then you need to restart iptables with
    /etc/init.d/iptables restart

    ОтветитьУдалить

Спасибо за Ваш комментарий