Mac Mini co-location

Co-locating a Mac Mini outside of your own premises can present a few special challenges. Overall, it's pretty straightforward and with a little preparation a Mac Mini makes an ideal server for co-location.


The single biggest issue with Mac Minis is getting them to power on automatically after a power cut. Why is this an issue given that our facilities have high-capacity, generator-backed uninterruptible power supplies? Well, power cuts aren't a problem, but we do provide access to a switched PDU that allows you remotely power cycle the machine to recover from a crash. If your server doesn't switch on when the power is restored, this will have the effect of turning your machine off, and we'll need to call an engineer to turn it on again. This wastes time (and probably annoys the engineers).

Macs support what the Apple documentation calls "server mode", which provides exactly this behaviour. If you're running OS X, switching this on is as simple as running the command,

pmset autorestart 1

as root. You can also use the Energy Saver panel in System Preferences to achieve the same effect. Make sure that "Restart automatically after a power failure" under options is selected.

In Linux this is, sadly, slightly harder; the appropriate incantations are:

... for an Intel Mac Mini
setpci -s 0:1f.0 0xa4.b=0
... for an NVidia Mac Mini
setpci -s 00:03.0 0x7b.b=0x19
... for a Unibody Mac Mini
setpci -s 0:3.0 -0x7b=20
Actually we've only tested this on Mac Minis; on other Intel Mac hardware, it may not work. What the command does is to clear the AFTER_G3 bit in the configuration register of the 82801GBH I/O controller hub which acts as the power management controller in the Mac Mini; once that's done, the machine will always wake when AC power is applied.

However, note that in either case the setting is not preserved across boots. OS X handles this by saving the power-management settings on disk and automatically restoring them at boot; Linux doesn't do that for you, so you will need to arrange to run the appropriate command on boot. Obviously it is important to do this as early in the boot process as possible, so that if the machine hangs or crashes while booting, you can still reboot it. For the Intel Macs, we advise you to put the setpci command above into a script to run as early as possible in the boot process.

Note that for the Intel Mac dedicated server machines we set the machine up appropriately in our custom bootloader, so that you don't need to worry about the above. If you opt for our up-and-running service we can configure your machine in the same way.

Running without a screen

It is important to test that your Mac Mini will boot correctly without a screen. In particular, if you rely on the Apple Boot Camp firmware update (which provides a legacy BIOS, so that the machine can be booted like a conventional PC), then you may encounter trouble with this, because the VGA BIOS which the machine installs typically blocks trying to communicate with the monitor using DDC.