RAID card upgrade method and device, storage medium and electronic device

By automatically determining the upgrade time window of the RAID card and upgrading within that time, the problem of time managers requiring regular query and experience judgment during the RAID card firmware upgrade is solved, and the automated upgrade of the RAID card is realized, and efficiency and reliability are improved.

CN118626124BActive Publication Date: 2025-01-03SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411118489.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-15
Publication Date
2025-01-03
Estimated Expiration
2044-08-15

AI Technical Summary

Technical Problem

In the prior art, firmware upgrades of RAID cards require administrators to query and download firmware packages regularly, and the upgrade time needs to be determined based on experience, which poses a risk of time and operational errors.

Method used

By obtaining the load parameters of the target server in the server cluster, the upgrade time window of the RAID card is automatically determined and automatically upgraded within the time window, including predicting load values, integrity and correctness verification, rollback mechanism, etc.

Benefits of technology

It reduces the workload of managers, avoids the risks of timed inquiries and empirical judgments, realizes the automated upgrade of RAID cards, and improves the upgrade efficiency and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118626124B_ABST
    Figure CN118626124B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a method and device for upgrading a RAID card, a storage medium, and an electronic device, wherein the method for upgrading the RAID card includes: obtaining a target server in a server cluster, wherein the target server is a server in the server cluster to be upgraded with firmware; determining the load parameter of the RAID card in the target server, and determining the upgrade time window corresponding to the RAID card according to the load parameter, wherein the load parameter is used to indicate the parameter affecting the load of the RAID card; and upgrading the RAID card within the upgrade time window. The above method can solve the problem in the related art that the administrator needs to regularly query whether the server needs to be upgraded, and the administrator needs to determine the time to upgrade the RAID card based on experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of communications, and in particular, to a method and device for upgrading a RAID card, a storage medium, and an electronic device. Background Art

[0002] At present, the Redundant Array of Independent Disks card (RAID card) in the server system is one of the important components to ensure data storage and redundancy. However, with the continuous development of technology, the update and upgrade of RAID card firmware has become crucial. The traditional firmware upgrade method usually uses the special configuration management software or firmware upgrade software provided by the RAID card manufacturer. The administrator needs to manually query and download the corresponding version of the firmware package, management software and firmware upgrade package from the official website, and then manually execute the upgrade command to complete the firmware upgrade operation. Although this method provides a feasible upgrade solution, the use of these software requires administrators to actively query, download and update the firmware regularly, and also requires administrators to spend extra learning and configuration time, which is not only time-consuming but also has the risk of operational errors.

[0003] Therefore, the problem in the related art that the administrator needs to regularly query whether the server needs to be upgraded and the administrator needs to determine the time to upgrade the RAID card based on experience has not been effectively solved. Summary of the invention

[0004] The embodiments of the present application provide a method and device for upgrading a RAID card, a storage medium, and an electronic device, so as to at least solve the problem in the related art that an administrator needs to regularly query whether a server needs to be upgraded, and needs to determine the time to upgrade the RAID card based on experience.

[0005] According to one embodiment of the present application, a method for upgrading a RAID card is provided, comprising: obtaining a target server in a server cluster, wherein the target server is a server in the server cluster whose firmware is to be upgraded; determining a load parameter of the RAID card in the target server, and determining an upgrade time window corresponding to the RAID card based on the load parameter, wherein the load parameter is used to indicate a parameter that affects the load of the RAID card; and upgrading the RAID card within the upgrade time window.

[0006] In an exemplary embodiment, the load data of the RAID card is determined, and an upgrade time window corresponding to the RAID card is determined according to the load parameters, including: collecting the load parameters of the RAID card based on a preset time period; predicting multiple load values ​​of the RAID card in a first time period according to multiple load parameters; and determining the upgrade time window according to the multiple load values.

[0007] In an exemplary embodiment, predicting multiple load values ​​of the RAID card within a first time period based on multiple load parameters includes: determining a weight corresponding to each load parameter based on a preset loss function; and predicting multiple load values ​​of the RAID card within a target time period based on each load parameter and the weight corresponding to each load parameter.

[0008] In an exemplary embodiment, determining the upgrade time window based on the multiple load values ​​includes: determining a size relationship among the multiple load values; determining a minimum load value among the multiple load values ​​based on the size relationship; and determining a second time period corresponding to the minimum load value as the upgrade time window.

[0009] In an exemplary embodiment, before upgrading the RAID card within the upgrade time window, the method further includes: querying the current version information and the latest version information corresponding to the RAID card; comparing the current version information with the latest version information to determine whether to allow the RAID card to be upgraded based on the comparison result.

