Saturday, June 26, 2010

Assessing Storage Performance Just Got More Complicated!

Assessing Storage Performance Just Got More Complicated!

Here is how a SAN used to look like: Host -> Fibre Switch -> Storage. 3 Basic layers. A bottleneck could exist at the host level, or it could be at the switch, or it could be the lack of sufficient disk drives to support the required throughput. Performance analysis, while not easy, had a method to it and a storage administrator could go down the logical path of determining where a bottle neck existed. However, with recent enhancements and introducuction of new virtualization layers, analysing performance has become much more complicated.

Take the host layer for example: SQL 2008 server running inside a VM, hosted on a VMware vSphere server. There is the SQL server one would have to analyse, then the operating system itself, and then the vSphere server which connects the VM to the SAN. A bottleneck could exist at any of three sublayers. Although, in this case the only new addition is the virtual machine sublayer.

The switch layer has seen a lot of changes, although not much in the way of virtualization. Fibre saw speeds going from 2 Gb/s to 4 Gb/s and then 8 Gb/s. Then there was the introduction of iSCSI which went from 1 Gb/s to 10 Gb/s, although achieving the full potential of 10 Gb/s has been questionable. And recently we saw Fibre Channel Over Ethernet (FCOE) which takes advantage of the 10 Gb/s network adapters and switches. The switch layer also transformed into the encryption layer, as switches started encrypting data-in-fligth and data-at-rest. In a way, encryption switches are acting as a storage virtualization layer between the host and the storage.

Then there was the introduction of a brand new storage layer called block storage virtualization. Offerings such as Storage Volume Controller (SVC) and VPlex from EMC sit between the switches and the storage array, and virtualize the storage layer. They can act as a storage cache, hide the complexities of storage from the host, and replicate data between storage arrays.

The final layer, the storage layer is going through some major changes also. They now support multiple protocols including Fibre, iSCSI, FcOE, CIFS and NFS, and have multiple disk options from the slow but large 3 TB SATA to the super fast but expensive 5000 IOPS flash disks. With an emphasis on storage tiering and utilizing the right disks for the right performance level, features like block level and sub block level tiering have been added. Sub block tiering is especially interesting since it allows certain parts of the data in a LUN to reside on a different type of disk compared to the rest of the data. And then there is LUN level compression in storage arrays and deduplication in NAS filers.

There is another layer, but I don't believe is that prevelant yet, the external optimizers which sit between the host and storage. They access the data, perform deduplication on it and write it back to the storage. The Ocarina Optimizer is a good example of this. There is also the file virtualization layer such as the F5 Data Manager and Rainfinity which can combine several NAS filers under one logical access point.

So, storage performance analysis is no longer looking at the three layers. Now, it involves looking at all the sublayers involved. The bottleneck may be the storage array or the host, but finding which sublayer inside the storage array is causing it has becoming more complicated.

No comments:

Post a Comment