Mar 232012

Within Cisco UCS there are multiple pools which can be configured. Those pools will help you to create simplicity in your configuration as well as stateless computing. Those two are IMHO the biggest advantages of using such pools. But this is not all. You can also automatically deploy certain service profiles which are associated with a server pool. So let’s take a closer look which pools are available and there usage for it.

MAC pools

Within a MAC pool you can create your own list of MAC addresses. Each system will get, depending on your vNIC template configuration, a MAC address from a MAC pool. You can configure one global for the complete environment or multiple MAC pools. Although the choice is yours I would suggest to create at least one MAC pool on each Fabric Interconnect. One of the advantages of this is that when there are certain issues in the environment you can easily locate via which Fabric Interconnect the traffic comes from.

When creating a a MAC pool, use a convenient naming convention which fits with you. For example “Fabric-A”


When creating a MAC pool make sure you have enough addresses. Personally I like to think in blocks of 16 addresses. Also I suggest to use the default prefix if possible. The 00:25:B5 is reserved for Cisco UCS and it will usually give you plenty of MAC addresses for now and in the future. However if you really need to, you can change the prefix. So, when creating 2 MAC pools it would look like this.


In this case I created a MAC pool for Fabric A and a MAC pool for Fabric B. Also notice that I changed the 4th octet for the Fabric-B MAC pool. You can choose any you like, so just see this as an example. Both MAC pools have 256 MAC addresses available. If you are able to calculate in HEX you probably noticed it already.

WWNN Pools

Each system connected to the Fabric Interconnects (either Cisco B series or C series) can also make use of virtual HBAs or vBHA. A vHBA is used for Fibre Channel traffic. When using Fibre Channel each system will receive a WWNN or a World Wide Node Name. This is necessary to determine which ports belong to a common multiport device in the Fibre Channel network, however its not used for communication or zoning. An example of multiport devices are servers with several Fibre Channel host bus adapter cards. WWNNs could also be used to realize services such as striping over several redundant physical paths within the Fibre Channel protocol. Since a WWNN is necessary for each system you should create a block (or multiple blocks within a pool) big enough for each system.

An example of such WWNN pool:


WWPN Pools

Each vHBA needs also a WWPN or a World Wide Port Name as seen as below.


Each vHBA uses one WWPN which is being used for communications to the storage array. A WWPN should be unique on a Fibre channel network. Using this WWPN you can create zoning on a storage switch, like a Cisco MDS, and be able to configure LUN masking on a storage device. A nice article about zoning (either soft and hard zoning) can be found here.

UUID Pools

Let’s start what a UUID is. A UUID stands for Universally Unique IDentifier and it’s defined in the RFC 4122. A UUID are applied for identification purposes. For example, Linux Grub can use the UUID to identify the root partition of the operating system. UUID is truly a unique identification method.

So since Cisco UCS is in principle meant as stateless model it’s important that this is configurable within Cisco UCS. Therefore you are able to create a UUID pool.  Each Service profile extracts its UUID information from a UUID Pool. When creating the pool you get the option to set your own prefix or used a Derived prefix. A derived prefix will generate a prefix for the UUID pool uniquely for the UCS domain. However if you have a certain need for it you can choose other.


Server Pools

A server pool is as the names suggest, a pool of servers or a set of servers. These servers typically share the same characteristics. Those characteristics can be their location in the chassis, or an attribute such as server type, amount of memory,local storage, type of CPU, or local drive configuration.

One of those advantages is that you can assign a service profile template on a Server Pool. When deploying service profiles, servers in this pool will automatically receive a service profile.
For example you would like to create a pool of webservers and a pool database servers. The pool of database servers might have have more memory and / or more CPUs. If you assign the templates to server pool and you add the servers to the pool, the servers will automatically get the correct service profiles. This also make it easy when extending the environment when needed. For example you can pre-provision the service profiles while someone else place the blades in the datacenter.

An example of such a server pool:


There are 2 methods to populate the server pools, either manual populated or auto-populated.

  • Manual is where you select the blades and add them to a certain pool.
  • Auto-populated is where the server pool is populated due to Server Pool Qualifications and Server Pool Policies. Within the Server Pool Qualifications you define the certain hardware characteristics and the Server Pool Policy defines which Qualifications applies to which Server Pool.

However, keep in mind that a blade can be in multiple pools at the same time. Whichever profile "claims" a particular blade is its current "owner," regardless of the number of pools it is in.

I hope this will give you a basic understanding about the different pools and there usages within Cisco UCS. There is much more in UCS then this but I hoped you enjoyed this topic.