Migrating a whole %*$# array

One of the nice things about my role at NetApp is a lot of freedom to pursue projects I think will help advance our presence in the enterprise application and database space. About 25% of my time is linked to specific requests from management, but the rest of my time is discretionary.

When I was writing the Oracle migration document mentioned in a previous post, I decided to take a closer look at a newer feature called “Foreign LUN Import”. I requisitioned a mixed SAN environment (thanks Graham!) and started experimenting.

I just wanted to see the process at first, but it was compelling enough that I decided to repeat the procedures and capture the output with Camtasia. This is the result:

https://www.brainshark.com/netapp/vu?pi=zGpzPyFTkz2TCHz0

If you haven’t heard of it, FLI is basically a way for an ONTAP array to import the contents of another array. With a little preparation work, you can move the contents of your SAN to ONTAP with just a few minutes disruption.

This is essentially how it works:

  1. Zone the new ONTAP array to the legacy array.
  2. Decide which LUNs you want to transfer.
  3. ONTAP will then read the configuration of those LUNs. It’s not moving any data yet, it’s just contructing new LUNs based on the current configuration.
  4. At this stage, ONTAP is now able to work as a proxy for the legacy array LUNs.
  5. Now you’re ready for cutover. Shut down the servers and change the FC zones to point to the ONTAP LUNs.
  6. Start up the hosts again and check connectivity. On occasion, the change in WWNs might require a corresponding change to host configuration, but hosts using a volume manager should transparently adjust to the changes.
  7. If everything looks good, initiate the data transfer. This is a large-block sequential IO operation which runs quickly and shouldn’t affect performance.
  8. Once the transfer is complete, remove the old array.

It’s also worth mentioning I did this with zero experience with this feature, zero training, and no assistance from anybody. I did the entire process remotely. I’ve never even seen the lab gear. I just logged into the hosts and the FC switch, figured out the plumbing, and ran some commands.

Worked like a charm. If you need to upgrade your FC SAN, this probably should be the default migration option.

Update: I forgot to mention – when you migrate you also get all the storage efficiency benefits of ONTAP. Inbound data will be compressed, compacted, and/or deduplicated based on however you’ve configured the array.

2 thoughts on “Migrating a whole %*$# array

  1. Nice!

    Maybe in Step 6 the host should also verify that its driver settings are optimal for the new controller, if the previous array is very different from FAS/AFF.

    Like

    1. I would hope that during step 6 someone would also be reading the formal Host Attachment Kit documentation. Back in the Windows 2000 and Linux 4 days it seemed like the OS vendors were changing things around every week, and there were a billion settings to worry about.

      I think there are still a few patches that would be needed for Windows at cutover time, and with AIX you’d need to install the PCM modules to support MPIO on ONTAP. That’s not too difficult, and most importantly it can be done at cutover time, so it doesn’t create an additional disruptive step or extend the disruption. At least linux “just works” now. Almost every distribution in the past year is hard-coded to recognize and properly use ONTAP LUNs.

      Still, mistakes are always possible. Be ready to look at /etc/multipath.conf, or maybe do a few basis tests, such as cable pulls or maybe a little vdbench.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s