Narazil jsem na zajímavé informace ohledně APC UPS připojených k VMWare ESXi 6.0 pomocí USB portu. Myšlenka je založena na tom, že UPS je připojená k virtuálnímu serveru s Ubuntu a na něm je nainstalován program apcupsd. Tento program potom komunikuje pomocí programu plink (SSH protokol) s VMware ESXi a provede jeho vlastní vypnutí. V popisu k apcupsd je uvedena i konfigurace pro Webmin. Instalace plink-u se provede instalací balíku putty-tools.
Odkazy:
balíček apcupsd pro Ubuntu
Setup UPS on Ubuntu server
Shutting Down ESXi and VMs During a Power Failure
Základní nastavení
Základem je nastavení automatického spuštění virtuálních strojů v nastavení VMware ESXi a povolený SSH server. Dále musíme přiřadit USB zařízení k danému linuxovému VM. To provedeme ve vlastnostech VM. Budu popisovat instalaci a nastavení pro Ubuntu 16.04 LTS.
Instalace balíčků
Ve vybraném VM spustíme instalaci balíčku apcupsd
apt-get -y install apcupsd
pro jistotu provedeme zálohu originální konfigurace
cp /etc/apcupsd/apcupsd.conf /etc/apcupsd/apcupsd.conf.bak
otevřeme konfiguraci apcupsd pro editaci
nano /etc/apcupsd/apcupsd.conf
nastavíme požadované vlastnosti
UPSNAME Back-UPS-950 UPSCABLE usb UPSTYPE usb DEVICE POLLTIME 60 NETSERVER on NISIP 0.0.0.0
provedeme záloh další konfigurace
cp /etc/default/apcupsd /etc/default/apcupsd.bak
otevřeme konfiguraci pro editaci
nano /etc/default/apcupsd
nastavíme novou hodnotu vybrané vlastnosti
ISCONFIGURED=yes
restartujeme službu apcupsd
systemctl restart apcupsd
Aby bylo možné zobrazit stav UPS, je nejprve zapotřebí zastavit službu apcupsd
systemctl stop apcupsd
zobrazíme si stav služby apcupsd v terminálu. To provedeme zadáním příkazu
apcaccess status
Tento příkaz zadáme taky po restartu serveru, aby se nám správně načetly konfigurace. Test UPS provedeme zadáním příkazu
apctest
po ukončení testů je třeba opět spustit službu apcupsd příkazem
systemctl start apcupsd
Zobrazení stavu UPS
Pro zobrazení stavu UPS použijeme webserver Apache s povoleným modulem cgi. Instalaci provedeme příkazemapt-get -y install apcupsd-cgi
a zobrazíme na adresehttp://ip-adresa-serveru/cgi-bin/apcupsd/multimon.cgi
Pokud máme nainstalován Webmin, tak provedeme zkopírování obsahu z /usr/lib/cgi-bin/apcupsd/ do /etc/apcupsd/ příkazemcp /usr/lib/cgi-bin/apcupsd/*.cgi /etc/apcupsd/
Přihlásíme se do Webmina a ve Webmin / Konfigurace / Moduly / Instalovat
zvolíme Modul třetích stran z
a zadámehttp://diego.caravana.to/wp-content/apcupsd0.812.wbm.gz
a pokračujeme
Instalovat modul ze souboru
. Nový modul se nám objeví v sekci Ostatní
.
Vypnutí ESXi během výpadku napájení
Na VM s Ubuntu nainstalujeme putty-toolsapt-get -y install putty-tools
pro test komunikace mezi Ubuntu a ESXi spustíme příkazplink -ssh -2 -pw password root@ip-adresa-ESXi "ls /tmp"
tento příkaz se nás nejprve zeptá na uložení klíče a potom by nám měl vypsat soubory ve složce /tmp na ESXi.
Dále upravíme soubor /etc/apcupsd/apccontrolnano /etc/apcupsd/apccontrol
a najdeme sekci
doreboot) echo "UPS ${2} initiating Reboot Sequence" | ${WALL} ${SHUTDOWN} -r now "apcupsd UPS ${2} initiated reboot" ;; doshutdown) echo "UPS ${2} initiated Shutdown Sequence" | ${WALL} ${SHUTDOWN} -h now "apcupsd UPS ${2} initiated shutdown" ;;
kde do sekce doshutdown) vložíme další dva řádky
doshutdown) echo "UPS ${2} initiated Shutdown Sequence" | ${WALL} ${SHUTDOWN} -h now "apcupsd UPS ${2} initiated shutdown" echo "****** Executing ESXi Shutdown Command ******" | ${WALL} plink -ssh -2 -pw heslo-vmware root@ip-adresa-vmware "/sbin/shutdown.sh && /sbin/poweroff" ;;