vSphere 5.5 Storage Enhancements Part 8 – DSNRO Changes

vsphere5.5bThis is a topic which has been discussed time and time again. It relates to an advanced storage parameter called Disk.SchedNumReqOutstanding, or DSNRO for short. There are a number of postings out there on the topic, without me getting into the details once again. If you wish to learn more about what this parameter does for you, I recommend reading this post on DSNRO from my good pal Duncan Epping. Suffice to say that this parameter is related to virtual machine I/O fairness. In this post, I’ll talk about changes to DSNRO in vSphere 5.5.

Prior to vSphere 5.5, this parameter was a global setting. In other words, if you had multiple storage arrays presented to an ESXi host, and you set the DSNRO global parameter, this setting was inherited by all storage devices. However, we realized that perhaps we should make this setting more granular since not all storage devices are created equally. For example, if you had an All Flash Arrays presenting LUNs/volumes and some older spinning disk storage also presenting LUNS/volumes, then it would not make sense to set all storage devices with the same DSNRO. Therefore in vSphere 5.5, we have introduced greater granularity and now allow DSNRO to be set on a per device basis. By default, this value is 32 in vSphere 5.5.

DSNRO is now displayed in an esxcli storage core device list output in ESXi 5.5:

~ # esxcli storage core device list -d naa.6000d3100046c5000000000000000010
 naa.6000d3100046c5000000000000000010
 Display Name: COMPELNT iSCSI Disk (naa.6000d3100046c5000000000000000010)
 Has Settable Display Name: true
 Size: 67108864
 Device Type: Direct-Access
 Multipath Plugin: NMP
 Devfs Path: /vmfs/devices/disks/naa.6000d3100046c5000000000000000010
 Vendor: COMPELNT
 Model: Compellent Vol
 Revision: 0600
 SCSI Level: 5
 Is Pseudo: false
 Status: on
 Is RDM Capable: true
 Is Local: false
 Is Removable: false
 Is SSD: false
 Is Offline: false
 Is Perennially Reserved: false
 Queue Full Sample Size: 0
 Queue Full Threshold: 0
 Thin Provisioning Status: yes
 Attached Filters:
 VAAI Status: supported
 Other UIDs: vml.02000100006000d3100046c5000000000000000010436f6d70656c
 Is Local SAS Device: false
 Is Boot USB Device: false
    No of outstanding IOs with competing worlds: 32

To change this value, the command esxcli storage core device set with the option -O|–sched-num-req-outstanding can be used.

  -O|--sched-num-req-outstanding=
 Set number of outstanding IOs with competing worlds.
~ # esxcli storage core device set -O 64 -d naa.6000d3100046c5000000000000000010
~ # esxcli storage core device list -d naa.6000d3100046c5000000000000000010
 naa.6000d3100046c5000000000000000010
 Display Name: COMPELNT iSCSI Disk (naa.6000d3100046c5000000000000000010)
 Has Settable Display Name: true
 Size: 67108864
 Device Type: Direct-Access
 Multipath Plugin: NMP
 Devfs Path: /vmfs/devices/disks/naa.6000d3100046c5000000000000000010
 Vendor: COMPELNT
 Model: Compellent Vol
 Revision: 0600
 SCSI Level: 5
 Is Pseudo: false
 Status: on
 Is RDM Capable: true
 Is Local: false
 Is Removable: false
 Is SSD: false
 Is Offline: false
 Is Perennially Reserved: false
 Queue Full Sample Size: 0
 Queue Full Threshold: 0
 Thin Provisioning Status: yes
 Attached Filters:
 VAAI Status: supported
 Other UIDs: vml.02000100006000d3100046c5000000000000000010436f6d70656c
 Is Local SAS Device: false
 Is Boot USB Device: false
 No of outstanding IOs with competing worlds: 64
 ~ #

2 Replies to “vSphere 5.5 Storage Enhancements Part 8 – DSNRO Changes”

  1. I heard about this feature at VMworld but hadn’t looked into it in much detail. Is there any way to tie this setting to a storage type (similar to SATP:PSP or something)? This is a feature we’ll want to start testing soon as we have an all flash tier in a few of our datacenters that could benefit from the higher DSNRO setting.

    Thanks!

    BC

Comments are closed.