Storage domain resource reservation method and device and medium
By injecting faults into the SDS storage domain and measuring the number of CPU cores, the minimum CPU resource requirements of the SDS storage domain are determined, which solves the problem of inaccurate CPU resource isolation caused by traditional manual experience dependence, and realizes accurate resource allocation and normal operation of the SDS storage domain in different scenarios.
Patent Information
- Application Number
- CN202412000478.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2044-12-31
AI Technical Summary
Traditionally, based on manual experience, it is inaccurate to isolate physical CPU resources for SDS storage domains, resulting in insufficient or excessive resource isolation.
By obtaining the minimum storage performance value and injecting faults into each host in the storage domain, gradually increase the number of full CPU cores until the input and output performance value is less than the minimum storage performance value, obtain the number of unfulfilled CPU cores, and take it as the minimum number of cores to isolate CPU resources.
It realizes the minimum CPU resources required for the SDS storage domain in different application scenarios, avoids manual experience dependence, is suitable for different platforms and CPU types, and ensures the normal operation of the SDS storage domain.
Smart Images

Figure CN119739533A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of hyper-convergence platforms, and in particular to a storage domain resource reservation method, device and medium. Background Art
[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 to achieve 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 generally reserve certain physical CPU resources for SDS storage domains in advance based on their own experience to ensure their normal operation.
[0004] However, different hosts may have different CPU types, and different CPUs may have different performances. 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, technicians in this field are in urgent need of a storage domain resource reservation method to solve the problem of inaccurate isolation of physical CPU resources for SDS storage domains based on traditional manual experience. Summary of the invention
[0006] The purpose of the present invention is to provide a storage domain resource reservation method, device and medium, which are used to solve the problem of inaccurate isolation of physical CPU resources for SDS storage domains based on traditional manual experience.
[0007] In order to solve the above technical problems, the present invention provides a storage domain resource reservation method, comprising:
[0008] Get the minimum storage performance;
[0009] Injecting faults into each host machine in the storage domain and gradually increasing the number of occupied CPU cores until the input and output performance value of the software-defined storage domain is less than the minimum storage performance value for the first time; and obtaining the number of unoccupied CPU cores in each of the host machines at this time, and taking a core value greater than the number of unoccupied CPU cores as the minimum number of cores corresponding to the host machine;
[0010] The central processing unit in each of the host machines is isolated according to the corresponding minimum number of cores.
[0011] In a possible embodiment, injecting faults into each host machine in the storage domain and gradually increasing the number of occupied CPU cores until the input and output performance value of the software-defined storage domain is less than the minimum storage performance value for the first time; and obtaining the number of unoccupied CPU cores in each of the host machines at this time, and taking a core value greater than the number of unoccupied CPU cores as the minimum number of cores corresponding to the host machine includes:
[0012] Injecting a fault into each of the host machines so that the number of cores of the central processing unit of each of the host machines is fully occupied is N, and detecting and obtaining the input and output performance value of each of the host machines; 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, the value of N is increased by 1, and the process returns to the step of injecting faults into each of the host machines, so that the number of cores of the central processing unit of each of the host machines is fully occupied is N, and the step of detecting and obtaining the input and output performance values of each of the host machines is performed;
[0015] If so, N-1 is used as the number of pressurized cores;
[0016] The minimum number of cores of each host machine is determined according to the difference between the total number of cores of the central processing unit of each host machine and the corresponding number of pressurized cores.
[0017] In a possible embodiment, injecting a fault into each of the host machines so that the number of cores of the central processing unit of each of the host machines is fully occupied is N includes:
[0018] Faults are injected into each of the host machines through the chaos engineering platform to fully occupy the N central processing units in each of the host machines.
[0019] In a possible embodiment, after determining the minimum number of cores corresponding to each host machine each time, the method further includes:
[0020] Determine whether the minimum number of cores corresponding to each of the host machines reaches a preset number;
[0021] If not, return to the step of injecting faults into each host machine in the storage domain and gradually increase the number of occupied CPU cores until the input and 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 unoccupied CPU cores in each of the host machines at this time, and take a core value greater than the number of unoccupied CPU cores as the minimum number of cores corresponding to the host machine;
[0022] If yes, proceed to the step of isolating the central processing unit in each of the host machines according to the corresponding minimum number of cores;
[0023] Wherein, isolating the central processing unit in each of the host machines according to the corresponding minimum number of cores includes:
[0024] According to the preset number of the minimum number of cores corresponding to each of the host machines, determine the average of the minimum number of cores corresponding to each of the host machines; wherein, if the average of the minimum number of cores is not an integer, round it up;
[0025] The central processing units in the host machines are isolated according to the minimum core number average corresponding to each host machine.
[0026] In a possible embodiment, isolating the central processing unit 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 storage domain.
[0028] In a 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] Wherein, the obtaining of the minimum storage performance value includes: obtaining the minimum storage performance value from the register.
[0031] In a possible embodiment, the method further includes:
[0032] Periodically detecting the input and output performance values of each of the host machines according to a preset time period;
[0033] If the input-output performance value is less than the minimum storage performance value, the process returns to the step of obtaining the minimum storage performance value.
[0034] In order to solve the above technical problems, the present invention further provides a storage domain resource reservation device, comprising:
[0035] An acquisition module is used to obtain the minimum storage performance;
[0036] A pressure module is used to inject faults into each host machine in the storage domain and gradually increase the number of occupied CPU cores until the input and 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 unoccupied CPU cores in each of the host machines at this time, and take a core value greater than the number of unoccupied CPU cores as the minimum number of cores corresponding to the host machine;
[0037] The isolation module is used to isolate the central processing unit in each of the host machines according to the corresponding minimum number of cores.
[0038] In order to solve the above technical problems, the present invention further provides a storage domain resource reservation device, comprising:
[0039] Memory for storing computer programs;
[0040] The processor is used to implement the steps of the storage domain resource reservation method as described above when executing the computer program.
[0041] To solve the above technical problem, the present invention further provides a non-volatile storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the storage domain resource reservation method as described above are implemented.
[0042] The present invention provides a storage domain resource reservation method, which can customize the acceptable minimum performance of the SDS storage domain, that is, the minimum storage performance. When the input and output (IO) performance of the SDS storage domain is higher than this value, it can be considered that the SDS storage domain can operate normally. Further, the method injects faults into each host in the SDS storage domain to exert pressure, and gradually increases the applied pressure to obtain an IO performance value greater than the minimum storage performance. Specifically, since the pressure on the CPU of the host machine will cause part of the CPU to be unable to be used by other services, that is, it cannot be used by the SDS storage domain, when the CPU pressure reaches a certain level, continuing to increase the pressure will affect the performance of the SDS storage domain (that is, the IO performance value becomes smaller). When the IO performance value is less than the minimum storage performance value for the first time through continuous pressure, it means that the number of unoccupied CPU cores in the host machine is "just" insufficient to meet the minimum storage performance value. Among them, the above-mentioned "just" means that when there is one more unoccupied CPU core, the IO performance value of the SDS storage domain can meet the minimum storage performance value.
[0043] Based on this, this method does not require manual participation and does not rely on experience. Through the stress testing method, accurate CPU isolation can be achieved on any platform, any type of host machine or CPU scenario, and the SDS storage domain can be provided with CPU resources that meet its minimum performance requirements to ensure 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 method and have the same effect as above. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] In order to more clearly illustrate the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0046] Figure 1 A flowchart of a storage domain resource reservation method provided by an embodiment of the present invention;
[0047] Figure 2 A structural diagram of a hyper-convergence platform provided by an embodiment of the present invention;
[0048] Figure 3 A structural diagram of a storage domain resource reservation device provided by an embodiment of the present invention;
[0049] Figure 4 A structural diagram of another storage domain resource reservation device provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0050] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0051] The core of the present invention is to provide a storage domain resource reservation method, device and medium.
[0052] In order to enable those skilled in the art to better understand the solution of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[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 to achieve automated resource allocation.
[0054] Hyper-converged infrastructure (InCloud Rail) is also a software-centric architecture that uses computing, networking, and storage (and possibly other technologies) as basic components and is selected and predefined according to system requirements. SDS storage domains are usually deployed in hyper-converged platforms based on this implementation to provide SDS services.
[0055] For the hyper-converged platform, the physical central processing unit (CPU) resources of the host machine on the cloud platform are fixed. Therefore, when the physical CPU resource utilization rate of the host machine is high, it will lead to the inability to meet the normal operation of the SDS storage domain. From the bottom layer, the performance of the storage resources provided by the SDS storage domain will be reduced to a certain extent, which will in turn affect the upper layer services and seriously affect the user experience. However, because the physical CPU resources in the system are limited, the CPU resources cannot be isolated for SDS indefinitely, otherwise it will lead to the situation that the virtual machines on the cloud platform cannot apply for enough CPU resources, affecting the normal function of the system. Therefore, how to accurately determine the minimum physical CPU resources required by SDS has become a major challenge in SDS applications.
[0056] Currently, when allocating CPU resources to SDS, most people use the method of isolating certain CPU resources for SDS in advance based on experience. However, since different host machines may have different CPU types, and different CPUs may have different performance, it is difficult to achieve accurate CPU resource isolation based on experience in different application scenarios, which may lead to insufficient isolated CPU resources or excessive isolation.
[0057] To solve the above problems, the present invention provides a storage domain resource reservation method, such as Figure 1 As shown, including:
[0058] S11: Obtain the minimum storage performance value.
[0059] S12: Inject faults into each host machine in the storage domain and gradually increase the number of occupied CPU cores until the input and 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 unoccupied CPU cores 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 of the corresponding host machine.
[0060] S13: Isolate the central processing unit in each host machine according to the corresponding minimum number of cores.
[0061] First, if Figure 2 As shown, a common application scenario of this method is also applied to Figure 2 In the hyper-converged platform shown in FIG. , the hyper-converged platform includes a cluster consisting of multiple host machines, in which an SDS storage domain is deployed, and each host machine includes a multi-core CPU to provide physical CPU resources for the implementation of the SDS storage domain.
[0062] The minimum storage performance value in step S11 is a pre-set configuration value. This value represents the minimum performance value of storage resources provided by the acceptable SDS storage domain. The specific value is not limited in this embodiment and can be freely selected according to actual needs. The purpose of setting the minimum storage performance value is to determine a condition that can meet the most basic needs for the normal operation of the SDS storage domain and occupy the least CPU resources.
[0063] Step S12 is the core step of the method. The 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, the method adopts the method of gradually increasing the pressure applied to the host machine to determine a critical number of CPU cores that can meet the minimum storage performance. As the pressure applied to the host machine gradually increases, more CPUs in the host machine are occupied. The occupied part of the CPU cannot be used by other services, including the SDS storage domain. That is, as the number of occupied CPUs continues to increase, the storage performance shown by the SDS storage domain will become lower and lower. The performance of storage resources provided by the SDS storage domain can be represented by the input and output (IO) performance of the SDS storage domain. That is, as the pressure continues to increase, the IO performance of the SDS storage domain will show a downward trend as a whole. However, it is not difficult to understand that if the CPU resources in the host machine are relatively abundant, that is, when the maximum number of CPU cores required by the SDS storage domain is exceeded, the IO performance value of the SDS storage domain will only show a downward trend with the increase of the applied pressure after the number of unoccupied CPU cores in the host machine is lower than the maximum number of CPU cores required by the SDS storage domain.
[0065] Since the CPU models in different host machines may be different, the performance exhibited by a single-core CPU also has certain differences. Therefore, when pre-configuring the minimum storage performance value, it is difficult to obtain a value that can be exactly satisfied by an integer number of single-core CPUs. Therefore, in practical applications, it is difficult to use the IO performance value of the SDS storage domain to exactly reach the minimum storage performance value to determine the number of CPU cores that the SDS storage domain needs to isolate. Based on this, in this method, it is determined by determining when the IO performance value of the SDS storage domain is lower than the minimum storage performance value for the first time. When the IO performance value of the SDS storage domain is lower than the minimum storage performance value for the first time, it means that as long as the number of CPU cores is larger than the number of CPU cores that are not fully occupied in the current host machine, the minimum storage performance value can be satisfied. Therefore, in step S12, take an arbitrary core value that is greater than the number of CPU cores that are not fully occupied to obtain the minimum number of cores that meet the minimum storage performance value.
[0066] For example, assume that the number of CPU cores corresponding to the IO performance value of the SDS storage domain is equal to the minimum storage performance value is 10.5 (in fact, there is no non-integer number of CPUs, and this only means that the minimum storage performance value is not easily satisfied by an integer number of CPUs). Therefore, when the IO performance value of the SDS storage domain is lower than the minimum storage performance value for the first time, the number of CPU cores that are not fully occupied is 10, and any integer value greater than 10 can be taken as the above minimum number of cores, which can meet the requirement of the minimum storage performance value.
[0067] Furthermore, it can be known from step S13 that the minimum number of cores is the number of CPU cores allocated to the SDS storage domain by this method. Since the CPU resources of the host machine are limited, if too many CPU cores are allocated to the SDS storage domain, although the normal operation of the SDS storage domain can be guaranteed, it may have an adverse effect on other functions of the host machine. For example, the virtual machine running on the host machine cannot obtain sufficient CPU resources, resulting in the function being affected. Therefore, this embodiment also provides a further implementation plan for step S12, and step S12 specifically includes:
[0068] S121: injecting a fault into each host machine so that the number of cores of the central processing unit of each host machine is fully occupied is N, and detecting and obtaining the input and output performance value of each host machine.
[0069] Here, 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, add 1 to the N value and return to step S121.
[0072] S124: If yes, N-1 is used as the number of pressurized cores.
[0073] S125: Determine the minimum number of cores of each host machine according to the difference between the total number of cores of the central processing unit of each host machine and the corresponding number of pressurized cores.
[0074] In this embodiment, the number of CPU cores that are not fully occupied is difficult to obtain directly. Therefore, in this embodiment, the number of occupied CPU cores is obtained indirectly by subtracting the number of occupied CPU cores from the total number of cores in the host machine. In addition, in this embodiment, a value greater than the number of unoccupied CPU cores when the IO performance value is first lower than the minimum storage performance value is no longer arbitrarily taken as the minimum number of cores. Instead, a value greater than the number of unoccupied CPU cores when the IO performance value is first lower than the minimum storage performance value is taken as the minimum number of cores. Reflected in the pressurized number of cores, that is, as mentioned above, the pressurized number of cores should be 1 less than the number of occupied CPU cores N when the IO performance value is first lower than the minimum storage performance value.
[0075] Taking the above example as an example, assume that the number of CPU cores corresponding to the IO performance value of the SDS storage domain is 10.5, and the total number of cores of the host is 50. Then the number of CPU cores that are fully occupied when the IO performance value of the SDS storage domain is less than the minimum storage performance value for the first time is 40. At this time, the number of pressurized cores should be 40-1=39, so the minimum number of cores = 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 SDS storage domain with the lowest standard, that is, the impact of the SDS storage domain on other functions of the system can be minimized, thereby achieving more accurate resource allocation.
[0077] As for how to implement the pressure on the host machine, this embodiment does not limit this, and common solutions can be divided into implementing the pressure through software and implementing the pressure through hardware.
[0078] This embodiment provides a possible pressure implementation scheme, and the above step S12 is specifically as follows:
[0079] Inject faults into each host machine through the chaos engineering platform to fill up the N central processing units in each host machine.
[0080] It should be noted that the chaos engineering platform (such as InCloud Chaos) is a platform that supports stress or fault testing of hosts or clusters (multiple hosts), and the faults are recoverable and will not affect the normal operation of the production environment. Figure 2 As shown, the hyper-converged platform also includes a chaos engineering platform, which is used to implement the CPU pressure in step S12. The implementation is simple and will not cause other irreversible effects on the host machine.
[0081] In addition, this embodiment also provides a possible implementation scheme. In the above method, after each step S12 determines the minimum number of cores corresponding to each host machine, the method further includes:
[0082] S14: Determine whether the minimum number of cores corresponding to each host machine reaches a preset number. If not, return to step S12 to obtain a new minimum number of cores. If so, go to step S13.
[0083] Accordingly, step S13 specifically includes:
[0084] S131: Determine the average value of the minimum number of cores corresponding to each host machine according to the preset minimum number of cores corresponding to each host machine.
[0085] If the minimum mean of the number of cores is not an integer, it is rounded up.
[0086] S132: Isolate the central processing units in each host machine according to the minimum average number of cores corresponding to each host machine.
[0087] That is, in this embodiment, the isolation of the final SDS storage domain CPU is achieved by determining the minimum number of cores multiple times and taking the average, which can effectively eliminate errors caused by occasional problems and state fluctuations, thereby achieving a more accurate determination of the minimum number of cores. And when taking the average value, since the number of cores isolated when isolating the CPU must be an integer, if the final average value is not an integer, rounding is required. And this embodiment adopts the method of rounding up when rounding to ensure that the CPU resources isolated for the SDS storage domain can meet the minimum storage performance.
[0088] In addition, this embodiment also provides a possible implementation scheme for how to implement isolation of CPU resources for the SDS storage domain in step S13. The above step S13 is:
[0089] The CPU in the host is limited to a minimum number of cores, which are only used to maintain the operation of the software-defined storage domain.
[0090] In this embodiment, the CPU with the minimum number of cores in the host machine is isolated from other CPUs, and these physical CPUs are limited to be used only to maintain the normal operation of the SDS storage domain, thereby simply and efficiently allocating sufficient physical CPU resources to the SDS storage domain.
[0091] It should also be noted that in actual applications, considering the deployment cost and the difficulty of subsequent operation and maintenance work, the host machines in a hyper-converged platform are generally implemented with devices of exactly the same model. Therefore, the number of cores of the physical CPUs contained in a host machine is generally the same, and the models of each CPU are also exactly the same. Based on this, the number of physical CPU cores isolated in each host machine by the SDS storage domain should also be exactly the same (that is, the minimum number of cores corresponding to the host machine is the same). In this application scenario, it is only necessary to determine the minimum number of cores corresponding to a host machine to isolate the physical CPUs for all host machines in the SDS storage domain.
[0092] However, considering the versatility, this method still uses the method of determining the minimum number of cores for each host separately. In this way, even if the hosts in the SDS storage domain use different devices and have different total numbers of CPU cores or different CPU models, accurate physical CPU isolation can be achieved for each host, further expanding the application scenarios in which this method can accurately achieve physical CPU resource isolation in the SDS storage domain.
[0093] In summary, the present invention provides a storage domain resource reservation method, which pre-configures the minimum performance standard of storage resources provided by the SDS storage domain, that is, the above-mentioned minimum storage performance value, to define the minimum performance of the normal operation of the SDS storage domain. And the performance of the storage resources provided by the SDS storage domain is represented by the IO performance value of the SDS storage domain. Based on the above settings, as long as the physical CPU resources allocated to the SDS storage domain can make the IO performance value of the SDS storage domain greater than or equal to the minimum storage performance value, it can be considered that the physical CPU resources currently allocated to the SDS storage domain can meet the normal operation of the SDS storage domain.
[0094] Specifically, in order to make this method adaptable to different platforms, different hosts and different CPUs, this method determines the minimum number of CPU cores that can meet the minimum storage performance through stress testing. Regardless of the minimum performance requirements for the SDS storage domain in the actual application scenario, the type of platform, the number of hosts included, the number of CPUs included in a host, and the CPU model, the minimum number of CPU cores that can meet the minimum performance of the normal operation of the SDS can be accurately determined. And the determined minimum number of cores specifically corresponds to each host, even if the host is not uniformly implemented by a single device, the accurate isolation of the physical CPU of each host can be achieved, which better guarantees the accurate implementation of allocating physical CPU resources to the SDS storage domain in various scenarios.
[0095] Even in one embodiment provided by the present invention, the minimum number of cores determined is the number of CPU cores that are not fully occupied when the IO performance value of the SDS storage domain is less than the minimum storage performance value for the first time + 1, that is, the minimum number of CPU cores that can meet the pre-configured minimum performance value. Based on the determination of this minimum number of cores, it can not only ensure that the SDS storage domain can meet the minimum performance standard for normal operation, but also ensure that the CPU resources allocated to the SDS storage domain are minimized under the above conditions, thereby minimizing the impact of the CPU resources occupied by the SDS storage domain on other normal functions in the platform and the host machine, achieving more accurate and more adaptable CPU isolation to the actual deployment needs of the hyper-converged platform, and avoiding the problem of resource waste caused by excessive CPU isolation.
[0096] It is not difficult to see from the above that this method does not rely on manual experience when determining the physical COU resources allocated to the SDS storage domain, and can be adapted to various application scenarios such as different platforms, different numbers of CPU cores in the host machine, and different CPU types. All of them can achieve the number of CPU cores required to meet the minimum performance standards for the normal operation of the SDS storage domain, thereby achieving accurate and efficient physical CPU isolation.
[0097] On the other hand, it can be seen from the above embodiments that the storage domain resource reservation method provided by the present invention aims to achieve physical CPU isolation of SDS storage to ensure the minimum physical resources required for the normal operation of the SDS storage domain. Further, for the triggering conditions of this method or when this method is executed, this embodiment provides a possible implementation plan:
[0098] Storage performance minimum values are stored in registers.
[0099] The method further comprises:
[0100] S21: When the minimum storage performance value changes, return to step S11.
[0101] Specifically, step S11 includes: obtaining a minimum storage performance value from a register.
[0102] That is, in this embodiment, the minimum storage performance value based on step S11 is pre-configured in the register. When step S11 of this method is executed, this configuration value can be obtained from the register. In addition, it can be seen from the above embodiment that the pre-configured minimum storage performance value represents the minimum performance standard that can be accepted when the SDS storage domain is operating normally. The subsequent step S12 is also based on this standard to determine the minimum number of cores of each host machine to be isolated. Therefore, when the minimum storage performance value is changed due to changes in demand in the actual application scenario, it is necessary to re-execute this method to re-determine the minimum number of cores of each host machine and re-isolate the physical CPU to adapt to different needs that change in real time. In addition, in this embodiment, the minimum storage performance value is saved in the register, so when the hyper-converged platform and the SDS storage domain change the minimum performance standard for normal operation during actual operation, the minimum storage performance value in the register can be changed to achieve convenient and quick modification of this minimum performance standard. In addition, this modification will also trigger the re-execution of this method to timely update the physical CPU resources isolated by the SDS storage domain to the latest needs.
[0103] In addition, in addition to the above embodiment, when the minimum performance standard for the normal operation of the SDS storage domain changes, the method is re-triggered to determine a new minimum number of cores and perform new physical CPU isolation to adapt to the needs of real-time changes. This embodiment also provides another minimum number of cores update mechanism, that is, the condition for re-triggering the method, and the method also includes:
[0104] S22: Periodically detecting the input and output performance values of each host machine according to a preset time period.
[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 updating mechanism for the minimum number of cores or the SDS storage domain isolation of the physical CPU. That is, when the performance of the storage resources provided by the SDS storage domain is lower than the pre-configured minimum storage performance value again, the above steps S11 to S13 are re-triggered to update the minimum number of cores and re-isolate the physical CPU.
[0107] It should be noted that the application scenario targeted by this embodiment is not that the minimum storage performance value changes. Rather, it is because physical devices such as host machines and CPUs will inevitably suffer certain losses during actual long-term operation, which will lead to performance degradation and other problems. That is, the minimum number of cores that can meet the minimum storage performance value at a certain moment may no longer meet the same minimum storage performance value at a certain moment in the future. In particular, in the implementation scheme provided by one of the above embodiments, the minimum number of cores only takes the value of the number of CPU cores that are not fully occupied in the host machine + 1 when the IO performance value of the SDS storage domain is less than the minimum storage performance value for the first time. On the premise of meeting the pre-configured minimum performance standard for normal operation of the SDS storage domain, the number of physical CPUs allocated to the SDS storage domain is minimized. Therefore, under this embodiment, the redundancy of the physical CPUs allocated to the SDS storage domain is less, and it is easier to make the performance of the storage resources provided by the SDS storage domain no longer meet the pre-configured minimum storage performance value due to the performance degradation caused by the long-term operation of the host machine and the CPU. Based on this, when the IO performance value of the SDS storage domain is again less than the minimum storage performance value, the method re-triggers steps S11 to S13 of the method to redetermine the minimum number of cores and re-isolate the physical CPU 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 plans for the triggering conditions for re-execution of the method. However, for the triggering conditions for the first execution of the method, this embodiment also provides a possible implementation plan:
[0109] The above steps are implemented through pre-written scripts, and the scripts are triggered and executed 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 the above-mentioned steps S11~S13 and their specific embodiments, but also the steps S21~S23 corresponding to the above-mentioned two embodiments of 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 isolate the physical CPUs for the first time. After that, steps S21~S23 are continuously run for a long time, and when specific trigger conditions are met, steps S11~S13 are re-triggered to redetermine the minimum number of cores and isolate the physical CPUs.
[0111] As can be seen from the above, this embodiment provides a possible implementation scheme of a storage domain resource reservation method provided by the present invention in the form of software, and uses scripts to achieve isolation of portable SDS storage domain physical CPUs, which also makes the overall method easier to implement.
[0112] In addition to the embodiment of a storage domain resource reservation method provided in the above embodiment, the present invention also provides an embodiment corresponding to a computer program product. A computer program product includes a computer program / instruction, and when the computer program / instruction is executed by a processor, the steps of the storage domain resource reservation method described in any of the above embodiments can be implemented.
[0113] Since the embodiments of the computer program product part correspond to the embodiments of the method part, please refer to the description of the embodiments of the method part for the embodiments of the computer program product part, which will not be repeated here.
[0114] In the above embodiment, a storage domain resource reservation method is described in detail, and the present invention also provides a corresponding embodiment of a storage domain resource reservation device. It should be noted that the present invention describes the embodiment of the device part from two perspectives, one is based on the functional module perspective, and the other is based on the hardware perspective.
[0115] Based on the perspective of functional modules, this embodiment provides a storage domain resource reservation device, such as Figure 3 As shown, including:
[0116] The acquisition module 11 is used to acquire the minimum storage performance value.
[0117] The pressure module 12 is used to inject faults into each host machine in the storage domain and gradually increase the number of occupied CPU cores until the input and 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 unoccupied CPU cores 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 of the corresponding host machine.
[0118] The isolation module 13 is used to isolate the central processing unit in each host machine according to the corresponding minimum number of cores.
[0119] Since the embodiments of the apparatus part correspond to the embodiments of the method part, please refer to the description of the embodiments of the method part for the embodiments of the apparatus part, which will not be repeated here.
[0120] This device does not rely on manual experience when determining the physical COU resources allocated to the SDS storage domain, and 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 number of CPU cores required to meet the minimum performance standards for the normal operation of the SDS storage domain, thereby achieving accurate and efficient physical CPU isolation.
[0121] Figure 4 A structural diagram of a storage domain resource reservation device provided by another embodiment of the present invention, such as Figure 4 As shown, a storage domain resource reservation device includes: a memory 20, for storing a computer program;
[0122] The processor 21 is configured to implement the steps of a storage domain resource reservation method 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 a mobile terminal, a personal computer, a workstation, etc.
[0124] Among them, the processor 21 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 21 can be implemented in at least one hardware form of a digital signal processor (DSP), a field-programmable gate array (FPGA), and a programmable logic array (PLA). The processor 21 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a central processing unit (CPU); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 21 may be integrated with a graphics processing unit (GPU), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 21 may also include an artificial intelligence (AI) processor, which is used to process computing 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 a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In this embodiment, the memory 20 is at least used to store the following computer program 201, wherein, after the computer program is loaded and executed by the processor 21, it can implement the relevant steps of a storage domain resource reservation method disclosed in any of the aforementioned embodiments. In addition, the resources stored in the memory 20 may also include an operating system 202 and data 203, etc., and the storage method may be temporary storage or permanent storage. Among them, the operating system 202 may include Windows, Unix, Linux, etc. Data 203 may include, but is not limited to, a storage domain resource reservation method, etc.
[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 in the figure does not constitute a limitation on a storage domain resource reservation device, and may include more or fewer components than those shown in the figure.
[0128] An embodiment of the present invention provides a storage domain resource reservation device, which includes 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 can achieve that when determining the physical COU resources allocated to the SDS storage domain, the processor executes the computer program stored in the memory, it does not rely on manual experience, and can adapt to various application scenarios such as different platforms, different numbers of CPU cores in the host machine, and different CPU types. The number of CPU cores required to meet the minimum performance standard for the normal operation of the SDS storage domain can be achieved, thereby achieving accurate and efficient physical CPU isolation.
[0130] Finally, the present invention also provides an embodiment corresponding to a non-volatile storage medium. The non-volatile storage medium stores a computer program, and when the computer program is executed by a processor, the steps recorded in the above method embodiment are implemented.
[0131] It is understandable that if the method in the above embodiment is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a non-volatile storage medium. Based on this understanding, the technical solution of the present invention, 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, and the computer software product is stored in a storage medium to execute all or part of the steps of the method described in each embodiment of the present invention. 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 codes.
[0132] The non-volatile storage medium provided in this embodiment can achieve accurate physical CPU resource isolation of the SDS storage domain without relying on manual experience when the computer program stored therein is executed. It can also be adapted to various application scenarios such as different platforms, different numbers of CPU cores in the host machine, and different CPU types. The number of CPU cores required to meet the minimum performance standard for normal operation of the SDS storage domain can be achieved, thereby achieving accurate and efficient physical CPU isolation.
[0133] The above is a detailed introduction to a storage domain resource reservation method, device and medium provided by the present invention. The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the embodiments can be referenced to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description. It should be pointed out that for ordinary technicians in this technical field, without departing from the principle of the present invention, several improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the scope of protection of the present invention.
[0134] It should also be noted that, in this specification, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the statement "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or device including the element.
Claims
1. A storage domain resource reservation method, characterized in that: include: Get the minimum storage performance; Injecting faults into each host machine in the storage domain and gradually increasing the number of occupied CPU cores until the input and output performance value of the software-defined storage domain is less than the minimum storage performance value for the first time; and obtaining the number of CPU cores that are not fully occupied in each of the host machines at this time, and taking a core value that is greater than the number of CPU cores that are not fully occupied as the minimum number of cores corresponding to the host machine; The central processing unit in each of the host machines is isolated according to the corresponding minimum number of cores.
2. The storage domain resource reservation method according to claim 1, characterized in that: injecting faults into each host machine in the storage domain and gradually increasing the number of occupied CPU cores until the input and output performance value of the software-defined storage domain is less than the minimum storage performance value for the first time; And obtaining the number of CPU cores that are not fully occupied in each of the host machines 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 corresponding to the host machine includes: Injecting a fault into each of the host machines so that the number of cores of the central processing unit of each of the host machines is fully occupied is N, and detecting and obtaining the input and output performance value of each of the host machines; 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, the value of N is increased by 1, and the process returns to the step of injecting faults into each of the host machines, so that the number of cores of the central processing unit of each of the host machines is fully occupied is N, and the step of detecting and obtaining the input and output performance values of each of the host machines is performed; If so, N-1 is used as the number of pressurized cores; The minimum number of cores of each host machine is determined according to the difference between the total number of cores of the central processing unit of each host machine and the corresponding number of pressurized cores.
3. The storage domain resource reservation method according to claim 2, characterized in that: The step of injecting a fault into each of the host machines so that the number of cores of the central processing unit of each of the host machines is fully occupied is N includes: Faults are injected into each of the host machines through the chaos engineering platform to fully occupy the N central processing units in each of the host machines.
4. The storage domain resource reservation method according to claim 1, characterized in that: After determining the minimum number of cores corresponding to each host machine each time, the method further includes: Determine whether the minimum number of cores corresponding to each of the host machines reaches a preset number; If not, return to the step of injecting faults into each host machine in the storage domain and gradually increase the number of occupied CPU cores until the input and 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 unoccupied CPU cores in each of the host machines at this time, and take a core value greater than the number of unoccupied CPU cores as the minimum number of cores corresponding to the host machine; If yes, proceed to the step of isolating the central processing unit in each of the host machines according to the corresponding minimum number of cores; Wherein, isolating the central processing unit in each of the host machines according to the corresponding minimum number of cores includes: According to the preset number of the minimum number of cores corresponding to each of the host machines, determine the average of the minimum number of cores corresponding to each of the host machines; wherein, if the average of the minimum number of cores is not an integer, round it up; The central processing units in the host machines are isolated according to the minimum core number average corresponding to each host machine.
5. The storage domain resource reservation method according to claim 1, characterized in that: The isolating the central processing unit 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 storage domain.
6. The storage domain resource reservation method according to any one of claims 1 to 5, characterized in that: The storage performance minimum value is stored in a register; the method further comprises: When the minimum storage performance value changes, return to the step of obtaining the minimum storage performance value; Wherein, the obtaining of the minimum storage performance value includes: obtaining the minimum storage performance value from the register.
7. The storage domain resource reservation method according to any one of claims 1 to 5, characterized in that: The method further comprises: Periodically detecting the input and output performance values of each of the host machines according to a preset time period; If the input-output performance value is less than the minimum storage performance value, the process returns to the step of obtaining the minimum storage performance value.
8. A storage domain resource reservation device, characterized in that: include: An acquisition module is used to obtain the minimum storage performance; A pressure module, used for injecting faults into each host machine in the storage domain and gradually increasing the number of occupied CPU cores until the input and output performance value of the software-defined storage domain is less than the minimum storage performance value for the first time; and obtaining the number of CPU cores that are not fully occupied in each of the host machines at this time, and taking a core value that is greater than the number of CPU cores that are not fully occupied as the minimum number of cores corresponding to the host machine; The isolation module is used to isolate the central processing unit in each of the host machines according to the corresponding minimum number of cores.
9. A storage domain resource reservation device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the storage domain resource reservation method according to any one of claims 1 to 7 when executing the computer program.
10. A non-volatile storage medium, characterized in that: The non-volatile storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the storage domain resource reservation method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
NPU type server power consumption test method and system
CN112069022A
Resource isolation method and device under hyper-fusion, electronic equipment and storage medium
CN116401060A
Cloud desktop virtual machine hardware resource allocation method and device and medium
CN118885258A
System configuration management device, system configuration management method, and system configuration management program
US20230214142A1
Information processing system and information processing method
US20240256410A1