At least one embodiment of the present invention pertains to remote management of a processing system and more particularly, to configuring a remote management module in a processing system.
In many types of computer networks, it is desirable to be able to perform certain management related functions on processing system from a remote location. For example, a business enterprise may operate a large computer network that includes numerous client and server processing systems (hereinafter “clients” and “servers”, respectively). With such a network, it may be desirable to allow a network administrator to perform or control various functions on the clients and/or servers from a remote console via the network, such as monitoring various functions and conditions in these devices, configuring the devices, performing diagnostic functions, debugging, software upgrades, etc. To facilitate explanation, such functions are referred to collectively and individually as “management functions”.
One particular application in which it is desirable to have this capability is in a storage-oriented network, i.e., a network that includes one or more storage servers that store and retrieve data on behalf of one or more clients. Such a network may be used, for example, to provide multiple users with access to shared data or to backup mission critical data. An example of such a network is illustrated in
In
Also shown in
In the illustrated configuration, the administrative console 5 must be directly coupled to the storage server 2 and must be local to the storage server 2. This limitation is disadvantageous, in that it may be impractical or inconvenient to locate the administrative console 5 close to the storage server 2. Further, this configuration makes it difficult or impossible to use the same administrative console to manage multiple devices on a network.
Technology does exist to enable management functions to be performed on a computer system remotely via a network. In one approach, a device known as a remote management module (RMM) is incorporated into a processing system to enable remote management of the processing system (referred to as the “host” processing system) via a network. The RMM is also referred to as a service processor or remote management card; and in this application the term RMM is used interchangeably with the term service processor. The RMM is often in the form of a dedicated circuit card separate from the other elements of the host processing system. The RMM normally has a network interface that connects to the network and a separate internal interface that connects to one or more components of the processing system.
One shortcoming of known RMM technology is that the RMM needs to be configured separately from the processing system. This is inefficient, as a user would need to perform two separate initializations and possess two sets of credentials, one for the processing system and one for the RMM. Hence, it would be desirable to have a simple unified configuration system for the RMM.
A remote management module (RMM) can be configured, in one embodiment, via the processing system that the RMM is monitoring. In one embodiment, the present invention includes allowing a user access to a processing system being monitored by a RMM, and configuring the RMM without the user accessing the RMM.
One or more embodiments of the present invention are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
A method and apparatus for a simple unified configuration system for an RMM are described. The technique introduced herein enables an RMM installed in a processing system to be configured simultaneously with the processing system, such that the network administrator does not have to separately configure the RMM.
Remote Management Module
An example of a network configuration in which various embodiments of the present invention can be employed is shown in
Referring now to
The memory 32 may be, or may include, any of various forms of read-only memory (ROM), random access memory (RAM), Flash memory, or the like, or a combination of such devices. The memory 32 stores, among other things, the operating system 31 of the storage server 20. In one embodiment, the operating system 31 is the Data ONTAP™ operating system offered by Network Appliance. In other embodiments, the operating system 31 can be any generic operating system, or any operating system with included or enhanced storage service capabilities. The storage server may include additional memories, such as mass storage device 34. The internal mass storage device 34 may be or include any conventional medium for storing large volumes of data in a non-volatile manner, such as one or more magnetic or optical based disks.
In one embodiment, the storage server 20 also includes a console serial interface 35, a network adapter 36 and a storage adapter 37 coupled to the processing unit 33. The storage server 20 can also include redundant power supplies, various bridges, buses, controllers, and other devices not directly relevant to the present invention.
The serial interface 35 allows a direct serial connection with a local administrative console, such as console 22 in
The storage server 20 further includes an RMM 41. The RMM provides a network interface and is used to allow a remote processing system, such as an administrative console, to control and/or perform various management functions on the storage server via network 21, which may be a LAN or a WAN, for example. The management functions may include, for example, monitoring various functions and state in the storage server 20, configuring the storage server 20, performing diagnostic functions on and debugging the storage server 20, upgrading software on the storage server 20, etc.
In one embodiment, the RMM 41 is designed to operate independently of the storage server 20. Hence, the RMM 41 runs on standby power so that it is available even when the main power to the storage server 20 is off. In certain embodiments of the invention, the RMM 41 provides diagnostic capabilities for the storage server 20 by maintaining a log of console messages that remain available even when the storage server 20 is down. The RMM 41 is designed to provide enough information to determine when and why the storage server 20 went down, even by providing log information beyond that provided by the operating system of the storage server 20. This functionality includes the ability to send a notice to the remote administrative console 22 on its own initiative, indicating that the storage server 20 is down, even when the storage server 20 is unable to do so.
The processor(s) 51 is/are the CPU of the RMM 41 and may be, for example, one or more programmable general-purpose or special-purpose microprocessors, DSPs, microcontrollers, ASICs, PLDs, or a combination of such devices.
In at least one embodiment, the processor 51 is a conventional programmable, general-purpose microprocessor that runs software from local memory on the RMM 41 (e.g., flash 52 and/or RAM 53).
The application layer 62 includes a packet layer 72, which cooperates with the serial driver 70. The packet layer 72 is responsible for converting packets received from other modules in the application layer 62 into a serial format for transmission by the serial driver 70, and for converting serial data received from the serial driver 70 into packet format for use by other modules in application layer 62.
The application layer 62 also includes: a command line interface (CLI) 74 to allow an authorized user to access functions of the RMM 41; an application programming interface (API) 75 to allow an authorized remote application to make calls to the RMM software 60; a Dynamic Host Configuration (DHCP) layer 76 to enable automatic IP address assignment; and various other configuration applications 77 to process configuration data.
Configuring the Remote Management Module
When the storage server 20 is initially brought online, it needs be configured to operate in the storage network. This is done by providing the storage server 20 with various storage server configuration parameters. Similarly, the RMM 41 also needs to be configured, by providing the RMM 41 with various RMM configuration parameters. For example, to allow for communication independent from the appliance it is monitoring, the RMM 41 needs to be initialized with an IP address. Other configuration items may include the name of the system 20 the RMM 41 is used to monitor, the RMM's serial number, gateway, and other such configuration items.
The technique introduced herein, as will now be described, enables the RMM 41 to be configured automatically when the storage server 20 itself is configured, such that the network administrator does not have to separately configure the RMM 41. One embodiment of a configuration interface (also referred to here sometimes as a user interface) that enables a configuration entity—such as a user or administrator—to simultaneously configure the host processing unit 33 of the storage server 20 and the RMM 41 is now illustrated with reference to
In addition to allowing the user (e.g. an administrator) to configure the processing unit 33 and the operating system 31 running on the processing unit 33 (e.g. ONTAP), the user interface 83 allows the user to configure the RMM 41 without establishing a separate connection to the RMM 41. To accomplish this, in one embodiment, the operating system 31 running on the processing unit 33 transfers the RMM configuration input parameters 85 entered by the user to the RMM 41, i.e., without the user having to directly interact with the RMM 41.
In one embodiment, this transfer is carried out by sending the configuration information over the bus or chipset coupling the storage server 20 to the RMM 41 using the storage server interface 64 of the RMM 41 as described above with reference to
In one embodiment, the processing unit 33 generates a configuration file from the received RMM configuration parameters 85. This file can be a tuple-file, a tuple being two items: a parameter name and a parameter value. For example, one tuple in the configuration file may be IP_ADDRESS 123.432.543.34. The configuration file is then transferred via the storage server interface 64 to the RMM 41.
The RMM configuration parameters 85 can include various configuration information, such as the IP address, netmask, gateway, DNS server of the RMM 41. In addition, an enable DHCP parameter can set the RMM 41 to use a Dynamic Host Configuration Protocol (DHCP) layer 76 implemented by the RMM 41 to automatically set the IP configuration parameters—such as those mentioned above—for the RMM 41. Various other configuration items that can be configured using the configuration user interface 83 include—but are not limited to—various alert configuration parameters such as the IP address of the Simple Mail Transfer Protocol (SMTP) mailhost to which alerts can be sent, various Simple Network Management Protocol (SNMP) configuration parameters, various security parameters such as the private key user for SSH 66 connections, and various other interface configuration items. Any configuration parameter can be entered in this manner; the present invention is not limited to any specific configuration parameters.
The configuration interface 83 shown in
An example of the overall process performed in the storage system 20 to configure the storage server 20 and RMM 41 is illustrated in
In block 106, the RMM configuration parameters are pushed by the operating system 31 of the storage server 20 to the RMM 41, for example, by sending a configuration file to the RMM 41 as described above. The RMM 41 is thus configured without the user (or his administrative console) directly accessing the RMM 41.
One specific example of storage configuration input parameters 84 that may be collected by the user interface 83 in one embodiment is user credentials. User credentials can include identifying parameters, such as a user ID or name, and authentication parameters, such as a password, such as may be used to authenticate and/or authorize a network administrator to access the storage server 20 and/or the RMM 41. In one embodiment, the user credentials are also pushed to the RMM 41 via the process set forth above.
Several embodiments of user credential processing are now described with reference to
Some or all of the user credentials may be only stored in hashed form in memory 32 by processing unit 33 for security purposes. In one embodiment, only the hashed form of the user credentials is pushed to the RMM 41. However, the hash may be re-computed at the RMM 41 from the original user credentials. In one embodiment, the user credentials are stored in the RMM 41 in flash memory 52, but other types of non-volatile memory or RAM memory may be used as well.
As described above, the RMM 41 can be accessed separately from the storage server 20 via the network interface 63. In one embodiment, the user credentials used to access the storage server 20 (i.e., the processing unit 33 and operating system 31) can be used (by a network administrator, for example) to access the RMM 41 via network interface 63 and network adapter 54. This is possible because, as described above, the user credentials have been pushed to—and stored by—the RMM 41. In other words, in block 206, the RMM 41 is accessed by a user with the same user credentials used to access the storage server 20. One advantage of such user credential duplication is that the user does not need to set and remember two separate sets of credentials, i.e., one set for the storage server 20 and another set for the RMM 41.
After the passage of some time, the user credentials used to access the processing unit 33 may change; for example, a password may expire or be updated. In block 208, such a change is detected by the storage operating system 31 running on the processing unit 33. In response to such detection, in bock 210, the updated user credentials are pushed by the operating system 31 to the RMM 41 to synchronize the user credentials once again with those on the storage server 20.
Certain credential update procedures can be implemented by the operating system 31 to keep the user credentials stored in the RMM 41 up to date. For example, if a user changes the credentials (e.g. a password) to access the storage server 20, the changed credentials need to be pushed to the RMM 41 to synchronize the user credentials. The credentials update may be implemented using a special packet recognized by the packet layer 72.
In one embodiment, the RMM 41 is implemented as a Field Replaceable Unit (FRU). As such, when an RMM 41 is replaced (i.e., a service processor card is replaced), the new RMM 41 is automatically configured by the operation system 31 of the storage server 20. In one embodiment, the processing unit 33 and operating system 31 detect when a new RMM 41 is connected to the storage server 20. Upon detecting the presence of an uninitialized RMM 41 in the storage server 20, the operating system 31 provides the configuration parameters (e.g., RMM configuration parameters 85, user credentials, etc.) to the new RMM 41.
In such an embodiment, the RMM configuration parameters 85 are stored in memory 32 so that they are available for an RMM installed in the future, or if the RMM 41 were to loose its configuration data. In one embodiment, the operating system 31 of the storage server 20 maintains a configuration database for the RMM in the storage server 20 (but external to RMM). When a new (replacement) RMM is detected, the operating system 31 can use the configuration database to configure the new RMM.
In one embodiment, the processing unit 33 of the storage server 20 detects installation of a new RMM 41 in the storage server 20 by observing a change in some unique signature strings exchanged between the processing unit 33 and the RMM 41. Such signature strings identifying the RMM 41 could be inserted in all packets of a certain type, or sent periodically from the RMM 41. Furthermore, the operating system 31 can be set to automatically push relevant configuration parameters to the RMM 41 whenever the operating system 31 is restarted (i.e., when the processing unit 33 is rebooted). Thus, the RMM 41 would get proper configuration information in either a hot-swap or a switch-reboot scenario.
Thus, a method and apparatus for enabling an RMM installed in a processing system to be configured alongside the processing system have been described. Although the present invention has been described with reference to specific exemplary embodiments, it will be recognized that the invention is not limited to the embodiments described, but can be practiced with modification and alteration within the spirit and scope of the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative sense rather than a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
4670880 | Jitsukawa et al. | Jun 1987 | A |
5241549 | Moon et al. | Aug 1993 | A |
5555438 | Blech et al. | Sep 1996 | A |
5664101 | Picache | Sep 1997 | A |
5761683 | Logan et al. | Jun 1998 | A |
5815652 | Ote et al. | Sep 1998 | A |
5822514 | Steinz et al. | Oct 1998 | A |
5881078 | Hanawa et al. | Mar 1999 | A |
6170067 | Liu et al. | Jan 2001 | B1 |
6195353 | Westberg | Feb 2001 | B1 |
6216226 | Agha et al. | Apr 2001 | B1 |
6237103 | Lam et al. | May 2001 | B1 |
6253300 | Lawrence et al. | Jun 2001 | B1 |
6275526 | Kim et al. | Aug 2001 | B1 |
6335967 | Blomkvist et al. | Jan 2002 | B1 |
6446141 | Nolan et al. | Sep 2002 | B1 |
6480850 | Veldhuisen | Nov 2002 | B1 |
6502088 | Gajda et al. | Dec 2002 | B1 |
6502208 | McLaughlin et al. | Dec 2002 | B1 |
6507929 | Durham et al. | Jan 2003 | B1 |
6574518 | Lounsberry et al. | Jun 2003 | B1 |
6586911 | Smith | Jul 2003 | B1 |
6645077 | Rowe | Nov 2003 | B2 |
6651190 | Worley et al. | Nov 2003 | B1 |
6690733 | Baumgartner et al. | Feb 2004 | B1 |
6697962 | McCrory et al. | Feb 2004 | B1 |
6728908 | Fukuhara et al. | Apr 2004 | B1 |
6920502 | Araujo et al. | Jul 2005 | B2 |
6925531 | Konshak et al. | Aug 2005 | B2 |
6976058 | Brown et al. | Dec 2005 | B1 |
7003563 | Leigh et al. | Feb 2006 | B2 |
7024551 | King et al. | Apr 2006 | B2 |
7114102 | Chan et al. | Sep 2006 | B2 |
7225327 | Rasmussen et al. | May 2007 | B1 |
7234051 | Munguia et al. | Jun 2007 | B2 |
7257741 | Palenik et al. | Aug 2007 | B1 |
7466713 | Saito | Dec 2008 | B2 |
7487343 | Insley et al. | Feb 2009 | B1 |
7584337 | Rowan et al. | Sep 2009 | B2 |
7805629 | Insley et al. | Sep 2010 | B2 |
7899680 | Insley et al. | Mar 2011 | B2 |
20010056483 | Davis | Dec 2001 | A1 |
20020059627 | Islam et al. | May 2002 | A1 |
20020078231 | Chang et al. | Jun 2002 | A1 |
20020129305 | Ahrens et al. | Sep 2002 | A1 |
20020133581 | Schwartz et al. | Sep 2002 | A1 |
20020156840 | Ulrich et al. | Oct 2002 | A1 |
20030008805 | Honma et al. | Jan 2003 | A1 |
20030033361 | Garnett et al. | Feb 2003 | A1 |
20030061320 | Grover et al. | Mar 2003 | A1 |
20030088655 | Leigh et al. | May 2003 | A1 |
20030088805 | Majni et al. | May 2003 | A1 |
20030135748 | Yamada et al. | Jul 2003 | A1 |
20030163651 | Jain et al. | Aug 2003 | A1 |
20030200266 | Henry | Oct 2003 | A1 |
20040064731 | Nguyen et al. | Apr 2004 | A1 |
20040093592 | Rao | May 2004 | A1 |
20040133643 | Warren et al. | Jul 2004 | A1 |
20040136720 | Mahowald et al. | Jul 2004 | A1 |
20040177178 | Gregg et al. | Sep 2004 | A1 |
20040215948 | Abbey et al. | Oct 2004 | A1 |
20040250072 | Ylonen | Dec 2004 | A1 |
20050021722 | Metzger | Jan 2005 | A1 |
20050033952 | Britson | Feb 2005 | A1 |
20050044170 | Cox et al. | Feb 2005 | A1 |
20050044207 | Goss et al. | Feb 2005 | A1 |
20050125118 | Chalker et al. | Jun 2005 | A1 |
20050129035 | Saito | Jun 2005 | A1 |
20050144493 | Cromer et al. | Jun 2005 | A1 |
20050165989 | Kim | Jul 2005 | A1 |
20050188071 | Childress et al. | Aug 2005 | A1 |
20050193021 | Peleg | Sep 2005 | A1 |
20050193182 | Anderson et al. | Sep 2005 | A1 |
20050283606 | Williams | Dec 2005 | A1 |
20050288828 | Claseman | Dec 2005 | A1 |
20050289548 | Farchi et al. | Dec 2005 | A1 |
20060039468 | Emerson et al. | Feb 2006 | A1 |
20060095224 | Lambert | May 2006 | A1 |
20060156054 | Brown et al. | Jul 2006 | A1 |
20060179184 | Fields et al. | Aug 2006 | A1 |
20060200471 | Holland et al. | Sep 2006 | A1 |
Number | Date | Country |
---|---|---|
0 621 706 | Oct 1994 | EP |
58181395 | Oct 1983 | JP |
WO-03023561 | Mar 2003 | WO |