Validation process for a storage array network
A method of validating a storage array network deployment includes receiving information from a user, utilizing the information in a capacity associated with the storage array network, and notifying the user if the utilizing produces an error. The method may further include waiting for user direction before utilizing the information, or waiting until a predetermined amount of information has been received before utilizing the information. The method may further include evaluating one or more formats of the information for suitability for an intended use of the information. The error may be indicated by an abnormal response as a result of utilizing the information.
Latest Dell Products, LP Patents:
- Method and apparatus for a magnetically suspended fan
- System and method to reduce redundant data processing tasks executing across interconnected internet of things (IoT) edge devices among data centers via a primary processing orchestration node
- System and method for integrating radio system cooling and antenna power management systems
- Method and apparatus for an original equipment manufacturer defined scalable and safe memory layout firmware
- System and method for developing green data center policies to minimize CO2 generated during execution of test suites on a per software feature testing basis
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.
The data storage systems may be configured as a Storage Area Network (SAN). SAN environments are generally quite complex, so network professionals must have extensive knowledge of networking principals to properly deploy a SAN. Even experienced technicians and/or engineers may introduce errors into a deployment. For example, an incorrect value for a field may be entered through a typing error or transcription error, which can lead to poor SAN performance. Such a seemingly minor issue may require many hours of troubleshooting to resolve. Examples of such fields include server addresses, SYSLOG server identification, wrong SNMP server identification, among others.
Many other potential configuration errors exist. For example, components may have been physically connected incorrectly, or required connections may be missing.
Further, configurations may change over time. Such changes introduce an opportunity for a set-up error.
There is currently no easy way to confirm that a SAN is properly configured, following an initial setup or after a configuration change.
SUMMARY OF THE INVENTIONThe described embodiments provide a validation procedure that may be executed during or after an initial SAN setup, or when a reconfiguration of the SAN occurs. The described embodiments may notify a maintainer of the SAN if conflict or errors are detected.
The described embodiments may evaluate a configuration state of devices that make up the SAN, along with devices otherwise associated with the SAN, such as the customer's email server, syslog server, SNMP server, among others.
As additional storage arrays are added to the group, the described embodiments may compare new information against the current (i.e., running) configuration, and the customer will be notified if they've misconfigured any of their IP addresses, subnet masks, or gateways.
In one aspect, the invention is a method of validating a network deployment, including utilizing deployment information received from the user upon receiving direction from the user to validate the network deployment. The method further includes notifying the user if the utilizing deployment information produces an abnormal response.
In one embodiment, utilizing deployment information received from the user includes applying a server IP address. In another embodiment, utilizing deployment information received from the user may include one or more of applying a subnet mask, applying a default gateway, applying a domain name server address, and applying a network time protocol.
In one embodiment, an abnormal response includes a mismatched subnet. In another embodiment, an abnormal response includes an incorrect gateway.
In one embodiment, the method further includes comparing one or more set-up parameters for an existing network to corresponding set-up parameters of a newly-added network, and notifying the user if a mismatch is determined to exist. In another embodiment, the notifying further includes disclosing one or more aspects of the abnormal results.
In another aspect, the invention is a method of validating a storage array network deployment, including receiving information from a user, utilizing the information in a capacity associated with the storage array network, and notifying the user if the utilizing produces an error.
One embodiment further includes waiting for user direction before utilizing the information. Another embodiment further includes waiting until a predetermined amount of information has been received before utilizing the information. Another embodiment further includes evaluating one or more formats of the information for suitability for an intended use of the information.
In one embodiment, the error includes detecting an abnormal response as a result of utilizing the information. In one embodiment, notifying further includes disclosing one or more aspects of the error.
In another aspect, the invention is a non-transitory computer-readable medium with computer code instruction stored thereon, the computer code instructions when executed by an a processor cause an apparatus to receive information from a user, utilize the information in a capacity associated with the storage array network, and notify the user if the utilizing produces an error.
In one embodiment, the computer code instructions, when executed by a processor, further cause the apparatus to wait for user direction before utilizing the information. In another embodiment, the computer code instructions when executed by an a processor further cause the apparatus to wait until a predetermined amount of information has been received before utilizing the information. In another embodiment, the computer code instructions when executed by an a processor further cause the apparatus to evaluate one or more formats of the information for suitability for an intended use of the information.
The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention.
A description of example embodiments of the invention follows.
One embodiment of a procedure for validating a storage array network (SAN) is depicted in
In one embodiment, receiving 104 input from a user may be part of an initial SAN setup procedure, i.e., when a SAN with an initial storage array is first assembled and connected to a host. In another embodiment, the receiving 104 input from a user may be part of an augmented SAN deployment, where one or more additional storage arrays are added to an existing SAN.
The received input is utilized 106 in the SAN as, for example, a network parameter. The result of the utilization may result in an error. If no error results 108a, the procedure for validating the SAN ends 112. If the utilized input produces an error 108b, the user is notified that an error was produced and the procedure for validating the SAN ends 112. Utilizing input information, when the input is received, may identify physical misconnections, typographical or transcription errors and other such user input errors, at the time of SAN deployment or augmentation.
The determination of whether or not utilizing an input produces an error may depend on any one of, or a combination of, a number of different criteria. Part of the determination may include simply evaluating whether the input format is appropriate for the intended utilization. For example, a hexadecimal value would not be appropriate for use as an IP address. Similarly, a pure number value would be inappropriate for use in a field that calls for a text string.
Part of the determination may include actively utilizing the input, and evaluating whether the expected response to the utilization occurs (i.e., that the input actually works for its intended purpose). Examples of input that may be utilized to determine if the input works for its intended purpose include (1) IP address, (2) Subnet mask, (3) Default gateway, (4) Domain Name Server (DNS), (5) Network Time Protocol (NTP), (6) server addresses, (7) SYSLOG server, among others known to be associated with a SAN deployment.
In one embodiment, the determination (108a, 108b) of whether utilization of an input causes an error to occur is made each and every time the input (or an updated input) is received. In some embodiments, the determination (108a, 108b) is made as the input is received. In other embodiments, the determination (108a, 108b) is made for two or more inputs as a batch. The batch determination may be made upon user initiation, upon a predetermined threshold number of inputs being received, or upon other suitable criteria.
The determination (108a, 108b) may evaluate appropriate configuration of associated devices such as (1) email server, (2) SYSLOG server, (3) SNMP server, among others, so that potential problems may be identified as part of the deployment.
For an augmented SAN deployment, where one or more additional storage arrays are added to an existing SAN, input from a user may relate to information unique to the additional storage arrays. The input in this case may need to be compatible with the currently running SAN configuration (i.e., the SAN configuration that the additional storage arrays will be augment), so that the input may be compared to corresponding parameters from the existing SAN configuration.
As illustrated in
If one or more arrays are being added 316, any new information relating to the added arrays are compared 318 against the existing configuration for validity. If a configuration mismatch exists 320, the user is notified of the mismatch 322 and the process ends 314. The user may also receive information concerning the nature of the mismatch to aid in correcting the problem. If no configuration mismatch exists, the user is notified that the configuration is valid 326 and the validation process ends 314.
For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, calculate, determine, classify, process, transmit, receive, retrieve, originate, switch, store, display, communicate, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an information handling system may be a personal computer (e.g., desktop or laptop), tablet computer, mobile device (e.g., personal digital assistant (PDA) or smart phone), server (e.g., blade server or rack server), 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 random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, touchscreen and/or 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 apparent that one or more embodiments described herein may be implemented in many different forms of software and hardware. Software code and/or specialized hardware used to implement embodiments described herein is not limiting of the embodiments of the invention described herein. Thus, the operation and behavior of embodiments are described without reference to specific software code and/or specialized hardware—it being understood that one would be able to design software and/or hardware to implement the embodiments based on the description herein.
Further, certain embodiments of the example embodiments described herein may be implemented as logic that performs one or more functions. This logic may be hardware-based, software-based, or a combination of hardware-based and software-based. Some or all of the logic may be stored on one or more tangible, non-transitory, computer-readable storage media and may include computer-executable instructions that may be executed by a controller or processor. The computer-executable instructions may include instructions that implement one or more embodiments of the invention. The tangible, non-transitory, computer-readable storage media may be volatile or non-volatile and may include, for example, flash memories, dynamic memories, removable disks, and non-removable disks.
While this invention has been particularly shown and described with references to example embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.
Claims
1. A method of validating a network deployment, comprising:
- by a computer-based information handling system comprising: a processor; and a memory with computer code instructions stored thereon, the memory operatively coupled to the processor such that, when executed by the processor, the computer code instructions cause the information handling system to implement: receiving, from a user, deployment information comprising parameters for a Storage Area Network (SAN) deployment, the deployment information comprising at least (i) default gateway, (ii) domain name server, (iii) network time protocol and (iv) SYSLOG server elements; in response to having received direction from the user to validate the SAN deployment, utilizing each element of the deployment information received from the user when the element of the deployment information is received, wherein the utilizing does not occur as a batch; determining, as each element of the deployment information is utilized, a response to the utilization of the element of the deployment information; notifying the user of an abnormal response to the utilization of the element of the deployment information, the notifying comprising an alert identifying an invalid network configuration; comparing the received deployment information for the SAN deployment to corresponding deployment information of a currently running SAN; determining a configuration mismatch exists; and
- in response to determining the configuration mismatch exists, notifying the user of the configuration mismatch and providing the user with information that characterizes the configuration mismatch.
2. The method of claim 1, wherein utilizing deployment information received from the user includes applying a server IP address when the server IP address is received.
3. The method of claim 1, wherein utilizing deployment information received from the user includes applying a subnet mask when the subnet mask is received.
4. The method of claim 1, wherein utilizing deployment information received from the user includes applying a default gateway when the default gateway is received.
5. The method of claim 1, wherein utilizing deployment information received from the user includes applying a domain name server address when the domain name server address is received.
6. The method of claim 1, wherein utilizing deployment information received from the user includes applying a network time protocol when the network time protocol is received.
7. The method of claim 1, wherein the invalid configuration is a mismatched subnet.
8. The method of claim 1, wherein the invalid configuration is an incorrect gateway.
9. The method of claim 1, wherein the notifying further includes disclosing one or more aspects of the abnormal response.
10. A non-transitory computer-readable medium with computer code instruction stored thereon, the computer code instructions, when executed by a processor, cause an apparatus to:
- receive, from a user, deployment information comprising parameters for a Storage Area Network (SAN) deployment, the deployment information comprising at least (i) default gateway, (ii) domain name server, (iii) network time protocol and (iv) SYSLOG server elements;
- in response to having received direction from the user to validate the SAN deployment, utilize each element of the deployment information received from the user when the element of the deployment information is received, wherein the utilizing does not occur as a batch;
- determine, as each element of the deployment information is utilized, a response to the utilization of the element of the deployment information;
- notify the user of an abnormal response to the utilization of the element of the deployment information, the notifying comprising an alert identifying an invalid network configuration; compare the received deployment information for the SAN deployment to corresponding deployment information of a currently running SAN;
- determine a configuration mismatch exists; and
- in response to determining the configuration mismatch exists, notify the user of the configuration mismatch and provide the user with information that characterizes the configuration mismatch.
6754844 | June 22, 2004 | Mitchell |
7349961 | March 25, 2008 | Yamamoto |
7397770 | July 8, 2008 | Le |
7496551 | February 24, 2009 | Jalagam |
7814192 | October 12, 2010 | Kumar |
7817583 | October 19, 2010 | Graves |
7881967 | February 1, 2011 | Srinivasan |
7886031 | February 8, 2011 | Taylor |
8024440 | September 20, 2011 | Jibbe |
8046477 | October 25, 2011 | Arutla |
8301739 | October 30, 2012 | Krishnan |
8341251 | December 25, 2012 | Gao |
8572679 | October 29, 2013 | Wang |
8880690 | November 4, 2014 | Kennedy |
9170737 | October 27, 2015 | Gugliemino |
20030055932 | March 20, 2003 | Brisse |
20030140128 | July 24, 2003 | Cox |
20030187985 | October 2, 2003 | Rohling |
20040165544 | August 26, 2004 | Cornett |
20050086494 | April 21, 2005 | Carley |
20050125438 | June 9, 2005 | Krishnaswamy |
20050198631 | September 8, 2005 | Bisher |
20060080318 | April 13, 2006 | Huston |
20060168070 | July 27, 2006 | Thompson |
20080172480 | July 17, 2008 | Agrawal |
20080205300 | August 28, 2008 | Le |
20090013162 | January 8, 2009 | Nandan |
20090100000 | April 16, 2009 | Chen |
20090240713 | September 24, 2009 | Jia |
20100287266 | November 11, 2010 | Asati |
20110016202 | January 20, 2011 | Ye |
20120030526 | February 2, 2012 | Matsuda |
20120185925 | July 19, 2012 | Barkie |
20130151975 | June 13, 2013 | Shadi |
20140064149 | March 6, 2014 | Frey |
20150188775 | July 2, 2015 | Van Der Walt |
20150222592 | August 6, 2015 | Andrews |
20150271130 | September 24, 2015 | McCallum |
20150277804 | October 1, 2015 | Arnold |
20160087842 | March 24, 2016 | Tang |
20160337187 | November 17, 2016 | Gopalarathnam |
- Agrawal et al., “Policy-Based Validation of San Configuration”, 5th IEEE International Workshop on Policies for Distributed Systems and Networks, Jun. 2004, pp. 77-86.
Type: Grant
Filed: Jan 20, 2015
Date of Patent: Nov 19, 2019
Patent Publication Number: 20160212013
Assignee: Dell Products, LP (Round Rock, TX)
Inventors: Robert B. Jacoby (Merrimack, NH), Kenneth Paul Boyd (Tyngsboro, MA), Carlos Reyes (Nashua, NH)
Primary Examiner: Vivek Srivastava
Assistant Examiner: William C McBeth
Application Number: 14/600,189
International Classification: H04L 12/24 (20060101); H04L 29/08 (20060101);