A storage domain resource reservation method, device and medium

By injecting faults into the host machine and gradually increasing the number of CPU cores, the number of CPU cores that are not fully utilized is determined, which solves the problem of inaccurate CPU resource isolation in host machines with different CPU types, and realizes the normal operation of the SDS storage domain and efficient utilization of resources.

CN119739533BActive Publication Date: 2026-06-26INSPUR SUZHOU INTELLIGENT TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INSPUR SUZHOU INTELLIGENT TECH CO LTD
Filing Date
2024-12-31
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

In host machines with different CPU types, it is difficult to accurately isolate physical CPU resources through manual experience, leading to problems such as insufficient resources or excessive isolation in the SDS storage domain.

Method used

By obtaining the minimum storage performance value, a fault is injected into the host machine and the number of fully occupied CPU cores is gradually increased until the IO performance value of the SDS storage domain is less than the minimum value. The number of unoccupied CPU cores is then obtained, and the value greater than that is taken as the minimum number of cores for CPU isolation.

Benefits of technology

It achieves accurate isolation of CPU resources in different application scenarios, ensures the normal operation of the SDS storage domain, reduces the impact on other functions of the host machine, and avoids resource waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119739533B_ABST
    Figure CN119739533B_ABST
Patent Text Reader

Abstract

The application discloses a storage domain resource reservation method and device and a medium, relates to the technical field of super-converged platforms, and is used for allocating CPU resources for SDS storage domains. In view of the problem that CPU isolation currently depends on manual experience and is inaccurate, the application provides a storage domain resource reservation method, which can define the minimum performance of an acceptable SDS storage domain, that is, a minimum storage performance value. When the IO performance of the SDS storage domain is higher than the value, it is considered that the SDS storage domain can normally operate. Further, the method applies pressure to each host in the SDS storage domain and gradually increases the applied pressure to obtain an IO performance value greater than the minimum storage performance value, so as to realize accurate CPU isolation. Based on this, the method does not require manual participation and does not depend on experience, and can realize accurate CPU isolation in any platform, any type of host or CPU scene, and guarantee the normal operation of the SDS storage domain.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of hyperconverged platforms, and in particular to a method, apparatus and medium for reserving storage domain resources. Background Technology

[0002] Software-defined storage (SDS) is a technology that uses software to define and allocate resources such as servers, storage, networks, and security in a data center, enabling automated resource allocation.

[0003] The use of SDS requires the allocation of certain physical resources, such as a physical central processing unit (CPU). Currently, users typically reserve a certain amount of physical CPU resources for the SDS storage domain in advance based on their own experience to ensure its normal operation.

[0004] However, different host machines may have different CPU types, and different CPUs may have different performance characteristics. Therefore, it is difficult to achieve accurate CPU resource isolation based on experience in different application scenarios, which may lead to problems such as insufficient isolated CPU resources.

[0005] Therefore, those skilled in the art urgently need a storage domain resource reservation method to solve the problem of inaccurate physical CPU resource isolation for SDS storage domains based on traditional manual experience. Summary of the Invention

[0006] The purpose of this invention is to provide a storage domain resource reservation method, apparatus, and medium to solve the problem of inaccurate physical CPU resource isolation for SDS storage domains based on traditional manual experience.

[0007] To address the aforementioned technical problems, this invention provides a method for reserving storage domain resources, comprising:

[0008] Find the minimum storage performance;

[0009] Inject faults into each host machine in the storage domain and gradually increase the number of CPU cores that are fully occupied until the input / output performance value of the software-defined storage domain is less than the minimum storage performance value for the first time; and obtain the number of CPU cores that are not fully occupied in each host machine at this time, and take a core value that is greater than the number of CPU cores that are not fully occupied as the minimum number of cores for the corresponding host machine.

[0010] The central processing units in each of the host machines are isolated according to the corresponding minimum number of cores.

[0011] In one possible embodiment, the step of injecting faults into each host machine in the storage domain and gradually increasing the number of fully occupied CPU cores until the input / output performance value of the software-defined storage domain is first less than the minimum storage performance value; and obtaining the number of CPU cores that are not fully occupied in each host machine at this time, and taking a core value greater than the number of unoccupied CPU cores as the minimum number of cores for the corresponding host machine includes:

[0012] A fault is injected into each of the host machines to ensure that N cores of the central processing unit of each host machine are fully utilized, and the input / output performance values ​​of each host machine are detected and obtained; wherein, the initial value of N is 1;

[0013] Determine whether the current input / output performance value is less than the minimum storage performance value;

[0014] If not, then increment the value of N by 1 and return to the step of injecting faults into each of the host machines so that each of the host machines is fully occupied with N cores of the central processing unit, and detecting and obtaining the input / output performance values ​​of each of the host machines;

[0015] If so, then N-1 will be the number of cores for pressurization;

[0016] The minimum number of cores for each host machine is determined based on the difference between the total number of cores in the central processing unit of each host machine and the corresponding number of stressed cores.

[0017] In one possible embodiment, injecting faults into each of the host machines to ensure that each of the host machines has N CPU cores fully utilized includes:

