The Storage Load Balancing is just one part of the general load balancing problem in computer systems. We have storage controllers/processors, which act simultaneously and number of storage units which are known as volumes connected to those storage processors.

 

The goal is to distribute those volumes, which also are called LUNs, among the storage processors in order to achieve better performance. LUNs actually are result of mapping previously created storage devices with the RAID Storage Systems to the computer SCSI devices in order to get these devices visible from host perspective. Our focus in this article would be only the FC-based (Fibre channel based) SAN storage systems.

The Storage Load Balancing is not only about the partitioning of the capacity, it’s mostly about the partitioning of the performance. In SAN we have different type of RAID groups − mirrored groups (RAID1, RAID 1/0) and parity groups(RAID3, RAID5). They have different performance. So obviously the capacity spreading is not the only factor contributing to the load balance in SAN, but the storage groups RAID type as well.

The Storage Capacity Planning

The entire process of planning and serving the SAN storage is called Storage Administration. Storage Administration consists of two phases: storage capacity planning and storage provisioning.

The Storage Load Balancing is not only about the partitioning of the capacity, it’s mostly about the partitioning of the performance. In SAN we have different type of RAID groups − mirrored groups (RAID1, RAID 1/0) and parity groups (RAID3, RAID5). They have different performance. So obviously the capacity spreading is not the only factor contributing to the load balance in SAN, but the storage groups RAID type as well. The Storage Capacity Planning is first and most important step to undertake when we build our storage environment. When we do capacity planning we have three basic steps to undertake.

The entire process of planning and serving the SAN storage is called Storage Administration. Storage Administration consists of two phases: storage capacity planning and storage provisioning.

 

Storage capacity planning:

In order to do precise capacity planning, we have to figure out couple of very important parameters such as I/O load, what is expected to be disks load, and finally-how many disks of certain type we would need.

Determining the required I/O load

We have to speak with the client. He knows what applications will run, what applications upgrade he needs to implement, what is the total storage to be used, what is the percentage of Read operations and what is the percentage of Write operations (a.k.a Reads and Writes), and what is the total Host IOs. What type of RAID he wants (for instance RAID 10, RAID 5) based on his financial frame.

Determining disks load

We have Read and Write operations in the storage array. Writes consume more resources then Reads due to some protection mechanisms. Each manufacturer provides Best Practices Manual Book recommending how to figure out disk load. Here is some data from the EMC CLARiiON Best Practices for FC Storage manual:

Parity RAID device Disk IOPs= Read IOPs + 4 × Write IOPs

Mirrored RAID device Disk IOPs= Read IOPs + 2 × Write IOPs

 

For instance if the client wants RAID-5 and has 20,000 Host IOs and 70% of them are Reads and 30% are Writes, then we will get 0.7×20,000 + 4×0.3× 20,000=38,000 disk IOs.

 

Calculating needed capacity

Calculating capacity means to determine the disk drives required. We are suppose to divide the total IOs by per disk IOs. This is the approximate number of drives you need to service the proposed I/O load. For RAID-5 load of 38,000 disk IOs we will need 38,000/180=212 disk drives. If RAID 10 is considered, then we will need 28,000/180= 156 disk drives. From a cost-for-performance perspective RAID 10 is a better choice in this case.

Storage provisioning

Once the capacity planning is done and certain storage capacity is provided, the next step for the storage experts is to optimize the usage of that capacity in order to keep best performance in our SAN. The usage of that capacity is implemented via storage provisioning requests. Optimizing storage provisioning tasks with regards to the best SAN provisioning practices means to distribute the requested storage load the best possible way from performance perspectives. One of the best known approaches would be searching for optimal load balance between the storage processors.