When migrating between storage systems, I've found the easiest approach is to consider your migration options from closest to the application, down to the bottom of the stack - storage.
For example, I'll usually take this approach at a high level when planning:
VMWare - Use Storage VMotion to move VMs to new storage
Exchange - Use DAG replication to add in new constituents on new storage and then evacuate old ones
iSCSI or FC attached LUNs - Volume manager replication and physical volume replacement (LVM, VxVM, Windows Dynamic Disk replication)
CIFS or NFS shares - We have a tool called XCP that can do very fast copies, enabling a quick cut-over
iSCSI or FC attached LUNs - Where no volume manager is available or where considerations dictate, we can perform Foreign LUN Import (FLI) to bring LUNs into the system, or we have professional services option for low outage cutovers using a rented DTA2800 appliance
In terms of compatibility, for LUN (SAN) based storage we have two components - the Host Utilities Kit and the SnapDrive MPIO DSM - which we recommend be installed.
Hope this helps! Please feel free to post any followup questions.
It works as advertised, and the only caveat is that while our systems can serve out the same volume via NFS and CIFs, XCP can only migrate the permissions of one of them, so you have to migrate it as NFS OR CIFS, then reapply permissions for the other protocol.
That made me scratch my head. Until now I was sure that FAS only keeps one set of permissions for each file and emulates "other" permissions. This is the first time I hear that FAS may have two independent permission sets for NFS and CIFS. Could you clarify how is it possible (what security style)?
Good catch - yes, there is only one set of permissions, and it is the same when viewed from NFS or SMB. On reflection, "Repermissioning" is probably an ineligant way of putting the problem.
Challenges come in with environments not following best practices - I've seen implementations without integrated directories, where there is manual UID mapping performed, etc, which confuses things. @parisi has a great blog post on some of the challenges in mixed security mode environments and how to avoid them.