September 1, 2011

430 words 3 mins read

Promise Pegasus Daemon Cannot Start

The Promise Utility main screen, once it finally works.
At work we wanted to build a cheap network attached storage with a fair amount of space and some expandability. We decided that the easiest route was a

Mac Mini Server with the new Thunderbolt compatible Promise Pegasus R6 RAID array. The solution is effectively plug-and-play. You turn on the RAID, plug in the Thunderbolt cable, and a new hard drive shows up on your Mac. While not required, the Pegasus comes with the “Promise Utility” that allows you to monitor your RAID. I’m a sucker for little toys like this, so I installed it… and was very disappointed when it didn’t work.

Every time I launched the Promise Utility, it told me that the daemon wasn’t running and to press OK to restart it. No matter how many times I tried, it never started. I tried a good old fashioned reboot (of both pieces of hardware), but still no luck. I even went to Promise’s site and tried downloading the software again (assuming that which I installed was out of date and not 10.7 compatible). No dice. The last thing I did was launch terminal and check /var/log/system.log, going back to my Linux roots. There it was:

<br /> Aug 25 17:49:03 server-1 com.promise.httpd[546]: httpd: apr_sockaddr_info_get() failed for server-1.hq.companyname.com<br /> Aug 25 17:49:03 server-1 com.promise.httpd[546]: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName<br /> Aug 25 17:49:03 server-1 com.apple.launchd[1] (com.promise.httpd[546]): Exited with code: 1<br />

The Mini rides into data battle on its RAID
That second line I recognize as Apache. I presume the first line is also, but I’ve not seen that error before. Regardless, the issue seemed to stem from the fact that my server (which was freshly installed) wasn’t in the DNS and the Promise application needed the name to resolve correctly. As a quick hack (or for those playing along at home), in terminal, I did

sudo nano /etc/hosts and on the line that reads “127.0.0.1 localhost”, I added “server-1 server-1.hq.companyname.com”. Of course, you’ll want to change that to read the name of your server. If you don’t know the name of your server, simply run hostname from the terminal command prompt.

After that, I clicked on Promise Utility again and away it ran. Since the Pegasus R6 comes preconfigured out of the box as a RAID 5, there wasn’t really any configuration for me to change. At least now I can get into the utility, down the line, to check on the unit status and verify everything is operating properly.