Server system management method and device, electronic equipment and storage medium

By monitoring the health status and load level of the server system, and managing I/O requests in a refined manner, I/O jitter and abnormal problems caused by inaccurate overload judgment in the prior art are solved, and the performance of the server system is improved.

CN119473819APending Publication Date: 2025-02-18XFUSION DIGITAL TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411581330.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-06
Publication Date
2025-02-18

AI Technical Summary

Technical Problem

When the prior art determines whether the server system is overloaded, the usage rate or I/O delay based on the cache disk is not accurate enough, resulting in I/O jitter and abnormalities easily occur during load control, affecting the performance of the server system.

Method used

By monitoring the health status of the server system, including system resource utilization, service quality parameters and fault types, determine the load level of the server system, and determine the I/O processing strategy based on different load levels to manage I/O requests in a refined manner. .

Benefits of technology

This method can more accurately judge the load status of the server system, avoid I/O jitter and abnormalities, and effectively ensure the performance of the server system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119473819A_ABST
    Figure CN119473819A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a server system management method and device, electronic equipment and a storage medium. The method comprises the steps that the health state of a server system is monitored; if it is determined that the server system does not have a preset fault based on the health state, determining a load level of the server system based on the health state; based on the load level, determining an I / O processing strategy of the server system; and processing the I / O request based on the I / O processing strategy. According to the embodiment of the invention, refined load control measures are provided, I / O jitter and abnormity of the server system are avoided, and the performance of the server system is effectively guaranteed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of server technology, and in particular to a server system management method, device, electronic device and storage medium. Background Art

[0002] With the development of cloud computing and big data technology, server systems are being used more and more widely. Server systems need to process large amounts of data, such as data storage requests, I / O (Input / Output) requests, etc., which can easily lead to overloads and performance problems or failures. Related technologies usually use indicators such as cache disk usage or I / O latency to determine whether a server system is overloaded, and perform load control when it is determined that the server system is overloaded. However, this overload judgment method is not accurate enough, and it is easy to cause I / O jitter and anomalies during load control, thereby affecting the performance of the server system. Summary of the invention

[0003] In view of the above, it is necessary to provide a server system management method, device, electronic device and storage medium to solve the problem that the above-mentioned judgment of whether the server system is overloaded based on the usage rate of the cache disk or the I / O delay indicator is not accurate enough, and it is easy to cause I / O jitter and anomalies when performing load control, thereby affecting the performance of the server system.

[0004] In a first aspect, an embodiment of the present application provides a server system management method, the method comprising: monitoring the health status of the server system; if it is determined based on the health status that the server system has not experienced a preset fault, determining the load level of the server system based on the health status; based on the load level, determining an I / O processing strategy of the server system; and processing an I / O request based on the I / O processing strategy.

[0005] In one possible implementation, the health status includes the system resource usage of the server system, and determining the load level of the server system based on the health status includes: obtaining the system resource usage of the server system based on a preset period; determining the range of the system resource usage; and determining the load level of the server system based on the range of the system resource usage and the range of system resource usage corresponding to each load level.

[0006] In one possible implementation, the health status includes the system resource utilization rate and service quality parameters of the server system, and determining the load level of the server system based on the health status includes: obtaining the system resource utilization rate and service quality parameters of the server system based on a preset period; determining a range of the system resource utilization rate and a range of the service quality parameters; determining the load level corresponding to the system resource utilization rate based on the range of the system resource utilization rate and the range of the system resource utilization rate corresponding to each load level; determining the load level corresponding to the service quality parameter based on the range of the service quality parameter and the range of the service quality parameter corresponding to each load level; and determining the highest load level between the load level corresponding to the system resource utilization rate and the load level corresponding to the service quality parameter as the load level of the server system.

[0007] In one possible implementation, the health status includes the system resource usage, service quality parameters and fault type of the server system, and determining the load level of the server system based on the health status includes: determining the load score of the server system based on the system resource usage and the service quality parameters; determining the health score of the server system based on the fault type; and determining the load level of the server system based on the load score and the health score.

[0008] In one possible implementation, determining the load score of the server system based on the system resource utilization and the service quality parameters includes: adopting a load scoring strategy to determine the load score of the server system based on the system resource utilization and the service quality parameters, the load scoring strategy including: presetting a full score for the load score and a preset deduction value corresponding to the range of the system resource utilization and the service quality parameters, and adopting a deduction system to determine the load score of the server system based on the range of the system resource utilization, the range of the service quality parameters and the preset deduction value corresponding to each range.

[0009] In a possible implementation, the fault types include hardware fault types, software fault types, and sub-health fault types, and determining the health score of the server system based on the fault types includes: determining the hardware fault type by monitoring the hardware indicators of the server system; determining the software fault type by monitoring the software indicators of the server system; determining the sub-health fault type by monitoring the sub-health indicators of the server system; setting a scoring level for each of the hardware fault type, the software fault type, and the sub-health fault type, determining the score of each item based on the scoring level of each item in the hardware fault type, the software fault type, and the sub-health fault type, and determining the health score of the server system based on the score of each item.

[0010] In a possible implementation, the method further includes: if it is determined based on the health status that the server system has the preset fault, isolating the target node or target hardware corresponding to the preset fault, and suspending the service provided by the target node or target hardware.

