Mac Mini co-location

Preparing a Mac Mini for 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.

Power

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 remote power control unit (Masterswitch) 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.

If you need to use the Boot Camp firmware, you will need to prepare a simple terminator to convince the machine that a (non-DDC) monitor is attached. All that's needed is to connect a 75Ω resistor between pins 2 and 7 of the (analogue) VGA connector. The easiest way to do this is to buy a male DB15 connector (a "VGA plug") and appropriate resistor, and solder it between pins 2 and 7 on the connector. Fit a hood over the connector to prevent damage in handling. (You can get all of these parts from Maplin or any other electronics supplier. We can sometimes supply these terminators but we don't keep a stock.)