You are here:   Home
Jul
24
2010

Resetting IP stack in Vista / Windows 2008

Recently, I had some strange problem with a network interface inside Windows 2008. I managed to solve my problem only by reset the whole network IP stack in Windows 2008 (Those steps work in Windows Vista and Windows 7 as well). Here are steps:

  • Go to the Start Menu, type cmd and right click or (Ctrl + Shift and hit Enter), and select "Run As Administrator"
  • Type the following commands, each followed by pressing enter.
  • ipconfig /flushdns
  • nbtstat -R
  • nbtstat -RR
  • netsh int reset all
  • netsh int ip reset
  • netsh winsock reset


Alternatively, another helpful command that i mentioned in one of my old posts:

  • netsh interface tcp set global autotuninglevel=disabled

 

 
Jul
21
2010

New OWA themes available in Exchange 2010 SP1

In my earlier post about the Outlook Web App improvements in SP1 you’d have seen than in Exchange 2010 SP1, themes are making a welcome return. If you don’t have the resources and time to install the SP1 beta yourself, or just want a quick look at all the new themes that will be included in [...]
read full article at source
 
Jul
21
2010

Exchange 2010 SP1 posts from around the web in June..

With the release to the public of Exchange 2010 SP1 Beta, it's nice to see the everyone getting their hands dirty with it at long last. Here's a quick post with a few links I've seen and liked over the last few days. Installing Exchange 2010 SP1 Beta (Mike Crowley's Whiteboard) RBAC Database Scopes in Exchange Server [...]
read full article at source
 
Jul
21
2010

FAQ Week for NLB: Tuesday

Every day this week the Clustering & High-Availability is writing about some of the top questions we get about Network Load Balancing (NLB) in Windows Server 2008 R2.  We hope you find these helpful!

 

·         Monday: http://blogs.msdn.com/b/clustering/archive/2010/07/20/10040072.aspx

 

Gary Jackman

Software Test Engineer

Network

 

 

What is the maximum number of hosts that can be included in one NLB cluster?

32 is the maximum number of supported nodes.  However, studies have shown that the Ideal number of nodes is 8.  This is because the network traffic is broadcasted to every node, yet only one NLB node accepts the connection, so scaling beyond 8 nodes can cause a slight performance hit.

 

If you need a larger cluster you can you can create multiple NLB clusters, and use round robin DNS to load balance between each cluster.

 

 

Can NLB function with a single NIC per server?

Yes.  Unlike previous versions, Network Load Balancing in Windows Server 2008 R2 can be configured on servers with a single network adaptor. 



Can I run mixed NLB clusters containing Server 2003, 2008 & 2008 R2 hosts?

Yes, but only temporarily.  NLB supports rolling upgrades only from Windows Server 2003 to Windows Server 2008 R2 and from Windows Server 2008 to Windows Server 2008 R2, during which time it is supported to have a mixed mode cluster.  However you should only be in the mixed mode for the duration of the upgrade, and move all nodes to the same level as soon as possible for the best stability.

 

As there are new features in each version, the overall functionality of the NLB cluster is only as good as the earliest version.  For example, if you have a 4 node Server 2003 cluster and you upgrade 3 nodes to Windows Server 2008 R2, you will still be at the Server 2003 functional level.  This means you will not be able to load balance IPv6, use PowerShell or take advantage of the Extended Affinity timeout functionality until all nodes have been upgraded to Windows Server 2008 R2.

 

FAQ Week for NLB: Tuesday
read full article at source
 
Jul
21
2010

FAQ Week for NLB: Monday

Every day this week the Clustering & High-Availability is writing about some of the top questions we get about Network Load Balancing (NLB) in Windows Server 2008 R2.  We hope you find these helpful!

 

Gary Jackman

Software Test Engineer

Network Load Balacing
Microsoft
 

 

 

Does NLB require special network adapters?

 

No, Network Load Balancing can work with any 802.3 network adapter that allows its MAC address to be changed (dynamically updated).  This does include the vast majority of network adapters available today, so almost any 802.3 adapter will work with NLB.  Due to this broad support, it does not even need its own Hardware Compatibility List (HCL)!

 

One thing to note is that in a virtual environment (such as Hyper-V) there are specific settings on the host server which control the ability to change the MAC address on the VM Guests.  The process to do this is described here: http://blogs.msdn.com/b/clustering/archive/2010/07/01/10033544.aspx.

 

 

 

What is the difference between the "Dedicated IP Address", "Primary Cluster IP" and "Virtual IP Address"?

 

The Dedicated IP address (DIP) is the IP address assigned to the NLB network adapter for network traffic not associated with the cluster.  This IP is also used for direct communication with a specific node from other NLB nodes.

 

The Primary Cluster IP is the first virtual IP address (VIP).  It is the IP address that the NLB cluster’s MAC address is generated from, and is the IP address that is used for the cluster membership heartbeat.

 

You can have more than one VIP addresses associated with a NLB cluster.  Any other IP address that is not designated as a DIP can be used for communication with the other NLB nodes.

FAQ Week for NLB: Monday
read full article at source
 
Jul
21
2010

Working with Private Properties using Cluster WMI

Hi Cluster Fans,

In the forums we have noticed several people have question about how to manipulate a Cluster Object’s private properties using WMI.  To work with private properties it’s important to understand how private properties work.  Private properties of any cluster object are dynamic in nature, so these properties cannot be predefined in WMI .mof files with the class definition and these properties could differ between instances of the same class.  So the Cluster WMI provider defines a property of name “PrivateProperties”.  The value of this property is an embedded object which is created at runtime dynamically, after looking into the cluster object and reading its private properties.  This embedded object is a WMI Class with just the properties and its values.

 

To get or set values from private properties, first we get the value of the property “PrivateProperty” of the object.  The value is a VT_UNKNOWN, so next it need to be converted in IWbemClassObject object (C++\COM) or ManagementBaseObject (C#).  Finally using this object you need to call Get\Put with the desired property name.

 

If you are making changes to the private property, you need to do save the PrivateProperties object and the parent object.

 

Here is a sample code in C#:

 

    public virtual object GetProperty(string propertyName, bool isPrivateProperty)

    {

      if (null == propertyName)

        throw new System.ArgumentNullException("propertyName", "GetProperty(): propertyName input parameter value is null.");

      System.Object propertyVal = null;

      ManagementObject mgmtObj = null;

      ManagementBaseObject privPropsMgmtObj = null;

      try

      {

        // Get the WMI Object

        mgmtObj = WmiHelperMethods.GetManagementObject(this.WmiConnectionScope, this.WmiPath);

        if (false == isPrivateProperty)

          propertyVal = mgmtObj.Properties[propertyName].Value;

        else

        {

          privPropsMgmtObj = (ManagementBaseObject)mgmtObj.Properties["PrivateProperties"].Value;

          propertyVal = privPropsMgmtObj[propertyName];         

        }

      }

      return propertyVal;

    }

 

    public virtual void SetProperty(string propertyName, object propertyValue, bool isPrivateProperty)

    {

      if (null == propertyName)

        throw new System.ArgumentNullException("propertyName", "SetProperty(): propertyName input parameter value is null.");

      ManagementObject mgmtObj = null;

      ManagementBaseObject privPropsMgmtObj = null;

      try

      {

        mgmtObj = WmiHelperMethods.GetManagementObject(this.WmiConnectionScope, this.WmiPath);

        if (false == isPrivateProperty)

        {

          mgmtObj.Properties[propertyName].Value = propertyValue;

          mgmtObj.Put();

        }

        else

        {

          privPropsMgmtObj = (ManagementBaseObject)mgmtObj.Properties["PrivateProperties"].Value;

          privPropsMgmtObj.Properties[propertyName].Value = propertyValue;

          mgmtObj.Properties["PrivateProperties"].Value = privPropsMgmtObj;

          mgmtObj.Put();

        }

      }

    }

 

 

Here is a sample code in C++ using COM:

 

   CComPtr<IWbemClassObject> piClusterObject;

 

// piWbemService is an instance of IWbemServices

    hr = piWbemService->GetObjectW (CComBSTR (L"<Cluster Object Path>"),

       0, NULL, &piClusterObject, NULL);

 

    // Validation code here….

 

    CComVariant varValue;

    CIMTYPE cimType(CIM_ILLEGAL);

    hr = piClusterObject->Get (CComBSTR (L"PrivateProperties"),

       0, &varValue,&cimType,0);

 

    if (SUCCEEDED(hr) && cimType != CIM_ILLEGAL)

    {

IWbemClassObject *privateProperty = (IWbemClassObject *) varValue.ppunkVal;

 

// now if you call Get\Put on privateProperty you should be able to get the private property

// eg.

CComVariant propValue;

privateProperty->Get (CComBSTR (L"<a property name>"),0,&propValue,NULL);

 

// Similarly to update a private property you can call Put

hr = privateProperty->Put (CComBSTR (L"<Property Name>"),0,& propValue,NULL);

 

// once you have updated the private property you need to update the parent object with the updated private property

CComVariant updatedValue(privateProperty);

       hr = piClusterObject->Put (CComBSTR (L"PrivateProperties"),0,& updatedValue,NULL);

 

       // Update the WMI Provider\Server with the changes

       // The below call would trigger changes on the cluster or update the cluster with updated values.

       // if there is any error during the upgrade you would get it now.

       hr = piWbemService->PutInstance( piClusterObject,

                   WBEM_FLAG_UPDATE_ONLY,

                   NULL,

                   NULL );

}

 

Changing the parameters (private properties) of IP address resource is not trivial, especially in cases where you would like to change the IP address (static) or change the network or subnet mask.

All these three parameters are linked to each other and every time you have to change one you need to modify all 3 at the same time. If you do not do , the update would not happen and you may see errors.

 

Thanks,

Vikas Kumar
Software Development Engineer in Test II

Clustering & High-Availability

Microsoft

Working with Private Properties using Cluster WMI
read full article at source
 
StartPrev21222324252627282930NextEnd

Hi, my name is Misha Hanin. I have served as an IT Network Administrator and IT Consultant for over 15 years. I have a number of certifications including CNE, Citrix CCA, VMWare VCP, MCP+I, MCSE, MCTS, MCITP Enterprise Messaging Administrator & MCITP Enterprise Administrator .

Microsoft presented me with the 2008 Microsoft® MVP Award (MVP) in Windows Server - Admin Frameworks! More...




Subscribe to CuruIT
Get tips, news and tutorials via RSS, Email or Twitter

Enter your email address:


Subscribe to my news feed for free Follow me on Twitter! Become a CuruIT fan on Facebook :) Become a CuruIT fan on YouTube :)