Manual Storage Sizing: Poorna Prashanth
Manual Storage Sizing: Poorna Prashanth
Poorna Prashanth
Manager
Dell Technologies
[email protected]
Courses are offered to meet different learning styles and schedules, including self-paced On Demand,
remote-based Virtual Instructor-Led and in-person Classrooms.
Whether you are an experienced IT professional or just getting started, Dell Technologies Proven
Professional certifications are designed to clearly signal proficiency to colleagues and employers.
Disclaimer: The views, processes or methodologies published in this article are those of the author. They
do not necessarily reflect Dell Technologies’ views, processes or methodologies.
Dell.com/certification 3
Introduction
Understanding storage performance KPI’s is important when initiating effective presales conversation
with customers and to identify the root cause of performance issues which would, in turn, help better
position products.
This article describes performance and capacity metrics that impact storage performance behavior and
provides a methodology to perform storage sizing manually without use of any tools while considering
performance and capacity metrics.
Audience
This article is intended for Dell Technologies sales and presales field personnel interested in gaining a
high-level understanding of the ECS architecture and basic methodology/process/procedures to size a
storage device to best meet customer requirements and understand the core metrics that impact
storage performance.
Overall, this article provides insight to Storage Device Sizing best practices.
File System
Configuring the host file system correctly can significantly enhance storage device performance. Storage
can be allocated to the file system through Volume Manager. The host file system can support shared
access to storage from multiple hosts.
File system caching reduces load on the file system by maximizing the storage system performance.
Matching the file system I/O size with the application and the storage system has a positive impact on
overall storage system performance. File system can be configured for a minimum extent size starting at
4KB and can extend to 128KB. When the goal is to move a large amount of data, larger I/O size (64KB
and higher) will be positive.
File system alignment impacts the amount of resources needed when the storage device services an IO
request. A file system aligned to RAID group striping will reduce latency with increased throughput. File
system misalignment adversely impacts performance and can result in drive crossings.
Dell.com/certification 5
Knowing the IO type (Sequential, Random or mixed) and workload is important to understand the
benefits of the alignment. The type and size of the data transfer is application-dependent.
With 64KB stripe element size, all IOs larger than 64KB will involve drive crossing. To minimize drive
crossing, the partition can be aligned to be on a RAID group stipe boundary.
Similarly, VMFS filesystems suffer a performance penalty when the partition is unaligned. Using the
vSphere Client to create VMFS partitions avoids this problem since, beginning with ESXi 5.0, it
automatically aligns VMFS3 or VMFS5 partitions along the 1MB boundary.
Workload is the set of input and output operations driving through data paths interfacing with storage
and network infrastructures. Each workload will have unique characteristics that will impact storage
latency, IOPS and throughput. These characteristics include:
The workload shown here is aggregated workload and not a single IO. The aggregated workload is the
combination of multiple workloads being generated from different applications
Understanding workloads and its type and pattern of enterprise applications helps to design and size
storage solution optimally. Workloads can be categorized into different types with a specific pattern.
Transactional Workload
Automate day-to-day business operations and processes by handling data in real time and allowing
modification of existing data, removal of data and addition of new data. All data is validated in real time.
These workloads are read intensive, sequential and with smaller IOs.
Examples of Transaction Enterprise Applications are SharePoint, SQL, Exchange, Oracle, and SAP.
Analytical Workload
Consolidated repository designed for reporting and analysis. Storing current and historical data, it is
optimized for bulk loads and processing of large amounts of data. These systems often rely on bulk loads
to load current data into the system, are read intensive and random in nature. File Servers are one
example that stores large and small files from all kinds of applications. Any file saved by application and
usually accessed over SMB/CIFS/NFS protocol.
Dell.com/certification 7
High Performance Workload
These workloads are complex and require enhanced compute capabilities. Well suited for public clouds
with enhanced performance, these workloads are mainly unstructured and random, mixed IO.
Virtualization can be one the examples which consolidates different physical devices onto virtual
environment changes the IO data pattern from and to the storage (i.e. VMware vSphere, Microsoft
Hyper-V, VMware Horizon, Open stack, Cloud stack).
Data Base and Backup workloads require high speed copy and restore to minimize the impact of failures,
disaster or human errors. Data can then be managed effectively for retention and long-term retrieval.
IO Type
Widely used as workload type, an IO can be a read or a write. It is the total bytes of data either ready or
written from/to the storage device.
IO Size
IO Size is the average size of an aggregated workload. Typically, the IO size will be segregated as a Read
IO Size and Write IO Size. IO size can range from 512 bytes to 256KB or even 1MB for more recent
devices.
Bandwidth
Bandwidth is quantified as the amount of data transferred in time, typically measured in bits per second.
It represents the maximum data rate a link/data channel/port can transfer. It is important to ensure
that configured storage would support the required bandwidth. Also known as throughput, it is
measured in MB/s, which is the amount of data transfer rate. The higher the throughput, the greater the
amount of data processed per second.
It is critical to understand different IO types to correlate the behavior of the application with the server.
Operational design of the host’s applications affects storage system performance.
Run PerfMon and Windows and IOSTAT for Linux systems to find average sectors. Multiply this number
by 512bytes to get the IO Size. Large IO’s deliver better bandwidth than small IOs. The use of smaller or
larger block size is typically application-dependent. The decision to use large IO or fragment into small
IO’s requires reconfiguration at the application level, host OS, HBA and storage system LUNs.
Dell.com/certification 9
Sequential vs Random
Knowing the type of IO is critical to predict device performance. An application can have three IO types.
• Sequential IO
• Random IO
• Mixed IO
Sequential IO are the data sets that are spaced sequentially in an addressable space while Random IOs
are randomly distributed. Accessing sequential data is much faster compared to accessing random data.
This means throughput with random will be much lower compared to sequential. Small Random IO’s use
more storage system resources than large Sequential IOs. Applications that perform only sequential IO’s
have better bandwidth than applications performing random or mixed IO. However, all flash is very
efficient in handling random small IO’s.
Locality is based on the date set’s locality of reference. Locality reference means storage locations being
frequently accessed. Data that is located near each other on sector and tracks will have the highest
locality. There are 2 types of locality “when written” and “where written”
• When Written: An application is more likely to access recent data than access data that was
written a couple of days prior (this will be an application when deduplication is not enabled)
• Where Written: This refers to where the in-use data is distributed within its address space
A dataset workload with high locality of reference gets the best performance with secondary caching
and storage tiering. This varies from application to application.
Writes vs Reads
An IO can be Read or Write. Knowing the ratio of read and write in IOs helps determine the best practice
for cache, RAID group, and LUN Provisioning to apply to your workload.
Writes consume more storage systems resources than reads. Writes go to storage system write cache, is
mirrored to both storage processor and eventually sent to the storage device via the backend. When
writing to a RAID group, mirrored or parity data protection techniques consume additional time and
resources.
Reads consume fewer storage resources than writes. Reads that find the data in cache (known as cache
hit) will have faster response time than reads which needs to be fetched from a drive when it is not
found in the cache (cache miss).
RAID Groups
RAID Groups are the primary logical device in the storage system. Each RAID level has its own resource
utilization, performance and data protection characteristics. For specific workloads, a RAID level can
offer clear performance advantages over others.
Different RAID have different levels of capacity utilization. The difference between the data drives and
parity drives is important to understand while provisioning storage. The percentage of drive capacity in a
RAID Group dedicated for data decreases as the number of drives in a parity group increases. Creating
large RAID groups is the most efficient use of capacity.
RAID Group Level and Size Usable Storage
RAID 1/0 (4+4) 50%
RAID 5 (4+1) 80%
RAID 5 (6+1) 86%
RAID 5 (8+1) 88%
RAID 6 75%
The best RAID Group write performance can be achieved from the full stripe write. This is the most
efficient movement of data from cache to the storage devices. Stripe Capacity is calculated as the
number of user drives in RAID multiplied by block size. The default RAID Group stripe block size is 64KB.
For RAID 5 (4+1) the stripe size will be 256KB (4*64). If the majority of aligned block size in not 256KB, it
would result in striping to the next drive. This is less optimal for high bandwidth, large block random IO.
When to use RAID 5
RAID 5 – striping with parity – is suitable for random read performance. Random write performance is
slower than read performance due to parity calculations. Sequential write and read performance is
good. Sequential write performance optimizes when full stripe writes occur.
There will be additional overhead during writes to the RAID group. This is called write penalty. The write
penalty of RAID 5 is 4, meaning every write to the RAID will result in 4 writes. One Write to RAID will
result in below operations:
• Read the old data
• Read the old parity
• Write the new data
• Write the new parity
Dell.com/certification 11
When to use RAID 6
RAID 6 is data striping with dual Parity. RAID 6 has similar performance as RAID 5. Random write
performance is slower due to additional parity calculations. It has excellent random and sequential read
performance. Performance improves with smaller stripe widths. Sequential write performance is
optimized when full stripe writes occur. RAID 6 is recommended for high capacity drives and mainly
preferred for capacity over performance. With the same number of data drives, RAID 5 and RAID 6
perform similar random reads while RAID 6 suffers for random writes due to additional write penalty
overhead. Refer to the table below for write penalty for different RAID types
The write penalty for RAID 6 will be 6. That means every write to RAID 6 results in 6 operations in the
backend as below,
• Read the old data
• Read the old parity 1
• Read the old parity 2
• Write the new data
• Write the new parity 1
• Write the new parity 2
Dell.com/certification 13
Storage Sizing
Understanding the workload is the essential thing we need to know for storage system configurations.
Workload requirements can be defined as Performance and Capacity. There are broadly two steps for
storage sizing.
1. Calculate the drives required to meet the performance need
2. Calculate the drives required to meet the capacity need
Right sizing for performance can be carried out in two sub steps
1. Calculate required drives for IOPS and throughput
2. Right model the storage system to support the drive performance
In addition, you should plan for future growth. It is important to size sufficient storage to satisfy capacity
and performance during peak and to meet requirements in the near future.
Per Drive IOPS for a flash drive falls drastically for random IOPS if IO size is greater than 16KB. The
number of threads can increase the IOPS that can be handled. If an application is doing 4KB Random
reads from flash drive, it will achieve 3000 IOPS. The same application reading a drive through 10
threads of the same size can achieve 35000 IOPS. Flash drives are well suited to multi-threading.
Dell.com/certification 15
Determine the Storage Systems
Once the number of drives is estimated. Storage systems maximum supported IOPS, Maximum
supported capacity, maximum supported drive count and maximum supported DAE’s to host total
required drives.
Storage System = Approximate Drives/Storage System Drive Maximum Count
The final number of drives is based on number of drives to meet both capacity and performance. Always
consider the peak workload while determining the drives to meet performance.
The entire procedure applies to determining storage with a homogeneous pool.
Conclusion
Manual sizing of a storage device comes in handy when trying to understand the metrics that impact the
performance and capacity of the storage system and how each metric is relatively dependent. The
methodology documented in this article will give Sales and Presales personnel an idea of how to quickly
calculate performance metrics based on application to help drive their sales/presales opportunities.
Dell Technologies believes the information in this publication is accurate as of its publication date. The
information is subject to change without notice.
THE INFORMATION IN THIS PUBLICATION IS PROVIDED “AS IS.” DELL TECHNOLOGIES MAKES NO
RESPRESENTATIONS OR WARRANTIES OF ANY KIND WITH RESPECT TO THE INFORMATION IN THIS
PUBLICATION, AND SPECIFICALLY DISCLAIMS IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS
FOR A PARTICULAR PURPOSE.
Use, copying and distribution of any Dell Technologies software described in this publication requires an
applicable software license.
Copyright © 2020 Dell Inc. or its subsidiaries. All Rights Reserved. Dell Technologies, Dell, EMC, Dell EMC
and other trademarks are trademarks of Dell Inc. or its subsidiaries. Other trademarks may be
trademarks of their respective owners.