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) 
        $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
        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

Previous post WordPress Hosting with Cloudflare Pages
TrueNAS Logo Next post Homelab Storage Refresh (Part 1)