Hi everyone!
I'm facing an issue, which seems to be general one but I can't find any helping information on Internet.
Let me explain: I have a 2 nodes Hyper-V 2012 Cluster managed by SCVMM 2012 SP1.
On that cluster, I installed a Guest SQL 2008 R2 2 nodes Cluster, which runs on an isolated network.
I exactly know how NVGRE works and every VMs on that isolated network can communicate each other with VMs on other node of Hyper-V cluster using a providing address (PA).
My issue concerns my guest 2 nodes SQL cluster. Each node has its own IP address (Customer Address CA) and can ping each other. Any other VMs on any node of Hyper-V Cluster can communicate with SQL nodes.
As you know, SQL Cluster has also a VIP (Virtual IP), which is allocated on the active node of the SQL cluster on the same physical network adapter as the node IP address.
The issue is that a VM on a different Hyper-V node than the active SQL node won't be able to reach the VIP.
The cause of my issue is obvious: the VIP isn't allocated from the IP pool thus doesn't have a PA associated with.
Let's take an example with one node of the SQL Server.
Node IP: 192.168.1.53
VIP: 192.168.1.60
If I verify the PA associated with the CA 192.168.1.53, I can see that everything is ok (PA range is in 10.1.1.0)
PS C:\Windows\system32> Get-NetVirtualizationLookupRecord -CustomerAddress 192.168.1.53
CustomerAddress : 192.168.1.53
VirtualSubnetID : 7000781
MACAddress : 001dd8
ProviderAddress : 10.1.1.100
CustomerID : {5C7CFAFB-7B85-4A62-AF14-BAD9}
Context : SCVMM-MANAGED
Rule : TranslationMethodEncap
VMName : SQL Cluster Node #0
UseVmMACAddress : False
If I run the same PS command on the VIP address, I don't find anything:
PS C:\Windows\system32> Get-NetVirtualizationLookupRecord -CustomerAddress 192.168.1.60
Get-NetVirtualizationLookupRecord : No MSFT_NetVirtualizationLookupRecordSettingData objects found with property
'CustomerAddress' equal to '192.168.1.60'. Verify the value of the property and retry.
At line:1 char:1
+ Get-NetVirtualizationLookupRecord -CustomerAddress 192.168.1.60
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (192.168.1.60:String) [Get-NetVirtualizationLookupRecord], CimJobExcepti
on
+ FullyQualifiedErrorId : CmdletizationQuery_NotFound_CustomerAddress,Get-NetVirtualizationLookupRecord
Concerning CA allocated by my VM Network IP Pool, each node has only one network adapter and each of them has one IP allocated from the IP pool (in my example, 192.168.1.53). The VIP is just not allocated from the IP pool because VMM will only allocate 1 IP by default.
PS C:\Windows\system32> Get-SCIPAddress -IPAddress 192.168.1.53
Name : 192.168.1.53
Address : 192.168.1.53
AllocatingAddressPool : LAB IP Pool (192.168.1.2 - 192.168.1.254)
AssignedToID : 1908793a-160a-424a-89e8-a0b1d
AssignedToType : VirtualNetworkAdapter
Type : DedicatedIP
State : Assigned
Description : SQL Cluster Node #0
ServerConnection : Microsoft.SystemCenter.VirtualMachineManager.Remoting.ServerConnection
ID : 5a1a43f3-4b35-471e-83ea-6ca9d8
IsViewOnly : False
ObjectType : AllocatedIPAddress
MarkedForDeletion : False
IsFullyCached : True
If I run the same command for VIP, it doesn't return anything.
The problem is that I exactly know why it doesn't work but I just don't know how to solve it. I'm sure I shouldn't be the only one to face same issue ofrunning Guest SQL cluster on an isolated network on Hyper-V 2012 Cluster.
I already tried to allocated the VIP manually from the IP Pool but the VM lost the previous CA of the node (192.168.1.53). That solves the PA issue on the VIP but it generates same issue now on node IP... what a mess...