[0010] In an exemplary embodiment, the current version information and the latest version information are compared to determine whether to allow the RAID card to be upgraded based on the comparison result, including: when the comparison result indicates that the current version information is inconsistent with the latest version information, determining that upgrading the RAID card is allowed; when the comparison result indicates that the current version information is consistent with the latest version information, determining that upgrading the RAID card is prohibited.

[0011] In an exemplary embodiment, after determining that the RAID card is allowed to be upgraded, the method also includes: obtaining the firmware file corresponding to the latest version information; performing an integrity check and a correctness check on the firmware file to determine the integrity and correctness of the firmware file; and when it is determined that the firmware file passes the integrity check and the correctness check, determining the firmware file as the target file for upgrading the RAID card.

[0012] In an exemplary embodiment, the RAID card is upgraded within the upgrade time window, including: a determination step: determining whether the current time is any time within the upgrade time window; if it is determined that the current time is not any time within the upgrade time window, looping the determination step until it is determined that the current time is any time within the upgrade time window, sending an upgrade command to the RAID card to instruct the RAID card to upgrade.

[0013] In an exemplary embodiment, sending an upgrade command to the RAID card to instruct the RAID card to upgrade includes: sending the upgrade command to the RAID card so that the RAID card determines whether the RAID card has an ongoing target operation; if it is determined that the RAID card has the target operation, instructing the RAID card to suspend the target operation and perform an upgrade; if the RAID card determines that the RAID card does not have the target operation, instructing the RAID card to upgrade.

[0014] In an exemplary embodiment, upgrading the RAID card within the upgrade time window includes: during the process of upgrading the RAID card, monitoring the upgrade process of the RAID card in real time to determine whether there is an erroneous process in the upgrade process; if it is determined that there is an erroneous process in the upgrade process, communicating with the RAID card to determine whether the RAID card is allowed to roll back to the RAID card version before the upgrade; if it is determined that the RAID card is allowed to roll back to the RAID card version before the upgrade, rolling back the RAID card to the RAID card version before the upgrade and triggering an alarm mechanism.

[0015] In an exemplary embodiment, after upgrading the RAID card within the upgrade time window, the method further includes: determining an upgrade result of the RAID card when it is determined that the upgrade of the RAID card is completed; obtaining an upgrade report of the RAID card when the upgrade result indicates that the upgrade of the RAID card has failed; and sending the upgrade report to a target object so that the target object determines the cause of the upgrade failure.

[0016] According to another embodiment of the present application, a RAID card upgrade device is provided, including: an acquisition module, used to acquire a target server in a server cluster, wherein the target server is a server in the server cluster whose firmware is to be upgraded; a determination module, used to determine a load parameter of the RAID card in the target server, and determine an upgrade time window corresponding to the RAID card according to the load parameter, wherein the load parameter is used to indicate a parameter that affects the load of the RAID card; and an upgrade module, used to upgrade the RAID card within the upgrade time window.

[0017] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps in the above method embodiment when running.

[0018] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in the above method embodiment.

[0019] According to another embodiment of the present application, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps in the above method embodiment are implemented.

[0020] Through the RAID card upgrade method of the present application, the target server to be upgraded for firmware in the server cluster is obtained; the load parameters of the RAID card in the target server are determined, and the upgrade time window corresponding to the RAID card is determined according to the load parameters, and then the RAID is upgraded within the upgrade time window. In other words, the embodiment of the present application can determine the upgrade time window for upgrading the RAID card through the load parameters of the RAID card in the target server, and can automatically upgrade the RAID within the upgrade time window. Through the embodiment of the present application, the problem that the administrator needs to regularly query whether the server needs to be upgraded, and the administrator needs to determine the time to upgrade the RAID card based on experience in the related technology can be solved. There is no need for the administrator to regularly query whether the server needs to be upgraded, and there is no need for the administrator to determine the time to upgrade the RAID card based on experience, thereby reducing the workload of the administrator. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] Figure 1 It is a hardware structure block diagram of a computer terminal of a RAID card upgrade method according to an embodiment of the present application;

[0022] Figure 2 is a flow chart of a method for upgrading a RAID card according to an embodiment of the present application;

[0023] Figure 3 is an architectural diagram of an intelligent automated RAID card firmware upgrade system according to an embodiment of the present application;

[0024] Figure 4 is a flow chart of an intelligent automatic RAID card firmware upgrade method according to an embodiment of the present application;

[0025] Figure 5 is a flow chart of a rollback mechanism according to an optional embodiment of the present application;