[0018] Faults are injected into each of the host machines using a chaos engineering platform to fill all N central processing units in each of the host machines.

[0019] In one possible embodiment, after determining the minimum number of cores corresponding to each of the said host machines, the method further includes:

[0020] Determine whether the minimum number of cores corresponding to each of the host machines has reached a preset number;

[0021] If not, return to the step of injecting faults into each host in the storage domain and gradually increasing the number of CPU cores that are fully occupied until the input / output performance value of the software-defined storage domain is less than the minimum storage performance value for the first time; and obtain the number of CPU cores that are not fully occupied in each host at this time, and take a core value that is greater than the number of CPU cores that are not fully occupied as the minimum number of cores for the corresponding host.

[0022] If so, proceed to the step of isolating the central processing units in each of the host machines according to the corresponding minimum number of cores;

[0023] The step of isolating the central processing units in each host machine according to the corresponding minimum number of cores includes:

[0024] Based on the preset number of minimum cores corresponding to each of the host machines, determine the average number of minimum cores for each host machine; wherein, if the average number of minimum cores is not an integer, it is rounded up.

[0025] The central processing units in each of the host machines are isolated based on the average minimum number of cores corresponding to each of the host machines.

[0026] In one possible embodiment, isolating the central processing units in each of the host machines according to the corresponding minimum number of cores includes:

[0027] The central processing unit with the minimum number of cores in the host machine is limited to be used only to maintain the operation of the software-defined memory domain.

[0028] In one possible embodiment, the minimum storage performance value is stored in a register; the method further includes:

[0029] When the minimum storage performance value changes, return to the step of obtaining the minimum storage performance value;

[0030] The step of obtaining the minimum storage performance value includes obtaining the minimum storage performance value from the register.

[0031] In one possible embodiment, the method further includes:

[0032] The input / output performance values ​​of each host machine are periodically detected according to a preset duration.

[0033] If the input / output performance value is less than the minimum storage performance value, then return to the step of obtaining the minimum storage performance value.

[0034] To address the aforementioned technical problems, the present invention also provides a storage domain resource reservation device, comprising:

[0035] The acquisition module is used to obtain the minimum storage performance.

[0036] The pressure module is used to inject faults into each host machine in the storage domain and gradually increase the number of CPU cores that are fully occupied until the input / output performance value of the software-defined storage domain is less than the minimum storage performance value for the first time; and to obtain the number of CPU cores that are not fully occupied in each host machine at this time, and take a core value that is greater than the number of CPU cores that are not fully occupied as the minimum number of cores for the corresponding host machine.

[0037] An isolation module is used to isolate the central processing units in each of the host machines according to the corresponding minimum number of cores.

[0038] To address the aforementioned technical problems, the present invention also provides a storage domain resource reservation device, comprising:

[0039] Memory, used to store computer programs;

[0040] A processor, used to implement the storage domain resource reservation method as described above when executing the computer program.

[0041] To address the aforementioned technical problems, the present invention also provides a non-volatile storage medium storing a computer program, which, when executed by a processor, implements the steps of the storage domain resource reservation method described above.

[0042] This invention provides a storage domain resource reservation method that allows for the definition of a minimum acceptable performance level for an SDS storage domain, i.e., a minimum storage performance value. When the input / output (IO) performance of the SDS storage domain exceeds this value, the SDS storage domain is considered to be operating normally. Furthermore, this method injects faults into each host machine within the SDS storage domain to apply pressure, gradually increasing the applied pressure to obtain an IO performance value greater than the minimum storage performance value. Specifically, since applying pressure to the host machine's CPU can cause some CPUs to become unusable for other services, i.e., unusable by the SDS storage domain, further increasing the pressure when the CPU pressure reaches a certain level will affect the performance of the SDS storage domain (i.e., the IO performance value decreases). When the IO performance value first falls below the minimum storage performance value through continuous pressure increases, it indicates that the number of unutilized CPU cores in the host machine is "just" insufficient to meet the minimum storage performance value. Here, "just" means that if one more unutilized CPU core were added, the IO performance value of the SDS storage domain would meet the minimum storage performance value.

[0043] Based on this, this method requires no manual intervention and does not rely on experience. Through stress testing, it can achieve accurate CPU isolation on any platform, any type of host machine, or CPU scenario, and provide CPU resources that meet the minimum performance requirements of the SDS storage domain, ensuring the normal operation of the SDS storage domain.

[0044] The storage domain resource reservation device and non-volatile storage medium provided by the present invention correspond to the above-described method and have the same effect. Attached Figure Description

[0045] To more clearly illustrate the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0046] Figure 1 A flowchart illustrating a storage domain resource reservation method provided in an embodiment of the present invention;

[0047] Figure 2 A structural diagram of a hyperconverged platform provided in an embodiment of the present invention;

[0048] Figure 3 A structural diagram of a storage domain resource reservation device provided in an embodiment of the present invention;

[0049] Figure 4 This is a structural diagram of another storage domain resource reservation device provided in an embodiment of the present invention. Detailed Implementation

