ESXi v6.x iSCSI multi-path I/O configuration
Tune the iSCSI multi-path I/O settings for ESXi to improve performance. The target is FreeNAS.
Query the devices to get the id of the device to query and modify (if you have multiple devices, consider using xargs):
# DEVICEID=$( esxcli storage nmp device list | egrep "^naa." | head -1 )
# esxcli storage nmp psp roundrobin deviceconfig get -d $DEVICEID Byte Limit: 10485760 Device: naa.6589cfc0000001d94d94727c44f4532a IOOperation Limit: 1000 Limit Type: Default Use Active Unoptimized Paths: false
Set the 'IOOperation Limit' (-I <number>) and 'Limit Type' (-t iops):
# esxcli storage nmp psp roundrobin deviceconfig set -d $DEVICEID -t iops -I 1
Verify:
# esxcli storage nmp psp roundrobin deviceconfig get -d $DEVICEID Byte Limit: 10485760 Device: naa.6589cfc0000001d94d94727c44f4532a IOOperation Limit: 1 Limit Type: Iops Use Active Unoptimized Paths: false
Notes
- ESXi doesn't support multiple connections per session (MC/S), so multipath I/O (MPIO) is required. See discussion.
Links
- https://forums.freenas.org/index.php?threads/iscsi-multipathing-slower-then-single-path-for-writes.22475/
- http://www.jpaul.me/2011/10/tweaking-vmwares-round-robin-settings/
- http://www.gatt-it.co.uk/the-gatt-it-blog/how-to-set-the-round-robin-iops-setting
- http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2069356
- http://www.vmware.com/files/pdf/iSCSI_design_deploy.pdf
Appendices
Device List
# esxcli storage nmp device list t10.ATA_____InnoLite_SATADOM_D150QV_________________20140818AA2041503001 Device Display Name: Local ATA Disk (t10.ATA_____InnoLite_SATADOM_D150QV_________________20140818AA2041503001) Storage Array Type: VMW_SATP_LOCAL Storage Array Type Device Config: SATP VMW_SATP_LOCAL does not support device configuration. Path Selection Policy: VMW_PSP_FIXED Path Selection Policy Device Config: {preferred=vmhba32:C0:T0:L0;current=vmhba32:C0:T0:L0} Path Selection Policy Device Custom Config: Working Paths: vmhba32:C0:T0:L0 Is USB: false naa.6589cfc0000001d94d94727c44f4532a Device Display Name: FreeBSD iSCSI Disk (naa.6589cfc0000001d94d94727c44f4532a) Storage Array Type: VMW_SATP_ALUA Storage Array Type Device Config: {implicit_support=on;explicit_support=off; explicit_allow=on;alua_followover=on; action_OnRetryErrors=off; {TPG_id=1,TPG_state=AO}} Path Selection Policy: VMW_PSP_RR Path Selection Policy Device Config: {policy=rr,iops=1000,bytes=10485760,useANO=0; lastPathIndex=1: NumIOsPending=0, numBytesPending=0} Path Selection Policy Device Custom Config: Working Paths: vmhba37:C0:T0:L0, vmhba37:C1:T0:L0 Is USB: false