The present invention relates to systems and methods for managing electronic equipment, and more particularly, embodiments concern a system with standardized electronic addresses for virtual network interface cards, with each such address including one or more purpose-specific identifiers to better facilitate identification and management of the virtual network interface card.
The Cisco Unified Computing System™ (Cisco UCS®) is a data center server computer product line which includes computing hardware, virtualization support, switching fabric, and management software. A UCS may include blade servers, which are server computers having a modular design and a reduced number of components to minimize physical space requirements and power consumption while still having all of the functional components to be considered computers. An active blade server has a service profile identifier which identifies the logical configuration applied to the physical equipment, and an equipment identifier which identifies the physical equipment itself.
Ideally, the equipment identifier matches or at least includes the service profile identifier, so that when a particular blade server is called out by its service profile identifier, a technician can quickly and easily identify the correct physical equipment by its corresponding equipment identifier. Normally, assigning equipment identifiers to blade servers in a UCS requires separately logging-in to each blade server and manually performing the labelling process, which can be time-consuming if there are a large number of blade servers or the service profile identifiers change frequently. Without proper equipment identifiers, there is an increased risk of identifying the wrong physical equipment. Further, errors can occur when manually configuring these identifiers, or non-standard identifiers may be applied, which can also increase the risk of identifying the wrong physical equipment.
The servers in a UCS may be virtualized, which may involve partitioning a single physical server into multiple virtual machines (VMs), with each VM running its own operating system and application. One advantage of VMs is that they can be moved or copied from one physical server to another to balance loads or to expand processing capability. Within virtualized servers, VMs connect to fabrics via virtual network interface cards (vNICs).
A media access control (MAC) address is a unique forty-eight (48) bit serial number for Ethernet and Wi-Fi devices. MAC addresses work with vNICs to allow servers and other electronic systems to connect to networks. MAC addresses are divided into six octets, with the first three octets forming a twenty-four (24) bit organizational unique identifier (OUI) which identifies the organization that issued the identifier, and the final three octets forming a twenty-four (24) bit number which identifies a specific vNIC. The fifth and sixth octets are typically randomly assigned. However, it is known to use part of the fourth octet to more specifically identify the equipment. For example, the values A and B have been used to represent switch sides, and the values 0 and 1 have been used to represent city locations (e.g., 0 for St. Louis, 1 for Kansas City). To replace or interchange a blade server in a UCS, the MAC address for each vNIC must be determined, and it may also be desirable to determine the type of server connection to which the vNIC is connected and to which side of the redundant fabric interconnects (or switches) the vNIC is assigned. Making such determinations, especially for a number of vNICs, can be time-consuming and introduce errors.
This background discussion is intended to provide information related to the present invention which is not necessarily prior art.
Embodiments address the above-described and other problems and limitations in the prior art by providing a system with standardized vNIC addresses, with each vNIC address including one or more purpose-specific identifiers to better facilitate identification and management of the vNICs.
In one embodiment, a system may include a server including a plurality of vNICs. Each vNIC may be associated with a particular connection of two or more possible connections and a particular side of two or more possible sides, and each vNIC may be assigned an electronic address. The electronic address may include a connection value which identifies the particular connection, and a side value which identifies the particular side. Various implementations of this embodiment may include any one or more of the following features. The server may be a blade server, and the electronic address may be a MAC address. The two or more possible connections may include a first physical fabric and a second physical fabric. The two or more possible sides may include a first virtual switch and a second virtual switch. Each possible connection of the two or more possible connections may be identified by one of two or more values. The electronic address may be a unique address within a particular network, and each possible connection of the two or more possible connections may be identified by one or more additional values to achieve the unique address. Each possible side of the two or more possible sides may be identified by one of two or more values. The electronic address may be a unique address, and each possible side of the two or more possible sides may be identified by one or more additional values to achieve the unique address.
In another embodiment, a system may include a blade server including a plurality of vNICs. Each vNIC may be associated with a particular server connection of two or more possible server connections and a particular side connection of two or more possible side connections, and each vNIC may be assigned a MAC. The MAC address may include a server connection value which identifies the particular server connection, and a side connection value which identifies the particular side connection. Various implementations of this embodiment may include any one or more of the following features. The two or more possible server connections may include a first physical fabric and a second physical fabric. The two or more possible side connections may include a first virtual switch and a second virtual switch. The MAC address may include six octets, with each octet including two hexadecimal values. The server connection value and the side connection value may be in a fourth octet of the MAC address. Each possible server connection of the two or more possible server connections may be identified by one of two or more hexadecimal values. The electronic address may be a unique address within a particular network, and each possible server connection of the two or more possible server connections may be identified by one or more additional hexadecimal values to achieve the unique address. Each possible side connection of the two or more possible connections may be identified by one of two or more hexadecimal values. The electronic address may be a unique address within a particular network, and each possible side connection of the two or more possible side connection may be identified by one or more additional hexadecimal values to achieve the unique address.
In another embodiment, a system may include a blade server including a plurality of VMs and a plurality of vNICs. Each VM may run an operating system and a software application and may be connected via a first virtual port to a first switch and may be connected via a second virtual port to a second switch. Two or more first vNICs may be connected to the first virtual switch, and one of the first vNICs may be connected to a first physical fabric and another of the first vNICs may be connected to a second physical fabric. Two or more second vNICs may be connected to the second virtual switch, and one of the second vNICs may be connected to the first physical fabric and another of the second virtual network interface cards may be connected to the second physical fabric. Each of the first and second vNICs may be assigned a media access control address having six octets, including a fourth octet which may include a connection hexadecimal value which identifies the particular first or second physical fabric to which the virtual network interface card is connected, and a side hexadecimal value which identifies the particular first or second virtual switch to which the virtual network interface card is connected.
Various implementations of this embodiment may include any one or more of the following features. The virtual network interface cards may be connected to the first and second physical fabrics by an input/output module. Each of the first and second physical fabrics may be connected to two or more uplink switches.
This summary is not intended to identify essential features of the present invention, and is not intended to be used to limit the scope of the claims. These and other aspects of the present invention are described below in greater detail.
Embodiments of the present invention are described in detail below with reference to the attached drawing figures, wherein:
The figures are not intended to limit the present invention to the specific embodiments they depict. The drawings are not necessarily to scale.
The following detailed description of embodiments of the invention references the accompanying figures. The embodiments are intended to describe aspects of the invention in sufficient detail to enable those with ordinary skill in the art to practice the invention. The embodiments of the invention are illustrated by way of example and not by way of limitation. Other embodiments may be utilized and changes may be made without departing from the scope of the claims. The following description is, therefore, not limiting. The scope of the present invention is defined only by the appended claims, along with the full scope of equivalents to which such claims are entitled.
In this description, references to “one embodiment,” “an embodiment,” or “embodiments” mean that the feature or features referred to are included in at least one embodiment of the invention. Separate references to “one embodiment,” “an embodiment,” or “embodiments” in this description do not necessarily refer to the same embodiment and are not mutually exclusive unless so stated. Specifically, a feature, component, action, step, etc. described in one embodiment may also be included in other embodiments, but is not necessarily included. Thus, particular implementations of the present invention can include a variety of combinations and/or integrations of the embodiments described herein.
Broadly, embodiments provide a system, method, and computer-implemented method for automatically and robustly standardizing electronic equipment identifiers with service profile identifiers within the one or more domains of a UCS to better facilitate identification of the physical equipment. The standardization process is performed automatically, thereby avoiding the time and cost disadvantages of the prior art manual process and reducing the risks of missing, incorrect, and non-standard equipment identifiers. The standardization process is also performed robustly, in that the process is repeated at regular intervals (e.g., nightly) to account for any changes to service profile identifiers and to correct any improper changes to equipment identifiers during the preceding interval, thereby further reducing the risks of missing, incorrect, and non-standard equipment identifiers.
Referring to
The UCS 16 and the UCS central software 18 may be otherwise substantially conventional UCS technologies. The UCS 16 may include one or more domains, with each domain including one or more active and/or inactive blade servers or other electronic equipment. The Domain List 20 may be a list of the active domains managed by the UCS central software 18. Each domain in the Domain List 20 may be associated with a Service Profile List 24, which may be a list of all of the active Service Profile identifiers 26 for the domain. Each domain in the Domain List 20 may also be associated with an Equipment Identifier List 28, which may be a list of all of the active Equipment identifiers 30 for the domain.
Referring also to
The system 10 may include more, fewer, or alternative components and/or perform more, fewer, or alternative actions, including those discussed elsewhere herein, and particularly those discussed in the following section describing the method and computer-implemented method.
Referring to
A UCS central software 18 may be accessed (by, e.g., logging in), and a Domain List 20 may be accessed via the UCS central software 18, as shown in 212. The Domain List 20 may be checked to determine whether it is empty, as shown in 214. If the Domain List 20 is empty, then the method 210 may end. If the Domain List 20 is not empty, then a particular domain in the Domain List 20 may be accessed (by, e.g., logging in), and a Service Profile Identifier List 24 and an associated Equipment Identifier List 28 for the particular domain may be accessed, as shown in 216.
The Service Profile Identifier List 24 may be checked to determine whether it is empty, as shown in 218. If the Service Profile Identifier List 24 for the particular domain is empty, then any Equipment Identifiers 30 in the Equipment Identifier List 28 may be set to default Equipment Identifiers, as shown in 220, and the particular domain may be subtracted from the Domain List 20, as shown in 222, and the Domain List 20 may be checked for a next particular domain, as shown in 214.
If the Service Profile Identifier List 24 for the particular domain is not empty, then a particular Service Profile Identifier 26 in the Service Profile Identifier List 24 may be checked to determine whether it is assigned to a piece of electronic equipment, as shown in 224. If the particular Service Profile Identifier 26 in the Service Profile Identifier List 24 is not assigned to a piece of electronic equipment, then the particular Service Profile Identifier 26 may be subtracted from the Service Profile Identifier List 24, as shown in 228, and the Service Profile Identifier List 24 may be checked for the next particular Service Profile Identifier 26, as shown in 218.
If the particular Service Profile Identifier 26 in the Service Profile Identifier List 24 is assigned to a piece of electronic equipment, then the Equipment Identifier 30 of that piece of electronic equipment may be set, in part or in whole, to the Service Profile Identifier 26, as shown in 226. More specifically, if a particular Equipment Identifier 30 assigned to a particular piece of equipment (e.g., a blade server) does not include the particular Service Profile Identifier 26 assigned to that equipment, then the particular Equipment Identifier 30 may be changed to include the particular Service Profile Identifier 26, as shown in 226, to facilitate identification of the physical equipment. In one implementation, this may be accomplished by simply overwriting the Equipment Identifier 30 with the standardized label without first checking whether the Equipment Identifier 30 is already standardized. In another implementation, this may be accomplished by first checking whether the Equipment Identifier 30 is already standardized, and overwriting it only if it is not already standardized. The relevant effect of these two implementations may be the same: Standardizing any unstandardized Equipment Identifiers 30 so that all Equipment Identifiers 30 with a corresponding Service Profile Identifier 26 are standardized. Thereafter, the particular Service Profile Identifier 26 may be subtracted from the Service Profile Identifier List 24, as shown in 228, and the Service Profile Identifier List 24 may be checked for the next particular Service Profile Identifier 26, as shown in 218.
The method and/or computer-implemented method 210 may be repeated at a regular interval (e.g., nightly) to ensure that the Equipment Identifier 30 for each piece of electronic equipment continues to correctly reflect the Service Profile Identifier 26 of that piece of electronic equipment, as shown in 230.
Once the Equipment Identifiers 30 have been standardized to better facilitate identification of the physical equipment, a message (e.g., a service request) may be received identifying a particular piece of equipment by its particular Server Profile Identifier 26, as shown in 312. The particular Equipment Identifier 30 may be looked-up based on the provided particular Service Profile Identifier 26, as shown in 314. The particular piece of equipment may then be quickly and easily physically found based on the particular Equipment Identifier 30, as shown in 316, and the correct particular piece of equipment may be physically serviced, as shown in 318.
The method and/or computer-implemented method 210 may include more, fewer, or alternative actions, including those discussed elsewhere herein.
Additionally or alternatively, embodiments may provide a system with standardized port addresses, with each port address including one or more purpose-specific identifiers to better facilitate identification and management of the ports. In one implementation, the system may have standardized MAC or other electronic addresses for vNICs or other virtual network connection equipment in blade or other servers to better facilitate identifying and servicing, replacing, or otherwise managing the servers or other physical or virtual equipment.
Referring to
The system may further include first and second physical fabrics 438,440, and first and second uplink switches 442,444. One of the vNICs 416 in each set 430,432,436 may be connected via an input/output (I/O) module 446 to the first fabric 438, and another of the vNICs in each set 430,432,436 may be connected via the I/O module 446 to the second fabric 440. Each fabric 438,440 may, in turn, be connected to both of the first and second uplink switches 442,444 by physical connections 447. Thus, each vNIC 416 of the first and second sets 430,432 may be associated with one of the first and second fabrics 438,440 and with one of the first and second virtual switches 426,428.
Referring also to
As shown in
It may be desirable that the overall MAC address 448 for each vNIC 416 is unique to the network in which the virtualized server 414 is operating. Because the number of different values for the purpose-specific identifier in the fourth octet 454 are limited, in very large networks the fourth, fifth, and sixth octets may be insufficient to provide a unique MAC address for every port. In such cases it may be desirable to supplement “A” and “B” with additional values. For example, in order to increase the number of unique identifiers, “C” may also be used to represent the first fabric interconnect, and “D” may also be used to represent the second fabric interconnect. More specifically, “A:XX:XX” and “C:XX:XX” may be used for vNICs on the first fabric interconnect, and “B:XX:XX,” and “D:XX:XX” may be used for vNICs on the second fabric interconnect.
Further, “0” and “1” may be supplemented with additional values. For example, “2” may be used to represent a third switch, and “3” may be used to represent a fourth switch. This would result in eight new pools from which to draw: A0, A1, A2, A3, B0, B1, B2, and B3. Additionally or alternatively, like the server connection values representing the fabric interconnects, each of the possible side connections representing the switches may be represented by one of two or more values so to increase the number of unique identifiers.
Although the invention has been described with reference to the one or more embodiments illustrated in the figures, it is understood that equivalents may be employed and substitutions made herein without departing from the scope of the invention as recited in the claims.
Having thus described one or more embodiments of the invention, what is claimed as new and desired to be protected by Letters Patent includes the following: