Today I’ll provide an overview of Consistent Device Naming (CDN) and explain why it is a valuable feature in automating the deployment and configuration of the Microsoft private cloud.
Consistent Device Naming: Before
Every Windows administrator has cursed Microsoft whenever they’ve had to figure out the networking behind Local Area Connection, Local Area Connection 1, Local Area Connection 2, and so on (or Ethernet 1, etc on Windows Server 2012). Without CDN there is absolutely no correlation between the name of the network interface in Windows and the device name on the pack of the server. That wasn’t such a big deal when we dealt with traditional physical servers with just a single NIC or a NIC team; after all, we didn’t care what the NICs were called because they were on the same VLAN and had the same role.
Things changed when we started working with Hyper-V. Hosts with iSCSI storage could have 6, 10, or even a dozen 1 GbE NICs called Local Area Connection <insert number here>. What should have been a simple operation to connect the server to the network changed:
- Option 1: With the assistance of a colleague that was pulled away from another important task, the operator or administrator pulled/inserted cables one at a time so that they could identify them on the server and rename the randomly numbered Local Area Connections.
- Option 2: The operator or administrator got some exercise by running to the back of the rack to pull/insert a network cable, return to the KVM console to rename the Local Area Connection, and repeat until all the NICs were identified.
System Center Virtual Machine Manager (VMM) has a nice feature in which you can deploy a host network configuration to enable the Logical Switch and Hyper-V/Windows Network Virtualization management. You need some way to identify the physical devices and the labels will not suffice (not even any renamed Local Area Connections). Without CDN, you have no choice but to connect to the server, record the MAC addresses to identify the NICs, and configure each host one at a time. So much for time saving automation!
Consistent Device Naming: After
When combined with modern machines such as Dell 12th generation servers or HP Proliant Gen 8 servers, Windows Server 2012 (WS2012) and later will label the NICs according to their physical names on the machine. The below image shows an example of a new Hyper-V host running WS2012 R2. Note that the NIC labels have not been renamed – these are the names that WS2012 R2 assigned to the devices. Here you can see:
- The two on-board 1 GbE interfaces called NIC1 and NIC2
- A Chelsio quad port card in slot 2 with interfaces labelled 1 to 4
CDN allows you predictability in the naming of your devices, assuming that you standardize the purchasing and configuration of your servers. If you standardize the process of connecting your servers to the top-of-rack switches then you can know in advance what the role of each NIC should be. This allows you to script the creation of NIC teams and/or converged networks using PowerShell. You may also create a template of your Logical Switch and deploy it with predictable results in VMM.
In other words, this unheralded feature extracts a huge thorn from the sides of Windows administrators and makes the promise of automated host deployment a realistic possibility. By the way, CDN just works – there is nothing to configure. All you need to know is how the server is built which is something that you can standardize in a data center.