[0026] Figure 6 It is a structural block diagram of a RAID card upgrade device according to an embodiment of the present application. DETAILED DESCRIPTION

[0027] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0028] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0029] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking running on a computer terminal as an example, Figure 1 FIG. 1 is a hardware structure block diagram of a computer terminal of a RAID card upgrade method according to an embodiment of the present application. Figure 1 As shown, the computer terminal may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the above-mentioned computer terminal may also include a transmission device 106 and an input and output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above-mentioned computer terminal. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.

[0030] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the method for determining the interactive state in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories can be connected to the computer terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0031] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of a computer terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0032] Figure 2 is a flow chart of a method for upgrading a RAID card according to an embodiment of the present application, such as Figure 2 As shown, the process includes the following steps:

[0033] Step S202, obtaining a target server in the server cluster, wherein the target server is a server in the server cluster to be upgraded with firmware;

[0034] The server cluster includes: a plurality of servers. In the embodiment of the present application, the target server includes: a server to be upgraded with firmware, and the firmware upgrade in the embodiment of the present application refers to a RAID card upgrade.

[0035] Step S204, determining a load parameter of the RAID card in the target server, and determining an upgrade time window corresponding to the RAID card according to the load parameter, wherein the load parameter is used to indicate a parameter that affects the load of the RAID card;

[0036] The above load parameters may include: bandwidth of the RAID card, etc.

[0037] Step S206: upgrading the RAID card within the upgrade time window.

[0038] Through the RAID card upgrade method of the present application, the target server to be upgraded for firmware in the server cluster is obtained; the load parameters of the RAID card in the target server are determined, and the upgrade time window corresponding to the RAID card is determined according to the load parameters, and then the RAID is upgraded within the upgrade time window. In other words, the embodiment of the present application can determine the upgrade time window for upgrading the RAID card through the load parameters of the RAID card in the target server, and can automatically upgrade the RAID within the upgrade time window. Through the embodiment of the present application, the problem that the administrator needs to regularly query whether the server needs to be upgraded, and the administrator needs to determine the time to upgrade the RAID card based on experience in the related technology can be solved. There is no need for the administrator to regularly query whether the server needs to be upgraded, and there is no need for the administrator to determine the time to upgrade the RAID card based on experience, thereby reducing the workload of the administrator.

[0039] Optionally, the above-mentioned step S204 of determining the load data of the RAID card, and determining the upgrade time window corresponding to the RAID card according to the load parameters, includes: collecting the load parameters of the RAID card based on a preset time period; predicting multiple load values ​​of the RAID card in a first time period according to multiple load parameters; and determining the upgrade time window according to the multiple load values.

[0040] It is understandable that the embodiment of the present application can automatically determine the upgrade time window, that is, the embodiment of the present application can automatically determine the time when the RAID card is allowed to be upgraded.

[0041] The technical solution of automatically determining the upgrade time window solves the problem in related technologies that managers need to determine the time to upgrade the RAID card based on experience, thereby reducing the workload of managers.

[0042] Among them, predicting multiple load values ​​of the RAID card in a first time period according to multiple load parameters includes: determining the weight corresponding to each load parameter based on a preset loss function; predicting multiple load values ​​of the RAID card in a target time period according to each load parameter and the weight corresponding to each load parameter.

[0043] It is understandable that the weight corresponding to each load parameter can be determined according to the preset loss function, and then each load parameter and the weight corresponding to each load parameter are substituted into: Then, multiple load values ​​can be predicted. , Indicates the parameters that affect the RAID card load (i.e. the load parameters of this application). , , , Indicates the weight corresponding to each load parameter.

[0044] Among them, determining the upgrade time window according to the multiple load values ​​includes: determining the size relationship between the multiple load values; determining the minimum load value among the multiple load values ​​according to the size relationship; and determining the second time period corresponding to the minimum load value as the upgrade time window.

[0045] It is understandable that after predicting multiple load values, it is possible to specify a time period with lower loads for upgrading, wherein the time period with lower loads is the upgrade time window. Upgrading the RAID card during the time period with lower loads can reduce the impact on system performance, while improving upgrade efficiency and shortening upgrade time.

[0046] Optionally, before upgrading the RAID card within the upgrade time window of the above step S206, the method also includes: querying the current version information and the latest version information corresponding to the RAID card; comparing the current version information with the latest version information to determine whether to allow the RAID card to be upgraded based on the comparison result.

[0047] Wherein, the current version information and the latest version information are compared to determine whether to allow the RAID card to be upgraded according to the comparison result, including: when the comparison result indicates that the current version information is inconsistent with the latest version information, determining that the RAID card is allowed to be upgraded; when the comparison result indicates that the current version information is consistent with the latest version information, determining that the RAID card is prohibited from being upgraded.

