Fabric Management–Using F5 Load Balancers with System Center Virtual Machine Manager 2012

Fabric Management–Using F5 Load Balancers with System Center Virtual Machine Manager 2012

  • Comments 1
  • Likes

With private cloud, one of the major differentiators is automation of service management. While you can do similar things in a traditional datacenter, the private cloud is, by design and intent, an automated and fully rationalized datacenter deployment. That is why I often say that private cloud is your “do-over” or “mulligan” (for you golf fans out there). The private cloud gives you and your datacenter a second chance to provide the level of service you always wanted to with your current datacenter, but never had the time, resources, or capabilities to do so.image

This brings us to the top of fabric management. We’ve hit upon fabric management in other articles here on the private cloud architecture blog. Check out Yung Chou’s review of fabric management in his article System Center Virtual Machine Manager (VMM) 2012 as Private Cloud Enabler (2/5): Fabric, Oh, Fabric. The fabric consists of the compute, storage and networking resources that support the cloud based infrastructure that runs the services you provide.

In this article, we are pleased to welcome Glenn Walton from Microsoft Consulting Service to the Private Cloud Architecture blog. In this article Glenn shares with us some important insights into how to configure a key piece of the network component of the cloud fabric – an F5 network load balancer. If you’ve been wondering how you can configure and automate the deployment of a network load balancer with your networking fabric, then you’ve come to the right place! Glenn did a great job with this article and I’m sure you will enjoy it.

For more articles by Glenn Walton, check out his Infrastructure Architecture Update blog.

Thanks! –Tom Shinder, the Private Cloud Guy.

Fabric Management–Using F5 Load Balancers with System Center Virtual Machine Manager 2012

By Glenn Walton

imageRecently I’ve had the experience of working with an F5 Networks Big IP 6800 load balancer, and been able to connect this with System Center Virtual Machine Manager (SCVMM) 2012. The overall scenario here is automating datacenter and application management for a global enterprise. In this article I’ll share some of the steps needed to setup your load balancer for use with SCVMM 2012.

The steps I’m describing here were done with the SCVMM 2012 Release Candidate. SCVMM is bringing about one of the big changes in automated datacenter management which is this notion of managing the compute/network/storage fabric within the datacenter. With SCVMM you can fully automate Hyper-V host deployments, storage and network setup and other elements. Along with this, keeping with the Microsoft mantra that Its “All About the Application!”, we can define service templates which can fully automate service deployment and application management. There are so many great innovations in the System Center 2012 wave that I can’t stop thinking about the possibilities!

Load Balancer Setup

The first part of load balancer setup was fairly easy, I downloaded the F5 provider (see References below), and installed it. Setting up the load balancer in VMM is straightforward, it includes the IP address of the device, a RunAs account (provide the credentials to connect and manage the device), selecting the Host Groups and Logical Networks that can access the device, etc.


At the final page of the setup you can test the load balancer connection from SCVMM.


Logical Networks and IP Address Pools

The other key to configuring your SCVMM environment is to set up IP address pools on one or more logical networks. In order to use a load balancer in a service template the VMs must have static IP addressing. But rather than hard-coding addresses, it means the VMs will pull their addresses from a pool of addresses maintained on SCVMM. Think of this as a mini-DHCP environment only for VMs.

Your IP Address Pool consists of:

  • A network site with CIDR notation, I used This notation will be familiar to those of you who have set up Active Directory subnet boundaries. Along with the network site you associate this site to one or more VMM Host Groups.
  • IP Address ranges and VIPs – VIPs are Virtual IP addresses which will be assigned to a service when you use the load balancer in a service template. More on that directly below.
  • Gateway, DNS, and WINS info, just like setting up a DHCP scope.

image image

Virtual IP Address (VIP) Templates

Then you’ll need a VIP Template. This consists of:

  • Template Type – usually will be specific to a particular load balancer configuration
  • Protocol – including HTTPS Pass-through or Terminate. These will be important if the application being deployed uses SSL.
  • Persistence – if the application uses session state the load balancer will be able to keep a particular client connected to a particular server (VM) in the farm.
  • Load balancing method
  • Health monitors – this is the method by which the load balancer can detect the state of a member of the server farm and determine if its healthy. These monitors can be simple or more complex depending on what constitutes healthy for the environment and application.


image image

image image

The Service Template

The template I used was simple, just a 1-tier app layer with multiple web servers. In this case we had already deployed the SQL Server database for the application so it was not defined as part of the service. SCVMM and SQL Server 2008 R2 can be combined to create fully automated database deployments, but we haven’t implemented that yet.

In the Service template designer we have what you see in the figure below. The non-intuitive part is you have to draw the connections from the load balancer Server connection to the NIC, and from the Client connection to the logical network. Note the IP address is configured as Static, keep this in mind because it is important.


When you’re ready to Configure Deployment, SCVMM will map your service template onto the fabric and allow you to deploy the entire service in a fully automated fashion. This entire process can be PowerShell-scripted of course, and in this case the requirement was to monitor for a Change Request in Service Manager, and then execute a PowerShell script from within an Opalis workflow.

(In the figure below the Red “X’s” indicate some issue with VM placement, in actual practice these can be easily fixed).


The Proof of the Pudding is in the Eating

After deploying the service template I was able to go into the load balancer UI (using the F5 web admin tool) and see the configuration items that SCVMM created. Undoubtedly, one can customize the PowerShell statements to enforce some different naming conventions, or other changes.


One other note, F5 Networks also has a PowerShell provider so you can manage your load balancer directly from PowerShell. SCVMM presents a higher-level view of the network fabric. But if you need this lower level of control you can find the provider and sample code at http://devcentral.f5.com.


Some resources you can peruse to learn more about fabric management:

I love being a hands-on architect!

Glenn Walton | Senior Infrastructure Architect, Microsoft Services

Tom Shinder
Principal Knowledge Engineer, SCD iX Solutions Group
Follow me on Twitter: http://twitter.com/tshinder

Go Social with Private Cloud Architecture!
Private Cloud Architecture blog
Private Cloud Architecture Facebook page
Private Cloud Architecture Twitter account
Private Cloud Architecture LinkedIn Group
Private Cloud TechNet forums
TechNet Private Cloud Solution Hub
Private Cloud on the TechNet Wiki

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment