locked
SCVMM 2012 SP1 Beta Static IP Addresses for Virtual Machines RRS feed

  • Question

  • Is it possible to assign a specific static IP address to a virtual machine in SCVMM 2012 SP1? We are using network virtualisation and need to be able to import / restore virtual machines into a private cloud with their original IP addresses.  I cannot find the setting and the virtual machine either gets any IP address from the Static IP address pool or from a DHCP server. If so how?

    Microsoft Partner


    • Edited by rEMOTE_eVENT Thursday, September 13, 2012 11:38 AM sp
    Thursday, September 13, 2012 11:37 AM

Answers

  • By nature a VM cannot communicate with VMs on other subnets.  A subnet is an isolation boundary unless you have a rule in your router to route the traffic between subnets. 

    So, the VM should be able to talk to VMs on the same subnet / IP range.  With or without Netowrk Virtualization.

    I guess that I am getting confused with what your end goal is.  Part of me is thinking you are trying to use Network Virtualization and this manual IP.  I thought you just wanted to apply an IP to a VM (origionally) but I now think there is more to it.


    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.
    Disclaimer: Attempting change is of your own free will.

    Tuesday, September 18, 2012 3:36 PM
  • Ah. I totally get it.  And I think I know what is happening / not happening.

    SCVMM must apply the IP to the VM, you cannot manually apply the IP.  So at some point you need to tell SCVMM to apply the IP to the VM?

    Why? Becuase only then will SCVMM setup the Network Virtualization LookupRoutes for this particular VM.

    And this is definately a model when SCVMM needs to be 100% in control, or else it will not do everything it needs to. And for all we know, there is some fail-safe where if it things it fails in applying the IP that it will not set up the WNV routes.

    If you go to one of your Hyper-V Servers and you open a PowerShell prompt and you type Get-NetVirtualizationCustomerRoute you will see your WNV networks.  if you Get-NetVirtualizationProviderAddress you will see the internal endpoint IP that the traffic is targeted to (on that host).  If you Get-NetVirtualizationLookupRoute you will see the routing rules between VMs.

    These are the core WNV commands.  SCVMM also has similar commands in its PowerShell cmdlets.  But gives you the SCVMM view.


    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.
    Disclaimer: Attempting change is of your own free will.

    Tuesday, September 18, 2012 4:50 PM