[0048] It is understandable that before upgrading the RAID card, it is necessary to determine whether the RAID card needs to be upgraded. Specifically, the official website of the RAID card manufacturer or other trusted firmware database can be automatically queried regularly to obtain the latest version information. The RAID card on the server can also be communicated to obtain the current version information.

[0049] The latest firmware information is compared with the current version information to determine whether updated firmware is available. If it is determined that updated firmware is available, it is determined that the RAID card needs to be updated.

[0050] Through the above technical solution, the administrator does not need to manually query whether the RAID card needs to be updated regularly, but automatically and regularly determines the current version information and the latest version information, which saves query efficiency and reduces the workload of administrators.

[0051] Among them, after determining that the RAID card is allowed to be upgraded, the method also includes: obtaining the firmware file corresponding to the latest version information; performing integrity check and correctness check on the firmware file to determine the integrity and correctness of the firmware file; when it is determined that the firmware file passes the integrity check and the correctness check, determining the firmware file as the target file for upgrading the RAID card.

[0052] It is understandable that after determining that the RAID card needs to be upgraded, the downloaded firmware file needs to be checked for integrity and correctness. By checking the integrity and correctness of the firmware file, it is possible to reduce the need to re-download due to update failures caused by incorrect or mismatched firmware files, saving time and network resources and improving update efficiency.

[0053] Optionally, the above-mentioned step S206 of upgrading the RAID card within the upgrade time window includes: a determination step: determining whether the current time is any time within the upgrade time window; if it is determined that the current time is not any time within the upgrade time window, looping the determination step until it is determined that the current time is any time within the upgrade time window, sending an upgrade command to the RAID card to instruct the RAID card to upgrade.

[0054] Among them, sending an upgrade command to the RAID card to instruct the RAID card to upgrade includes: sending the upgrade command to the RAID card to enable the RAID card to determine whether the RAID card has an ongoing target operation; if it is determined that the RAID card has the target operation, instructing the RAID card to suspend the target operation and upgrade; if the RAID card determines that the RAID card does not have the target operation, instructing the RAID card to upgrade.

[0055] It can be seen from the above technical solution that an upgrade command can be sent to the RAID card within the upgrade time window. When the RAID card receives the upgrade command, it can suspend the currently executed operation and automatically upgrade.

[0056] That is to say, upgrading the RAID card within the upgrade time window requires establishing a connection with the RAID card, and then sending an upgrade command to the RAID card so that the RAIDD card is upgraded.

[0057] Optionally, the above-mentioned step S206 of upgrading the RAID card within the upgrade time window also includes: during the process of upgrading the RAID card, real-time monitoring the upgrade process of the RAID card to determine whether there is an erroneous process in the upgrade process; when it is determined that there is an erroneous process in the upgrade process, communicating with the RAID card to determine whether the RAID card is allowed to roll back to the RAID card version before the upgrade; when it is determined that the RAID card is allowed to roll back to the RAID card version before the upgrade, rolling back the RAID card to the RAID card version before the upgrade, and triggering an alarm mechanism.

[0058] It is understandable that the firmware upgrade solution has a flexible rollback mechanism that allows rolling back to any previous version in most cases. However, in order to ensure the security of the system, once a version fixes a security-related issue, subsequent versions will not be able to roll back to the version before the fix. The embodiment of the present application proposes a rollback mechanism to ensure that the system can quickly recover to the version before the upgrade when an error occurs during the upgrade process, thereby providing upgrade reliability.

[0059] Optionally, after upgrading the RAID card within the upgrade time window in the above step S206, the method further includes: determining an upgrade result of the RAID card when it is determined that the upgrade of the RAID card is completed; obtaining an upgrade report of the RAID card when the upgrade result indicates that the upgrade of the RAID card has failed; and sending the upgrade report to a target object so that the target object determines the cause of the upgrade failure.

[0060] It is understandable that the above upgrade results may be: upgrade success, upgrade failure, or rollback.

[0061] In order to better understand the process of the upgrade method of the above-mentioned RAID card, the implementation process of the upgrade method of the above-mentioned RAID card is described below in combination with an optional embodiment, but it is not used to limit the technical solution of the embodiment of the present application.

[0062] At present, general RAID cards are used for data storage in various industries. Generally, upgrade plans are arranged to be carried out when the storage system load is low. However, the active time of the storage system using RAID cards varies. Administrators need to find an upgrade time with low load based on experience.

