"Slow down" bootup until all devices are available I'm using OS X as a Server, running Server.app 4.0 to provide email hosting/etc.

Attached to this machine I have a PROMISE Pegasus R2 RAID drive mounted at /Volumes/RAID6-11TB, and I changed the default service storage location so that the Server.app data would be located on the RAID drive (for redundency, and so that Backblaze can backup my precious email, which normally ignores /Library).

The problem is when rebooting the machine, Server.app doesn't properly startup, because something during the boot process is creating an empty directory /Volumes/RAID6-11TB/Library/Server/Web/Data/Sites/Default/NetBoot. When the RAID array is later automagically mounted, it's default mountpoint already exists, so it is instead mounted at /Volumes/RAID6-11TV 1, which causes no good at all.

Is there a way to fix rebooting so that either:


Server.app won't launch until the RAID disk is ready, or
Delay OS boot so that it won't finish launching until the RAID disk is ready?


Regarding (1), I've edited /Library/LaunchDaemons/com.apple.serverd.plist to add a QueueDirectories key, but that doesn't seem to have any effect, and WatchPaths sounds like it has the wrong semantics, so I'm leery to even try that.

Regarding (2), if I boot into Single User mode (holding down Command+S during boot), then wait until all messages have completed, then hit Ctrl+D to continue the boot, /Volumes/RAID6-11TB is properly mounted as intended.

However, this doesn't help for automated reboots when I'm away (e.g. after power failures). (OK, the "proper" answer is battery backups so that the machine doesn't reboot, but let's ignore that for now...)

Is there some way to make this work?
It's Server.app that is creating that mysterious folder that's gumming up your works.

Stop the Server.app from launching when the server boots, and then you can create a cronjob that launches it via a .sh script. 

Script should just be something like 

#!/bin/bash
/Applications/Server.app


and like the person said in the one link, the cronjob entry would be something along the lines of

@reboot sleep 60 &amp;&amp; my_script.sh


That should give your RAID enough time to mount properly before Server.app pops up and creates that folder.