All replies

  • If SCVMM is managing the IP assignment and SCVMM is managing Netowrk Virtualization, then the VM will keep the same IP (as long as SCVMM is managing it).

    If you have a manually applied IP now and you want to assign one from SCVMM I think there is a way to mark the IP already reserved from the pool.


    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.
    Disclaimer: Attempting change is of your own free will.

    Thursday, September 13, 2012 3:06 PM
  • I am sure that I have seen a box in SCVMM where you can specify the static IP address for the VM but for the life of me I cannot find it.

    Microsoft Partner


    • Edited by rEMOTE_eVENT Thursday, September 13, 2012 3:31 PM sp
    Thursday, September 13, 2012 3:31 PM
  • You are right - you can set a static IP during deployment.

    However, this is not suitable in a cloud deployment where the Networks are abstracted. This aply to both logical Networks and virtualized Networks.

    So if you deploy a VM to a host Group, you will be able to pick an available IP by yourself.


    Kristian (Virtualization and some coffee: http://kristiannese.blogspot.com )

    Thursday, September 13, 2012 4:21 PM
  • The IP must be chosen from the IP pool that you have associated with that particular abstraction.

    The physicla layer has an IP pool, the Netowrk Virtualizaiton layer has an IP Pool, and the IPs that you give to the VMs (the bring your own IP scheme part) has its own IP Pool.

    It is this last pool that the VM must be set up and the VM must exist within.

    SCVMM keeps it all sorted out (thank goodness as it is a bit confusing).

    SCVMM also has two ways to assign IPs to mahcines in virtualized networks - manual IP applied on provision or DHCP based (using a switch extension).  So it can play out different ways.


    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.
    Disclaimer: Attempting change is of your own free will.


    • Edited by BrianEhMVP Thursday, September 13, 2012 4:26 PM
    Thursday, September 13, 2012 4:25 PM
  • Ok this is really wierd, I have network virtualisation enabled and have created 1 VM network that has 4 VM subnets defined:

    10.0.1.0/24
    10.0.2.0/24
    10.0.3.0/24
    10.0.4.0/24

    If I create a virtual machine that is built with a hardware profile connected to my VM network and Dynamic IP selected then the VM gets an IP address dynamically from the correct IP pool (I have 1 IP pool configured for each VM subnet). The VMs that have a dynamically assigned IP address can ping VMs in the other VM subnets that also have dynamically assigned IP addresses (using NVGRE routing domain).

    However, if I build a VM with a hardware profile that has Static IP (from a static IP Pool) then it doesn't get a DHCP address as expected and when I manually assign an IP address that is in the correct subnet range it can ping other VMs in the same subnet but it cannot ping VMs in other VM subnets (and vice versa).

    All I want to do is to assign a VM to a VM network and VM subnet and provide it with a static IP address and for it to communicate with other VMs from the other defined VM subnets???


    Microsoft Partner



    • Edited by rEMOTE_eVENT Tuesday, September 18, 2012 4:25 PM sp
    Thursday, September 13, 2012 4:53 PM
  • Thanks for your replies so far, but I am still unable to assign a specific IP address to a particular machine. Is this actually possible and if so how? Ideally I would like to assign a specific static IP address, alternatively I would even be happy by using a dhcp reservation using the VMs MAC address to .

    Really struggling here... MS are pushing network virtualisation so that we can host tenant virtual machines without them having to change their IP addresses of their VMs and also being able to host multiple tenants that may have the same  IP address. How can we do this if it is not possible to use a specific IP address on a VM? I am unable to host a customer VM on a cloud when they require to keep their existing IP address.

    Really appreciate any more information.


    Microsoft Partner

    Friday, September 14, 2012 9:30 AM
  • Would this be possible using powershell commands grant-scipaddress or set-scipaddress?

    Microsoft Partner

    Friday, September 14, 2012 1:19 PM
  • Yes.

    To make this all work SCVMM needs to be managing the IP of the VM.  I believe that this thread began with you bringing you VM where you had already manually assigned an IP and shoe-horning that in.

    This really does not fit the Windows Network Virtualization model with SCVMM.

    The SCVMM implementation allows you to bring your own IP address range and place VMs in this range.  The key is that SCVMM must be in charge of assigning the IP address to the VMs (not folks bringing in machines that already have an IP assigned manually).

    As long as you realize that you are working within that constraint, you just need to modify your assumptions.  Instead of trying to push our square peg to fit the round hole (forcing).  Shave the edges of your square peg so they fit the round hole (match your deployment to the model).


    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.
    Disclaimer: Attempting change is of your own free will.

    Friday, September 14, 2012 2:48 PM
  • Problem being that there really isn't much detailed information detailing the square peg, I'm not making assumptions but rather trying to understand the technical details of the marketing speak that I have been spun.  


    Microsoft Partner

    Friday, September 14, 2012 2:56 PM
  • I totally get that.  And I think that is what we have been attempting to clarify.

    Some of us spend our jobs working through all the implementation details like this - just to tell other folks what the assumptions and limitations are.

    Use the SCVMM IP Pools and have SCVMM do the IP management to assign the IP to the VM and you will make it work.  That is the assumption that SCVMM has implemented in their model - they must be in charge.


    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.
    Disclaimer: Attempting change is of your own free will.

    Friday, September 14, 2012 3:11 PM
  • So I ran the following powershell commands to try and assign a specific IP address (using SCVMM) to a virtual machine:

    $ippool = Get-SCStaticIPAddressPool 10.0.1.0_IP_POOL

    Grant-SCIPAddress -GrantToObjectType VirtualNetworkAdapter -GrantToObjectID 3178a55f-c0ce-4301-9d66-a5b445d60ff6 -IPAddress 10.0.1.43 -StaticIPAddressPool -Description  $ippool

    This is successful with the following values returned:

    Name                  : 10.0.1.43
    Address               : 10.0.1.43
    AllocatingAddressPool : 10.0.1.0_IP_POOL
    AssignedToID          : 3178a55f-c0ce-4301-9d66-a5b445d60ff6
    AssignedToType        : VirtualNetworkAdapter
    Type                  : DedicatedIP
    State                 : Assigned
    Description           : COMTEST
    ServerConnection      : Microsoft.SystemCenter.VirtualMachineManager.Remoting.ServerConnection
    ID                    : cd071c50-1974-4bf2-9523-519937eecdbd
    IsViewOnly            : False
    ObjectType            : AllocatedIPAddress
    MarkedForDeletion     : False
    IsFullyCached         : True

    Problem is that the VM still doesn't use the IP address that has been assigned in SCVMM, even if I manually configure the IP address in the VM it still cannot communicate with VMS in other subnets.

    Any ideas?


    Microsoft Partner


    • Edited by rEMOTE_eVENT Tuesday, September 18, 2012 4:24 PM sp
    Tuesday, September 18, 2012 9:27 AM
  • By nature a VM cannot communicate with VMs on other subnets.  A subnet is an isolation boundary unless you have a rule in your router to route the traffic between subnets. 

    So, the VM should be able to talk to VMs on the same subnet / IP range.  With or without Netowrk Virtualization.

    I guess that I am getting confused with what your end goal is.  Part of me is thinking you are trying to use Network Virtualization and this manual IP.  I thought you just wanted to apply an IP to a VM (origionally) but I now think there is more to it.


    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.
    Disclaimer: Attempting change is of your own free will.

    Tuesday, September 18, 2012 3:36 PM
  • This sure is confusing and I appreciate your assistance... my goal here is to simply assign a VM a specific IP address using the network virtualization feature. Whether the IP is assigned dynamically or statically doesn't really matter.

    The logical network I created is enabled for network virtualisation ("Allow new VM networks created on this logical network to use network virtualization" in the Logical Network properties).

    In the VM Network I created I have defined 4 VM subnets using GRE in one routing domain... GRE is routing traffic between the subnets I created. I know this because if I create a VM in each subnet with a dynamically assigned IP address from the static IP pool I can see the IP addresses taken from the IP pool defined for those VMs. I can also ping between the VM Subnets, it is only when I try to assign a specific IP address to a VM that I cannot ping between VM subnets, as follows:

    VM-A:
    created with a dynamic IP address from IP_POOL_A (10.0.1.0/24)
    receives a DHCP address 10.0.1.5
    It can ping VMA-2 and VM-B successfully.

    VM-A2:
    created with a specified IP address from IP_POOL_A (10.0.1.0/24) using the powershell commands in my last post.
    I manually assigned an IP address 10.0.1.43
    It can ping VM-A but cannot ping VM-B
     
    VM-B:
    created with a dynamic IP address from IP_POOL_B (10.0.2.0/24)
    receives a DHCP address 10.0.2.5
    It can ping VM-A but not VM-A2

    Here is the scenario, I have a customer-A that uses IP address range 10.0.0.0 and customer-B that also uses the same IP range. Using network virtualisation I should be able to host both customers on the same fabric with isolation from each other. Also customer-A has a server that they want me to host for them, however they stipulate that they do not want to change the IP address and it must remain the same due to hard coding of the server IP address settings into client hardware devices. So I have configured network virtualisation and this is working great... the only thing I am unable to do is specify the IP addresss that this VM must use :(


    Microsoft Partner

    Tuesday, September 18, 2012 4:20 PM
  • Ah. I totally get it.  And I think I know what is happening / not happening.

    SCVMM must apply the IP to the VM, you cannot manually apply the IP.  So at some point you need to tell SCVMM to apply the IP to the VM?

    Why? Becuase only then will SCVMM setup the Network Virtualization LookupRoutes for this particular VM.

    And this is definately a model when SCVMM needs to be 100% in control, or else it will not do everything it needs to. And for all we know, there is some fail-safe where if it things it fails in applying the IP that it will not set up the WNV routes.

    If you go to one of your Hyper-V Servers and you open a PowerShell prompt and you type Get-NetVirtualizationCustomerRoute you will see your WNV networks.  if you Get-NetVirtualizationProviderAddress you will see the internal endpoint IP that the traffic is targeted to (on that host).  If you Get-NetVirtualizationLookupRoute you will see the routing rules between VMs.

    These are the core WNV commands.  SCVMM also has similar commands in its PowerShell cmdlets.  But gives you the SCVMM view.


    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.
    Disclaimer: Attempting change is of your own free will.

    Tuesday, September 18, 2012 4:50 PM
  • Thanks for these powershell commands... they are really useful! This has identified that even after running the grant-scipaddress to the VM that all of the lookuproutes for this VM are missing on the hyper-v hosts.

    So it seems that I am still missing some steps to ensure that SCVMM can assign this particular IP address to the VM within the network virtualization network I have created, but I don't know where to start... anyone?


    Microsoft Partner

    Wednesday, September 19, 2012 10:40 AM
  • Hello

    I'm also having the same problem running SP1 Beta. Setting the same settings does not give the VM addresses from the IP-Pool.
    My Hyper-V (3.0) cluster nodes (Server 2012 RTM) also are missing these routes running the given command above. 

    Did you ever figure out what was wrong with you'r setup? 

    Tuesday, December 4, 2012 3:33 PM
  • Hey,

    I didn't get any further with this. It would seem that the lookup routes need to be configured manually and that SC is not involved (I couldn't find any corresponding SC powershell cmdlets).
    I have read that SC2012 SP1 is now RTM. I haven't had chance to download and install yet to see if it is possible to assign a specific IP address now? Anyone else tried this yet? Still unable to migrate a customer VM to the cloud and maintain their original IP address which causes lots more work.


    Microsoft Partner

    Monday, January 7, 2013 3:16 PM
  • I removed all config we had on this and set it up anew.
    That solved the problem for me (SP1 Beta)

    We are deploying SP1 RTM at the moment, and we will see if the behaviour comes back.

    Monday, January 28, 2013 8:38 AM
  • Hi,

    Any news on SP1 RTM? I haven't had chance to test it yet? Can we now specify a specific IP address for a virtual machines (whether that is through DHCP or Static)?


    Microsoft Partner

    Tuesday, March 5, 2013 10:12 AM
  • Hello,

    We got SC 2012 R2 U1. There is no described problem with Windows based guest machines. When i set manualy in guest OS IP address VMM is seeing it and set it properly in pools/machines. But if my guest is redhat (ISE 3.5 installed) change ip to static are not seen by VMM. I can bypas it by command

    Set-VirtualNetworkAdapter -VirtualNetworkAdapter $vNICs[0] -EnableGuestIPNetworkVirtualizationUpdates $true

    After that vmm see guest static addres but also see that one vmm asigned before. I changed  also IPv4AddressType to Static for that nic using Set-VirtualNetworkAdapter. But when i was trying set there only one ip got error:

    Set-VirtualNetworkAdapter -VirtualNetworkAdapter $vNICs[0] -IPv4Addresses {"192.168.233.170"}

    Set-VirtualNetworkAdapter : A static IPv4 address or IPv4 address pool is specified for a virtual network adapter that
    was configured for a dynamic IPv4 address. (Error ID: 10737)

    Do not specify an IPv4 address or IPv4 address pool using Set-SCVirtualNetworkAdapterConfiguration, or configure the
    virtual network adapter for a static IPv4 address.
    At line:1 char:1
    + Set-VirtualNetworkAdapter -VirtualNetworkAdapter $vNICs[0] -IPv4Addresses {"192. ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : ReadError: (:) [Set-SCVirtualNetworkAdapter], CarmineException
        + FullyQualifiedErrorId : 10737,Microsoft.SystemCenter.VirtualMachineManager.Cmdlets.SetNICCmdlet

    Nic properties are set as:


    SlotId                                     : 0
    VirtualNetwork                             : LogSwit_Prod_Isol
    VMwarePortGroup                            :
    MACAddressType                             : Static
    EthernetAddressType                        : Static
    PhysicalAddressType                        : Static
    MACAddress                                 : 00:27:B4:BF:A7:B1
    EthernetAddress                            : 00:27:B4:BF:A7:B1
    PhysicalAddress                            : 00:27:B4:BF:A7:B1
    RequiredBandwidth                          : 0
    VirtualNetworkAdapterType                  : Synthetic
    VmwAdapterIndex                            :
    LogicalNetwork                             : VmmIsolation
    VMNetwork                                  : VMNet_isolation
    VMNetworkServiceSetting                    :
    VMSubnet                                   : VMNet_Isolation_192_168_233
    PortClassification                         :
    VirtualNetworkAdapterPortProfileSet        :
    LogicalSwitch                              :
    GuestIPNetworkVirtualizationUpdatesEnabled : True
    MACAddressSpoofingEnabled                  : False
    MACAddressesSpoofingEnabled                : False
    VMNetworkOptimizationEnabled               : False
    VLanEnabled                                : False
    VLanID                                     : 0
    UsesSriov                                  : False
    IsUsedForHostManagement                    : False
    VirtualNetworkAdapterComplianceStatus      : Compliant
    TemplateNicName                            :
    VirtualNetworkAdapterComplianceErrors      : {}
    PerfNetworkKBytesRead                      : 0
    PerfNetworkKBytesWrite                     : 0
    DeviceID                                   : Microsoft:55AE8C26-18FE-404F-A5D9-2F163971C9AA\59D2F92F-5A0E-4932-B3DE-A10
                                                 F8B6BEE3B
    IPv4AddressType                            : Static
    IPv6AddressType                            : Dynamic
    IPv4Addresses                              : {192.168.233.18, 192.168.233.170}
    IPv6Addresses                              : {}
    ObjectType                                 : VirtualNetworkAdapter
    Accessibility                              : Public
    Name                                       : REDHAT
    IsViewOnly                                 : False
    Description                                :
    AddedTime                                  : 4/29/2014 9:07:47 AM
    ModifiedTime                               : 4/30/2014 10:32:27 AM
    Enabled                                    : True
    MostRecentTask                             : Change properties of network adapter
    ServerConnection                           : Microsoft.SystemCenter.VirtualMachineManager.Remoting.ServerConnection
    ID                                         : 45ca2df9-7e7c-43db-af27-773b8ba4c442
    MarkedForDeletion                          : False
    IsFullyCached                              : True
    MostRecentTaskIfLocal                      : Change properties of network adapter

    Any help?


    Wednesday, April 30, 2014 9:01 AM
  • Sorry to reply to such an old thread, but I have the exact same scenario as the OP and my experience with VMM and NVGRE is different than what has been discussed here.

    We have been using Hyper-V replicas here inside NVGRE with static IPs assigned for years. Failover, (test or regular) worked perfectly. VMs retained their original static IP address! YES Brian, it actually worked! We used to do this disaster recovery testing a couple of times a year with 10-15 servers, everything worked like clockwork.

    Here is our scenario:

    1. Production VMs have static IPs.
    2. They get replicated to DR site.
    3. When we initiated a test failover, new VMs appeared on the DR site with a "-test" suffix.
    4. No VM network connected.
    5. We change their VM network to the NVGRE enabled VM network inside VMM
    6. VMM assigned IP from the IP Pool
    7. Upon booting the VM, VMM recognized that the VM already has a different static IP. Sometimes we had to hit refresh in VMM
    8. VMM updates its records
    9. NVGRE worked fine after that.

    So why am I posting today? Well, it suddenly stopped working today. VMM now is insisting on assigning IP addresses itself. Maybe there was a bug in VMM, which I was "enjoying". And now they "fixed" it?

    I am going to call Microsoft PSS tomorrow morning. This is very critical to us!


    -Rajeev rajdude.com

    Monday, August 17, 2020 3:29 AM
  • Hi Raj,

    VMM always insists assigning the CA IP address itself using DHCP Extension. CA IP should not be assigned manually as most of the times it does work. The CA IP is picked from the VM Network IP pool automatically and then assigned in the guest using DHCP switch extension. It is not recommended to change the CA IP manually. I wonder how it was working for you until now. Let me know what MS suggests about this nature. Thanks

    Regards
    Aayoosh Moitro


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. This posting is provided "AS IS" with no warranties, and confers no rights.

    Monday, August 17, 2020 6:45 AM
  • Hey Hey hey! :-) Aayoosh Moitro? :-)

    If you are the same Aayoosh Moitro (how many can they be?) I have worked with you on my MS PSS cases many times over the past few years. I have always got excellent support from you, so I am very happy to get your attention in this thread. By they way, I sent you an e-mail last night, but it got bounced back. Guessing you do not work there anymore.

    Anyway, back to this issue...

    Well, first of all, this "requirement" of VMM must assign IP adress" is pretty lame. Why? Well, we need to specify a VM's IP in the NVGRE gateway's rules so that it can send traffic from outside to inside. That IP address needs to remain stable and not change via DHCP. If it changes, the traffic cannot reach the VM. If VMM must assign that IP address, there should be a "IP address reservation for a VM" feature in the CA IP Pool (it is not there, at least not in VMM 2012 R2).

    Anyway, I was working late yesterday night on this and I did find a workaround which makes it work again...but unfortunately even that workaround stopped working today morning!

    For reference here is that workaround:

    On the DR site, open FCM (this would be the cluster where VMs failover to)

    1. Inside FCM > VM's settings > Network Adapter > Failover TCP/IP

    2. Enter IP address info

    3. That's it.

    I am stumped now, looks like my only option is to call PSS, but given how little time I have left before tonight's failover testing...and then again, most probably PSS will tell me the same thing...........that this is not how VMM virtual networking is supposed to work...........I am in a super tight spot :-(




    -Rajeev rajdude.com

    Monday, August 17, 2020 4:52 PM
  • Hi Rajeev,

    Yes, You got me :) We have worked many times in the past in your MS escalated cases. I am no longer working there hence you got the email bounce back, feel free to connect me via Lindkedin. Happy to hear from you.

    Back to the topic:

    So when a CA IP is assigned, it doesn't use DHCP (DORA)process. In the guest it still assigns a manual IP in the VM but yes, the CA IP may change as it was set as DYNAMIC in the VM's NIC setting. However, during a new VM provisioning, you can set the IP as manual and give a specific IP Range from the CA Pool, so that the CA IP will be reserved for that VM only and wont change there after. 

    So in your case, are you seeing IP being assigned manually or is it set to automatic in the Guest? For testing purposes, deploy 2 new VMs and choose 1vm's NIC as dynamic IP and for other VM set as Static and give the IP manually from the CA Pool. Try it and update please. 

    Regard
    Aayoosh Moitro


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. This posting is provided "AS IS" with no warranties, and confers no rights.

    Monday, August 17, 2020 7:54 PM
  • Aayoosh ,

    These VMs are actually replicas on our DR site (Hyper-V replicas of VMs running at our production site). All production VMs have static IPs (manually assigned) not through VMM.

    What I am trying to do now is to have FCM set static IPs to VMs, when I initiate test failover. Seems like VMM is honoring that, meaning it is neither changing those IPs nor setting the NICs to DHCP.

    This may actually work...will post back here if it actually works.


    -Rajeev rajdude.com

    Monday, August 17, 2020 8:18 PM
  • Aye! Aye! Aye! :-(

    Crap :-(  For my test server, FCM was setting static IP perfectly.

    When I tried the same thing on 2 production servers, FCM did not do anything. VMM removed the original NIC from the VM, added a new NIC, set it to DHCP and assigned an IP from its IP pool!

    This does not make any sense #$%@  Why will it work one way for one VM, and another way for other VM?

    I wonder if I explicitly set the MAC address in FCM and not have it set to dynamic?


    -Rajeev rajdude.com

    Monday, August 17, 2020 8:43 PM
  • more problems....

    Seems to me that FCM and VMM are fighting with each other here.

    I rebooted the VMs and the IPs specified in FCM got assigned to the vNIC. Interesting the vNIC #2 which was added by VMM is now showing as "missing". Also the original NIC has the gateway missing.

    WHAT is happening here?


    -Rajeev rajdude.com

    Monday, August 17, 2020 9:16 PM
  • Hi,

    The behavior you explained above, is highly unpredictable. I have not seen VMM removing or adding NICs by itself. Could you go to job details and see if you see a job which changed the NIC settings? or If you see a refresh job which detected these changes?

    Regards
    Aayoosh Moitro 


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. This posting is provided "AS IS" with no warranties, and confers no rights.

    Tuesday, August 18, 2020 9:40 AM
  • Well, I did a little more investigation into the background of what is happening.

    Two things are happening after I initiate a "test failover" of a replicated VM:

    VMM is manipulating vNIC

    VMM changes the VM's vNIC MAC address and sets its IP configuration to DHCP, assigns an IP address from its IP Pool. I do see that happening in VMM's job log. Note that the VM has NOT booted up yet.

    Fair enough, VMM is doing its job as designed.

    FCM is setting IP address after VM bootup

    After a VM boots up, FCM tries to set its IP address to whatever I have set in the VM's failover network configuration.

    I see this happening almost right in front of my eyes, like if I  run ipconfig a few times. Also, sometimes FCM succeeds, other times it does not. And interestingly, sometimes FCM partially succeeds! E.g.  it changes the IP but the gateway is set to 0.0.0.0

    BTW, if I refresh the VM in VMM (AFTER FCM has done its job) VMM detects the changed IP address and updates its own records. The VM then becomes accessible (I mean the website on that VM) via the NCGRE gateway  << this last part is not 100% reliable. It works for some failed over VMs but not for others :-(

    So our annual failover testing exercise was only halfway successful. It was a bit embarrassing to me :-( I had lots of people watching, managerial types also. This is my baby.


    -Rajeev rajdude.com

    Wednesday, August 19, 2020 7:08 PM
  • Hi Raj,

    Yes, I can say that VMM is doing its job. The problem arises when FCM is playing its part. Make sure the replica VM and primary VM must not be connected to the single virtual network at the same time. Otherwise, CA-PA records might get deleted in VMM, and cause network connectivity loss.

    I recommend you to read the below doc page. It might help you.

    https://docs.microsoft.com/en-us/system-center/vmm/manage-vm-failover-virtual-networks?view=sc-vmm-2019

    Regards
    Aayoosh Moitro


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. This posting is provided "AS IS" with no warranties, and confers no rights.

    Thursday, August 20, 2020 8:38 AM
  • Hi Aayoosh,

    No, in my setup, the replica VM and the primary VM are not connected to the same virtual network.

    Thank you for referring me to this doc. It sure is very informative. I can use parts of it in our company's DR strategy. However, IMHO, there is a major flaw in the assumptions of this document.

    I have concerns about these 2 assumptions:

    • A single VMM server manages both primary and secondary sites.
    • Primary and replica VMs are hosted on a single Hyper-V virtual network.

    Well, a single VMM cannot be there in both our primary and DR sites. The reason being that in case of a real disaster, the primary site will be totally "lost" or "destroyed". Hence we have two VMMs managing two separate but replication enabled Hyper-V clusters. One for primary, one for DR.

    The second assumption: I do not know how that can be implemented in my environment, but I do understand that if they have only one VMM, then that HNV can be in both sites and VMs can be hosted in that.

    It does not, however, talk about the NVGRE gateway, which lets traffic into the HNV. I am assuming that is described elsewhere. But then again, this is describing Server 2019 based SDN, I am still in the "dark ages" running Server 2012 R2 here, LoL!

    Having spent quite a lot of time troubleshooting this...I think now it may be time to abandon this Server 2012 based DR site and build a new one using Server 2019. More features and maturity in that product's SDN.


    -Rajeev rajdude.com

    Thursday, August 20, 2020 7:17 PM
  • Hi Raj,

    Yes, upgrading to VMM 2019 and leveraging SDNv2 is best option for you. Regarding the 2 assumption you pointed, I would like to give my views on it as follows:

    A single VMM server manages both primary and secondary sites.
    [Aayoosh]: VMM can be in HA mode where the VMM cluster is configured with 2 different subnets for each site. So that each primary node can manage the Primary site and upon DR, secondary NODE will be active and can manage the DR site. This is doable but it totally depends how you want to configure your infrastructure. Same logic goes for the SQL cluster where VMM DB is hosted.

    Primary and replica VMs are hosted on a single Hyper-V virtual network.
    [Aayoosh]: Now since your VMM is in HA mode and its cluster is running in 2 different subnets, it is possible to have a single Hyper-V Virtual Network on both Primary and secondary SITE.

    My suggestion: Go with ASR with your setup, it will enhance your DR experience where you can manage the Hyper-V replica with VMM and other benefits.

    I hope it will help you design your DR strategy. It was a great experience to connect with you again after so long. Thanks.

    Regards
    Aayoosh Moitro


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. This posting is provided "AS IS" with no warranties, and confers no rights.

    Friday, August 21, 2020 8:00 AM