After reading my blog I thought I would expand a bit on the ON/OFF capabilities and what they actually turn on and off when it comes to VAAI. I kind of threw a lot out there and wanted to make a little more sense out of the mess I made. All the stuff I wrote about installing and validating, that's great, but let's talk more about WHAT those on/off switches actually turn on and off.
In most cases this stuff is all on by default and in most cases you won't need to turn it off. But what if your boss comes to you and says, "Hey prove to me this VAAI stuff works!" or say you want to try and find a bottleneck, you can turn individual settings on and off to test. Please do be careful!
Atomic Test and Set (ATS)
This is actually a really cool primitive! Say you've got a machine on a LUN and you go and make a change. When the metadata is updating, a SCSI reservation locks the entire LUN. So while it's locked, no other ESX or ESXi servers can update the metadata. In small environments this probably won't be a problem since this process is very quick, but as your environment increases in size, you'll be limited by SCSI reservations, how many machines can be stored on a VMFS volume and how many virtual machines can access the same VMFS datastore. With ATS this issue is practically eliminated which can allow the environment to grow without this potential limitation.
To check the status and enable or disable ATS use the
following commands at the CLI:
Status:
# esxcli
system settings advanced list -o /VMFS3/HardwareAcceleratedLocking
Disable:
# esxcli system settings advanced set -i 0 -o
/VMFS3/HardwareAcceleratedLocking
Enable:
# esxcli system settings advanced set -i 1 -o /VMFS3/HardwareAcceleratedLocking
XCOPY
Another very cool primitive! Say you're copying a virtual machine or moving one from one datastore to another. In the past ESX or ESXi had to read every block and than copy or move it. While this function works just fine it does require more compute and network resources from the ESX/ESXi servers. The extended copy tells the storage which blocks to copy or move and the storage goes and does it. This lowers the demand on the compute and network resources while speeding up the copy or move.
To check the status and enable or disable extended copy
for cloning use the following commands at the CLI:
Status:
# esxcli system
settings advanced list -o /DataMover/HardwareAcceleratedMove
Disable:
# esxcli system
settings set -i 0 -o /DataMover/HardwareAcceleratedMove
Enable:
# esxcli system
settings set -i 1 -o /DataMover/HardwareAcceleratedMove
Write_Same
Yep another cool one. Okay, so I think all the VAAI primitives are cool! Say you create a virtual disk and want to use it right away. Well, you'll have to wait a little bit since every block needs to have zeroes written to them. Write_Same is cool because it not only offloads writing zeros, but the command will write patterns across sequential blocks. You also get the eager or lazy zero capability. Lazy zero will wait until the disks are accessed before it zeroes and eager zero, you got it, will zero the disks out right away!
To check the status and enable or disable Write_Same use
the following commands at the CLI:
Status:
# esxcli
system settings advanced list -o /DataMover/HardwareAcceleratedInit
Disable:
# esxcli
system settings set -i 0 -o /DataMover/HardwareAcceleratedInit
Enable:
#
esxcli system settings set -i 1 -o /DataMover/HardwareAcceleratedInitATS_Only
The neat thing about ATS_Only is with VMFS5 datastores, the default is ATS! Do be careful with this one, please don't play in your production environment! :-)
Status:
# vmkfstools -Ph -v1 /vmfs/volumes/vaai_iscsi2
Disable:
# vmkfstools --configATSOnly 0 /dev/disks/<disk name>
Enable:
# vmkfstools --configATSOnly 1 /dev/disks/<disk name>
Yesterday I showed the GUI way to set ATS, XCOPY and Write_Same if you'd rather use the GUI.
Until Next Time!
-Brain
No comments:
Post a Comment