[0050] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of the present invention.

[0051] The core of this invention is to provide a method, apparatus, and medium for reserving storage domain resources.

[0052] To enable those skilled in the art to better understand the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0053] Software-defined storage (SDS) is a technology that uses software to define and allocate resources such as servers, storage, networks, and security in a data center, enabling automated resource allocation.

[0054] Hyperconverged infrastructure (InCloud Rail) is also a software-centric architecture that uses compute, networking, and storage (and possibly other technologies) as basic components, selecting and predefining them according to system requirements. Hyperconverged platforms implemented based on this architecture typically deploy SDS storage domains to provide SDS services.

[0055] For hyperconverged platforms, the physical central processing unit (CPU) resources of the host machine on the cloud platform are limited. Therefore, when the physical CPU resource utilization of the host machine is high, it will lead to insufficient resources for the normal operation of the SDS storage domain. From a low-level perspective, the performance of the storage resources provided by the SDS storage domain will be reduced to a certain extent, which will affect upper-layer services and seriously impact the user experience. However, because the physical CPU resources in the system are limited, CPU resources cannot be isolated to the SDS indefinitely, otherwise virtual machines on the cloud platform will not be able to obtain enough CPU resources, affecting the normal use of system functions. Therefore, accurately determining the minimum physical CPU resources required by the SDS has become a major challenge in SDS applications.

[0056] Currently, when allocating CPU resources to SDS, the majority of the time it's done is manually, based on experience, pre-isolating a certain amount of CPU resources for the SDS. However, different host machines may have different CPU types, and different CPUs may have different performance characteristics. Therefore, it's difficult to achieve accurate CPU resource isolation based on experience in different application scenarios, which may lead to insufficient or excessive isolation of CPU resources.

[0057] To address the above problems, this invention provides a method for reserving storage domain resources, such as... Figure 1 As shown, it includes:

[0058] S11: Obtain the minimum storage performance.

[0059] S12: Inject faults into each host in the storage domain and gradually increase the number of CPU cores that are fully occupied until the input / output performance value of the software-defined storage domain is less than the minimum storage performance value for the first time; and obtain the number of CPU cores that are not fully occupied in each host at this time, and take a core value that is greater than the number of CPU cores that are not fully occupied as the minimum number of cores for the corresponding host.

[0060] S13: Isolate the central processing units in each host machine according to the corresponding minimum number of cores.

[0061] First, such as Figure 2 As shown, a common application scenario for this method is in applications such as... Figure 2 The hyperconverged platform shown includes a cluster of multiple host machines, in which an SDS storage domain is deployed. Each host machine includes a multi-core CPU, providing physical CPU resources for the implementation of the SDS storage domain.

[0062] In step S11, the minimum storage performance value is a pre-set configuration value. This value represents the minimum acceptable performance of storage resources provided by the SDS storage domain. The specific value is not limited in this embodiment and can be freely chosen according to actual needs. The purpose of setting the minimum storage performance value is to determine a condition that meets the most basic requirements for the normal operation of the SDS storage domain and minimizes CPU resource consumption.

[0063] Step S12 is the core step of this method. Its purpose is to accurately measure the minimum amount of CPU resources required to meet the minimum storage performance in different application scenarios by applying pressure to the host machine. The CPU resources in the host machine are generally expressed in terms of the number of cores.

[0064] Specifically, this method gradually increases the pressure applied to the host machine to determine a critical number of CPU cores that can meet the minimum storage performance requirements. As the pressure applied to the host machine gradually increases, more CPUs in the host machine become fully utilized. These fully utilized CPUs cannot be used by other services, including the SDS storage domain. In other words, as the number of fully utilized CPUs increases, the storage performance exhibited by the SDS storage domain decreases. The performance of the storage resources provided by the SDS storage domain can be represented by the input / output (IO) performance of the SDS storage domain. That is, as the applied pressure increases, the overall IO performance of the SDS storage domain will show a downward trend. However, it is not difficult to understand that if the CPU resources in the host machine are relatively abundant, that is, exceeding the maximum number of CPU cores required by the SDS storage domain, the IO performance value of the SDS storage domain will only show a downward trend with increasing pressure after the number of unutilized CPU cores in the host machine falls below the maximum number of CPU cores required by the SDS storage domain.

[0065] Furthermore, since different host machines may have different CPU models, the performance of a single-core CPU will also vary. Therefore, when pre-configuring the minimum storage performance, it is difficult to obtain a value that can be exactly satisfied by an integer number of single-core CPUs. Thus, in practical applications, it is difficult to determine the number of CPU cores that the SDS storage domain needs to isolate by using the SDS storage domain's IO performance value to exactly reach the minimum storage performance. Based on this, in this method, the minimum storage performance is determined when the SDS storage domain's IO performance value first falls below the minimum storage performance. When the SDS storage domain's IO performance value first falls below the minimum storage performance, it means that as long as the number of CPU cores is greater than the number of unutilized CPU cores in the current host machine, the minimum storage performance can be satisfied. Therefore, in step S12, taking any number of cores greater than the number of unutilized CPU cores yields the minimum number of cores required to satisfy the minimum storage performance.