[0011] In a possible implementation, the preset fault includes a node abnormality and a hardware abnormality.

[0012] In a possible implementation, determining the I / O processing strategy of the server system based on the load level includes: setting the number of input / output operations processed per second (IOPS) and bandwidth of the server system based on the load level.

[0013] In a possible implementation, the processing of I / O requests based on the I / O processing strategy includes: determining a rate at which the server system generates I / O licenses based on the IOPS; and processing the I / O requests based on the rate at which I / O licenses are generated and the bandwidth.

[0014] In one possible implementation, after determining the load level of the server system based on the health status, the method further includes: processing the I / O request based on the current I / O processing strategy; if the load level of the server system changes to not overloaded, reducing the load level of the server system by one level; if the load level of the server system is still overloaded and the load remains unchanged, maintaining the load level; if the load level of the server system is still overloaded and the load increases, increasing the load level of the server system by one level.

[0015] In a second aspect, an embodiment of the present application provides a server system management device, the device comprising: a monitoring module for monitoring the health status of the server system; a determination module for determining the load level of the server system based on the health status if it is determined that the server system has not experienced a preset fault based on the health status; a decision module for determining an I / O processing strategy of the server system based on the load level; and a processing module for processing I / O requests based on the I / O processing strategy.

[0016] In a third aspect, an embodiment of the present application provides a server system, comprising a management node and multiple storage nodes, wherein the management node monitors the health status of the server system; if it is determined based on the health status that the server system has not experienced a preset fault, the management node determines the load level of the server system based on the health status; the management node determines an I / O processing strategy of the server system based on the load level; the management node and the storage nodes process I / O requests based on the I / O processing strategy.

[0017] In a fourth aspect, an embodiment of the present application provides an electronic device, comprising a memory and a processor: wherein the memory is used to store program instructions; the processor is used to read and execute the program instructions stored in the memory, and when the program instructions are executed by the processor, the electronic device executes the above-mentioned server system management method.

[0018] In a fifth aspect, an embodiment of the present application provides a computer storage medium, wherein the computer storage medium stores program instructions, and when the program instructions are executed on an electronic device, the processor of the electronic device executes the above-mentioned server system management method.

[0019] The server system management method, device, electronic device, server system and storage medium provided in the embodiments of the present application can monitor the health status of the server system, determine the load level of the server system, and determine the I / O processing strategy of the server system based on different load levels to process I / O requests, thereby providing refined server system management measures to avoid I / O jitter and anomalies in the server system and effectively ensure the performance of the server system. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0021] Figure 1 It is a schematic diagram of an application scenario of a server system management method provided in an embodiment of the present application.

[0022] Figure 2 It is a flow chart of a server system management method provided in one embodiment of the present application.

[0023] Figure 3 This is a flowchart of determining the load level based on the health status provided by another embodiment of the present application.

[0024] Figure 4 It is a correspondence table between preset scoring ranges and load levels provided in an embodiment of the present application.

[0025] Figure 5 This is a schematic diagram of processing I / O requests provided by an embodiment of the present application.

[0026] Figure 6 This is another schematic diagram of processing an I / O request provided by an embodiment of the present application.

[0027] Figure 7 It is a flowchart of a server system management method provided by another embodiment of the present application.

[0028] Figure 8 It is a structural diagram of a server system management device provided in one embodiment of the present application.

[0029] Fig. 9 It is a schematic diagram of the hardware structure of an electronic device provided in one embodiment of the present application. DETAILED DESCRIPTION

[0030] The terms "first" and "second" involved in the embodiments of the present application are only used for descriptive purposes and should not be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Thus, the features defined as "first" and "second" may explicitly or implicitly include one or more features. In the description of the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way.

[0031] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those generally understood by technicians in the technical field in this application. The terms used in the specification of this application are only for the purpose of describing specific embodiments and are not intended to limit this application. It should be understood that, unless otherwise specified in this application, " / " means or. For example, A / B can represent A or B. "And / or" in this application is only a description of the association relationship of associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. "At least one" refers to one or more. "Multiple" refers to two or more than two. For example, at least one of a, b or c can represent: a, b, c, a and b, a and c, b and c, a, b and c. In the absence of conflict, the following embodiments and the features in the embodiments can be combined with each other.

[0032] With the development of cloud computing and big data technology, server systems are increasingly being used. Server systems, especially storage server systems, need to process large amounts of data, such as data storage requests and I / O requests, and are prone to overload, which can lead to performance issues or failures. In order to deal with overload issues, common solutions and optimization strategies include dynamic load balancing and setting QoS (Quality of Service) strategies.

[0033] Dynamic load balancing means dynamically adjusting the data distribution and I / O requests between storage nodes to ensure that the load on each node is even, thereby avoiding single-point overload and improving the overall system performance and resource utilization. Dynamic load balancing is achieved through intelligent data distribution and I / O request scheduling. Intelligent data distribution uses intelligent algorithms to dynamically adjust data distribution according to the load of each node and migrate hot data to nodes with lower loads. I / O request scheduling uses intelligent I / O scheduling algorithms to evenly distribute I / O requests to different storage nodes to prevent certain nodes from becoming bottlenecks.

