This is one of those posts that I’m doing just in case somebody stumbles upon it in the future while troubleshooting an issue. Since we started the Media Mill project, our XSan install has been relatively flakey. We haven’t had any data loss or anything, but it’s always taken forever to mount a volume after a boot, and the controllers often lost track of the clients.
It finally bothered me enough recently to dig down and solve the issue. It turns out the biggest problem (and this won’t surprise Xsan veterans) was DNS. Even though the machines don’t have DNS servers specified, they were still apparently waiting for DNS timeouts on every single Xsan transaction. OSX in general has obscenely long timeout periods of DNS, which was creating a cascade of problems within Xsan.
The solution was to create a hosts file. Just edit /etc/hosts (you’ll have to sudo to do this) and add all of the hosts that access xsan, as well as hostnames for them. “man hosts” for an explanation of the formatting.
The trick is to run “sudo lookupd -flushcache” afterwards, or you won’t get the benefits. Then, launch XSan Admin and marvel at how quickly it responds. Marvel too at how quickly hosts mount the SAN volume after boot.
There are a ton of other things you can do to make XSan behave better. Anyone thinking about installing should take a look at XSanity.com, the home of all things Xsan.