[0063] In response to the above problems, an optional embodiment of the present application provides an intelligent and automated RAID card firmware upgrade method and system, which does not require users to manually download firmware and perform upgrade operations. Instead, the firmware upgrade is achieved by automatically querying the upgradeable firmware through the server. In addition, by adopting an intelligent prediction algorithm, the idle time when the RAID card and the host load are low is predicted, so as to achieve the firmware upgrade of the RAID card. Furthermore, if an error occurs during the upgrade, it can be returned to the version before the upgrade. The cumbersome and risky problems in the RAID card firmware upgrade process are solved, and an efficient and reliable upgrade method is provided. The optional embodiment of the present application enables server administrators to easily upgrade the RAID card firmware, thereby achieving effective management and optimization of the server system.

[0064] Figure 3 is an architectural diagram of an intelligent automatic RAID card firmware upgrade system according to an embodiment of the present application, such as Figure 3 As shown, an intelligent automatic RAID card firmware upgrade system mainly comprises: a RAID card firmware upgrade management system, a server host equipped with a RAID card, and a RAID card. Among them:

[0065] The RAID card firmware upgrade management system is deployed on the cluster management server to manage the RAID card firmware upgrade. It includes discovering the RAID controller information in the cluster, obtaining the latest RAID card firmware package, predicting the RAID card upgrade time, formulating upgrade tasks, executing upgrade operations, rolling back and logging after upgrade failure, etc.

[0066] The host is a server or computer (Personal Computer, referred to as PC) equipped with a RAID card;

[0067] The RAID card is hardware installed in the server chassis and is the object of the upgrade.

[0068] The purpose of the optional embodiment of the present application is to provide a RAID card firmware upgrade method and system based on an intelligent automatic upgrade server to solve the problems of traditional firmware upgrade methods. Figure 4 is a flow chart of an intelligent automatic RAID card firmware upgrade method according to an embodiment of the present application, which is applied to Figure 3 In the system, such as Figure 4 As shown:

[0069] Step S401: system initialization and configuration.

[0070] 1) Install and configure the RAID card firmware upgrade management system on the cluster management server, including installing the software and performing necessary configurations, such as network settings, permission settings, etc.

[0071] 2) The RAID card firmware upgrade management system can self-discover the server (i.e., the target server of this application) in the cluster (i.e., the server cluster of this application) and obtain the RAID card information configured on the server. The RAID card firmware upgrade management software will enter all the servers that need to be upgraded into the management system, including the server IP address, RAID card model, firmware version, etc.

[0072] 3) Set the upgrade strategy to specify the upgrade in the time period with low load. The load indicators that users are concerned about can be configured, such as Input / Output Operations Per Second (IOPS), bandwidth, Input / Output (IO) time consumption, Central Processing Unit (CPU) occupancy rate, etc.

[0073] Step S402: load forecasting and upgrade planning.

[0074] 1) The RAID card firmware upgrade management system collects load data of RAID cards and hosts in the server cluster, including load history records and real-time performance data.

[0075] 2) Use intelligent prediction algorithms to analyze load data and predict the time period with lower load (i.e., the second time period of this application). Specifically:

[0076] Collect load data and calculate single load:

[0077] ;

[0078] Written in matrix form: ;

[0079] in, , Indicates the parameters that affect the RAID card load (i.e., the load parameters of this application). The load parameters can be: IOPS, bandwidth, IO time, CPU usage, etc. , , , Indicates the weight corresponding to each load parameter.

[0080] ;

[0081] represents a data sample matrix, m is the number of samples. For example, sampling is performed once every 10 minutes, and sampling is performed for 1 week, that is, m=1008, and n is the number of parameters that affect the RAID card load. In an optional embodiment of the present application, n=4.

[0082] Furthermore, the weight value corresponding to the parameter of each load is calculated by the following loss function (ie, the target loss function of the present application), where Y is the sampled load vector:

[0083] ;

[0084] ;

[0085] .

[0086] The value of each weight is determined by taking partial derivatives of each weight respectively, wherein, in an optional embodiment of the present application, the step length α=0.16h, i.e., 10min:

[0087] ;

[0088] ;

[0089] .

[0090] Thus, the RAID card load parameters and the weights of IOPS, bandwidth, IO time, and CPU occupancy can be calculated, so as to predict the future RAID card load value and find the optimal load value time (i.e., the second time period of this application) to perform the upgrade operation.

[0091] 3) Generate an upgrade plan based on the prediction results and determine the upgrade time window for each RAID card.

[0092] Step S403: query and download firmware information.

[0093] 1) The RAID card firmware upgrade management system periodically and automatically queries the official website of the RAID card manufacturer or other trusted firmware database to obtain the latest available firmware version information (i.e. the latest version information of this application).

[0094] 2) The RAID card firmware upgrade management system communicates with the RAID card on the server to obtain the currently installed firmware version information (ie, the current version information of this application).

[0095] 3) Compare the latest firmware version with the current version to determine if there is an updated firmware available.

[0096] 4) If there is an updated firmware available, the management system automatically downloads the firmware file and performs a check to ensure the integrity and correctness of the file (i.e., the integrity check and correctness check of this application).

[0097] Step S404: firmware upgrade.

[0098] 1) When the specified time window in the upgrade plan (i.e. the upgrade time window of this application) is reached, the management system triggers the firmware upgrade operation.

[0099] 2) The management system establishes a connection with the RAID card on the target server and sends a firmware upgrade command (i.e., the upgrade command of this application).

[0100] 3) After receiving the upgrade command, the RAID card suspends normal operation and starts the firmware upgrade process.

[0101] 4) The management system monitors the upgrade process, including firmware transfer and installation progress.

[0102] 5) Once the firmware upgrade is completed, the management system notifies the administrator and records the upgrade results.

[0103] Step S405: upgrade rollback and exception handling.

[0104] 1) If an error occurs during the firmware upgrade process, the management system identifies the anomaly and triggers a rollback operation.

[0105] The firmware upgrade solution has a flexible rollback mechanism that allows you to roll back to any previous version in most cases. However, to ensure the security of the system, once a version fixes a security-related issue, subsequent versions cannot be rolled back to the version before the fix. Figure 5 is a flow chart of a rollback mechanism according to an optional embodiment of the present application, such as Figure 5 As shown: When upgrading versions, the changes in each version will be carefully reviewed, with special attention paid to security issues. If a version is found to have a security vulnerability or problem and is fixed, then all versions after the fixed version will no longer be allowed to roll back to any version before the fixed version (for example: Figure 5 Version 4 in cannot be rolled back to version 3).

[0106] The rollback mechanism ensures a high level of attention and protection for system security, while still providing the flexibility to roll back in most cases. You can decide whether to roll back to a previous version based on the specific situation to balance system stability and security.

[0107] 2) The management system communicates with the RAID card and rolls back to the firmware version before the upgrade.

[0108] 3) The management system records the rollback results and triggers an alert or notifies the administrator to conduct necessary investigation and repair.

[0109] Step S406, record and report the upgrade results.

[0110] 1) The management system records the upgrade results of each RAID card, including upgrade success, failure, or rollback.

[0111] 2) Generate an upgrade report, including the upgrade date, time, firmware version changes, and detailed information of any abnormal events.

[0112] 3) Provide reports to administrators and other relevant personnel (i.e. the target audience of this application) to facilitate monitoring and evaluation of the effectiveness and reliability of the upgrade process.

[0113] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0114] In this embodiment, a RAID card upgrade device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0115] Figure 6 is a structural block diagram of an upgrade device for a RAID card according to an embodiment of the present application, such as Figure 6 As shown, the device comprises:

[0116] An acquisition module 62 is used to acquire a target server in a server cluster, wherein the target server is a server in the server cluster whose firmware is to be upgraded;

[0117] A determination module 64, configured to determine a load parameter of a RAID card in the target server, and determine an upgrade time window corresponding to the RAID card according to the load parameter, wherein the load parameter is used to indicate a parameter that affects the load of the RAID card;

[0118] The upgrade module 66 is used to upgrade the RAID card within the upgrade time window.

[0119] Through the upgrade device of the RAID card of the present application, the target server to be upgraded for firmware in the server cluster is obtained; the load parameters of the RAID card in the target server are determined, and the upgrade time window corresponding to the RAID card is determined according to the load parameters, and then the RAID is upgraded within the upgrade time window. In other words, the embodiment of the present application can determine the upgrade time window for upgrading the RAID card through the load parameters of the RAID card in the target server, and can automatically upgrade the RAID within the upgrade time window. Through the embodiment of the present application, the problem that the administrator needs to regularly query whether the server needs to be upgraded, and the administrator needs to determine the time to upgrade the RAID card based on experience in the related technology can be solved. There is no need for the administrator to regularly query whether the server needs to be upgraded, and there is no need for the administrator to determine the time to upgrade the RAID card based on experience, thereby reducing the workload of the administrator.

[0120] In an exemplary embodiment, the determination module 64 is further used to collect load parameters of the RAID card based on a preset time period; predict multiple load values ​​of the RAID card in a first time period based on multiple load parameters; and determine the upgrade time window based on the multiple load values.