[0066] For example, suppose the IO performance value of the SDS storage domain is equal to the minimum storage performance value, which corresponds to 10.5 CPU cores (in reality, there are no non-integer numbers of CPUs; this only indicates that the minimum storage performance value is not easily satisfied by an exact integer number of CPUs). Therefore, when the IO performance value of the SDS storage domain first falls below the minimum storage performance value, the number of CPU cores that are not fully utilized is 10. Any integer value greater than 10 can be taken as the minimum number of cores mentioned above, which can meet the requirement of the minimum storage performance value.

[0067] Furthermore, as shown in step S13, the minimum number of cores is also the number of CPU cores allocated to the SDS storage domain by this method. Since the host machine's CPU resources are limited, allocating too many CPU cores to the SDS storage domain, while ensuring its normal operation, may adversely affect other functions of the host machine. For example, virtual machines running on the host machine may not be able to obtain sufficient CPU resources, thus affecting their functionality. Therefore, this embodiment also provides a further implementation scheme for step S12, which specifically includes:

[0068] S121: Inject faults into each host machine so that each host machine has N CPU cores fully occupied, and detect and obtain the input / output performance values ​​of each host machine.

[0069] The initial value of N is 1.

[0070] S122: Determine whether the current input / output performance value is less than the minimum storage performance value.

[0071] S123: If not, increment the value of N by 1 and return to step S121.

[0072] S124: If so, then N-1 will be the number of cores for pressurization.

[0073] S125: Determine the minimum number of cores for each host machine based on the difference between the total number of cores in each host machine's central processing unit and the corresponding number of boosted cores.

[0074] In this embodiment, since the number of CPU cores not fully utilized is difficult to obtain directly, it is indirectly obtained by subtracting the total number of CPU cores in the host machine from the number of fully utilized CPU cores. Furthermore, in this embodiment, instead of arbitrarily choosing a value greater than the number of unutilized CPU cores when the I / O performance value first falls below the minimum storage performance value as the minimum core count, a value one greater than the number of unutilized CPU cores when the I / O performance value first falls below the minimum storage performance value is chosen as the minimum core count. Reflecting on the number of stressed cores, as mentioned above, the number of stressed cores should be one less than the number of fully utilized CPU cores N when the I / O performance value first falls below the minimum storage performance value.

[0075] Using the example above, assume the SDS storage domain's IO performance value equals the minimum storage performance value corresponding to 10.5 CPU cores, and the host machine's total core count is 50. Then, when the SDS storage domain's IO performance value first falls below the minimum storage performance value, the number of CPU cores fully utilized is 40. At this point, the number of cores requiring additional pressure should be 40 - 1 = 39. Therefore, the minimum number of cores is 50 - 39 = 11, which is the minimum number of CPU cores required to meet the minimum storage performance value.

[0076] In summary, based on the implementation scheme provided in this embodiment, the number of isolated CPUs can be minimized while ensuring the normal operation of the minimum standard SDS storage domain. This also minimizes the impact of the SDS storage domain on other system functions and achieves more accurate resource allocation.

[0077] This embodiment does not limit how to apply pressure to the host machine. Common solutions can be divided into applying pressure through software and applying pressure through hardware.

[0078] This embodiment provides a possible pressure application scheme, and step S12 above specifically includes:

[0079] By injecting faults into each host machine through a chaos engineering platform, N central processing units in each host machine can be filled.

[0080] It should be noted that chaos engineering platforms (such as InCloud Chaos) are platforms that support stress or fault testing of hosts or clusters (multi-hosts), and the faults are recoverable and will not affect the normal operation of the production environment. Therefore, in this embodiment, as... Figure 2 As shown, the hyperconverged platform also includes a chaos engineering platform, which is used to implement CPU stress in step S12. It is simple to implement and will not cause other irreversible damage to the host machine.

[0081] In addition, this embodiment also provides a possible implementation scheme. In the above method, after step S12 determines the minimum number of cores corresponding to each host machine, this method further includes:

[0082] S14: Determine whether the minimum number of cores for each host machine has reached the preset number. If not, return to step S12 to obtain a new minimum number of cores. If yes, proceed to step S13.

[0083] Accordingly, step S13 specifically includes:

[0084] S131: Determine the average minimum number of cores for each host machine based on the preset minimum number of cores for each host machine.

[0085] If the mean of the minimum number of cores is not an integer, it is rounded up.

[0086] S132: Isolate the central processing units in each host machine based on the average minimum number of cores for each host machine.

[0087] In this embodiment, the final isolation of the SDS storage domain CPU is achieved by averaging the results of multiple determinations of the minimum number of cores. This effectively eliminates errors caused by occasional problems and state fluctuations, resulting in a more accurate determination of the minimum number of cores. Furthermore, when averaging, since the number of isolated CPUs must be an integer, rounding is required if the final average is not an integer. This embodiment uses an up-rounding method to ensure that the CPU resources isolated for the SDS storage domain meet the minimum storage performance requirements.