[0034] Setting QoS policies means controlling the use of storage resources by each client by limiting I / O bandwidth and IOPS, thereby ensuring that critical tasks are given priority and preventing non-critical tasks from occupying too many resources. QoS is implemented through bandwidth limitation, IOPS limitation, and priority setting. Bandwidth limitation allows administrators of server clusters to set bandwidth limitations for different applications or users to ensure that mission-critical applications have sufficient bandwidth support. IOPS limitation includes setting IOPS limits for different block devices or file systems to prevent certain applications from occupying too many I / O resources. Priority setting is to set priorities for different types of workloads based on business needs, and high-priority requests will be given priority. By setting QoS policies, critical tasks can be given priority to avoid resource grabbing.

[0035] It can be seen that the relevant technology usually directly limits the I / O bandwidth and / or IOPS when the server system is overloaded to reduce the server system load. However, limiting the I / O bandwidth and / or IOPS is likely to cause I / O jitter and anomalies, thereby affecting the performance of the server system.

[0036] An embodiment of the present application provides a server system management method, which can determine the load level of the server system by monitoring the health status of the server system, and determine the I / O processing strategy of the server system based on different load levels to process the I / O requests sent by the user terminal, thereby providing refined load control measures to avoid I / O jitter and anomalies in the server system, and effectively ensure the performance of the server system.

[0037] See also Figure 1 , which is a schematic diagram of the application environment of the server system management method provided in one embodiment of the present application. Figure 1 The server system 100 shown includes a management node 10 and multiple storage nodes 20. The management node 10 and the storage node 20 can be separate servers or virtual machines. When the management node 10 and the storage node 20 are virtual machines, they can be set on the same server. In an embodiment of the present application, the management node 10 and the multiple storage nodes 20 constitute the hardware architecture of the server system 100. The management node 10 can deploy a computer program product (such as software code, computer-readable instructions, etc.) programmed and implemented according to the server system management method provided in the embodiment of the present application, thereby providing a server system management service for managing and controlling the load of multiple storage nodes 20 deployed in the server system 100.

[0038] See also Figure 2 The figure is a flow chart of a server system management method provided by an embodiment of the present application. The method is applied to Figure 1 In the management node shown, the server system management method includes: S101, monitor the health status of the server system.

[0039] In one embodiment of the present application, the health status of the server system includes but is not limited to: system resource utilization, service quality parameters, and fault type. Among them, system resources include but are not limited to: CPU, memory, cache disk, data disk, network card. Service quality parameters include but are not limited to: I / O latency, the number of I / O requests in the I / O request queue (hereinafter referred to as the number of queue I / O requests). The fault type is the type of fault that occurs in each node in the server system, including but not limited to: hardware fault type, software fault type, and sub-health fault type.

[0040] In one embodiment of the present application, the system resource utilization rate, service quality parameters, and fault types of the server system can be detected based on a preset period, so as to monitor the health status of the server system. For example, the preset period can be 5 seconds, 8 seconds, 10 seconds, or other time. In other embodiments of the present application, the system resource utilization rate, service quality parameters, and fault types of the server system can also be detected based on different periods, for example, the system resource utilization rate of the server system is detected based on a first preset period of 5 seconds, the service quality parameters of the server system are detected based on a second preset period of 8 seconds, and the fault types of the server system are detected based on a third preset period of 10 seconds.

[0041] S102, judging whether the server system has a preset fault based on the health status. If it is determined based on the health status that the server system has not a preset fault, the process executes S103; if it is determined based on the health status that the server system has a preset fault, the process executes S106.

[0042] In one embodiment of the present application, the preset fault is a serious fault that occurs in the server node, which has a serious impact on the performance of the server system. The preset fault includes, but is not limited to, node abnormality and serious hardware abnormality. Node abnormality includes, but is not limited to, node power failure and node disconnection. Serious hardware abnormality includes, but is not limited to, serious disk abnormality, serious disk array card (Redundant Array of Independent Disks controller, RAID) abnormality, and serious network card abnormality. Serious hardware abnormality means that the hardware is in a high-risk state, that is, the corresponding index of the hardware exceeds the threshold. Among them, the serious disk abnormality includes serious abnormality of the cache disk and serious abnormality of the system disk. The serious abnormality of the cache disk includes, but is not limited to, read-only disk, stuck disk, slow disk, serious bad track, and high temperature. The read-only disk means that the data on the disk can only be read, and the data cannot be written, modified or deleted. The stuck disk means that an application or terminal is reading and writing the disk in large quantities. The slow disk means that the data reading and writing speed is too slow. The serious bad track means that the number of bad tracks is too large, and the high temperature means that the disk temperature exceeds the threshold. Serious abnormality of the system disk includes, but is not limited to, suspension, read-only disk, and inability to automatically recover. Suspend means that the system disk is set to inactive state or cannot be accessed normally by the operating system. Failure to automatically recover means that the operating system startup abnormality cannot be automatically repaired. Serious abnormalities of disk array cards include but are not limited to: read-only disk, stuck disk, slow disk, serious bad sectors, and high temperature. Serious abnormalities of network cards refer to high packet loss rate, too many error packets, and the inability of the Bond (link aggregation) group to provide services.