[0121] In an exemplary embodiment, the determination module 64 is further used to determine the weight corresponding to each load parameter based on a preset loss function; and predict multiple load values ​​of the RAID card within a target time period according to each load parameter and the weight corresponding to each load parameter.

[0122] In an exemplary embodiment, the determination module 64 is further used to determine the size relationship between the multiple load values; determine the minimum load value among the multiple load values ​​based on the size relationship; and determine the second time period corresponding to the minimum load value as the upgrade time window.

[0123] In an exemplary embodiment, the upgrade module 66 is further used to query the current version information and the latest version information corresponding to the RAID card; compare the current version information with the latest version information to determine whether to allow the RAID card to be upgraded based on the comparison result.

[0124] In an exemplary embodiment, the upgrade module 66 is also used to determine that upgrading the RAID card is allowed when the comparison result indicates that the current version information is inconsistent with the latest version information; and to determine that upgrading the RAID card is prohibited when the comparison result indicates that the current version information is consistent with the latest version information.

[0125] In an exemplary embodiment, the upgrade module 66 is also used to obtain the firmware file corresponding to the latest version information; perform integrity check and correctness check on the firmware file to determine the integrity and correctness of the firmware file; when it is determined that the firmware file passes the integrity check and the correctness check, the firmware file is determined as the target file for upgrading the RAID card.

[0126] In an exemplary embodiment, the upgrade module 66 is also used for a determination step: determining whether the current time is any time within the upgrade time window; if it is determined that the current time is not any time within the upgrade time window, looping the determination step until it is determined that the current time is any time within the upgrade time window, sending an upgrade command to the RAID card to instruct the RAID card to upgrade.

[0127] In an exemplary embodiment, the upgrade module 66 is further used to send the upgrade command to the RAID card so that the RAID card determines whether the RAID card has an ongoing target operation; if it is determined that the RAID card has the target operation, instruct the RAID card to suspend the target operation and perform an upgrade; if the RAID card determines that the RAID card does not have the target operation, instruct the RAID card to upgrade.

[0128] In an exemplary embodiment, the upgrade module 66 is also used to monitor the upgrade process of the RAID card in real time during the process of upgrading the RAID card to determine whether there is an erroneous process in the upgrade process; if it is determined that there is an erroneous process in the upgrade process, communicate with the RAID card to determine whether the RAID card is allowed to roll back to the RAID card version before the upgrade; if it is determined that the RAID card is allowed to roll back to the RAID card version before the upgrade, roll back the RAID card to the RAID card version before the upgrade and trigger an alarm mechanism.

[0129] In an exemplary embodiment, the upgrade module 66 is further used to determine the upgrade result of the RAID card when it is determined that the upgrade of the RAID card is completed; obtain an upgrade report of the RAID card when the upgrade result indicates that the upgrade of the RAID card has failed; and send the upgrade report to the target object so that the target object can determine the reason for the upgrade failure.

[0130] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps in the above method embodiment when running.

[0131] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0132] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in the above method embodiment.

[0133] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0134] An embodiment of the present application further provides a computer program product, including a computer program, which is implemented to perform the steps in the above method embodiment when executed by a processor.

[0135] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0136] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0137] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A method for upgrading a RAID card, characterized in that: include: Acquire a target server in a server cluster, wherein the target server is a server in the server cluster to be upgraded with firmware; Determine a load parameter of a RAID card in the target server, and determine an upgrade time window corresponding to the RAID card according to the load parameter, wherein the load parameter is used to indicate a parameter that affects the load of the RAID card; Upgrading the RAID card within the upgrade time window; Wherein, determining the load data of the RAID card, and determining the upgrade time window corresponding to the RAID card according to the load parameters, includes: Collecting load parameters of the RAID card based on a preset time period; Determine the weight corresponding to each load parameter based on a preset loss function; Predicting multiple load values ​​of the RAID card within a target time period according to each load parameter and a weight corresponding to each load parameter; Determining the upgrade time window according to the multiple load values; Wherein, predicting multiple load values ​​of the RAID card within a target time period according to each load parameter and a weight corresponding to each load parameter includes: Each load parameter and the weight corresponding to each load parameter are input into to determine the multiple load values, wherein, for In matrix form, Used to indicate each load, x0=1, x1, x2, x n For each of the load parameters, θ0, θ1, θ2, θ n is the weight corresponding to each load parameter, Y is the load vector, J (θ0, θ1, …, θ n ) is the load value of the weight corresponding to each load parameter.