[0088] Furthermore, this embodiment also provides a possible implementation scheme for how to isolate CPU resources for the SDS storage domain in step S13, where step S13 is as follows:

[0089] The central processing unit with the minimum number of cores in the host machine is used only to maintain the operation of the software-defined memory domain.

[0090] In this embodiment, the minimum number of CPU cores in the host machine are isolated from other CPUs, and these physical CPUs are restricted to maintaining the normal operation of the SDS storage domain. This allows for a simple and efficient way to allocate sufficient physical CPU resources to the SDS storage domain.

[0091] It should also be noted that in practical applications, considering deployment costs and the difficulty of subsequent operation and maintenance, the host machines in a hyperconverged platform are generally implemented using devices of the same model. Therefore, the number of physical CPU cores contained in a single host machine is generally the same, and the models of each CPU are also identical. Based on this, the number of isolated physical CPU cores in each host machine within an SDS storage domain should also be exactly the same (i.e., the minimum number of cores corresponding to each host machine is the same). In this application scenario, it is only necessary to determine the minimum number of cores corresponding to one host machine to achieve physical CPU isolation for all host machines in the SDS storage domain.

[0092] However, considering versatility, this method still adopts the approach of determining the minimum number of cores for each host machine individually. This ensures accurate physical CPU isolation for each host machine, even when hosts in the SDS storage domain use different devices with different total CPU core counts or different CPU models. This further expands the application scenarios where this method can accurately achieve physical CPU resource isolation in the SDS storage domain.

[0093] In summary, this invention provides a storage domain resource reservation method. By pre-configuring a minimum performance standard for the storage resources provided by an SDS storage domain, namely the aforementioned minimum storage performance value, the minimum performance required for the normal operation of the SDS storage domain is defined. The performance of the storage resources provided by the SDS storage domain is represented by its IO performance value. Based on the above settings, as long as the physical CPU resources allocated to the SDS storage domain enable the IO performance value of the SDS storage domain to be greater than or equal to the minimum storage performance value, it can be considered that the currently allocated physical CPU resources can meet the normal operation requirements of the SDS storage domain.

[0094] Specifically, to ensure adaptability to different platforms, host machines, and CPUs, this method uses stress testing to determine the minimum number of CPU cores required to meet minimum storage performance requirements. Regardless of the actual application scenario's minimum performance requirements for the SDS storage domain, the platform type, the number of host machines, the number of CPUs within a host machine, or the CPU model, it can accurately determine the minimum number of CPU cores needed for normal SDS operation. Furthermore, the determined minimum number of cores corresponds specifically to each host machine. Even if the host machines are not uniformly implemented using a single device, accurate isolation of the physical CPUs on each host machine can be achieved, better ensuring the accurate allocation of physical CPU resources to the SDS storage domain under various scenarios.

[0095] Furthermore, in one embodiment provided by the present invention, the determined minimum number of cores is the number of CPU cores not fully utilized when the IO performance value of the SDS storage domain first falls below the minimum storage performance value, plus 1. This is the minimum number of CPU cores required to meet the pre-configured minimum performance value. Based on this minimum number of cores, not only can the minimum performance standard for normal operation of the SDS storage domain be guaranteed, but also the minimum CPU resources allocated to the SDS storage domain can be ensured under the aforementioned conditions. This minimizes the impact of the SDS storage domain's CPU resource consumption on other normal functions in the platform and host machine, achieving more accurate CPU isolation that better suits the actual deployment needs of the hyperconverged platform, and avoiding resource waste caused by excessive CPU isolation.

[0096] As can be seen from the above, this method does not rely on manual experience when determining the physical CPU cores allocated to the SDS storage domain, and it can adapt to various application scenarios such as different platforms, different numbers of CPU cores in the host machine, and different CPU types. It can achieve the minimum performance standard required for the normal operation of the SDS storage domain, thus realizing accurate and efficient physical CPU isolation.

[0097] On the other hand, as can be seen from the above embodiments, the purpose of the storage domain resource reservation method provided by the present invention is to achieve physical CPU isolation of SDS storage, so as to ensure the minimum physical resources required for the normal operation of the SDS storage domain. Furthermore, regarding the triggering conditions of this method, or when this method is executed, this embodiment provides a possible implementation scheme:

[0098] The minimum storage performance is stored in a register.

[0099] This method also includes:

[0100] S21: And when the minimum storage performance changes, return to step S11.

[0101] Specifically, step S11 involves obtaining the minimum storage performance value from the register.

[0102] In this embodiment, the minimum storage performance value used in step S11 is pre-configured in a register. When step S11 of this method is executed, this configuration value can be retrieved from the register. Furthermore, as can be seen from the above embodiment, the pre-configured minimum storage performance value represents the lowest acceptable performance standard for the SDS storage domain during normal operation. Subsequent step S12 also determines the minimum number of isolated CPU cores required for each host machine based on this standard. Therefore, when the minimum storage performance value changes due to changes in requirements in actual application scenarios, this method needs to be re-executed to redetermine the minimum number of cores for each host machine and re-isolate the physical CPUs to adapt to different real-time needs. In addition, since the minimum storage performance value is stored in a register in this embodiment, when the minimum performance standard for normal operation changes during the actual operation of the hyperconverged platform and the SDS storage domain, this minimum performance standard can be conveniently and quickly modified by changing the storage performance minimum value in the register. Moreover, this modification will trigger the re-execution of this method to update the isolated physical CPU resources of the SDS storage domain to the latest requirements in a timely manner.

