Enterprise class storage arrays are technological marvels, and thus are the most expensive storage on the planet. Think you can slap in a 1TB drive for $200? NOT! Think $20K or more per TB. But what do you get for that $20K? Well that’s a bit more tricky, and where you end up with an array with hidden limitations which can cost you down the road in both CAPEX and OPEX.
Over the years of working on enterprise storage projects, I’ve developed a long list of questions which I pose to candidate companies to both screen them for basic features, and have a lengthy evaluation criteria to help judge the array’s feature set. Earlier this year I blogged some of my questions, but got too busy to post the whole list. I’ve since revised the questions, and I’ll try to get all of them posted in a few installments.
If you are doing virtualization (and who isn’t?) then performance, capacity, ease of use, and support from your hypervisor is key. For VMware ESX users, a true active/active concurrent controller design can be a major performance boost.
1. What is the controller architecture? (Active/active concurrent, Active/active non-concurrent, Active/passive)
2. What is the controller to controller connectivity? (Full cross-bar switch, full mesh, point to point, etc.)
3. Minimum and maximum number of controllers?
4. Do the controllers feature any proprietary hardware or ASICs?
5. Maximum number of Windows/Linux/ESX hosts?
6. Cache size and is it mirrored and ECC protected? Separate control and data caches?
7. Minimum/maximum number disks?
8. Maximum storage capacity?
9. Disk capacity, interface speed, spindle speed, and types (FC, SATA, SAS, FATA, SSD)?
10. How is cache memory protected in case of power failure and for how long?
1. Minimum/maximum LUN size?
2. Maximum number of base LUNs and presented LUNs?
3. Non-disruptive dynamic LUN expansion/shrink?
4. Is LUN concatenation required for LUN expansion or large LUNs?
5. Maximum LUNs per storage controller host facing port?
1. What are current host connectivity options? (4Gb/8Gb FC, 1Gb/10Gb iSCSI, FCoE, etc.)
2. Base number and maximum number of host facing ports and type?
3. Base number and maximum number of back-end ports and type?
4. Can connectivity be easily upgraded by the end user to future technology?
5. Can you hot-add controller ports? Must a controller be taken offline?
6. Any near-term plans for more connectivity options or speeds?
7. Do host ports need to be dedicated to remote replication?
8. Does the array support NFS? What version?
1. What is the maximum number of read-only and read-write snapshots per LUN?
2. Total snapshots per array?
3. Is a separate pool (reserve) of disk space required for snapshot use?
4. Are snapshots space efficient (copy on write)?
5. Does the array support snapshot consistency groups?
6. Max LUNs per consistency group and groups per array?
7. Can you snapshot a RAID-1 volume, for example, to RAID-5?
8. Can you schedule snapshots? GUI or CLI?
9. Can snapshots be set to automatically expire? GUI or CLI?
10. Can a snapshot have a read-write snapshot?
1. Does the array support thin provisioning?
2. Will the array reclaim previously allocated but now unused space? If so, is it enabled with vSphere?
3. Can a ‘fully provisioned’ LUN be converted to a thin LUN?
1. Does the array differentiate between various performance ‘zones’ of a disk, such as outer tracks and inner tracks?
2. What performance tiers can you create? (RAID1, 15K FC disks, outer tracks vs. RAID5, SATA, inner tracks, etc.)
3. Can LUNs be migrated non-disruptively between tiers?
4. Is there any automated data progression between performance and protection tiers?
5. If so, is this at the LUN level or more granular such as block level? For example, could a single LUN have some blocks on high performance disks while other less used blocks are on nearline disks?
6. Can you assign LUN performance parameters based on workload (Exchange, SQL, VMware, etc.)?
7. Can you partition the cache or set any type of QoS?
Whew! Look for another installment or two to wrap up the list of potential questions you can ask your array vendor.