Welcome: To stay updated with all my Blog posts follow me on Twitter @arunpande !
In my previous blog Questions while designing Storage for VMware - Part 1 I have discussed some important points and questions that you should ask while designing your Storage Infrastructure or doing an assessment of your existing infrastructure. In this blog post I will share some more points and questions that should be considered while designing Storage.
Storage Tier: For applications that need low latency and high throughput, SSD or Flash would be recommended. However the more faster the storage is the more costly it would be hence storage vendors provide various storage tiers that can be used to satisfy the application needs. You can use a cache module on the Controller/Storage Processor to cache most commonly read blocks. This will result in faster IO access because the read request does not have to go to the disk drive and is processed from the controller cache. However this caching solution can be used only as Read Cache. If you are looking at a caching solution which can handle read/write requests target a storage solution which allows you to create a pool of various types of disk drives for e.g. SSD or SAS, SSD or SATA etc. Server based cache is also available where a cache is installed on the server.
What Storage Tiering solution do you need? Controller Cache, SSDs or Caching on the Server side. It’s important that you size the cache accordingly, many storage vendors provide calculators which help you size the cache as per the application requirements.
How is data hot and cold data blocks migrated, is it automated?
What is the frequency and the impact and overhead this would have?
Storage Technologies: Storage has evolved from being dumb magnetic devices to intelligent storage devices with advanced features like Thin Provisioning, Data Deduplication, Compression etc.
- Thin Provisioning: I am sure all of us are aware about the advantages of thin provisioning i.e. overcommitment and assigning storage block on demand. However does your storage also provide additional options like guarantying space for LUN, defining space for snapshots and more importantly automatically growing the volume by X % when the volume is full. The auto grow feature is very important as we all are aware about what issues are caused at the OS/Application layers when the disk is full.
- Data Deduplication & Compression: Deduplication allows you to reduce the actual storage size by deleting the duplicate blocks. When you can dedupe primary data it will result in storage space savings resulting in less number of spindles, disk shelves, rack space & power. When considering deduplication you should also consider the additional space required for deduplication metadata, though the space would be minimum but it should not be ignored. Does the storage provide inline i.e. before data is written to the disk or manual/scheduled. If compression is inline it will reduce the management overhead. Compression checks for redundant blocks and replaces them with 32K chunk of file (this is specific to NetApp). Together with Deduplication & Compression you can save storage from 40% to 90% depending on your applications, this also includes tier 1 applications like exchange, sap, oracle etc.
Snapshot Technology: Storage vendors today provide snapshot technology but it’s important to understand how snapshot works on the array since this will help you calculate your storage requirements. Does your storage offer point-in-time OR copy on write snapshots? Also check the maximum number of snapshots copies that can be created for a LUN. What is the performance impact of using snapshots, does it cause performance overhead when you have to overwrite existing data or create/delete snapshots. When defining the snapshot interval consider the rate of change of data since snapshot also helps you recover data from a previous snapshot copy. Finally it’s also important to understand how easy it is to restore data from snapshot since this can be used to calculate the RTO.
Storage for VMware Virtualization: VMware provides vStorage APIs which can help in enhancing the performance & management of your storage infrastructure. I would check the following when deciding on the Storage vendor
- Does the Storage vendor support vStorage APIs for Array Awareness (VASA).
- Does the Storage vendor support all the primitives for vStorage APIs for Array Integration (VAAI), for both Block & NAS Storage.
- QoS on Storage, this will complement features like SIOC provided by VMware.
- Type of Storage i.e. Active/Active, Active/Passive or ALUA arrays.
- Number of Active paths to a LUN.
- Auto grow LUN support. This will help you in increasing the VMFS datastore size without having to use extents.
- Support for Boot from SAN, if you want to boot the ESXi server from SAN.
- Does the infrastructure support NPIV (N_Port_ID Virtualization)?