[0043] In one embodiment of the present application, it can be determined whether the detected fault type of the server system includes a preset fault. If the fault type of the server system includes a preset fault, it is determined that the server system has a preset fault; if the fault type of the server system does not include a preset fault, it is determined that the server system has not a preset fault. In other embodiments of the present application, it is also possible to directly determine whether the server system has a preset fault during the process of monitoring the health status of the server system, for example, determining whether the server system has a disk abnormality, a node power failure, a disk array card abnormality, or a network card abnormality.

[0044] S103: Determine the load level of the server system based on the health status.

[0045] In one embodiment of the present application, the load level of the server system is determined based on the system resource utilization of the server system. Any storage node in the server system is used as a management node, and the management node obtains the CPU utilization, memory utilization, cache disk utilization, data disk utilization, and network card utilization of the management node itself and other storage nodes based on a preset period.

[0046] In one embodiment of the present application, the load level of the server system includes no overload, first level overload, second level overload and third level overload. The embodiment of the present application does not limit the setting of the load level, and can be adjusted accordingly according to monitoring requirements in actual applications. In some embodiments, each load level can correspond to a system resource utilization range, wherein the system resource utilization range corresponding to no overload can be expressed as (0, first percentage], the system resource utilization range corresponding to first level overload can be expressed as (first percentage, second percentage], the system resource utilization range corresponding to second level overload can be expressed as (second percentage, third percentage], and the system resource utilization range corresponding to third level overload can be expressed as (third percentage, 100%]. For example, the first percentage is 60% or 70%, the second percentage is 70% or 80%, and the third percentage is 80% or 90%.

[0047] In one embodiment of the present application, after the management node obtains the CPU usage, memory usage, cache disk usage, data disk usage, and network card usage of the management node itself and other storage nodes in each preset period, it calculates the average CPU usage, average memory usage, average cache disk usage, average data disk usage, and average network card usage of all nodes. The ranges of the average CPU usage, average memory usage, average cache disk usage, average data disk usage, and average network card usage are determined respectively. The highest load level corresponding to the range of the average usage of multiple system resources is determined, and the highest load level is determined as the load level of the server system. For example, if the average CPU usage rate is within the range of (third percentage, 100%], the corresponding load level is level three overload; if the average memory usage rate is within the range of (second percentage, third percentage], the corresponding load level is level two overload; if the average cache disk usage rate is within the range of (first percentage, second percentage], the corresponding load level is level one overload; if the average data disk usage rate is within the range of (second percentage, third percentage], the corresponding load level is level three overload; if the average network card usage rate is within the range of (0, first percentage], the corresponding load level is not overloaded; at this time, it is determined that the highest load level corresponding to the range of the average system resource usage rates is level three overload, and the load level of the server system is determined to be level three overload.

[0048] In another embodiment of the present application, it is also possible to determine whether the server system is at the same load level for a preset number of consecutive times. If the server system is at the same load level for a preset number of consecutive times, the load level is determined as the load level of the server system. For example, the preset number of times is 2, 3, 5 or other values. For example, if the load level of the server system is determined to be a level one overload for three consecutive times, the load level of the server system is determined to be a level one overload.

[0049] In another embodiment of the present application, the load level of the server system is determined based on the system resource utilization rate and the service quality parameter of the server system. For example, the service quality parameter is I / O latency. Each load level may correspond to a system resource usage range and an I / O delay range, wherein the system resource usage range corresponding to no overload may be expressed as (0, first percentage], the system resource usage range corresponding to level one overload may be expressed as (first percentage, second percentage], the system resource usage range corresponding to level two overload may be expressed as (second percentage, third percentage], and the system resource usage range corresponding to level three overload may be expressed as (third percentage, 100%]. For example, the first percentage is 60% or 70%, the second percentage is 70% or 80%, and the third percentage is 80% or 90%. The I / O delay range corresponding to no overload is (0, first time threshold], the I / O delay range corresponding to level one overload is (first time threshold, second time threshold], the I / O delay range corresponding to level two overload is (second time threshold, third time threshold], and the I / O delay range corresponding to level three overload is (third time threshold, +∞]. For example, the first time threshold is 1ms or 2ms, the second time threshold is 2ms or 3ms, and the third percentage is 3ms or 4ms.

[0050] In another embodiment of the present application, after the management node obtains the CPU usage, memory usage, cache disk usage, data disk usage, network card usage, and I / O latency of the management node itself and other storage nodes in each preset period, it calculates the average CPU usage, average memory usage, average cache disk usage, average data disk usage, average network card usage, and average I / O latency of all nodes. The ranges of the average CPU usage, average memory usage, average cache disk usage, average data disk usage, and average network card usage are determined respectively, and the range of the I / O latency is determined. The load level corresponding to the range of each system resource usage average and I / O latency average is determined, and the highest load level is determined as the load level of the server system.

[0051] In another embodiment of the present application, the load level of the server system is determined based on the system resource utilization rate, service quality parameters, and fault type of the server system. Figure 3 As shown, it is a flowchart of determining the load level based on the health status provided by another embodiment of the present application.

[0052] S1031, determining a load score of the server system based on the system resource usage and service quality parameters.