[0103] Furthermore, aside from the aforementioned embodiments addressing the need to re-trigger this method to determine a new minimum number of cores and implement new physical CPU isolation when the minimum performance standards for the normal operation of the SDS storage domain change, to adapt to real-time changes, this embodiment also provides another mechanism for updating the minimum number of cores, i.e., the conditions for re-triggering this method. This method further includes:

[0104] S22: Periodically detect the input / output performance values ​​of each host machine according to a preset duration.

[0105] S23: If the input / output performance value is less than the minimum storage performance value, return to step S11.

[0106] This embodiment provides another mechanism for updating the minimum number of cores or the physical CPU isolation of the SDS storage domain. That is, when the performance of the storage resources provided by the SDS storage domain falls below the pre-configured minimum storage performance, the above steps S11 to S13 are triggered again to update the minimum number of cores and re-isolate the physical CPU.

[0107] It should be noted that the application scenario addressed in this embodiment is not one where the minimum storage performance value changes. Rather, it addresses the inevitable wear and tear on physical devices such as the host machine and CPU during long-term operation, leading to performance degradation. In other words, the minimum number of cores required to meet the minimum storage performance value at a given time may no longer be sufficient at a future time. Specifically, in one of the implementation schemes provided above, the minimum number of cores is taken as the number of unutilized CPU cores in the host machine plus one when the IO performance value of the SDS storage domain first falls below the minimum storage performance value. This aims to minimize the number of physical CPUs allocated to the SDS storage domain while still meeting the pre-configured minimum performance standards for normal operation. Therefore, in this embodiment, the redundancy of physical CPUs allocated to the SDS storage domain is lower, making it more susceptible to performance degradation due to prolonged operation of the host machine and CPU, which could cause the performance of the storage resources provided by the SDS storage domain to fail to meet the pre-configured minimum storage performance value. Based on this, when the IO performance value of the SDS storage domain falls below the minimum storage performance value again, this method will re-trigger steps S11 to S13 to redetermine the minimum number of cores and re-isolate the physical CPUs to adapt to this performance change and better ensure the normal operation of the SDS storage domain.

[0108] On the other hand, the above embodiments all provide corresponding implementation schemes for the triggering conditions of re-execution of this method. However, for the triggering conditions of the first execution of this method, this embodiment also provides a possible implementation scheme:

[0109] The above steps are implemented through a pre-written script, which is triggered to execute when the SDS storage domain is deployed.

[0110] It should be noted that the steps implemented by the script in this embodiment include not only steps S11-S13 and their specific embodiments described above, but also steps S21-S23 corresponding to the two embodiments for updating the minimum number of cores. That is, when the script containing steps S11-S13 and S21-S23 is deployed in the SDS storage domain, steps S11-S13 are first executed once to determine the minimum number of cores and perform physical CPU isolation for the first time. Afterward, steps S21-S23 are continuously run for a long time, and when a specific triggering condition is met, steps S11-S13 are retried to redetermine the minimum number of cores and perform physical CPU isolation.

[0111] As can be seen from the above, this embodiment provides a possible implementation scheme for the storage domain resource reservation method provided by the present invention in software form. It uses scripts to achieve isolation of the physical CPU of the portable SDS storage domain, which also makes the overall method easier to implement.

[0112] In addition to the above embodiments providing a storage domain resource reservation method, this invention also provides an embodiment corresponding to a computer program product. A computer program product includes a computer program / instructions, which, when executed by a processor, can implement the steps of the storage domain resource reservation method as described in any of the above embodiments.

[0113] Since the embodiments of the computer program product portion correspond to the embodiments of the method portion, please refer to the description of the embodiments of the method portion for the embodiments of the computer program product portion, which will not be repeated here.

[0114] In the above embodiments, a storage domain resource reservation method has been described in detail. The present invention also provides an embodiment corresponding to a storage domain resource reservation device. It should be noted that the present invention describes the device embodiment from two perspectives: one based on functional modules, and the other based on hardware.

[0115] From the perspective of functional modules, this embodiment provides a storage domain resource reservation device, such as... Figure 3 As shown, it includes:

[0116] Module 11 is used to obtain the minimum storage performance value.

[0117] The pressurization module 12 is used to inject faults into each host in the storage domain and gradually increase the number of CPU cores that are fully occupied until the input / output performance value of the software-defined storage domain is less than the minimum storage performance value for the first time; and to obtain the number of CPU cores that are not fully occupied in each host at this time, and take a core value that is greater than the number of CPU cores that are not fully occupied as the minimum number of cores for the corresponding host.

