Showing posts with label design storage. Show all posts
Showing posts with label design storage. Show all posts

Saturday, December 28, 2013

Questions while designing Storage for VMware - Part 2

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)?


Questions while designing Storage for VMware - Part 1

Welcome: To stay updated with all my Blog posts follow me on Twitter @arunpande !
When you evaluate your IT expenses you would find that Storage covers a sizable amount hence it’s very important that you design the storage effectively. I wrote this blog post to make a note of some important points and questions that should be considered while designing your storage infrastructure. The contents in this blog can also be used for evaluating your current storage technology, identifying and bridging the gaps during the storage refresh. 
Capacity: While sizing the storage consider the usable
storage and not RAW storage because an appreciable size of RAW storage would be used by Raid overhead, hot spares, snapshot best practices etc. Also keep the data growth for the next 3-5 years when you size the storage. The storage solution should allow you to choose different types of disks (SSD, SAS, SATA) with different speeds. Ask the following questions:


How much usable capacity do I need in my infrastructure?
Does the storage capacity address the IOPS requirement?
What is the average rate of growth of data for the next 3-5 years?
What is the estimated size required for hot data and how will this be addressed for e.g. SSD/Flash?
Additional space required for VM swap & VM snapshots?


Storage Architecture, Scalability & Flexibility: For the past few years we have seen some noticeable changes in the storage domain for e.g. most vendors now provide Unified Storage solution which aims at covering multi-protocol support (FC, FCoE, iSCSI & NFS). This gives the flexibility to use the any protocol without making major changes in your storage setup. Along with Unified Storage there is also a lot of noise about Converged Infrastructure which aims at providing industry standard, certified and tested end-to-end solution for your IT needs. This covers Compute, Networking, Storage and OS & Application best practices. Ask the following questions when you are evaluating these solutions:
What is the maximum capacity that is supported by the Storage Array?
What are the different disk drives (speed & protocol) supported by this solution?
What is the impact to the existing environment while upgrading Storage or adding more Storage Controllers?
Understand the architecture of Unified Storage solution, does it provide equal capabilities/features for both block & file storage?
Does the storage array provide same OS, management entities for File & Block storage?


High Availability: HA is considered as one of the key factors while designing your storage infrastructure. While designing HA one should first understand the impact of downtime for the business. You should have a clear understanding about the Mean time between failure (MTBF) and Mean time to repair (MTTR). It’s MTTR that will be a measure of downtime and it should not exceed the accepted Recovery Time Objective (RTO) as per the Service Level Agreement (SLA). In simple words Availability is the percentage of time when the Storage was available. Ask the following questions:
How many “Nines” do you need in your Infrastructure? Generally 99.999% or 99.9999% is desired for business which can withstand a downtime of few seconds to few minutes. The solution should not have any Single Point of Failure (SPOF) and this should cover all the components in your storage i.e. Controller or SP, Cache Cards, data in NVRAM, Disk Shelves, Disk Drives, Fans, Power Supplies etc.
How will the data in NVRAM or Cache be handled during power failure?
Have you considered the specific tuning/settings to be done on the OS or Application to handle failover/failback during controller or path failure?
Is any downtime required to perform any storage maintenance tasks like firmware upgrading, adding more storage, replacing disk drives etc.