[0053] In one embodiment of the present application, a load scoring strategy is adopted to determine the load score of the server system based on the system resource utilization rate and the service quality parameter. The load scoring strategy includes: a preset full score for the load score and a preset deduction value corresponding to the range of each system resource utilization rate and service quality parameter, and a deduction system is adopted to determine the load score of the server system based on the range of the system resource utilization rate, the range of the service quality parameter and the preset deduction value corresponding to each range. For example, the full score of the load score is 100 points, the preset deduction value of the system resource usage rate range (0, first percentage] is 0 points, the preset deduction value of the system resource usage rate range (first percentage, second percentage] is 20 points, the preset deduction value of the system resource usage rate range (second percentage, third percentage] is 40 points, the preset deduction value of the system resource usage rate range (third percentage, 100%] is 60 points, the preset deduction value of the service quality parameter range (0, first time threshold] is 0 points, the preset deduction value of the service quality parameter range (first time threshold, second time threshold] is 20 points, the preset deduction value of the service quality parameter range (second time threshold, third time threshold] is 40 points, and the preset deduction value of the service quality parameter range (third time threshold, +∞] is 60 points. If the system resource usage rate is within the range of (0, first percentage], the deduction value of the system resource usage rate is 20 points, and if the service quality parameter is within the range of (second time threshold, third time threshold], the deduction value of the service quality parameter is 40 points. In this way, the load score of the server system is 40 points.

[0054] In another embodiment of the present application, the load scoring strategy may also include: presetting the scores corresponding to the ranges of each system resource usage rate and the ranges of the service quality parameters, and determining the load score of the server system based on the ranges of the system resource usage rate, the ranges of the service quality parameters, and the scores corresponding to each range. For example, the score of the system resource usage rate range [0, first percentage] is 100 points, the score of the system resource usage rate range [first percentage, second percentage] is 80 points, the score of the system resource usage rate range [second percentage, third percentage] is 60 points, and the score of the system resource usage rate range [third percentage, 100%] is 40 points.

[0055] S1032: Determine a health score of the server system based on the fault type.

[0056] In one embodiment of the present application, the failure types of the server system include hardware failure types, software failure types, and sub-health failure types. The hardware failure type is determined by monitoring the hardware indicators of the server system, the software failure type is determined by monitoring the software indicators of the server system, and the sub-health failure type is determined by monitoring the sub-health indicators of the server system.

[0057] In one embodiment of the present application, the hardware indicators of the server system include but are not limited to: disk array card failure indicators, disk failure indicators and network card failure indicators. Among them, the disk array card failure indicators include but are not limited to: disk array card reset, system disk hang risk, disk reset failure alarm / disk reset alarm, hard disk physical bad sector alarm, disk array card backplane and SAS line possible failure alarm. Disk failure indicators include but are not limited to: disk bad sector alarm / irrecoverable sector exceeds the standard, SSD life warning / SSD remaining space is insufficient, disk temperature is too high, disk failure warning, read-only disk, card disk. Network card failure indicators include but are not limited to: network card offline, network packet loss rate abnormal, network error packet rate abnormal, network card flash disconnection.

[0058] In one embodiment of the present application, the disk life is represented based on the remaining life percentage in the SMART (Self-Monitoring Analysis and Reporting Technology) information. If the disk life percentage is less than or equal to 10%, the disk is determined to be a high-risk disk. If the disk life percentage is less than or equal to 15%, the disk is determined to be a low-risk disk. If the disk life percentage is greater than 15%, the disk is determined to be a healthy disk.

[0059] In one embodiment of the present application, the disk risk can also be determined based on the cumulative number of physical bad sectors. For example, if the cumulative number of physical bad sectors of the disk is greater than or equal to 40, the disk is determined to be a low-risk disk. If the cumulative number of physical bad sectors of the disk is greater than or equal to 100, the disk is determined to be a high-risk disk.

[0060] In one embodiment of the present application, the software indicators of the server system include but are not limited to: process deadlock and repeated process restarts.

[0061] In one embodiment of the present application, the sub-health indicators of the server system include but are not limited to: node sub-health indicators, hard disk sub-health indicators, and network sub-health indicators. Among them, node sub-health indicators include but are not limited to: network failure, repeated memory error correction leading to access speed reduction. Hard disk sub-health indicators include but are not limited to: SMART information. Network sub-health indicators include but are not limited to: network card speed reduction, increased packet loss / error rate.

[0062] In one embodiment of the present application, a scoring level is set for each item in the hardware indicators, software indicators and sub-health indicators, and a score for each item is determined based on the scoring level of each item in the hardware indicators, software indicators and sub-health indicators; and a health score of the server system is determined based on the score of each item.

[0063] In one embodiment of the present application, the scoring level of each item in the hardware indicators, software indicators and sub-health indicators is set based on the degree of influence on the health status of the server system. The full score of the health status score is preset, and based on the scoring level of each item, the health score of the server system is determined by a deduction system. For example, the scoring levels include one to five levels, and each level may correspond to a score or a score range, for example, the first level deduction is 0-10 points, the second level deduction is 10-20 points, the third level deduction is 20-30 points, the fourth level deduction is 40-50 points, and the fifth level deduction is 50-100 points. For example, the full score of the health status score is 100 points, the scoring level of the disk array card reset is level two, and the scoring level of the SSD life warning is level three. If the server system has a disk array card reset and an SSD life warning, the total deduction is 30 points, and the health score of the server system is 70 points.

[0064] S1033, determining the load level of the server system based on the load score and the health score.

