Link to home
Start Free TrialLog in
Avatar of co_ol
co_olFlag for Australia

asked on

Windows Server 2012 Core connecting APC UPS serial /USB

I'm currently buildung up a Windows Hyper-V 2012 Core and trying to use a APC Smartups 1500C to shutdown the server in a powerfail event. Unfortunately this model has no expansion slot for a network card. Is there anyway to get a serial or usb connection working with the core setup or can you point me in the right direction.
Avatar of Jackie Man
Jackie Man
Flag of Hong Kong image

There is a solution which makes use of a linux vm. Details are as follows:

Enable SSH access on your ESXi host
Create a Linux VM - I use Ubuntu. You only need a very minimal setup - no GUI or anything.
Connect your APC device via USB to the ESXi host and pass it through to the Linux VM.
Make sure that the USB controller you add to the VM matches the actual, physical USB controller the APC device is connected to, i.e. only add an XHCI controller if the physical device is a USB3 device. Mismatches seem to cause odd problems in the Linux USB device driver.
If things aren't working out and you see errors like ctrl urb status -62 in dmesg, chances are the physical controller doesn't match the one in your VM. If they do match - well then it's a problem. I have one setup with this sort of problem and no real solution to it.
Install apcupsd on the Linux VM - in Ubuntu, you can do sudo apt-get install apcupsd to install the latest version. The NUT project is also nice but I am a traditionalist.
Install the plink utility by doing sudo apt-get install putty-tools
Connect to your ESXI host by doing plink root@<your ESXi host IP>. You can close the connection immediately. The objective is to get the host key saved so plink won't prompt for it again when we run it via a script
Edit /etc/apcupsd/apcupsd.conf and change the items below so they match: UPSNAME < the name you'd like your UPS to have > UPSCABLE usb UPSTYPE usb # DEVICE DIRECTIVE should be blank for USB DEVICE Also make sure that /etc/default/apcupsd has ISCONFIGURED=yes
Edit /etc/apcupsd/apccontrol and scroll to the doshutdown case. Make it look like this: doshutdown) echo "UPS ${2} initiated Shutdown Sequence" | ${WALL} # Shut down indirectly by triggering the ESXi host to do the # shutdown via VMWare tools /usr/bin/plink root@< your ESXi host IP > -pw < your root pw > "/sbin/shutdown.sh && /sbin/poweroff" ;;
Restart apcupsd using sudo service apcupsd restart and see if things are working by invoking apcaccess. If not, check logs and dmesg
Make sure all VMs that need to shut down nicely in case of a power failure have VMWare Tools installed. Also make sure that they are part of the VM startup/shutdown list (in the vSphere Web Client, go to: vCenter -> <your host> -> Manage -> Settings -> VM Startup/Shutdown). Make sure that the shutdown action is to shut down the guest OS.

Source: http://serverfault.com/questions/462993/vmware-esxi-shutdown-triggered-by-apc-ups-connected-via-usb
ASKER CERTIFIED SOLUTION
Avatar of ArneLovius
ArneLovius
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of co_ol

ASKER

The install worked just fine however it seem to only support serial and network connections.
Still need to source the serial cable.
I have used APC PBE with USB connected UPSs.

If it did not "see" the UPS, I would try the APC software on a laptop to check that the UPS is seen in device manager on USB.
Avatar of co_ol

ASKER

Thanks, works well on serial port, no USB option available for Hyper-V Server 2016R2