SQL Server/Windows Cluster Shared Volume with I/O Redirection

First setup a Cluster Shared Volume and install SQL Server

See

We have iSCSI Target target2 used for a cluster shared volume, permissioned via IP Address

 Get-IscsiServerTarget | Format-List -Property TargetName,InitiatorIds


TargetName   : target1
InitiatorIds : {IPAddress:192.168.117.210, IPAddress:10.0.0.220, IPAddress:192.168.117.211, IPAddress:10.0.0.221}

TargetName   : target2
InitiatorIds : {IPAddress:10.0.0.221, IPAddress:192.168.117.210, IPAddress:10.0.0.220, IPAddress:192.168.117.211}

Currently cluster node Win-C2 owned the all Cluster Resources

We use powershell to disable 1 path to the disks

Get-IscsiServerTarget | Format-List -Property TargetName,InitiatorIds

TargetName   : target1
InitiatorIds : {IPAddress:192.168.117.210, IPAddress:10.0.0.220, IPAddress:192.168.117.211, IPAddress:10.0.0.221}

TargetName   : target2
InitiatorIds : {IPAddress:10.0.0.221, IPAddress:192.168.117.210, IPAddress:10.0.0.220, IPAddress:192.168.117.211}

Set-IscsiServerTarget -TargetName target2 -InitiatorId @("IPAddress:192.168.117.210","IPAddress:10.0.0.220","IPAddress:192.168.117.211")

Get-IscsiServerTarget | Format-List -Property TargetName,InitiatorIds

TargetName   : target1
InitiatorIds : {IPAddress:192.168.117.210, IPAddress:10.0.0.220, IPAddress:192.168.117.211, IPAddress:10.0.0.221}

TargetName   : target2
InitiatorIds : {IPAddress:192.168.117.210, IPAddress:10.0.0.220, IPAddress:192.168.117.211}

In Server Manager->Tools->iSCSI Initiator->Targets we highlight the target

We select properties and can see there is only 1 iSCSI session active not 2 as on the other cluster node

Nothing changes in terms of ownership at the moment

We disable the other path to the storage on the iSCSI Target

Set-IscsiServerTarget -TargetName target2 -InitiatorId @("IPAddress:192.168.117.210","IPAddress:10.0.0.220")

 Get-IscsiServerTarget | Format-List -Property TargetName,InitiatorIds

TargetName   : target1
InitiatorIds : {IPAddress:192.168.117.210, IPAddress:10.0.0.220, IPAddress:192.168.117.211, IPAddress:10.0.0.221}

TargetName   : target2
InitiatorIds : {IPAddress:192.168.117.210, IPAddress:10.0.0.220}

Immediately the iSCSI session is dropped and the iSCSI target goes inactive

We lost connection to the storage! What happens in failover cluster manager?

The SQL Server Roles has not moved even though we have no access to storage!

Who is the owner node for the storage now?

The other node Win-C1 is doing the i/o for us!

NOTE:

Still it is a cool feature!

We re-enable the paths to cluster node Win-C2

Set-IscsiServerTarget -TargetName target2 -InitiatorId @("IPAddress:192.168.117.210","IPAddress:10.0.0.220","IPAddress:192.168.117.211","IPAddress:10.0.0.221")

Get-IscsiServerTarget | Format-List -Property TargetName,InitiatorIds

TargetName   : target1
InitiatorIds : {IPAddress:192.168.117.210, IPAddress:10.0.0.220, IPAddress:192.168.117.211, IPAddress:10.0.0.221}

TargetName   : target2
InitiatorIds : {IPAddress:192.168.117.210, IPAddress:10.0.0.220, IPAddress:192.168.117.211, IPAddress:10.0.0.221}

In iSCSI Initiator we can click on the target and click Connect - don't forget to tick the checkbox to enable multipathing!

Now in Failover Cluster Manager under Storage->Disks,the Owner Node for the Cluster Shared Volume has not changed

We Right Click on the Cluster Shared Volume and Move it back to Node Win-C2