In this post I will try to explain what a service profile template is within Cisco UCS. However to start with the basics let’s start with a service profile. I assume you are aware of the Cisco UCS Emulator. if not you can download it from here using your CCO account: http://developer.cisco.com/web/unifiedcomputing/home
So what is a service profile within Cisco UCS?
A service profile defines a single server and its storage and networking characteristics and are stored in the Cisco UCS Fabric Interconnects. Each server connected to the Fabric Interconnects are specified with a service profile. The advantage of service profiles are mainly automation of your physical hardware configuration like BIOS settings, firmware levels, network interface cards (NICs), host bus adapters (HBAs) etcetera.
So a service profile is a logical representation of a server; they include:
- Identity – UUID, MAC addresses for each Virtual NIC (vNIC), WWN for each virtual HBA (vHBA), etc.
- Configuration – server requirements, boot order, firmware, etc.
- Connectivity – VLAN, VSAN, QoS, etc.
When you create a service profile, you can tell the profile to pull the MAC addresses from a pool as well as the UUID, WWN, etc. You can define where you want the profile to boot from (i.e. on the SAN or local disk) and you can define which firmware to load depending on the NIC, disk, etc. You can also set the VLAN and VSAN information to setup connectivity to the LAN and SAN networks. Each server has a service profile, one and only one profile, associated with it.
So what is a service profile template then?
A service profile template consists out of the same settings as a regular service profile however if you are somewhat familiar with virtualization you understand the template part. The template cannot be associated to any server yet it can be associated to a server pool. There are 2 template types; Initial and Updating. The difference between those two template types is that the initial template create standalone service profiles where as the updating template has a relationship with it’s service profiles. So when making changes to the updating template it will be propagated to all it’s service profiles. This will not be the case with initial templates.
Or explained from the Cisco Website:
The real power of the service profile becomes evident in templates. A service profile template parameterizes the UIDs that differentiate one instance of an otherwise identical server from another. Templates can be categorized into two types: initial and updating.
- Initial Template: The initial template is used to create a new server from a service profile with UIDs, but after the server is deployed, there is no linkage between the server and the template, so changes to the template will not propagate to the server, and all changes to items defined by the template must be made individually to each server deployed with the initial template.
- Updating Template: An updating template maintains a link between the template and the deployed servers, and changes to the template (most likely to be firmware revisions) cascade to the servers deployed with that template on a schedule determined by the administrator.
Personally I like the updating templates. The updating templates has the advantage that you can mass change the configuration settings or firmware levels for example which is then propagated to each service profile associated with the service profile template. However keep in mind that you do create an maintenance policy first and added to your service profile template. In case your system required a reboot it will be instantly being rebooted because of the defaults are set on immediate.
Personally I prefer to create a maintenance policy with a User Ack configuration. In case of a change it will ask manual intervention to reboot the system as shown in the message below.
Further more, the advantage of templates is that you can create multiple service profiles with the except same settings as the template. This includes also the vNIC configuration as well as the vHBA etc. A nice step-by-step guide can be found here: http://www.petri.co.il/cisco-ucs-creating-service-profile-templates.htm
However to summarize the steps required to create a service profile I found this nice high level flow image on the Cisco Website which basically tells you what steps are required to create a service profile template.
So creating templates isn’t hard to do. However I do suggest to practice it within the simulator. Secondly I do recommend to use templates as much as possible which will makes it much easier to maintain your configuration and firmware levels. Also when adding or replacing blades you can easily deploy the new servers by just creating some new service profiles based on the template.