The HP Storageworks MDS600 is ZFS-compatible. I can't speak to the zoning capabilities and control from within an OS, but it sounds like you're going to be using this with a single server head.
I would recommend using LSI controllers, but possibly with two smaller controllers, like the LSI 9205e instead of a single 16-port model. Assuming your MDS has multiple controller interfaces, you may want to leverage SAS multipath.
That brings up the matter of disk selection...
Please don't use SATA drives in your production ZFS deployment.
No good can come from it... Nexenta barely supports SATA. The failures on SATA ZFS arrays can be spectacular. There's also a performance penalty...
if you're seeking capacity, go a little further and spec midline or nearline SAS disks. They are mechanically-equivalent to the large SATA disks, but feature a SAS interface, which has performance, error-correction and reliability implications. Plus, they are dual-ported and support multipath. If capacity isn't an issue and performance is the focus, I'd go with high-RPM enterprise disks...
A few notes...
- HP-labeled SAS controllers are of no benefit here. They're rebadged LSI controllers and not on the same tier as the 9205e model I suggested above.
- The MDS600 is a 3 Gb/s (3G) SAS enclosure. Keep that in mind. 6G disks will run at 3G. If you use current SATA disks (3G), they will run at 1.5 Gb/s.
- You don't need HP disks... You do need HP drive caddies/carriers. Those can run up to $30/disk. Did you plan for that?
- Which ZFS implementation are you using? My experience is centered around ZFS on NexentaStor. Device support may be different if you're using something like ZFS on Ubuntu...
- I'm not sure if you're connecting this to an HP ProLiant server. You may want to keep an HP Smart Array controller handy in order to perform firmware updates on the enclosure.