[0065] In one embodiment of the present application, the total score of the server system is determined based on the load score and the health score, and the load level of the server system is determined based on the preset score range in which the total score is located and the correspondence between multiple preset score ranges and multiple load levels. Figure 4 As shown, it is a table of correspondence between preset score ranges and load levels provided in an embodiment of the present application. For example, the preset score range corresponding to no overload is 90-100 points, the preset score range corresponding to level 1 overload is 70-90 points, the preset score range corresponding to level 2 overload is 50-70 points, and the preset score range corresponding to level 3 overload is 0-50 points.

[0066] In one embodiment of the present application, the total score of the server system can be obtained by calculating the average value of the load score and the health score. In another embodiment of the present application, the total score of the server system can be obtained by calculating the sum of the load score and the health score. In another embodiment of the present application, the weights of the load score and the health score can also be set respectively, and the total score of the server system can be calculated by weighted summation.

[0067] S104: Determine an I / O processing strategy of the server system based on the load level.

[0068] See also Figure 5As shown, it is a schematic diagram of processing I / O requests provided by an embodiment of the present application. An I / O request is initiated by a user terminal and requires the server system to perform an operation request to read or write data. A license generation module is set in each server node in the server system, which is used to distribute license tokens to I / O requests and decide whether the server node processes or discards an I / O request. The license generation module is a software module. When the server system is not overloaded, the server's license generation module distributes a license token to each I / O request sent by the user terminal, so that the server processes each I / O request. See Figure 6 FIG. 2 is another schematic diagram of processing I / O requests provided by an embodiment of the present application. When the server system is in an overloaded state, the server can set the rate at which the license generation module distributes license tokens so that the server processes I / O requests at a uniform speed and does not process overdue I / O requests.

[0069] In one embodiment of the present application, the IOPS and bandwidth BPS of the server system are set based on the load level. Among them, the IOPS of the first level overload is the first preset value A1, and the BPS is the second preset value B1; the IOPS of the second level overload is A2, A2=A1×m%, and the BPS is B2, B2=B1×m%; the IOPS of the third level overload is A3, A3= A2×m%, and the BPS is B3, B3=B2×m%. For example, the first preset value is 100k / s, the second preset value is 400MB / s, and m% is 80%. For example, if the load level is the second level overload, the IOPS is set to 80k / s and the BPS is set to 320MB / s.

[0070] S105: Process the I / O request based on the I / O processing strategy.

[0071] In an embodiment of the present application, the rate at which the server system generates I / O licenses is determined based on IOPS, and the I / O requests are processed based on the rate at which the I / O licenses are generated and the BPS.

[0072] In one embodiment of the present application, the rate of generating I / O licenses is the number of I / O licenses generated per second. The rate of generating I / O licenses is set to be the same as IOPS. The server node receives the I / O processing request sent by the user terminal and applies for the I / O processing license to the license generation module. The license generation module distributes license tokens to the I / O processing request based on the rate of generating I / O licenses. It is determined whether the I / O processing request obtains the license token within the preset time. If the I / O processing request obtains the license token within the preset time, the I / O processing request is processed based on the BPS corresponding to the load level of the server system, and the corresponding data is read or written in the storage node. For example, in the process of processing the I / O processing request, the maximum amount of data read or written per second is the BPS.

[0073] S106, isolating the target node or target hardware corresponding to the preset fault, and suspending the service provided by the target node or target hardware.

[0074] In one embodiment of the present application, if at least one node or hardware has a preset fault, the at least one node or hardware having the preset fault is referred to as a target node or target hardware. The target node or target hardware is isolated by disconnecting the network connection of the target node or target hardware and transferring the data of the target node or target hardware to other server nodes, thereby suspending the service provided by the target node or target hardware.

[0075] In one embodiment of the present application, the isolated target node or target hardware can be periodically detected. If the isolated target node or target hardware returns to normal, the target node or target hardware is restored, the network connection of the target node or target hardware is re-established, and the services provided by the target node or target hardware are restored.

[0076] Through the above-mentioned embodiments of the present application, the health status of the server system can be monitored to determine the load level of the server system, and the I / O processing strategy of the server system can be determined based on different load levels to process the received I / O requests, thereby providing refined server system management measures to avoid I / O jitter and anomalies in the server system and effectively ensure the performance of the server system.

[0077] In other embodiments of the present application, the server system management method can also be applied to a single storage node. For example, each storage node monitors the health status. If it is determined based on the health status that no preset fault occurs, the load level is determined based on the health status, the I / O processing strategy is determined based on the load level, and the I / O request is processed based on the I / O processing strategy. If it is determined based on the health status that a preset fault occurs, the target node or target hardware corresponding to the preset fault is isolated, and the service provided by the target node or target hardware is suspended.

[0078] See also Figure 7 FIG. 1 is a flow chart of a server system management method provided by another embodiment of the present application. The method is applied in a server, and the server system management method includes: S201, monitor the health status of the server system.

[0079] S202, judging whether the server system has a preset fault based on the health status. If it is determined based on the health status that the server system has no preset fault, the process executes S203; if it is determined based on the health status that the server system has a preset fault, the process executes S207.

[0080] S203: Determine the load level of the server system based on the health status.

[0081] S204: Adjust the load level of the server system based on the current I / O processing strategy.

