Physically locating the server

Solution 1:

Use IPMI to trigger LEDs, increase fan RPMs or sound the beep/alarm. Take a look at the man page for ipmitool https://linux.die.net/man/1/ipmitool depending on the server you may be able to set the LEDs, LCD display, fan RPM offset(listen when nobody is in the office). Some other IPMI or BMC interfaces may allow you to sound the beep but this functionality is more platform specific.

a powerful workstation or server will sound like someone vacuuming with the fans turned up all the way.

EDIT: To use the Identifier lights as mentioned in comments, this will however require setting making sure that an appropriate IPMI interface is setup, there are several guides and tutorials available, and depending on the OEM there may be proprietary interfaces and management systems like Intel's Data Center Manager(http://www.intel.com/content/www/us/en/software/intel-dcm-product-detail.html). I have used this tutorial before but there are others https://www.thomas-krenn.com/en/wiki/Configuring_IPMI_under_Linux_using_ipmitool ipmitool -I <appropriate interface for system> -U<username> chassis identify force should force the ID to an on state, depending on the interface and configuration you may need to specify authentication type and other command line options.

Solution 2:

If your server has a CD/DVD or similar drive, a simple solution is to run eject and look for the open tray. (Remember, just because the tray is open doesn't mean that you opened it; confirm a second time after you think you've found the server.) Failing that, Matt's answer to turn on an identifying LED or display a message on an LCD with ipmitool is the way to go.

You could also use traceroute to determine what router the server is connected to, and even play with the switch management interfaces to try to find the exact cable (or at least one end of it) on which the server is connected.


Solution 3:

An electrical method:

When the power consumption in your building is not going to change a lot (like at night):

  1. Run the computer at full cpu (like prime 95)
  2. Measure the current going through each circuit breaker in the circuit breaker panel, record these numbers. (this can be done with a AC clamp meter)
  3. Run the computer at low cpu
  4. Remeasure the currents. If any have dropped from before, the panel box normally states which room that breaker controls. Go to that location and find the computer.

Notes:

  • Take precautions to not electrocute yourself while measuring currents
  • If multiple breakers have a drop in current, rerun high CPU test and repeat until 1 breaker could be isolated.

Solution 4:

If you have a managed switch:

ping ghostserver

arp -a

Note the MAC address, and after check your switch ARP table per port.

Depending on the switch model you will have output like this:

enter image description here

** Notice that multiple MAC per port usually means an uplink to another switch.


Solution 5:

Use beep.

Assuming you have an internal speaker installed (often a small piezoelectric device), this will emit a beep on said speaker. If you are unsure whether there is a speaker inside the box in question, perhaps you can try with a different machine of the same type with known location.

You can keep it running in a loop while you wander through the house. Or you can encode your house-internal phone number into the melody somehow and wait for some colleague to call, asking you to please end that annoying noise next to their office.

Make sure you are executing beep as root, so that it uses the ioctl mechanism. Unless the binary is installed suid root on your system and your user is allowed to access it. Just emitting \a to your tty (which is the fallback in case of insufficient privileges) likely won't be enough since it will just reflect to your remote terminal emulator. Depending on your configuration, you also might have to load the pcspkr kernel module to make this work.

According to https://pkgs.org/download/beep, beep should be available as a package for CentOS, so just try yum install beep. Hope it's not modified in some way to make it not use the ioctl approach. This was a problem on Gentoo for some time.

Matt's answer mentioned beep (unclear whether the command or the concept) in passing, as did some comments, but I think this should be an answer in its own respect. Chances are you'll hear beeps through closed doors while checking led patterns may require opening the room and waiting in front of each machine to distinguish deliberate patterns from random noise.