Welcome to this blog which I wanted to share with the wider Nimble Community. I’m an SE here at Nimble Storage and this blog tells a customer story which really showcases our technology.
The requirement was to migrate an 80TB volume non-disruptively from an old array to a new one in Production and DR environments whilst maintaining normal business access to the data and whilst continuing to replicate between environments. The customer is a finance customer and they have an application which they use for their capital modelling that they migrated on to a Nimble CS260 back in 2012 (replicating to a downstream CS260 as well).
This application is 32bit and consumes lots of storage resources! The way it works is it has a Microsoft Windows File Server, with storage presented from Nimble, which lots of modelling agents read data from. They process locally and then dump the results back. This means that it has long periods of heavy sequential reads (up to 36 hours) and periods of lots of mixed IO (random and sequential, reads and writes). This workload also varies depending on what models the users are running. This file server has a single Nimble volume of 80TB which contains 55TB of data (after compression of ~1.4).
Today about 25,000 separate models are run concurrently and to be fair the CS260 had been doing a fantastic job for the last two years however the time had come where the business wanted to run more models and run them quicker; the goal was 4x the models and 50% of the time!
Enter then the CS700 announced in mid-2014 and the All Flash Shelf (AFS). This array has 5X CPU cores of the latest variety (IvyBridge) and support for more capacity shelves as well as the AFS. It was agreed that this would be up to the business requirement, and downstream a CS500 could be used (Nimble supports replicating between any array models).
The question then was how to migrate to the new platforms non-disruptively. The customer had performed in place controller upgrades before however this wasn’t yet available from a CS200 to a CS700. So what other options were available to do this non-disruptively? Well with Nimble OS 2.x we introduced Scale-Out. The ability to group one or more arrays together and optionally share storage between all arrays in the group (pooling). For more information on this see the blog series here on Nimble OS 2.0: https://connect.nimblestorage.com/community/configuration-and-networking/blog/2014/04/14/nimble-os-20-a-detailed-exploration
We could leverage this process to merge the CS260 with the new CS700 array, then immediately evacuate the CS260 which would result in the 80TB data volume being non-disruptively moved from one platform to the other. The CS260 was to be upgraded to a CS400 via controller swap (non-disruptively) and re-purposed for other requirements. So the high level process was set:
- Upgrade the CS260 to a CS400 via controller swap
- Merge the newly upgraded CS400 with the CS700
- Evacuate the CS400 to migrate the data to the CS700
- Repurpose the CS400 (actually we moved one of the old shelves across to the CS700 afterwards for more capacity as well)
- Repeat the process in DR
Nimble Connection Manager (NCM) on the Windows Host takes care of making this process entirely non-disruptive. After you group the arrays and merge the storage pools it spins up new iSCSI data connections to the new array and then manages data access as the data migrates across. Of course if we had left them merged NCM would always ensure data access is direct from host to array for any given data block. As we evacuated the old array afterwards it managed data access through the migration and then after evacuation removed the old iSCSI data connections.
So the result…
The process worked perfectly! It did take time, about a week on each side, but the key for the business was that they didn’t even notice it happening! I’m happy to report we’ve moved from a heavy CPU/cache bound system to one with bags of headroom ready for the increase in models.
So how does this look from an InfoSight perspective?
Before (note the upgrade from CS260 to CS460 has already occurred at this point)
After upgrade to CS700
I hope you found this blog useful and I wish you all a very Happy Christmas!