[0118] Isolation module 13 is used to isolate the central processing units in each host machine according to the corresponding minimum number of cores.

[0119] Since the embodiments of the apparatus and the embodiments of the method correspond to each other, please refer to the description of the embodiments of the method for the embodiments of the apparatus, which will not be repeated here.

[0120] This device determines the physical CPU cores allocated to an SDS storage domain without relying on human experience and can adapt to various application scenarios, including different platforms, different numbers of CPU cores in the host machine, and different CPU types. It can consistently achieve the minimum performance requirements for the normal operation of an SDS storage domain, thus enabling accurate and efficient physical CPU isolation.

[0121] Figure 4 A structural diagram of a storage domain resource reservation device provided in another embodiment of the present invention is shown below. Figure 4 As shown, a storage domain resource reservation device includes: a memory 20 for storing computer programs;

[0122] The processor 21 is used to implement the steps of a storage domain resource reservation method as described in the above embodiment when executing a computer program.

[0123] The storage domain resource reservation device provided in this embodiment may include, but is not limited to, mobile terminals, personal computers, workstations, etc.

[0124] The processor 21 may include one or more processing cores, such as a quad-core processor or an octa-core processor. The processor 21 may be implemented using at least one of the following hardware forms: Digital Signal Processor (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). The processor 21 may also include a main processor and a coprocessor. The main processor, also known as the Central Processing Unit (CPU), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 21 may integrate a Graphics Processing Unit (GPU), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, the processor 21 may also include an Artificial Intelligence (AI) processor, which is used to handle computational operations related to machine learning.

[0125] The memory 20 may include one or more computer-readable storage media, which may be non-transitory. The memory 20 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In this embodiment, the memory 20 is used to store at least the following computer program 201, which, after being loaded and executed by the processor 21, is capable of implementing the relevant steps of a storage domain resource reservation method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 20 may also include an operating system 202 and data 203, and the storage method may be temporary or permanent storage. The operating system 202 may include Windows, Unix, Linux, etc. The data 203 may include, but is not limited to, a storage domain resource reservation method.

[0126] In some embodiments, a storage domain resource reservation device may further include a display screen 22, an input / output interface 23, a communication interface 24, a power supply 25, and a communication bus 26.

[0127] Those skilled in the art will understand that Figure 4 The structure shown does not constitute a limitation on a storage domain resource reservation device and may include more or fewer components than shown.

[0128] The present invention provides a storage domain resource reservation device, including a memory and a processor. When the processor executes a program stored in the memory, it can implement the following method: a storage domain resource reservation method.

[0129] The storage domain resource reservation device provided in this embodiment, through the execution of a computer program stored in memory by a processor, can determine the physical CPU cores allocated to an SDS storage domain without relying on human experience. It is adaptable to various application scenarios, including different platforms, different numbers of CPU cores in the host machine, and different CPU types. It can achieve the minimum performance standard required for the normal operation of the SDS storage domain, thereby realizing accurate and efficient physical CPU isolation.

[0130] Finally, the present invention also provides an embodiment corresponding to a non-volatile storage medium. A computer program is stored on the non-volatile storage medium, and when executed by a processor, the computer program implements the steps described in the above method embodiments.

[0131] It is understood that if the methods in the above embodiments are implemented as software functional units and sold or used as independent products, they can be stored in a non-volatile storage medium. Based on this understanding, the technical solution of the present invention, in essence, 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. This computer software product is stored in a storage medium and executes all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0132] This embodiment provides a non-volatile storage medium that, when the computer program stored therein is executed, can achieve accurate physical CPU resource isolation of the SDS storage domain without relying on human experience. It is adaptable to various application scenarios, including different platforms, different numbers of CPU cores in the host machine, and different CPU types. It can achieve the minimum number of CPU cores required for the normal operation of the SDS storage domain, thereby realizing accurate and efficient physical CPU isolation.

[0133] The foregoing has provided a detailed description of a storage domain resource reservation method, apparatus, and medium provided by the present invention. The various embodiments in the specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section. It should be noted that those skilled in the art can make several improvements and modifications to the present invention without departing from the principles of the invention, and these improvements and modifications also fall within the protection scope of the present invention.

[0134] It should also be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

Claims

1. A method for reserving storage domain resources, characterized in that, Applied to a cluster consisting of multiple host machines, each of which includes a multi-core central processing unit, including: Find the minimum storage performance; Inject faults into each host machine in the software-defined storage domain and gradually increase the number of CPU cores that are fully occupied until the input / output performance value of the software-defined storage domain is less than the minimum storage performance value for the first time; and obtain the number of CPU cores that are not fully occupied in each host machine at this time, and take a core value that is greater than the number of CPU cores that are not fully occupied as the minimum number of cores for the corresponding host machine. The central processing units in each of the host machines are isolated according to the corresponding minimum number of cores; The step of injecting faults into each host machine in the software-defined storage domain and gradually increasing the number of fully occupied CPU cores until the input / output performance value of the software-defined storage domain is first less than the minimum storage performance value; and obtaining the number of CPU cores that are not fully occupied in each host machine at this time, and taking a core value greater than the number of CPU cores that are not fully occupied as the minimum number of cores for the corresponding host machine includes: A fault is injected into each of the host machines to ensure that N cores of the central processing unit of each host machine are fully utilized, and the input / output performance values ​​of each host machine are detected and obtained; wherein, the initial value of N is 1; Determine whether the current input / output performance value is less than the minimum storage performance value; If not, then increment the value of N by 1 and return to the step of injecting faults into each of the host machines so that each of the host machines is fully occupied with N cores of the central processing unit, and detecting and obtaining the input / output performance values ​​of each of the host machines; If so, then N-1 will be the number of cores for pressurization; The minimum number of cores for each host machine is determined based on the difference between the total number of cores in the central processing unit of each host machine and the corresponding number of stressed cores.