[0082] In one embodiment of the present application, after determining the load level of the server system based on the health status, the I / O request continues to be processed based on the current I / O processing strategy within a preset time period, and in the process of processing the I / O request, the load level of the server system is continuously monitored, and if the load level of the server system is changed to not overloaded, the load level of the server system is reduced by one level. If the load level of the server system is still overloaded and the load remains unchanged, for example, the system resource utilization and I / O latency remain unchanged, the current load level is maintained. If the load level of the server system is still overloaded and the load increases, for example, the system resource utilization and / or I / O latency increase, the load level of the server system is increased by one level.

[0083] S205: Update the I / O processing strategy of the server system based on the adjusted load level.

[0084] S206: Process the I / O request based on the updated I / O processing strategy.

[0085] S207: Isolate the target node or target hardware corresponding to the preset fault, and suspend the service provided by the target node or target hardware.

[0086] The specific implementations of S201-S203 and S205-S207 are the same as those of S101-S106 and will not be elaborated here.

[0087] See also Figure 8, which is a schematic diagram of the structure of a server system management device provided in one embodiment of the present application. In one embodiment of the present application, the server system management device 200 may include a plurality of functional modules composed of computer program segments. The computer program segments in the server system management device 200 may be stored in a memory of a server and executed by at least one processor to perform server system management functions.

[0088] In one embodiment of the present application, the server system management device 200 can be divided into multiple functional modules according to the functions it performs. The functional modules of the server system management device 200 may include: a monitoring module 201, a judgment module 202, a determination module 203, a decision module 204, a processing module 205 and an isolation module 206. The module in the embodiment of the present application refers to a series of computer program segments that can be executed by at least one processor and can complete fixed functions, which are stored in a memory.

[0089] The monitoring module 201 is used to monitor the health status of the server system.

[0090] The judgment module 202 is used to judge whether a preset fault occurs in the server system based on the health status.

[0091] The determination module 203 is used to determine the load level of the server system based on the health status.

[0092] The decision module 204 is used to determine the I / O processing strategy of the server system based on the load level.

[0093] The processing module 205 is used to process the I / O request based on the I / O processing policy.

[0094] The isolation module 206 is used to isolate the target node or target hardware corresponding to the preset fault and suspend the service provided by the target node or target hardware.

[0095] An embodiment of the present application also provides a server system, including a management node and multiple storage nodes, wherein the management node monitors the health status of the server system; if it is determined based on the health status that the server system has not experienced a preset fault, the management node determines the load level of the server system based on the health status; the management node determines the I / O processing strategy of the server system based on the load level; the management node and the storage nodes process the I / O requests based on the I / O processing strategy.

[0096] The present application also provides an electronic device 1, which can be Figure 1 The management node in the server system shown can also be any storage node in the server system. Fig. 9The server system management method provided in the embodiment of the present application is applied to an electronic device 1 , which includes, but is not limited to, a processor 110 and a memory 120 connected via a communication bus 130 . Fig. 9 This is merely an example of an electronic device and does not constitute a corresponding limitation. In other embodiments, the electronic device may include more components than those shown in the figure.

[0097] The memory 120 may include one or more random access memories (RAM) and one or more non-volatile memories (NVM). The random access memory can be directly read and written by the processor 110, and can be used to store executable programs (such as machine instructions) of the operating system or other running programs, and can also be used to store user and application data. The random access memory may include static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), etc.

[0098] The non-volatile memory may also store executable programs and user and application data, etc., and may be pre-loaded into the random access memory for direct reading and writing by the processor 110. The non-volatile memory may include a disk storage device and a flash memory.

[0099] The memory 120 is used to store one or more computer programs. The one or more computer programs are configured to be executed by the processor 110. The one or more computer programs include a plurality of instructions, and when the plurality of instructions are executed by the processor 110, a server system management method executed on the electronic device 1 can be implemented.

[0100] In other embodiments, the electronic device 1 further includes an external memory interface for connecting to an external memory to expand the storage capacity of the electronic device 1 .

[0101] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0102] The processor 110 provides computing and control capabilities. For example, the processor 110 is used to execute a computer program stored in the memory 120 to implement the above-mentioned server system management method.

[0103] The communication bus 130 is at least used to provide a channel for the memory 120 and the processor 110 in the electronic device 1 to communicate with each other.

[0104] It is understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the electronic device 1. In other embodiments of the present application, the electronic device 1 may include more or fewer components than shown in the figure, or combine certain components, or separate certain components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0105] An embodiment of the present application also provides a computer storage medium, in which computer instructions are stored. When the computer instructions are executed on the electronic device 1, the electronic device 1 executes the above-mentioned related method steps to implement the server system management method in the above-mentioned embodiment.

[0106] The embodiment of the present application also provides a computer program product. When the computer program product is run on a computer, the computer is caused to execute the above-mentioned related steps to implement the server system management method in the above-mentioned embodiment.

[0107] In addition, an embodiment of the present application also provides a device, which can specifically be a chip, component or module, and the device may include a connected processor and memory; wherein the memory is used to store computer execution instructions, and when the device is running, the processor can execute the computer execution instructions stored in the memory so that the chip executes the server system management method in the above-mentioned method embodiments.

[0108] Among them, the server, computer storage medium, computer program product or chip provided in this embodiment are all used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods provided above, and will not be repeated here.

