Migrating from EMC Celerra to Isilon with Perl


I’ve been working on a massive migration from an EMC Celerra to our new shiny Isilon. We’ve got a ton of file systems, CIFS, and NFS shares which I don’t want to re-create manually. “Work Smarter, Not Harder” is what Scrooge McDuck always said, right? So I created a few simple Perl scripts to export information from the Celerra Control Station and created a shell script to run on Isilon to migrate the directories and shares. I’ve only tested with with 6.5 – not sure of the change in syntax in 7.x.

This doesn’t actually move the data or the permissions, as that is a whole different project. It simply parses a “nas_fs” query to make directories, create a hard quota to mimic sizes, and then created the NFS and SMB share. It’s a set of three scripts that can be run as needed.

Now it’s time for a short note and small disclaimer. This script works for me in my environment. Do your homework and make this work for you. While I have tried to make this robust and fully functional, it’s important to note “stuff happens”, this is still provides “as is” with no warranty whatsoever. Use at your own risk and all that jazz.

If you look in the archive you’ll find three files. The first Perl script is named “export_fs” and contains the code to generate the directories and quotas on Isilon. The new two scripts export the NFS and CIFS shares into separate shell scripts to run on your Isilon cluster..

To run the script you simple edit the NFS/CIFS scripts to specify the correct Data Mover. You’ll see a variable “$datamover”. Then you just actually run the commands:


You’ll end up with three shell files created for you to move to your Isilon cluster and run in the same order. Hopefully this makes your migrations a tad easier.



  1. prashant shah

    Thanks for the scripts! Saved me a lot of time.

    FYI, on the newer Isilon ( code, the quota command syntax is different than what your script outputs.

    Example of a working command: isi quota quotas create –path=”/ifs/data/FS1″ –enforced=1 –type=directory –hard-threshold=”20167M” –container=1

    • Yeah, I’ve updated my script but never published the newest copy. I was working on one which uses the API to completely automate the process.


  1. Generating EMCOPY commands for celerra2isilon migration scripts | Virtual Storage Zone - [...] seeing my Perl scripts for migrating from EMC Celerra to Isilon a few people have asked me how I…

Leave a Reply