2. The storage domain resource reservation method according to claim 1, characterized in that, The step of injecting faults into each of the host machines to ensure that each of the host machines has N CPU cores fully utilized includes: Faults are injected into each of the host machines using a chaos engineering platform to fill all N central processing units in each of the host machines.

3. The storage domain resource reservation method according to claim 1, characterized in that, After determining the minimum number of cores corresponding to each of the aforementioned host machines, the method further includes: Determine whether the minimum number of cores corresponding to each of the host machines has reached a preset number; If not, then return to the step of injecting faults into each host machine in the software-defined storage domain and gradually increasing the number of CPU cores that are fully occupied until the input / output performance value of the software-defined storage domain is less than the minimum storage performance value for the first time; and obtain the number of CPU cores that are not fully occupied in each host machine at this time, and take a core value that is greater than the number of CPU cores that are not fully occupied as the minimum number of cores for the corresponding host machine. If so, proceed to the step of isolating the central processing units in each of the host machines according to the corresponding minimum number of cores; The step of isolating the central processing units in each host machine according to the corresponding minimum number of cores includes: Based on the preset number of minimum cores corresponding to each of the host machines, determine the average number of minimum cores for each host machine; wherein, if the average number of minimum cores is not an integer, it is rounded up. The central processing units in each of the host machines are isolated based on the average minimum number of cores corresponding to each of the host machines.

4. The storage domain resource reservation method according to claim 1, characterized in that, The isolation of the central processing units in each of the host machines according to the corresponding minimum number of cores includes: The central processing unit with the minimum number of cores in the host machine is limited to be used only to maintain the operation of the software-defined memory domain.

5. The storage domain resource reservation method according to any one of claims 1 to 4, characterized in that, The minimum storage performance value is stored in a register; this method also includes: When the minimum storage performance value changes, return to the step of obtaining the minimum storage performance value; The step of obtaining the minimum storage performance value includes obtaining the minimum storage performance value from the register.

6. The storage domain resource reservation method according to any one of claims 1 to 4, characterized in that, This method also includes: The input / output performance values ​​of each host machine are periodically detected according to a preset duration. If the input / output performance value is less than the minimum storage performance value, then return to the step of obtaining the minimum storage performance value.

7. A storage domain resource reservation device, characterized in that, Applied to a cluster consisting of multiple host machines, each of which includes a multi-core central processing unit, including: The acquisition module is used to obtain the minimum storage performance. A pressurization module is used to inject faults into each host machine in the software-defined storage domain and gradually increase the number of fully occupied CPU cores until the input / output performance value of the software-defined storage domain is first less than the minimum storage performance value; and to obtain the number of CPU cores that are not fully occupied in each host machine at this time, and take a core value greater than the number of unoccupied CPU cores as the minimum number of cores for the corresponding host machine; wherein, the process of injecting faults into each host machine in the software-defined storage domain and gradually increasing the number of fully occupied CPU cores until the input / output performance value of the software-defined storage domain is first less than the minimum storage performance value; and to obtain the number of CPU cores that are not fully occupied in each host machine at this time, and take a core value greater than the number of unoccupied CPU cores... The core count, as the minimum number of cores for the corresponding host machine, includes: injecting a fault into each host machine to ensure that N cores of the CPU are fully utilized in each host machine; detecting and acquiring the input / output performance value of each host machine; wherein, the initial value of N is 1; determining whether the current input / output performance value is less than the minimum storage performance value; if not, incrementing the value of N by 1 and returning to the steps of injecting a fault into each host machine to ensure that N cores of the CPU are fully utilized in each host machine and detecting and acquiring the input / output performance value of each host machine; if yes, setting N-1 as the number of cores to be increased; determining the minimum number of cores for each host machine based on the difference between the total number of cores of the CPU of each host machine and the corresponding number of cores to be increased. An isolation module is used to isolate the central processing units in each of the host machines according to the corresponding minimum number of cores.

8. A storage domain resource reservation device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the storage domain resource reservation method as described in any one of claims 1 to 6 when executing the computer program.

9. A non-volatile storage medium, characterized in that, The non-volatile storage medium stores a computer program, which, when executed by a processor, implements the steps of the storage domain resource reservation method as described in any one of claims 1 to 6.