[0109] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0110] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0111] The units described as separate components may or may not be physically separated, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0112] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0113] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store program code.

[0114] Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present application and are not intended to limit it. Although the present application has been described in detail with reference to the preferred embodiments, a person of ordinary skill in the art should understand that the technical solution of the present application may be modified or replaced by equivalents without departing from the spirit and scope of the technical solution of the present application.

Claims

1. A server system management method, characterized in that: The method comprises: Monitor the health status of the server system; If it is determined based on the health status that the server system does not have a preset fault, determining a load level of the server system based on the health status; Based on the load level, determining an I / O processing strategy for the server system; Based on the I / O processing policy, the I / O request is processed.

2. The server system management method according to claim 1, characterized in that: The health status includes a system resource usage rate of the server system, and determining the load level of the server system based on the health status includes: Acquire the system resource usage rate of the server system based on a preset period; Determine the range of the system resource usage; The load level of the server system is determined based on the range of the system resource usage rate and the range of the system resource usage rate corresponding to each load level.

3. The server system management method according to claim 1, characterized in that: The health status includes the system resource usage rate and service quality parameters of the server system, and determining the load level of the server system based on the health status includes: Acquiring system resource utilization and service quality parameters of the server system based on a preset period; Determining a range of the system resource usage rate and a range of the service quality parameter; Determine the load level corresponding to the system resource usage based on the range of the system resource usage and the range of the system resource usage corresponding to each load level; Determining the load level corresponding to the quality of service parameter based on the range of the quality of service parameter and the range of the quality of service parameter corresponding to each load level; The highest load level among the load level corresponding to the system resource usage rate and the load level corresponding to the service quality parameter is determined as the load level of the server system.

4. The server system management method according to claim 1, characterized in that: The health status includes the system resource usage rate, service quality parameters and fault type of the server system, and determining the load level of the server system based on the health status includes: determining a load score of the server system based on the system resource usage and the quality of service parameter; determining a health score of the server system based on the fault type; A load level of the server system is determined based on the load score and the health score.

5. The server system management method according to claim 4, characterized in that: The determining the load score of the server system based on the system resource usage and the service quality parameter comprises: A load scoring strategy is adopted to determine the load score of the server system based on the system resource utilization rate and the service quality parameters. The load scoring strategy includes: presetting the full score of the load score and the preset deduction value corresponding to the range of the system resource utilization rate and the service quality parameter, and adopting a deduction system to determine the load score of the server system based on the range of the system resource utilization rate, the range of the service quality parameter and the preset deduction value corresponding to each range.

6. The server system management method according to claim 4, characterized in that: The fault type includes a hardware fault type, a software fault type, and a sub-health fault type, and determining the health score of the server system based on the fault type includes: Determine the type of hardware failure by monitoring the hardware indicators of the server system; Determining the type of software failure by monitoring software indicators of the server system; Determining the sub-health fault type by monitoring the sub-health index of the server system; Set a scoring level for each item among the hardware fault type, the software fault type and the sub-healthy fault type, determine the score of each item based on the scoring level of each item among the hardware fault type, the software fault type and the sub-healthy fault type, and determine the health score of the server system based on the score of each item.

7. The server system management method according to claim 1, characterized in that: The method further comprises: If it is determined based on the health status that the server system has the preset fault, the target node or target hardware corresponding to the preset fault is isolated, and the service provided by the target node or target hardware is suspended.

8. The server system management method according to claim 1, characterized in that: The preset faults include node abnormalities and hardware abnormalities.

9. The server system management method according to claim 1, characterized in that: The determining, based on the load level, an I / O processing strategy of the server system includes: Based on the load level, the number of input / output operations per second (IOPS) and the bandwidth of the server system are set.

10. The server system management method according to claim 9, characterized in that: The processing of the I / O request based on the I / O processing strategy includes: Based on the IOPS, determining a rate at which the server system generates I / O licenses; The I / O requests are processed based on the rate at which I / O grants are generated and the bandwidth.

11. The server system management method according to claim 1, characterized in that: After determining the load level of the server system based on the health status, the method further includes: Processing the I / O request based on the current I / O processing policy; If the load level of the server system is changed to not overloaded, reducing the load level of the server system by one level; If the load level of the server system is still overloaded and the load remains unchanged, maintaining the load level; If the load level of the server system is still overloaded and the load increases, the load level of the server system is increased by one level.

12. A server system management device, characterized in that: The device comprises: Monitoring module, used to monitor the health status of the server system; a determination module, configured to determine a load level of the server system based on the health status if it is determined based on the health status that the server system does not have a preset fault; A decision module, configured to determine an I / O processing strategy of the server system based on the load level; The processing module is used to process the I / O request based on the I / O processing strategy.

13. An electronic device, characterized in that: The electronic device comprises a memory and a processor: Wherein, the memory is used to store program instructions; The processor is used to read and execute the program instructions stored in the memory. When the program instructions are executed by the processor, the electronic device executes the server system management method as described in any one of claims 1 to 9.

14. A computer storage medium, characterized in that: The computer storage medium stores program instructions, and when the program instructions are executed on an electronic device, a processor of the electronic device executes the server system management method according to any one of claims 1 to 9.

Citation Information

Cited By

  • Business processing method and device, electronic equipment and storage medium

    CN121396922A