Storage DRS in VMware vSphere 5

Probably the hottest new feature of vSphere 5 is Storage DRS or SDRS. The feature can best be compared to the DRS feature for host clusters we already know of vSphere 4. This feature will be welcome for enterprises and cloud providers. However as this is a new,complex technique interoperating with many components and with not much real life experience except for the beta the behaviour of SDRS should be looked at carefully before putting into full production. See the interop considerations figure at the end of this posting.

The main functionality of Storage DRS is:
1. I/O load balancing
2. diskspace balancing

SDRS is able to load balance virtual machine disk files in a datastore cluster just like DRS is able to load balance VM’s on a host cluster. If a datastore is overloaded SDRS can storage vMotion the virtual machine disk files to a less busy datastore. The threshold (the disk latency) of when a migration should be performed can be set by the administrator. SDRS will not initiate a storage vMotion at a io spike of 1 second of 1 minute but will use some sort of algorith for decisions.  
Also, if a datastore gets full, SDRS will storage vMotion the virtual disks to a datastore with more free diskspace available.

The same applies for creation/provisioning of a virtual machine. The administrator or script selects a datastore cluster based on characteristics of the datastore cluster. SDRS will then decide on which datastore the virtual machine disk files are created, based on actual I/O load and storage space available.

In SDRS a group of datastores is added to a so called datastore cluster or pool of datastores (POD). A datastore cluster can be compared to a DRS  host cluster. A maximum of 32 datastores can be added to a cluster. Datastores running on different arrays (HP, Dell etc) can be mixed into the same cluster. Also the fabric type (FC, iSCSI) does not matter.  Both VMFS3 and VMFS5 datastores are supported.

Mind SDRS automates storage vMotion on virtual disks located on datastores grouped in a datastore cluster. SDRS will not  move diskfiles from one datastore cluster to another.

SDRS can be compared to features offered by the storage array to move blocks of data between tiers of storage (auto-tiering). SDRS in the current release does not support combining SDRS with auto-tiering at the storage level simply because VMware did not test it. SDRS can be used when auto-tiering is enabled but the I/O metrics should be turned off to prevent auto-tiering getting in conflict with SDRS.

It is best practise to group datastores with the same characteristics in the same datastore cluster. So datastores running on a LUN with SAS drives are in a HighPerformance datastore cluster, datastores running on SATA in a MediumPerformance cluster. However it is okay to mix datastores of different sizes and I/O capabilities. Do not mix replicated with non-replicated datastores. Also do not mix NFS and VMFS, this is not suported yet by VMware.

SDRS enables administration of virtual machine storage based on tiers of storage instead of at datastore level.

Several levels of automation are available in SDRS:
-datastore maintenance mode

SDRS maintenance mode is just like maintenance mode of a ESX host. If a datastore is put in maintenance mode all virtual  machine files are moved to another datastore.

SDRS can be enabled or disabled by a schedule. For example when backups are run, you do not want to have SDRS move disk at the same time. So during the backup window SDRS can be disabled by using a schedule.

SDRS is not dependant on another method of controlling storage I/O namely Storage I/O Control (SIOC).  SDRS is complementary to SIOC. SDRS works to avoid I/O bottlenecks by migration of virtual machine diskfiles using storage vMotion. SIOC on the other hand will in case of unavoidable I/O bottlenecks (there is a serious storage issue) make sure the available IO is balanced over the VMs according the share settings. SIOC is enabled by default on SDRS enabled datastore clusters.

SIOC and SDRS both have a default threshold of the number of milliseconds of latency before SIOC or SDRS kicks in. SIOC has a default of 30 ms. SDRS should be set at a threshold lower than the SIOC threshold. This is because SDRS is a way TO AVOID storage  related performance issues. If the threshold is set the same, SDRS and SIOC can kick in at the same time and storage vMotion can cause a lot more trouble.

SDRS can be configured to migrate disk files to another datastore when the available space on a datastores reaches an administrator  specified value. The value is set in a percentage. For datastores with lots of diskcapacity the number of free GB would be nice, however this cannot be set in this release of SDRS.

SDRS heavily relies on a new VMware developed API called VASA (vStorage APIs for Storage Awareness). VASA is used to query the storage array on characteristics like capacity, free disk capacity, thin or thick provisioned LUN, performance metrics etc. If for example a LUN is thin provisioned SDRS is aware of that because of VASA and will not storage vMotion to a thin provisioned LUN if actual physical disk space is not available.

SDRS offers three kinds of affinity/ anti-affinity rules:
-intra-VM VMDK affinity
-VMDK anti-affinity
-VM anti-affinity

Intra-VM VMDK affinity means SDRS will keep all the VMDK’s of a VM together so these files are always on the same datastore. This rule is on by default!

VMDK anti-affinity will keep VMDK’s of the same VM on different datastores. This could be usefull for separation of log and database disks.

VM anti-affinity is the same as DRS anti-affinity. VMs which for example share the same application for redundacy are kept on different datastores.

The table below shows what is supported and what not. Site Recovery Manager is not supported in the current release with SDRS. That means VM’s being protected by SRM  needs to be placed on datastores which are not part of a SDRS cluster. VMware does not know at this stage if the new feature of SRM 5, host based replication, can be used when SDRS is active.

Also ESX5 hosts needs to be used for access to datastore clusters.

Storage DRS will be only available in the vSphere Enterprise Plus Edition.


About Marcel van den Berg
I am a technical consultant with a strong focus on server virtualization, desktop virtualization, cloud computing and business continuity/disaster recovery.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: