This invention relates generally to information handling systems and, more particularly, to remote RAID configuration using embedded system management.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems and methods for controlling data transfer to and from a redundant array of independent disks (RAID) memory storage system are known in the art. A RAID system is a data storage system wherein data is distributed across a group of storage hard disk drives functioning as a small storage unit. Often, information stored on each disk is duplicated on other disks in the array, creating redundancy to ensure no information is lost if disk failure occurs.
RAID configuration is an important feature for RAID system management. Common methods for implementing RAID configuration include RAID configuration tools that are launched by a user locally on a RAID server, i.e., using CD/DVD or control keys such as CTRL-A (or CTRL-R or CTRL-C in the SAS controllers), F10, or a complex system management system. Conventional methods for implementing RAID configuration also require downloading of an agent or utility onto the target RAID system.
RAID information handling systems are generally configured in different types of RAID implementations that are each enabled with a variety of hardware and software component configurations. Successful imaging of a RAID drive is dependent on the specific computer model, driver controller, hard drive and RAID implementation so that preparation and loading of a particular configuration on a RAID server information handling system is generally performed at a RAID server using vendor-specific deployment products. Local deployment of RAID configurations with vendor specific applications generally restricts incorporation of manufacture of RAID servers with other types of information handling systems. For instance, due to the complexity of RAID deployment utilities and the variety of hardware generally used for RAID drives, deployment software vendors typically do not integrate RAID utilities into their deployment applications, instead generally providing a hook to third party components to implement RAID features or assuming that target systems are in a desired RAID configuration before software deployment. One example is a deployment application which configures RAID drives with scripts. Another example is an application which implements code that allows users to write RAID modules on a management server that, in turn, downloads the modules to a target RAID server to perform a RAID configuration task for each module.
Disclosed herein are embedded systems and methods that may be implemented for RAID system configuration. As used herein, the term “embedded” means integrated within the system, subsystem or chassis. In one embodiment, the disclosed systems and methods may be employed to implement a remote RAID configuration system that is embedded and permanently maintained over time within an information handling system (e.g., that is configured as a RAID server). In such an embodiment, the remote RAID configuration system may be utilized to provide users with an out-of-band user-experience for out-of-the-box servers in originally configuring server storage without requiring any separate management framework (i.e., such as a separate set of system management applications like OpenManage available from Dell Computer of Round Rock, Tex.) or external tools (i.e., such as Dell OpenManage Deployment ToolKit, Dell OpenManage Server Update Utility—SUU), as well as to provide for future reconfiguration of the server storage.
In another embodiment, the disclosed systems and methods may be employed to implement embedded systems management to carry out configuration of a RAID system remotely and without the need to download additional software or firmware (e.g., such as agent or utility) onto the target RAID system. Thus, using the disclosed systems and methods, a manufacturer or other enterprise provider may ship an information handling system configured as a RAID system server having an embedded RAID configuration system to a user, and the user may then deploy the RAID system server as part of a RAID system and employ the embedded RAID configuration system to remotely configure the RAID system without need for loading or downloading any additional firmware or software.
Thus, the disclosed systems and methods may advantageously be implemented in one embodiment to allow a RAID system server to be remotely RAID configured in a manner that can be performed on the RAID server as it is supplied directly out-of-the-box to a user (e.g., in the same server configuration as shipped by the manufacturer or enterprise provider), and without requiring a centralized deployment environment, e.g., no separate server or other information handling system is required to provide RAID configuration information to the RAID system server. The disclosed systems and methods may also be advantageously employed to perform remote RAID configuration without requiring downloading of additional software or firmware (e.g., such as agent or utility), without requiring presence of a management framework and plug in, and/or in a manner that is operating system, (OS)-independent or that requires no OS to be present on the server. Further advantageously, the disclosed systems and methods may be employed to remotely configure a RAID system server anytime during the life of the RAID server, and/or as many times as desired, e.g., the RAID system server may be configured and then re-configured one or more times using the disclosed systems and methods.
In one respect, disclosed herein is an information handling system, including: a RAID controller circuit for controlling the transfer of data to and from RAID storage memory that includes an array of individual storage disk drives; one or more processing devices; persistent storage coupled to the one or more processing devices, and to the RAID controller circuit; and an embedded remote RAID configuration framework present on the persistent storage. The remote RAID configuration framework may be configured to: receive a request for RAID configuration from a remote user, and provide the received RAID configuration request to the one or more processing devices for processing. The one or more processing devices may be configured to: process the received RAID configuration request in an out-of-band manner to create a RAID configuration job corresponding to the received request for RAID configuration, and then execute the created RAID configuration job in an in-band manner.
In another respect, disclosed herein is a RAID system, including: a RAID storage memory that includes an array of individual storage disk drives; and an information handling system coupled to the RAID storage memory. The information handling system may include: a RAID controller circuit for controlling the transfer of data to and from the RAID storage memory, an in-band processing device, an out-of-band processing device, persistent storage coupled to each of the in-band processing device, out-of-band processing device, and RAID controller circuit, and an embedded remote RAID configuration framework present on the persistent storage. The remote RAID configuration framework may be configured to: receive a request for RAID configuration from a remote user, and provide the received RAID configuration request to the out-of band processing device. The out-of-band processing device may be configured to: create a RAID configuration job corresponding to the received request for RAID configuration, and provide the created RAID configuration job to the in-band processing device for execution. The in-band processing device may be configured to receive the created RAID configuration job from the out-of-band processing device and then execute the created RAID configuration job.
In another respect, disclosed herein is a method for remotely configuring or reconfiguring a RAID system, including: providing a RAID storage memory that includes an array of individual storage disk drives; providing an information handling system coupled to the RAID storage memory, the information handling system including: one or more processing devices, persistent storage coupled to the one or more processing devices, and an embedded remote RAID configuration framework present on the persistent storage; receiving a request in the embedded remote RAID configuration framework for RAID configuration from a remote user; providing the received RAID configuration request from the embedded remote RAID configuration framework to the one or more processing devices for out-of-band processing; using the one or more processing devices to process the received RAID configuration request in an out-of-band manner to create a RAID configuration job; and using the one or more processing devices to execute the created RAID configuration job in an in-band manner.
In another respect, disclosed herein is a method of providing an information handling system. The method may include providing the information handling system before first coupling to a RAID storage memory, and the provided information handling system may include: a RAID controller circuit for controlling the transfer of data to and from RAID storage memory that includes an array of individual storage disk drives; one or more processing devices; persistent storage coupled to the one or more processing devices, and to the RAID controller circuit; and an embedded remote RAID configuration framework present on the persistent storage. The remote RAID configuration framework may be configured to: receive a request for RAID configuration from a remote user, and provide the received RAID configuration request to the one or more processing devices for processing. The one or more processing devices may be configured to: process the received RAID configuration request in an out-of-band manner to create a RAID configuration job corresponding to the received request for RAID configuration, and then execute the created RAID configuration job in an in-band manner.
Still referring to
The disclosed systems and methods may be implemented in one exemplary embodiment using a plug-in architecture framework to allow extension of RAID system server management functionalities (e.g., using Dell unified server configurator (“USC”) server management functionalities available from Dell Products L.P. of Round Rock, Tex.) in a unified extension firmware interface (“UEFI”) environment by leveraging available remote access controller core or optional flash memory space. Further information on implementation of USC functionalities in a UEFI environment may be found, for example, in U.S. patent application Ser. No. 12/587,001 filed Sep. 30, 2009, and incorporated herein by reference in its entirety for all purposes. Among other things, the disclosed systems and methods may be implemented to provide a hardware and software interface to allow use of a plug-in framework in the embedded system management that may be run under the BIOS firmware and the UEFI environment. The disclosed systems and methods may also be implemented to provide a USC server management architecture that may be modified and enhanced over time, and/or that may also be employed to extend availability of the USC server management framework to remote users 128.
Still referring to
In the embodiment of
As further shown, remote access controller 125 is coupled to remote access controller persistent storage 140 (e.g., embedded and partitioned flash memory, Electrically Erasable Programmable Read Only Memory—EEPROM, etc.), upon which one or more server management applications forming part of a USC framework may be stored in addition to one or more components or applications forming part of an embedded remote RAID configuration framework 142 and other functions, e.g., BIOS, unified extensible firmware interface (“UEFI”) modules, etc. In the embodiment of
As further shown in
As shown in
Also shown in
In one exemplary embodiment remote RAID configuration (or remote RAID reconfiguration) may be performed using embedded remote RAID configuration framework 142 of
Next, in step 510, out-of-band processor 108 (acting as a job processor) evaluates the requested and validated Raid Configuration Job by calling a Populator Method, and then initiates the execution of the requested and validated Raid Configuration Job by passing the execution environment to an execution module running on the in-band processor 106. Such an execution module running on the in-band processor 106 may be, for example, a DCS Raid Plug-In (DCSExecute) module running in an UEFI component of the USC environment 340 of in-band processor 106. This is shown in step 511, where out-of-band processor 108 exposes and makes accessible the RAID configuration data and job to in-band processor 106. In step 512, in-band processor 106 may then execute the requested RAID configuration job in the designated execution module, for example, after first rebooting in response to an appropriate command from out-of-band processor 108. Status of the executing RAID configuration job may be optionally displayed by the execution module to a user (e.g., via graphical interface) as shown in
In-band processor 106 may be configured in one embodiment to act as a RAID processor that processes RAID configuration commands, such as those commands that specify “create”, “delete”, “change”, “get”, etc. Examples of RAID configuration commands include, but are not limited to, “Create RAID Configuration”, “Delete RAID Configuration”, “Get RAID Configuration”, “Set RAID Configuration”, “Reset RAID Configuration”. Some specific command examples include, but are not limited to, SetControllerKey, GetRaidLevels, GetAvailableDisks, ClearForeignConfig, CreateVirtualDisks, etc. Once a Raid configuration job is completed in step 512 by in-band processor 106, the result may be passed back to out-of-band processor 108 in step 514 and then logged in a job store of data cache layer 310 in step 516, e.g. for purposes of displaying job status to an external client 128 who requests the job status.
It will be understood that methodology 500 of
For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an information handling system may be a personal computer, a PDA, a consumer electronic device, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include memory, one or more processing resources such as a central processing unit (CPU) or hardware or software control logic. Additional components of the information handling system may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components.
It will be understood that one or more of the tasks, functions, or methodologies described herein may be implemented, for example, as firmware or other computer program of instructions embodied in a non-transitory tangible computer readable medium that is executed by a CPU, controller, microcontroller, processor, microprocessor, FPGA, ASIC, or other suitable processing device.
While the invention may be adaptable to various modifications and alternative forms, specific embodiments have been shown by way of example and described herein. However, it should be understood that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims. Moreover, the different aspects of the disclosed systems and methods may be utilized in various combinations and/or independently. Thus the invention is not limited to only those combinations shown herein, but rather may include other combinations.
Number | Name | Date | Kind |
---|---|---|---|
5603005 | Bauman et al. | Feb 1997 | A |
5717942 | Haupt et al. | Feb 1998 | A |
6108697 | Raymond et al. | Aug 2000 | A |
6144992 | Turpin et al. | Nov 2000 | A |
6298443 | Colligan et al. | Oct 2001 | B1 |
6408334 | Bassman et al. | Jun 2002 | B1 |
6470446 | Beelitz et al. | Oct 2002 | B1 |
6519679 | Devireddy et al. | Feb 2003 | B2 |
6763458 | Watanabe et al. | Jul 2004 | B1 |
6854122 | Sheriff et al. | Feb 2005 | B1 |
6973587 | Maity et al. | Dec 2005 | B1 |
7028138 | Ali et al. | Apr 2006 | B2 |
7216200 | Zhang et al. | May 2007 | B2 |
7272815 | Eldridge et al. | Sep 2007 | B1 |
7360211 | Hyden et al. | Apr 2008 | B2 |
7426052 | Cox et al. | Sep 2008 | B2 |
7430592 | Schmidt et al. | Sep 2008 | B2 |
7526541 | Roese et al. | Apr 2009 | B2 |
7610575 | Sproule | Oct 2009 | B2 |
7706369 | Roese et al. | Apr 2010 | B2 |
7739372 | Roese et al. | Jun 2010 | B2 |
7739402 | Roese et al. | Jun 2010 | B2 |
7765371 | Abels et al. | Jul 2010 | B2 |
7805533 | Burns et al. | Sep 2010 | B2 |
7877614 | Frenkiel et al. | Jan 2011 | B2 |
7895428 | Boland et al. | Feb 2011 | B2 |
7898977 | Roese et al. | Mar 2011 | B2 |
7945945 | Graham et al. | May 2011 | B2 |
8086834 | Brisky et al. | Dec 2011 | B2 |
8099624 | Saxena et al. | Jan 2012 | B1 |
8191107 | Frattura et al. | May 2012 | B1 |
8260841 | Maity | Sep 2012 | B1 |
8510422 | Phung et al. | Aug 2013 | B2 |
20030216143 | Roese et al. | Nov 2003 | A1 |
20040162857 | Butts | Aug 2004 | A1 |
20050027837 | Roese et al. | Feb 2005 | A1 |
20050055688 | Barajas et al. | Mar 2005 | A1 |
20050066015 | Dandekar et al. | Mar 2005 | A1 |
20050076245 | Graham et al. | Apr 2005 | A1 |
20050172280 | Ziegler et al. | Aug 2005 | A1 |
20050216664 | Taninaka et al. | Sep 2005 | A1 |
20050237996 | Sakuraba et al. | Oct 2005 | A1 |
20060018505 | Cherian et al. | Jan 2006 | A1 |
20060031936 | Nelson et al. | Feb 2006 | A1 |
20060036730 | Graham et al. | Feb 2006 | A1 |
20060048142 | Roese et al. | Mar 2006 | A1 |
20060075093 | Frattura et al. | Apr 2006 | A1 |
20060190532 | Chadalavada | Aug 2006 | A1 |
20060212143 | Nguyen et al. | Sep 2006 | A1 |
20070124407 | Weber et al. | May 2007 | A1 |
20070162695 | Ali et al. | Jul 2007 | A1 |
20070168049 | Rao et al. | Jul 2007 | A1 |
20070204105 | Lauffer et al. | Aug 2007 | A1 |
20080002694 | Brahmaroutu et al. | Jan 2008 | A1 |
20080033972 | Yin et al. | Feb 2008 | A1 |
20080126551 | Conner et al. | May 2008 | A1 |
20080155094 | Roese et al. | Jun 2008 | A1 |
20080201501 | Partani et al. | Aug 2008 | A1 |
20090037655 | Cherian et al. | Feb 2009 | A1 |
20100057987 | Liu | Mar 2010 | A1 |
20100268925 | Brisky et al. | Oct 2010 | A1 |
20100306773 | Lee et al. | Dec 2010 | A1 |
20110072280 | Chiasson et al. | Mar 2011 | A1 |
20110078293 | Phung et al. | Mar 2011 | A1 |
20110173427 | Merkin et al. | Jul 2011 | A1 |
20110264951 | Pratt et al. | Oct 2011 | A1 |
20110289350 | Andrews et al. | Nov 2011 | A1 |
20110296404 | Zhang et al. | Dec 2011 | A1 |
20120110262 | Zhang et al. | May 2012 | A1 |
20120198245 | Mundt et al. | Aug 2012 | A1 |
20120317633 | O'Donnell et al. | Dec 2012 | A1 |
Entry |
---|
Harmer, “Methods and Systems for Providing Manufacturing Mode Detection and Functionality in a UEFI BIOS”, U.S. Appl. No. 12/228,499, filed Aug. 13, 2008, 20 pgs. |
IBM, “Navigator for 1”, Printed From Internet May 26, 2009, 3 pgs. |
IBM, “IBM iSeries Navigator System Management Plug-In for SAP”, Printed From Internet May 26, 2009, 1 pg. |
Business Wire; Business Services Industry, “F5 and Oracle Collaborate to Release Big-Ip Load Balancer System Management Plug-In for Oracle Enterprise Manager 10g Grid Control”, Oct. 31, 2005, 10 pgs. |
Highbeam Research, “Nimsoft Team Up With Oracle”, Printed From Internet May 26, 2009, 4 pgs. |
All Business, “Oracle Releases F5 Management Plug-In Via iControl”, Printed From Internet May 26, 2009, 4 pgs. |
Warren Togami, “Remote Conversion to Linux Software RAID-1 for Crazy Sysadmins HOWTO”, 2004, 11 pgs. |
“Remote Raid/Mirror”, HTMICenter, Printed From Internet Jul. 22, 2010, 2 pgs. |
Power6 Information, “Installing an HA-two system RAID Configuration”, Printed From Internet Jul. 22, 2010, 4 pgs. |
Chiasson et al., “Systems and Methods for Time-Based Management of Backup Battery Life in Memory Controller Systems”, Filed Sep. 21, 2009, U.S. Appl. No. 12/586,368, 33 pgs. |
Phung et al., “Systems and Methods for Extension of Server Management Functions”, Filed Sep. 30, 2009, U.S. Appl. No. 12/587,001, 25 pgs. |
Phung et al., “Systems and Methods for Extension of Server Management Functions”, U.S. Appl. No. 13/898,991, filed May 21, 2013, Preliminary Amendment, Jun. 27, 2013, 18 pgs. |
Wikipedia, “License Manager” Printed from Internet Jun. 20, 2012, 2 pgs. |
Zhang et al., “Systems and Methods for Out-Of-Band Backup and Restore of Hardware Profile Information”, U.S. Appl. No. 13/365,901, filed Feb. 3, 2012, 37 pgs. |
McNeill, “Virtual Machine Asynchronous Patch Management”, U.S. Appl. No. 13/210,552, filed Aug. 16, 2011, 17 pgs. |
Karandikar et al., “System and Method for Providing an Image to an Information Handling System”, U.S. Appl. No. 13/174,221, filed Jun. 30, 2011, 35 pgs. |
Andrews et al., “System and Method for Removable Network Attached Storage Enabling System Recovery From Backup”, U.S. Appl. No. 13/187,219, Jul. 20, 2011, 30 pgs. |
Zhang et al., “Systems and Methods for Intelligent System Profile Unique Data Management”, U.S. Appl. No. 13/618,666, filed Sep. 14, 2012, 32 pgs. |
Phung et al., “Systems and Methods for Extension of Server Management Functions”, U.S. Appl. No. 13/898,991, filed May 21, 2013, 25 pgs. |
Phung et al. “Systems and Methods for Extension of Server Management Functions”, U.S. Appl. No. 12/587,001; Office Action, Jun. 15, 2012, 13 pgs. |
Phung et al., “Systems and Methods for Extension of Server Management Functions”, U.S. Appl. No. 12/587,001, Amendment, Filed Oct. 15, 2012, 16 pgs. |
Number | Date | Country | |
---|---|---|---|
20120110262 A1 | May 2012 | US |