By far, the most important component of a great Xsan is great planning. Speak to people with experience. Use our forums to look for common problems and post questions. Find an similar configuration in our setup library, and ask the author for ideas. If you can, hire a consultant with experience (and great references).
There is significant infrastructure in a typical Xsan installation. Please refer to our list of Xsan components to understand the pieces of the puzzle.
Metadata is used in every SAN transaction. Clients exchange metadata with the MDCs over Ethernet. This is the most latency-sensitive route in your SAN. Keep this channel completely separate from your "public" Ethernet traffic. Business-class (managed) switches have lower latency than consumer-class switches. On your MDCs, use "sudo lsof -ni4 | grep fsm" to see what networks your clients are really using to connect.
As much as possible, keep a single server restricted to a single task. Several problems can happen when you mix services on a server.
Xsan is a shared file system for an operating system that was intended for exclusive file systems. If you don't use directory services, you will have problems when the OS assumes it owns the disk. We've seem problems with trash cans misused, temporary files colliding, and even video capture problems.
Use a directory services system such as Open Directory or Active Directory to keep your users separate. Every user must connect to the Xsan volume using a unique user name and user ID.
Each Xsan volume should include a single LUN for metadata. While it is only a small amount of data, it must be on a very stable and low latency connection. Most commonly, the metadata LUN gets its own controller, not shared with other storage. It uses three disks: a RAID 1 mirror with a hot spare. The RAID controller should be on the same switch blade as the MDCs, to minimize intra-switch latency.
Creating a backup solution for an Xsan can be a greater task than creating the Xsan itself. But people in the Xsanity community have created several backup methods that work well.
At a minimum, make sure you keep a current backup of your metadata controller's config folder in /Library/Filesystems/Xsan/config/. You will need these files in case your metadata controller is unavailable.
Follow Matt's recommendations for setting up your FCP scratch disks.