I am a huge fan of the Runecast product and luckily as a vExpert they give out NFR licences for my lab. One of the really cool features I wanted to mention today was the remediation script function.
I have been playing with storage a lot in my lab recently as part of a wider storage migration piece but also as part of testing Intel Optane drives. Runecast flagged up that I didn’t have Storage I/O Control enabled for these data stores. It gave a great overview of what that issue means:
It is a good practice to enable SIOC, especially in environments where storage is overutilized. SIOC monitors the latency of I/Os to data stores at each ESX host sharing that device. When the average normalized datastore latency exceeds a set threshold (30ms by default), the datastore is considered to be congested, and SIOC kicks in to distribute the available storage resources to virtual machines in proportion to their shares. This is to ensure that low-priority workloads do not monopolize or reduce I/O bandwidth for high-priority workloads.
But the issue I want to highlight is it will generate the code to resolve it for you.
If I drill into the specific issue I get the below view
Here you can confirm the discovered issue and the remediation action. ( I have chosen not to enable SIOC on my ISO-NFS datastore)
The below code is what Runecast generated for me.
# Automatically generated action. Always review before executing.
# Start of the section for Enabling of Storage IO control on datastore
# This action is going to be performed on the following Datastores: "Optane-iSCSI"
Write-Host "`n[RCA] Connecting to vCenter Server "uk-poo-p-vc-1.jameskilby.cloud"..." -ForegroundColor Cyan
$vcConnection = Connect-VIServer -Server "uk-poo-p-vc-1.jameskilby.cloud"
$datastoreIds = "Datastore-datastore-50097"
foreach($datastoreId in $datastoreIds)
{
try
{
$ds = Get-Datastore -Id $datastoreId -ErrorAction Stop
Write-Host "`n[RCA] Reconfiguring datastore with current name $($ds.name)" -ForegroundColor Yellow
Write-Host "`n[RCA] Enabling Storage I/O Control" -ForegroundColor Yellow
$ds | Set-Datastore -StorageIOControlEnabled $true -ErrorAction Stop | Format-Table name,Id,StorageIOControlEnabled
}
catch
{
Write-Host "`n[RCA] Datastore with ID $datastoreId was not found or the reconfiguration failed" -ForegroundColor Red
}
}
Write-Host "`n[RCA] Disconnecting from vCenter Server "uk-poo-p-vc-1.jameskilby.cloud"..." -ForegroundColor Cyan
Disconnect-VIServer $vcConnection -Confirm:$false
# End of the section for Enabling of Storage IO control on datastore
Dropping this into a PowerCLI session we get….
[RCA] Connecting to vCenter Server uk-poo-p-vc-1.jameskilby.cloud...
Specify Credential
Please specify server credential
User: [email protected]
Password for user [email protected]: ************
[RCA] Reconfiguring datastore with current name Optane-iSCSI
[RCA] Enabling Storage I/O Control
Name Id StorageIOControlEnabled
---- -- -----------------------
Optane-iSCSI Datastore-datastore-50097 True
[RCA] Disconnecting from vCenter Server uk-poo-p-vc-1.jameskilby.cloud...
PS /Users/w20kilja>
What an amazing little feature