Controller processing method, device, electronic device and medium
By obtaining the controller performance monitoring data and path transmission status in the multi-controlled storage control system, allowing or disabling processing operations, the business interruption problem caused by controller upgrades or failures is solved, ensuring business continuity and stability.
Patent Information
- Application Number
- CN202510725605.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-30
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2045-05-30
AI Technical Summary
In a multi-controlled storage control system, business interruption and downtime caused by controller upgrade or fault handling, which cannot meet the system's requirements for business continuity and stability.
By obtaining performance monitoring data of multiple controllers, we determine whether the service can be carried normally, and according to the path transmission status of the abnormal controller, we allow or disable processing operations, ensuring that the redundant and effective controllers are maintained and business interruptions caused by upgrades or failure processing are avoided.
It realizes that before and after the controller is upgraded or fault-solved, there is always a redundant controller to maintain operation, ensuring business continuity and stability, and avoiding business interruption and downtime.
Smart Images

Figure CN120234225B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer software technology, and in particular to controller processing methods, devices, electronic devices, and media. Background Art
[0002] In a multi-controller storage control system, only one controller typically handles services, while the other controllers remain idle or in standby mode. When a controller needs to be upgraded or experiences a failure, it must be powered off or restarted. However, when the sole controller carrying services requires an upgrade or fails and needs to be powered off or restarted, the upgrade or failure handling process inevitably leads to service interruption and system downtime, as there are no other controllers to share the workload. This fails to meet the system's requirements for service continuity and stability. Summary of the Invention
[0003] The present application provides a controller processing method, device, electronic device and medium to at least solve the problem of business interruption and downtime caused by controller upgrade or failure in the related art.
[0004] This application provides a controller processing method, including:
[0005] acquiring a plurality of performance monitoring data of a plurality of controllers in response to a processing signal of a controller to be processed, the processing signal comprising at least one of a controller upgrade signal and a controller fault signal;
[0006] Determine whether multiple controllers can normally carry services based on multiple performance monitoring data;
[0007] If there is at least one abnormal controller among multiple controllers that cannot carry business normally, then the controller to be processed is determined to determine whether it allows the processing operation corresponding to the processing signal based on the path transmission status of the abnormal controller, and the controller to be processed is processed if the processing operation is allowed. The path transmission status is obtained from the target device.
[0008] The present application also provides a controller processing device, comprising:
[0009] an acquiring unit, configured to acquire a plurality of performance monitoring data of a plurality of controllers in response to a processing signal of a controller to be processed, wherein the processing signal includes at least one of a controller upgrade signal and a controller fault signal;
[0010] a determination unit, configured to determine whether the multiple controllers can normally carry services based on the multiple performance monitoring data;
[0011] The processing unit is used to determine whether the controller to be processed allows the processing operation corresponding to the processing signal based on the path transmission status of the abnormal controller if there is at least one abnormal controller that cannot carry business normally among multiple controllers, and process the controller to be processed if the processing operation is allowed, and the path transmission status is obtained from the target device.
[0012] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned controller processing methods when executing the computer program.
[0013] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned controller processing methods are implemented.
[0014] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above controller processing methods when executed by a processor.
[0015] Through this application, in response to the processing signal of the controller to be processed, multiple performance monitoring data of multiple controllers are obtained, and the processing signal includes at least one of a controller upgrade signal and a controller fault signal; based on the multiple performance monitoring data, it is determined whether the multiple controllers can normally carry the business; if there is at least one abnormal controller among the multiple controllers that cannot normally carry the business, then based on the path transmission status of the abnormal controller, it is determined whether the controller to be processed allows the processing operation corresponding to the processing signal, and the controller to be processed is processed if the processing operation is allowed, and the path transmission status is obtained from the target device. It is achieved that before the controller to be processed is upgraded or the fault is handled, there is always a redundant and effective controller to maintain operation, thereby avoiding business interruption and downtime caused by controller upgrade or fault handling, and ensuring business continuity and stability. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0017] Figure 1 A flowchart of a controller processing method provided in an embodiment of the present application;
[0018] Figure 2 A flowchart of another controller processing method provided in an embodiment of the present application;
[0019] Figure 3 A schematic diagram of a specific controller upgrade process provided in an embodiment of the present application;
[0020] Figure 4 A schematic diagram of a specific controller fault processing flow provided in an embodiment of the present application;
[0021] Figure 5 A schematic diagram of a specific hardware fault handling method provided in an embodiment of the present application;
[0022] Figure 6 A schematic diagram of a specific multi-controller storage control system provided in an embodiment of the present application;
[0023] Figure 7 A schematic diagram of the structure of a controller processing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0024] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0025] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.
[0026] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0027] As digitalization accelerates, the generation and storage demand for high-value information, such as financial transaction data, scientific research data, and core industrial parameters, is growing exponentially. This data is non-renewable and reliant on business continuity, necessitating secure and persistent storage using specialized storage devices. While current specialized storage devices strive for high performance (such as IOPS throughput and low latency) and versatility (multi-protocol compatibility and snapshot backup), their reliability bottleneck lies in their ability to maintain stable operation under extreme operating conditions.
[0028] In a multi-controller storage control system, if a single controller fails due to hardware failures such as CPU, memory, or fans, the controller may not be able to handle services properly, leading to unexpected anomalies. Furthermore, software code issues can also prevent the controller from processing services properly.
[0029] The main mechanisms for handling controller failures in current related technologies are:
[0030] 1) Hardware failures are often displayed in the form of alarms, such as CPU overload, fan overheating, etc., to remind users to pay attention.
[0031] 2) Regarding software failures, if a controller fails, it will automatically restart. During the restart, other controllers will continue to carry services without affecting customer services. In addition, some vendors' storage systems support path migration, whereby services from a failed controller are taken over by other controllers. For IP-SAN and FC-SAN services, this allows services to be migrated to another controller when the same type of port failure occurs.
[0032] However, the current related technologies have the following problems:
[0033] 1) When a hardware failure occurs, the controller may continue to carry services for a period of time, with a certain delay. Users may not notice or pay enough attention to it. If a failure occurs, services may be temporarily interrupted due to reasons such as host path switching and temporary storage system silence. In addition, if other controllers in the same storage system also temporarily fail at this time, the entire system will be interrupted.
[0034] 2) Software failures, primarily due to software bugs, cause the controller program process to restart, causing the peer node to carry services, or the port carrying services to drift to the partner node port, with the partner node then carrying the services of the failed node. First, when a controller fails, the partner node must continue to carry services. On-site customer scenarios often encounter multi-controller storage control systems where only one controller carries services. Failure or upgrades of the service-carrying controller can lead to service interruption and downtime. Second, for storage systems that support drift, drift is often strictly restricted. For example, network ports must be of the same speed and in the same slot.
[0035] It can be seen that related technologies will cause business interruption when nodes fail or are upgraded.
[0036] To solve the problems in related technologies, this application uses a controller fault isolation method in a multi-controller storage control system to achieve a comprehensive test of each controller's ability to carry business before software upgrades or software failures occur. After ensuring that all controllers are able to carry business normally, corresponding upgrade operations or fault handling operations are performed on the controllers to be processed, ensuring that there are always redundant and effective controllers to maintain operation, thereby avoiding business interruptions and downtime caused by controller upgrades or failures, and ensuring business continuity and stability. At the same time, this application can also further determine whether the hardware affects subsequent business processing when a hardware failure occurs. If it affects subsequent business processing, the target device (i.e., the host) is promptly notified at the appropriate time to switch the business path to ensure uninterrupted business.
[0037] A controller processing method provided in an embodiment of the present application can be executed by a controller, that is, it can be executed by a pending controller that requires a process processing operation each time. The controller processing method can be applied to system scenarios in which multiple controllers work together, such as industrial automation control systems, cloud computing distributed control platforms, and intelligent device cluster management systems.
[0038] An embodiment of the present application provides a controller processing method, and the method is described in detail in conjunction with the execution flow of the controller processing method.
[0039] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0040] Figure 1 A flowchart of a controller processing method provided in an embodiment of the present application.
[0041] like Figure 1 As shown, the following steps are included:
[0042] Step 101 : Acquire a plurality of performance monitoring data of a plurality of controllers in response to a processing signal of a controller to be processed.
[0043] In this application, a processing signal refers to an event signal that triggers the collection of monitoring data, including at least one of a controller upgrade signal and a controller fault signal. A controller upgrade signal is an internal system signal indicating that a software upgrade is required for the controller being processed; a controller fault signal is an internal system signal indicating that a software fault has occurred in the controller being processed.
[0044] In some embodiments, the controller upgrade signal and the controller fault signal correspond to scenarios of controller software upgrade and software fault, respectively.
[0045] When the software module in the pending controller detects that the pending controller requires a software upgrade or has experienced a software failure, it triggers a controller upgrade signal or a controller failure signal. The software module then responds to the controller upgrade signal or the controller failure signal to obtain performance monitoring data for the pending controller itself. The software module can also obtain performance monitoring data for multiple controllers connected to the pending controller.
[0046] It can be understood that the multiple controllers in this application refer to all current controllers, specifically including the controller to be processed and multiple associated controllers connected to the controller to be processed.
[0047] The pending controller is the target controller that needs to be upgraded or has a software failure.
[0048] Performance monitoring data is a quantitative indicator used to describe the operating status of the controller, such as CPU usage, memory usage, request processing delay, etc. The specific data can be adjusted according to actual conditions and is not limited in the embodiments of this application.
[0049] Step 102: Determine whether the multiple controllers can normally carry services based on the multiple performance monitoring data.
[0050] In some embodiments, the present application may determine whether all controllers can normally carry services based on whether the current controller to be processed can obtain all performance monitoring data of all controllers.
[0051] This is because if the current controller to be processed can obtain the node performance data of all controllers, it means that the software module of the current controller to be processed can operate normally at this time, and the communication links of multiple associated controllers connected to the controller to be processed are unobstructed; all controllers themselves are in a normal operating state without being down or disconnected.
[0052] Step 103: If there is at least one abnormal controller among the multiple controllers that cannot carry services normally, determine whether the processing operation corresponding to the processing signal is allowed by the controller to be processed according to the path transmission status of the abnormal controller, and process the controller to be processed if the processing operation is allowed.
[0053] In this application, the path transmission status is obtained from the target device.
[0054] In some embodiments, an abnormal controller refers to a controller that cannot normally carry services, for example, a controller that may fail to function due to hardware failure, software failure, resource exhaustion, or network interruption.
[0055] The path transmission status refers to the path transmission priority status between the abnormal controller and the target device. Path priority status includes preferred transmission, alternative transmission, and unavailable transmission. Based on the abnormal controller's path transmission status, the application can further determine whether the controller to be processed allows the processing operation corresponding to the processing signal.
[0056] The processing operations corresponding to the processing signal specifically include a controller upgrade operation corresponding to the controller upgrade signal and a controller fault processing operation corresponding to the controller fault signal, wherein both the controller upgrade operation and the controller fault processing operation are operations of powering off or restarting the controller.
[0057] In summary, through this application, in response to the processing signal of the controller to be processed, multiple performance monitoring data of multiple controllers are obtained, and the processing signal includes at least one of a controller upgrade signal and a controller fault signal; based on the multiple performance monitoring data, it is determined whether the multiple controllers can normally carry the business; if there is at least one abnormal controller that cannot normally carry the business among the multiple controllers, then based on the path transmission status of the abnormal controller, it is determined whether the controller to be processed allows the processing operation corresponding to the processing signal, and the controller to be processed is processed if the processing operation is allowed, and the path transmission status is obtained from the target device. It is achieved that before the controller to be processed is upgraded or the fault is handled, there is always a redundant and effective controller to maintain operation, thereby avoiding business interruption and downtime caused by controller upgrade or fault handling, and ensuring business continuity and stability.
[0058] Figure 2 The flowchart of another controller processing method proposed in this application is further shown. Figure 1 In the embodiment shown, step 102 and step 103 are further explained. Figure 2 The following steps may be included.
[0059] Step 201 : Acquire a plurality of performance monitoring data of a plurality of controllers in response to a processing signal of a controller to be processed.
[0060] In some embodiments, the present application can obtain performance monitoring data of all controllers. If the performance monitoring data of all controllers can be obtained, it means that there is business, that is, all controllers are carrying business normally. At this time, it can be directly determined that the controller to be processed allows the processing operation corresponding to the processing signal, that is, it can be determined that the controller to be processed allows the upgrade operation corresponding to the controller upgrade signal or allows the fault processing operation corresponding to the controller fault signal.
[0061] Step 202: If the performance monitoring data of at least one controller among the multiple controllers cannot be obtained, it is determined that the at least one controller is an abnormal controller that cannot normally carry services.
[0062] In some embodiments, if performance monitoring data cannot be obtained from a controller, it indicates that the controller may be unavailable. This uncertainty poses a risk, so identifying it as an abnormal controller helps ensure the stability and reliability of the entire system.
[0063] Step 203: Acquire the path transmission status of the abnormal controller sent by the target device.
[0064] In this application, the path transmission status includes alternative transmission and unavailable transmission.
[0065] In some embodiments, the target device refers to the host connected to all controllers. Path transmission status is categorized into three types: preferred transmission, alternative transmission, and unavailable transmission. Preferred transmission refers to the currently optimal transmission path; alternative transmission refers to a suboptimal path (transmission available but not preferred); and unavailable transmission refers to a path that is completely unavailable (unable to transmit).
[0066] This application can obtain the host's multipath policy and determine the path transmission status of the abnormal controller. A multipath policy refers to a path priority policy, including alua and multibus. In the former, the service transmission path between the host and storage has priority, which can be considered to have a primary and backup node (i.e., primary and backup controllers). In the latter, the service transmission path of each controller has the same priority.
[0067] Therefore, the path priority policy is alua (asymmetric logical unit access). If there is an abnormal controller with no performance monitoring data, check the host multipath policy to see if it is an asymmetric alua policy. If it is, the controller's service transmission path may not be the optimal path, but a suboptimal path (i.e., the alternative transmission path in this application). In this case, confirm whether the suboptimal path is the abnormal controller.
[0068] Specifically, the present application can query the multipath software in the host through the software module in the controller to be processed to determine the path transmission status of the current abnormal controller. Taking the Scsi protocol as an example, referring to Table 1, we can focus on the following three states:
[0069] Table 1 is the asymmetric access state table (Asymmetric access state)
[0070]
[0071] If the path transmission status of the abnormal controller is unavailable transmission, it is determined that the controller to be processed does not allow the processing operation corresponding to the processing signal.
[0072] Among them, it should also be noted that if there is no connection between the abnormal controller and the current controller to be processed, that is, when the abnormal connection between the controller to be processed and the abnormal controller is detected at the beginning, there is no need to obtain the performance monitoring data of all controllers, and directly determine that the current controller to be processed does not allow the processing operation corresponding to the processing signal.
[0073] Step 204: If the path transmission state of the abnormal controller is alternative transmission, it is determined that the controller to be processed allows the processing operation corresponding to the processing signal.
[0074] In some embodiments, if the path transmission status of the abnormal controller is in alternative transmission, it means that although the path is not the optimal choice, it can still transmit signals normally. Therefore, it can be determined that the controller to be processed can perform the processing operation corresponding to the processing signal.
[0075] Step 205: Process the controller to be processed if the processing operation is allowed.
[0076] In some embodiments, when it is determined that the abnormal controller path transmission status of the controller to be processed meets the conditions and allows processing operations, corresponding processing work can be performed on the controller to be processed according to the corresponding processing operations.
[0077] Specifically, if the upgrade operation is allowed, the upgrade operation of powering off or restarting the controller to be processed is performed; or if the fault handling operation is allowed, the fault handling operation of powering off or restarting the controller to be processed is performed.
[0078] It's important to note that upgrades and troubleshooting are performed sequentially for each controller. After the upgrade or troubleshooting of the currently pending controller is complete, check whether the service path has been restored. If so, the upgrade or troubleshooting of the currently pending controller has been successful, and you can proceed to the next pending controller. Once all controllers have been upgraded or troubleshooted successfully, confirm that the upgrade or troubleshooting has completed successfully. If any failures occur, stop the upgrade and troubleshoot to prevent disruption to the system's external services.
[0079] Specifically, after the controller to be processed is processed under the condition that the processing operation is allowed, a processing completion signal fed back by the controller to be processed is obtained; based on the processing completion signal, the performance monitoring data of the controller to be processed is obtained; if the performance monitoring data of the controller to be processed can be obtained, it is determined that the processing of the controller to be processed is successful. However, if the performance monitoring data of the controller to be processed cannot be obtained, it is determined that the processing of the controller to be processed is not successful; when the processing of the controller to be processed is not successful, the processing of the controller to be processed is stopped; a fault analysis is performed on the controller to be processed, and all hardware data in the controller to be processed is obtained to determine whether there is abnormal hardware in the controller to be processed; if there is abnormal hardware in the controller to be processed, it is determined whether the abnormal hardware is business-impacting hardware based on the stored business-impacting hardware information; if the abnormal hardware is business-impacting hardware, a controller to be processed unavailable information is sent to the target device, so that the target device disconnects the communication connection with the controller to be processed based on the controller to be processed unavailable information; if the abnormal hardware is not business-impacting hardware, a replacement information is sent to the target device to replace the abnormal hardware.
[0080] Furthermore, in addition to the above-mentioned troubleshooting method based on hardware data, this application can also expand the troubleshooting from the following dimensions: First, in terms of software operation status, this application can check whether the system log and service process of the controller are normal, and confirm whether there is a program crash, configuration file abnormality or software version compatibility issue; secondly, at the network communication link level, test the network connectivity between the controller and the monitoring system and other devices (such as ping, port connectivity), and check whether the firewall policy and load balancing configuration intercept data transmission; thirdly, in terms of dependent service availability, verify whether the external services that the controller depends on (such as databases, API interfaces) respond normally, and whether the controller is unable to report data due to upstream service failures; in addition, permission and configuration verification needs to verify whether the permissions required for monitoring data collection (such as API keys, read and write permissions) are valid, and whether the configuration parameters (such as data reporting cycle, format) are modified by mistake; finally, historical operation backtracking can trace recent configuration changes and upgrade operations on the controller, and analyze whether data collection anomalies are caused by human operations or version iterations. Through multi-dimensional cross-analysis of software, network, dependencies, permissions, operations, etc., the root cause of "data not acquired" can be more comprehensively located, avoiding the limitations of single-dimensional troubleshooting.
[0081] In addition, after confirming that the pending controller has completed processing and is operating normally, considering that the configuration of the path switching parameters on the host side is too long, which will cause a brief interruption in the business due to waiting for the fault switch, and the risk of business interruption caused by the drift gap of the storage system path, the present application can also perform real-time fault monitoring of the hardware in the controller. Specifically, the software module in the pending controller collects hardware operation data in real time, and judges whether there is an abnormality in the hardware based on these data. If abnormal hardware is detected, the software module will further identify whether the abnormal hardware will affect the business operation based on the pre-stored business-affecting hardware information. If it is critical hardware that affects the business, the software module will immediately send a controller unavailable notification to the target device, prompting the target device to quickly disconnect from the faulty controller and switch the business path immediately to minimize the business interruption time; if the abnormal hardware does not affect the normal operation of the business, the system will send a hardware replacement prompt to the target device, supporting online replacement of faulty hardware without interrupting the business, to ensure the continuous and stable operation of the system.
[0082] The hardware data refers to the operating parameters, status information (such as temperature, voltage, fan speed, read and write times, error logs, etc.) and performance indicators of each hardware component in the controller to be processed.
[0083] If the abnormal hardware is detected as business-impacting, the software module will further perform hard drive life testing based on the abnormal hardware's real-time hardware data to assess and determine the hard drive's usable lifespan—the remaining usable lifespan before a failure occurs. The software module will then send the pending controller unavailability information and the remaining usable lifespan to the target device within the confirmed hard drive lifespan, providing the target device with a more comprehensive decision-making basis and enabling timely response measures within the hard drive's lifespan.
[0084] In summary, this application significantly improves the continuity of storage system business services from multiple dimensions with the help of the collaborative control mechanism of software, hardware, storage and host plug-ins: through pre-upgrade validity detection, it ensures that upgrades are only allowed when the controller is normally carrying business, avoiding the risk of business interruption after upgrade; implements real-time verification during the upgrade process, and promptly verifies the path recovery status after processing to prevent unrecovered nodes from triggering subsequent upgrades and causing business interruption; conducts risk management for controller operations, combines path status with multi-path strategies such as ALUA, and avoids blind power-off or restart that causes business interruption; realizes active response to hardware failures through real-time hardware monitoring, immediately triggers path switching for critical hardware anomalies that affect the business, supports online replacement of non-critical hardware, and reduces short-term business interruptions caused by excessively long path switching parameters or path drift; at the same time, integrates hardware data collection, multi-path status analysis and host linkage response to form a full-link closed-loop management from detection, decision-making to execution, and comprehensively guarantees the continuous and stable operation of storage system business.
[0085] based on Figure 1 、 Figure 2 The embodiment shown, as Figure 3 As shown in the figure, this application provides a specific controller upgrade process diagram, such as Figure 4 The flowchart of a specific controller fault processing provided by this application is shown in FIG. Figure 5 The figure shows a schematic diagram of a specific hardware fault processing provided by this application.
[0086] In an optional embodiment of the present application, for a scenario where the controller to be processed needs to be upgraded, refer to Figure 3 When the pending controller needs to be upgraded, in response to the controller upgrade signal of the pending controller, multiple performance monitoring data of multiple controllers (ie Figure 3 Obtain all node performance monitoring data); determine whether multiple controllers can normally carry services based on multiple performance monitoring data; if multiple controllers can normally carry services, determine the upgrade operation corresponding to the controller upgrade signal allowed by the pending controller.
[0087] If there is at least one abnormal controller that cannot normally carry services among multiple controllers, the path transmission status of the abnormal controller sent by the target device (i.e. Figure 3 Get the host multipath policy from , if the path transmission status of the abnormal controller is alternative transmission (i.e. Figure 3 If the host path policy is a non-optimal policy in the alua policy, the controller to be processed is determined to allow the upgrade operation corresponding to the controller upgrade signal, and the controller to be processed is upgraded if the upgrade operation is allowed. If the path transmission status of the abnormal controller is unavailable, the controller to be processed is determined to not allow the upgrade operation corresponding to the controller upgrade signal.
[0088] After the upgrade is completed on the pending controller, if the upgrade is permitted, an upgrade completion signal is received from the pending controller. Based on the upgrade completion signal, performance monitoring data for the pending controller is obtained. If the performance monitoring data for the pending controller is obtained, the upgrade is determined to be successful, and the upgrade of other nodes can proceed. If the upgrade of the pending controller is unsuccessful, the upgrade is stopped and troubleshooting is performed.
[0089] In an optional embodiment of the present application, for a controller software failure scenario to be processed, a power-off or restart scenario is required. Figure 4 When the controller to be processed needs to perform fault processing, in response to the controller fault processing signal of the controller to be processed, multiple performance monitoring data of multiple controllers (ie Figure 4Obtain all node performance monitoring data); determine whether multiple controllers can normally carry services based on multiple performance monitoring data; if multiple controllers can normally carry services, determine the fault handling operation corresponding to the controller fault handling signal allowed by the controller to be processed (i.e. Figure 4 restart or power off operation).
[0090] If there is at least one abnormal controller that cannot normally carry services among multiple controllers, the path transmission status of the abnormal controller sent by the target device (i.e. Figure 4 Get the host multipath policy from , if the path transmission status of the abnormal controller is alternative transmission (i.e. Figure 4 If the host path policy in the fault handling signal is not optimal in the alua policy, the controller to be processed is determined to allow the fault handling operation corresponding to the controller fault handling signal. If the fault handling operation is allowed, fault handling is performed on the controller to be processed. If the path transmission status of the abnormal controller is unavailable, the controller to be processed is determined to not allow the fault handling operation corresponding to the controller fault handling signal.
[0091] Furthermore, in an optional embodiment of the present application, after confirming that the controller to be processed has completed fault processing or upgrade and is operating normally, considering that the host-side path switching parameter configuration is too long, which may cause a brief interruption of business due to waiting for fault switching, and the risk of business interruption caused by the storage system path drift gap, the present application can also perform real-time fault monitoring of the hardware in the controller.
[0092] Reference Figure 5 , this application can collect hardware operation data in real time and judge whether there is any abnormality in the hardware based on this data. If abnormal hardware is detected (i.e. Figure 5 If hardware anomalies occur in the system, the system will further identify whether the abnormal hardware will affect business operations based on the pre-stored business-affecting hardware information (i.e. Figure 5 If it is critical hardware that affects the business, a controller unavailable notification will be sent to the target device immediately (i.e. Figure 5 The system notifies the storage software front-end module and the host to switch paths), prompting the target device to quickly disconnect from the faulty controller and immediately switch the service path to minimize service interruption time. If the abnormal hardware does not affect normal business operations, a hardware replacement prompt is sent to the target device, supporting online replacement of faulty hardware without interrupting business, ensuring continuous and stable system operation.
[0093] It is understandable that the controller processing method of the present application can be applied to a multi-control storage control system, such as Figure 6 The figure shows a schematic diagram of a specific multi-control storage control system provided by the present application.
[0094] Reference Figure 6 The multi-controller storage control system includes a host (ie, the target device of this application), multiple controllers (ie, the controller to be processed of this application and multiple associated controllers connected to the controller to be processed) and a hard disk.
[0095] The host can run multipathing software, which manages the connection paths between the host and multiple controllers. If a path fails, it automatically switches to another available path to ensure uninterrupted data transmission.
[0096] Reference Figure 6 In this application, the controllers of the multi-control storage control system can be 4 controllers (i.e. Figure 6 Controllers 1 to 4, the specific number of controllers can be adjusted according to actual conditions and is not limited in the embodiment of the present application). Taking controller 1 as an example, the controller to be processed includes software modules and hardware units. The software module is used to execute the above Figure 1 and Figure 2 The controller processing method shown is not described here. The hardware unit can be various hardware components. The hardware unit will feed back the hardware data of the hardware components to the software module. The software module can determine the abnormality of the fault based on the hardware data. In this application, multiple controllers are directly connected to each other (i.e. Figure 6 The controllers in the system are interconnected. In other words, controller 1 is connected to controllers 2, 3, and 4; controller 2 is connected to controllers 1, 3, and 4; controller 3 is connected to controllers 1, 2, and 4; and controller 4 is connected to controllers 1, 2, and 3. These controllers work together to manage hard disk storage resources and share tasks such as data reading and writing.
[0097] The hard disk is the device that actually stores data. It is managed by multiple controllers and receives data read and write instructions from the controllers.
[0098] This application uses multipath software and multiple controllers to work together to ensure storage system reliability and data transmission stability.
[0099] 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 the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.
[0100] The embodiment of the present application further provides a controller processing device 700, Figure 7 A schematic diagram of the structure of a controller processing device provided in an embodiment of the present disclosure is shown in FIG. Figure 7 As shown, including:
[0101] an acquiring unit 710, configured to acquire a plurality of performance monitoring data of a plurality of controllers in response to a processing signal of a controller to be processed, wherein the processing signal includes at least one of a controller upgrade signal and a controller fault signal;
[0102] A determining unit 720 is configured to determine whether the multiple controllers can normally carry services based on the multiple performance monitoring data;
[0103] The processing unit 730 is used to determine whether the controller to be processed allows the processing operation corresponding to the processing signal based on the path transmission status of the abnormal controller if there is at least one abnormal controller among multiple controllers that cannot carry business normally, and process the controller to be processed if the processing operation is allowed. The path transmission status is obtained from the target device.
[0104] Furthermore, in a possible implementation of the embodiment of the present disclosure, the processing unit 730 is used to: after determining whether multiple controllers can normally carry the business based on multiple performance monitoring data, if multiple controllers can normally carry the business, determine that the controller to be processed allows the processing operation corresponding to the processing signal.
[0105] Furthermore, in a possible implementation of the embodiment of the present disclosure, the determination unit 720 is used to: if multiple performance monitoring data of multiple controllers can be obtained, then determine that the multiple controllers can carry the business normally; if the performance monitoring data of at least one controller among the multiple controllers cannot be obtained, then determine that the at least one controller is an abnormal controller that cannot carry the business normally.
[0106] Furthermore, in a possible implementation of the embodiment of the present disclosure, the processing unit 730 is used to: obtain the path transmission status of the abnormal controller sent by the target device, where the path transmission status includes alternative transmission and unavailable transmission; if the path transmission status of the abnormal controller is alternative transmission, determine that the controller to be processed allows the processing operation corresponding to the processing signal; if the path transmission status of the abnormal controller is unavailable transmission, determine that the controller to be processed does not allow the processing operation corresponding to the processing signal.
[0107] Furthermore, in a possible implementation of the embodiment of the present disclosure, the processing unit 730 is used to: obtain a processing completion signal fed back by the controller to be processed after processing the controller to be processed when the processing operation is allowed; obtain performance monitoring data of the controller to be processed based on the processing completion signal; if the performance monitoring data of the controller to be processed can be obtained, it is determined that the processing of the controller to be processed is successful.
[0108] Furthermore, in a possible implementation of the embodiment of the present disclosure, the processing unit 730 is used to: after obtaining the performance monitoring data of the controller to be processed based on the processing completion signal, if the performance monitoring data of the controller to be processed cannot be obtained, determine that the controller to be processed has not been processed successfully; when the controller to be processed has not been processed successfully, stop processing the controller to be processed; perform fault analysis on the controller to be processed to determine whether there is abnormal hardware in the controller to be processed; if there is abnormal hardware in the controller to be processed, determine whether the abnormal hardware is business-affecting hardware based on the stored business-affecting hardware information; if the abnormal hardware is business-affecting hardware, send unavailable information of the controller to be processed to the target device, so that the target device disconnects the communication connection with the controller to be processed based on the unavailable information of the controller to be processed; if the abnormal hardware is not business-affecting hardware, send replacement information to the target device to replace the abnormal hardware.
[0109] Furthermore, in a possible implementation of the embodiment of the present disclosure, the processing unit 730 is used to: after determining that the processing of the controller to be processed is successful, obtain the hardware data in the controller to be processed, and determine whether there is abnormal hardware in the controller to be processed based on the hardware data; if there is abnormal hardware in the controller to be processed, determine whether the abnormal hardware is business-impacting hardware based on the stored business-impacting hardware information; if the abnormal hardware is business-impacting hardware, send unavailable information of the controller to be processed to the target device, so that the target device disconnects the communication connection with the controller to be processed based on the unavailable information of the controller to be processed; if the abnormal hardware is not business-impacting hardware, send replacement information to the target device to replace the abnormal hardware.
[0110] Furthermore, in a possible implementation of the embodiment of the present disclosure, the processing unit 730 is used to: if the abnormal hardware is business-affecting hardware, perform hard disk life detection based on the hardware data of the abnormal hardware to determine the usable time of the hard disk; within the usable time of the hard disk, send the unavailable information of the controller to be processed and the usable time of the hard disk to the target device.
[0111] For the description of the features in the embodiment corresponding to the controller processing device, please refer to the relevant description of the embodiment corresponding to the controller processing method, and no further details will be given here.
[0112] An embodiment of the present application further provides an electronic device, comprising 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 any of the above controller processing method embodiments.
[0113] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any of the above controller processing method embodiments when running.
[0114] 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.
[0115] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps of any of the above controller processing method embodiments are implemented.
[0116] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above-mentioned controller processing method embodiments are implemented.
[0117] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0118] The above is a detailed introduction to a controller processing method, device, electronic device and medium provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.
Claims
1. A controller processing method, characterized in that: include: acquiring a plurality of performance monitoring data of a plurality of controllers in response to a processing signal of a controller to be processed, wherein the processing signal includes at least one of a controller upgrade signal and a controller fault signal; determining, based on the plurality of performance monitoring data, whether each of the plurality of controllers has performance monitoring data; If there is at least one abnormal controller without performance monitoring data among the multiple controllers, then determine whether the controller to be processed allows the processing operation corresponding to the processing signal based on the path transmission status of the abnormal controller, and process the controller to be processed if the processing operation is allowed, wherein the path transmission status is obtained from the target device, and the path transmission status refers to the path transmission priority status of the connection between the abnormal controller and the target device, and the path transmission status includes alternative transmission and unavailable transmission. The target device refers to the host connected to all controllers. The processing operation corresponding to the processing signal includes a controller upgrade operation corresponding to the controller upgrade signal and a controller fault processing operation corresponding to the controller fault signal, wherein the controller upgrade operation and the controller fault processing operation are both operations of powering off or restarting the controller to be processed; The step of determining whether the controller to be processed allows the processing operation corresponding to the processing signal according to the path transmission status of the abnormal controller includes: Acquire the path transmission status of the abnormal controller sent by the target device; If the path transmission state of the abnormal controller is the alternative transmission, determining that the controller to be processed allows the processing operation corresponding to the processing signal; If the path transmission status of the abnormal controller is the unavailable transmission, it is determined that the controller to be processed does not allow the processing operation corresponding to the processing signal.
2. The method according to claim 1, characterized in that After determining whether each of the plurality of controllers has performance monitoring data based on the plurality of performance monitoring data, the method includes: If each of the plurality of controllers has performance monitoring data, it is determined that the controller to be processed allows the processing operation corresponding to the processing signal.
3. The method according to claim 1, characterized in that Determining, based on the plurality of performance monitoring data, whether each of the plurality of controllers has performance monitoring data includes: If the plurality of performance monitoring data of the plurality of controllers can be obtained, determining that each of the plurality of controllers has performance monitoring data; If the performance monitoring data of at least one controller among the multiple controllers cannot be obtained, the at least one controller is determined to be the abnormal controller without performance monitoring data.
4. The method according to claim 1, wherein After processing the controller to be processed under the condition that the processing operation is allowed, the method includes: Obtaining a processing completion signal fed back by the controller to be processed; Based on the processing completion signal, obtaining performance monitoring data of the controller to be processed; If the performance monitoring data of the controller to be processed can be obtained, it is determined that the processing of the controller to be processed is successful.
5. The method according to claim 4, characterized in that After obtaining the performance monitoring data of the controller to be processed based on the processing completion signal, the method includes: If the performance monitoring data of the controller to be processed cannot be obtained, it is determined that the controller to be processed has not been processed successfully; When the controller to be processed is not processed successfully, stopping processing of the controller to be processed; Performing fault analysis on the controller to be processed to determine whether there is abnormal hardware in the controller to be processed; If abnormal hardware exists in the controller to be processed, determining whether the abnormal hardware is business-affecting hardware based on the stored business-affecting hardware information; If the abnormal hardware is the service-affecting hardware, sending the unavailable information of the controller to be processed to the target device, so that the target device disconnects the communication connection with the controller to be processed based on the unavailable information of the controller to be processed; If the abnormal hardware is not the service-affecting hardware, a replacement message is sent to the target device to replace the abnormal hardware.
6. The method according to claim 1, characterized in that After determining that the processing by the pending controller is successful, the method includes: Acquiring hardware data in the controller to be processed, and determining whether there is abnormal hardware in the controller to be processed based on the hardware data; If abnormal hardware exists in the controller to be processed, determining whether the abnormal hardware is business-affecting hardware based on the stored business-affecting hardware information; If the abnormal hardware is the service-affecting hardware, sending the unavailable information of the controller to be processed to the target device, so that the target device disconnects the communication connection with the controller to be processed based on the unavailable information of the controller to be processed; If the abnormal hardware is not the service-affecting hardware, a replacement message is sent to the target device to replace the abnormal hardware.
7. The method according to any one of claims 5 to 6, characterized in that If the abnormal hardware is the service-affecting hardware, sending the pending controller unavailable information to the target device includes: If the abnormal hardware is the business-affecting hardware, performing a hard disk life test based on the hardware data of the abnormal hardware to determine the usable life of the hard disk; Within the range of the hard disk usable time, the to-be-processed controller unavailability information and the hard disk usable time are sent to the target device.
8. A controller processing device, characterized in that: include: an acquiring unit, configured to acquire a plurality of performance monitoring data of a plurality of controllers in response to a processing signal of a controller to be processed, wherein the processing signal includes at least one of a controller upgrade signal and a controller fault signal; a determining unit, configured to determine, based on the plurality of performance monitoring data, whether each of the plurality of controllers has performance monitoring data; a processing unit configured to determine, if there is at least one abnormal controller without performance monitoring data among the multiple controllers, whether the controller to be processed allows the processing operation corresponding to the processing signal based on the path transmission status of the abnormal controller, and process the controller to be processed if the processing operation is allowed, wherein the path transmission status is obtained from the target device, the path transmission status refers to the path transmission priority status of the connection between the abnormal controller and the target device, the path transmission status includes alternative transmission and unavailable transmission, and the target device refers to a host connected to all controllers. The processing operation corresponding to the processing signal includes a controller upgrade operation corresponding to the controller upgrade signal and a controller fault processing operation corresponding to the controller fault signal, wherein the controller upgrade operation and the controller fault processing operation are both operations of powering off or restarting the controller to be processed; The step of determining whether the controller to be processed allows the processing operation corresponding to the processing signal according to the path transmission status of the abnormal controller includes: Acquire the path transmission status of the abnormal controller sent by the target device; If the path transmission state of the abnormal controller is the alternative transmission, determining that the controller to be processed allows the processing operation corresponding to the processing signal; If the path transmission status of the abnormal controller is the unavailable transmission, it is determined that the controller to be processed does not allow the processing operation corresponding to the processing signal.
9. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the controller processing method according to any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the controller processing method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Controller fault backup method and system
CN105812161A
Performance sensitive storage system upgrade
US20210349705A1