2. The method according to claim 1, characterized in that Determining the upgrade time window according to the multiple load values ​​includes: Determining a magnitude relationship between the multiple load values; Determining a minimum load value among the multiple load values ​​according to the magnitude relationship; A second time period corresponding to the minimum load value is determined as the upgrade time window.

3. The method according to claim 1, characterized in that Before upgrading the RAID card within the upgrade time window, the method further includes: Query the current version information and the latest version information corresponding to the RAID card; The current version information is compared with the latest version information to determine whether to allow the RAID card to be upgraded according to the comparison result.

4. The method according to claim 3, characterized in that Comparing the current version information with the latest version information to determine whether to allow the RAID card to be upgraded according to the comparison result, including: When the comparison result indicates that the current version information is inconsistent with the latest version information, determining that the RAID card is allowed to be upgraded; When the comparison result indicates that the current version information is consistent with the latest version information, it is determined that upgrading of the RAID card is prohibited.

5. The method according to claim 4, characterized in that After determining that the RAID card is allowed to be upgraded, the method further includes: Obtain the firmware file corresponding to the latest version information; Performing integrity check and correctness check on the firmware file to determine the integrity and correctness of the firmware file; When it is determined that the firmware file passes the integrity check and the correctness check, the firmware file is determined as a target file for upgrading the RAID card.

6. The method according to claim 1, characterized in that Upgrading the RAID card within the upgrade time window includes: Determining step: determining whether the current time is any time within the upgrade time window; When it is determined that the current time is not any time within the upgrade time window, the determination step is executed repeatedly until it is determined that the current time is any time within the upgrade time window, and an upgrade command is sent to the RAID card to instruct the RAID card to upgrade.

7. The method according to claim 6, characterized in that Sending an upgrade command to the RAID card to instruct the RAID card to upgrade includes: Sending the upgrade command to the RAID card so that the RAID card determines whether there is an ongoing target operation on the RAID card; In the case of determining that the RAID card has the target operation, instructing the RAID card to suspend the target operation and perform an upgrade; In a case where the RAID card determines that the target operation does not exist on the RAID card, the RAID card is instructed to perform an upgrade.

8. The method according to claim 1, characterized in that Upgrading the RAID card within the upgrade time window includes: During the process of upgrading the RAID card, monitoring the upgrading process of the RAID card in real time to determine whether there is an error process in the upgrading process; If it is determined that there is an error process in the upgrade process, communicating with the RAID card to determine whether to allow the RAID card to roll back to the RAID card version before the upgrade; In the case where it is determined that the RAID card is allowed to roll back to the RAID card version before the upgrade, the RAID card is rolled back to the RAID card version before the upgrade, and an alarm mechanism is triggered.

9. The method according to claim 1, characterized in that: After upgrading the RAID card within the upgrade time window, the method further includes: When it is determined that the upgrade of the RAID card is completed, determining the upgrade result of the RAID card; When the upgrade result indicates that the RAID card upgrade fails, obtaining an upgrade report of the RAID card; The upgrade report is sent to a target object so that the target object can determine the reason for the upgrade failure.

10. A RAID card upgrade device, characterized in that: include: An acquisition module, used to acquire a target server in a server cluster, wherein the target server is a server in the server cluster whose firmware is to be upgraded; A determination module, used to determine a load parameter of a RAID card in the target server, and determine an upgrade time window corresponding to the RAID card according to the load parameter, wherein the load parameter is used to indicate a parameter that affects the load of the RAID card; An upgrade module, used to upgrade the RAID card within the upgrade time window; Wherein, the determination module is further used to collect the load parameters of the RAID card based on a preset time period; determine the weight corresponding to each load parameter based on a preset loss function; predict multiple load values ​​of the RAID card within a target time period according to each load parameter and the weight corresponding to each load parameter; determine the upgrade time window according to the multiple load values; The determining module is further configured to input each load parameter and the weight corresponding to each load parameter into to determine the multiple load values, wherein, for In matrix form, Used to indicate each load, x0=1, x1, x2, x n For each of the load parameters, θ0, θ1, θ2, θ n is the weight corresponding to each load parameter, Y is the load vector, J (θ0, θ1, …, θ n ) is the load value of the weight corresponding to each load parameter.

11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method according to any one of claims 1 to 9 when executed by a processor.

12. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 9 are implemented.

13. A computer program product, comprising a computer program, characterized in that The computer program is used by a processor to execute the steps of the method described in any one of claims 1 to 9.

Citation Information

Patent Citations

  • Storage system upgrading method, electronic equipment and computer program product

    CN115202678A