Storage pool management method, device, storage system, computer equipment and medium
By evaluating the over-provisioning threshold conditions of the storage pool and pre-constraining the virtual configuration and physical configuration, the technical means of traditional storage pool management are solved, the technical problems in the traditional storage system are solved, the technical problems of efficient storage system are realized, the stability and resource utilization efficiency of the storage system are improved, the traditional problem of resource waste is solved, the stability and reliability of technology application are enhanced, and the stability and resource utilization efficiency of the storage system are improved.
Patent Information
- Application Number
- CN202411177192.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2044-08-26
AI Technical Summary
Traditional storage pool management methods are difficult to adapt to dynamic workload requirements, resulting in performance bottlenecks under high load and resource waste under low load, affecting the stability of the storage system.
By evaluating the over-provisioning threshold conditions of the storage pool, pre-constraining the over-allocation function of the storage pool, adjusting storage volumes or creating new storage volumes, ensuring that the ratio of virtual configuration capacity to physical capacity meets the threshold and avoiding overload.
This improves the stability and resource utilization efficiency of the storage system, reduces the risk of overload after the storage pool executes management instructions, and enhances system reliability.
Smart Images

Figure CN119088298B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of storage devices, and in particular to a storage pool management method, a storage pool management device, a storage system, a computer device, and a computer-readable storage medium. Background Art
[0002] As demands for storage system performance and scalability continue to increase, traditional storage pool management methods, often based on static configurations, are relatively incapable of adapting to changing workload demands. For example, high loads can easily lead to storage performance bottlenecks, while low loads can also lead to resource waste. Summary of the Invention
[0003] Based on this, it is necessary to provide a storage pool management method, storage pool management device, storage system, computer equipment and computer-readable storage medium to address the above technical problems, which can pre-constrain the over-allocation function of the storage pool to improve the stability of the storage system.
[0004] On the one hand, a storage pool management method is provided, which includes: obtaining management instructions for the storage pool; wherein the management instructions are used to adjust existing storage volumes in the storage pool or create new storage volumes; evaluating whether the storage pool meets the over-provisioning threshold condition after executing the management instructions; wherein the over-provisioning threshold condition includes the ratio between the virtual configuration capacity and the physical capacity of the storage pool and / or storage volume allowed; and executing the management instruction in response to determining that the over-provisioning threshold condition is met.
[0005] In one embodiment of the present application, evaluating whether the storage pool meets the over-provisioning threshold condition after executing the management instruction includes: obtaining the current configuration capacity of the storage pool; obtaining the management capacity; wherein the management capacity represents the capacity for changes indicated by the management instruction; superimposing the current configuration capacity and the management capacity to obtain the evaluated configuration capacity; and evaluating whether the over-provisioning threshold condition is met based on both the evaluated configuration capacity and the physical capacity of the storage pool.
[0006] In one embodiment of the present application, the instruction categories of management instructions include at least one of an instruction to create a storage volume, an instruction to modify storage pool attributes, an instruction to create an active-active volume, an instruction to add a storage volume copy to form a mirror volume, an instruction to add a storage volume copy to an existing storage volume in an active-active system, an instruction to create an image type storage volume, an instruction to expand the capacity of an existing storage volume, and an instruction to migrate a storage volume within a storage pool; obtaining the current configured capacity of the storage pool includes: obtaining the sum of the used capacities of the storage volumes whose target pool is the storage pool in the current storage migration task as the first capacity of the storage pool; wherein the used capacity is the larger of the virtual configured capacity and the physical configured capacity of the storage volume; obtaining the sum of the used capacities of the storage volumes existing in the current storage pool ... the second capacity; superimposing the first capacity and the second capacity of the storage pool as the current configuration capacity; obtaining the management capacity includes: identifying the instruction category of the management instruction; based on the instruction category, calculating the capacity change of the storage pool when the management instruction is executed as the management capacity; based on the evaluated configuration capacity and the physical capacity of the storage pool, evaluating whether the over-provisioning threshold condition is met includes: obtaining the product of the physical capacity of the storage pool and the over-provisioning threshold, reducing the product by a preset multiple to obtain the capacity threshold; wherein the over-provisioning threshold is obtained by amplifying the ratio of the virtual configuration capacity of the storage pool to its physical capacity by a preset multiple; comparing the evaluated configuration capacity with the capacity threshold; in response to the evaluated configuration capacity not exceeding the capacity threshold, allowing a determination that the over-provisioning threshold condition is met.
[0007] In one embodiment of the present application, after evaluating whether the storage pool meets the over-provisioning threshold condition after executing the management instruction, it also includes: in response to determining that the over-provisioning threshold is exceeded after executing the management instruction, determining that execution of the management instruction is not allowed; generating an abnormal prompt message to feedback information that if the management instruction is executed, the over-provisioning threshold is exceeded and the management instruction is not executed.
[0008] In one embodiment of the present application, before evaluating whether the storage pool meets the over-allocation threshold condition after executing the management instruction, it also includes: identifying the status of the over-allocation restriction function of the storage pool; in response to the storage pool enabling the over-allocation restriction function, determining whether the over-allocation threshold condition needs to be evaluated; in response to the storage pool not enabling the over-allocation restriction function, determining to execute the management instruction.
[0009] In one embodiment of the present application, the storage pool management method further includes: obtaining over-allocation information of the storage pool; wherein the over-allocation information includes at least one of an over-allocation ratio threshold, a current over-allocation ratio value, and a status of the over-allocation function; storing the over-allocation information in a storage module, allowing the storage module to read the over-allocation information and feed it back to a display device, so as to display the over-allocation information on the display device.
[0010] On the other hand, a storage pool management device is provided, which includes: a storage module and a management module; the storage module is used to store the over-provisioning threshold; the management module is connected to the storage module, and is used to implement the steps of the storage pool management method in any of the above embodiments.
[0011] In another aspect, a storage system is provided. The storage system includes a storage pool and a storage pool management device. The storage pool includes several disks. The storage pool management device as in the above embodiment is connected to the storage pool.
[0012] On the other hand, a computer device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the following steps are implemented: obtaining a management instruction for a storage pool; wherein the management instruction is used to adjust an existing storage volume in the storage pool or to create a new storage volume; evaluating whether the storage pool meets an over-provisioning threshold condition after executing the management instruction; wherein the over-provisioning threshold condition includes a ratio between the virtual configuration capacity and the physical capacity of the storage pool and / or storage volume allowed; and executing the management instruction in response to determining that the over-provisioning threshold condition is met.
[0013] On the other hand, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented: obtaining a management instruction of a storage pool; wherein the management instruction is used to adjust an existing storage volume in the storage pool or create a new storage volume; evaluating whether the storage pool meets an over-provisioning threshold condition after executing the management instruction; wherein the over-provisioning threshold condition includes a ratio between the virtual configuration capacity and the physical capacity of the storage pool and / or storage volume allowed; and executing the management instruction in response to determining that the over-provisioning threshold condition is met.
[0014] The above-mentioned storage pool management method, storage pool management apparatus, storage system, computer device, and computer-readable storage medium, when managing storage volumes within a storage pool in response to a management instruction, can pre-evaluate the storage pool's storage space status after executing the management instruction, determine whether the storage pool meets the over-allocation threshold condition after executing the management instruction, and consider the virtual configuration capacity and physical capacity of the storage pool and / or storage space after executing the management instruction. In this way, by pre-evaluating the storage pool's status after executing the management instruction and making a decision on whether to execute the management instruction, the over-allocation function of the storage pool can be pre-constrained to reduce the overload situation that occurs after the storage pool executes the management instruction, thereby improving the stability of the storage system. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 This is a schematic diagram of the structure of an embodiment of the storage system of the present application;
[0016] Figure 2It is a structural diagram of an embodiment of a storage pool management device of the present application;
[0017] Figure 3 This is a flowchart of an embodiment of the storage pool management method of the present application;
[0018] Figure 4 This is a flowchart of another embodiment of the storage pool management method of the present application;
[0019] Figure 5 This is a flowchart of another embodiment of the storage pool management method of the present application;
[0020] Figure 6 This is a flowchart of an embodiment of the present application executing the instruction to create a storage volume;
[0021] Figure 7 This is a flowchart of an embodiment of the present application for executing an instruction to modify storage pool attributes;
[0022] Figure 8 It is a structural diagram of an embodiment of the computer device of the present application. DETAILED DESCRIPTION
[0023] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0024] In order to solve the technical problem in the related art that the poor stability of the storage system easily leads to business downtime, the present application provides a storage pool management method, a storage pool management device, a storage system, a computer device and a computer-readable storage medium. The storage pool management method includes obtaining a management instruction of the storage pool; wherein the management instruction is used to adjust the existing storage volume in the storage pool or create a new storage volume; evaluating whether the storage pool meets the over-provisioning threshold condition after executing the management instruction; wherein the over-provisioning threshold condition includes the ratio between the virtual configuration capacity and the physical capacity of the storage pool and / or storage volume; in response to determining that the over-provisioning threshold condition is met, executing the management instruction. The specific architecture and detailed working principle of the present application are explained below with examples.
[0025] See also Figure 1 , Figure 1 It should be noted that the storage system of the present application can be applied to servers, data centers, etc., without limitation here.
[0026] In one embodiment, the storage system includes a storage pool 11 and a storage pool management device 12 .
[0027] The storage pool 11 includes several disks and can be used to store replicas, volume shadow copies, and transmission logs.
[0028] The storage pool management device 12 is connected to the storage pool 11. As the name suggests, the storage pool management device 12 can manage the storage pool 11.
[0029] In this embodiment, the storage pool 11 can support over-allocation. That is, storage volumes such as LUN (Logical Unit Number) and Thin LUN can be divided within the storage pool 11. When creating a storage volume within the storage pool 11 and allocating storage capacity to the storage volume, two types of storage capacity can be allocated: real capacity and virtual capacity. Real capacity refers to the initial physical space size actually allocated to the storage volume by the storage system, that is, the physical capacity allocated to the storage volume; virtual capacity refers to the virtual capacity space pre-allocated to the storage volume by the storage system, that is, the virtual configuration capacity, and is not the actual storage space size currently owned by the storage volume. The virtual configuration capacity allocated to the storage volume can be larger than the physical capacity allocated to the storage volume, so that the allocated storage capacity can be adaptively adjusted dynamically according to the actual storage space occupancy. That is, storage resources can be dynamically allocated according to the actual capacity used by the host, and there is no need to pre-allocate storage space in advance for data volumes that may or may not be reached in the future, which is conducive to meeting different workload requirements and thus improving the overall performance and resource utilization efficiency of the storage system. Furthermore, in this embodiment, the stability and reliability of the storage pool 11 can be improved by the storage pool management device 12, thereby improving the stability and reliability of the storage system while also improving the resource utilization efficiency of the storage system.
[0030] The following is an example of the specific structure and detailed working principle of the storage pool management device.
[0031] See also Figure 2 , Figure 2 It is a structural diagram of an embodiment of the storage pool management device of the present application.
[0032] In one embodiment, the storage pool management device includes a storage module 21 and a management module 22 .
[0033] The storage module 21 is used to store the over-proportioning threshold.
[0034] Management module 22 is connected to storage module 21 and is used to implement a storage pool management method. Specifically, management module 22 is capable of obtaining storage pool management instructions, wherein the management instructions are used to adjust existing storage volumes within the storage pool or create new storage volumes; evaluating whether the storage pool meets an over-provisioning threshold condition after executing the management instructions; wherein the over-provisioning threshold represents the ratio between the virtual configured capacity and the physical capacity of the storage pool and / or storage volumes allowed; and executing the management instructions in response to a determination that the over-provisioning threshold condition is met.
[0035] As can be seen, in this embodiment, when managing storage volumes within a storage pool in response to a management instruction, the storage pool's storage space status after executing the management instruction can be pre-evaluated to determine whether the storage pool meets the over-provisioning threshold after executing the management instruction, and the virtual configuration capacity and physical capacity of the storage pool and / or storage space after executing the management instruction can be considered. Thus, by pre-evaluating the storage pool's status after executing the management instruction and making a decision on whether to execute the management instruction, the storage pool's over-allocation function can be pre-constrained to reduce the possibility of overload after executing the management instruction, thereby improving the stability of the storage system.
[0036] The specific definition of the storage pool management device can be found in the definition of the storage pool management method below and will not be repeated here. Each module in the aforementioned storage pool management device may be implemented in whole or in part through software, hardware, or a combination thereof. Each module may be embedded in or independent of a processor in a computer device in hardware form, or may be stored in a computer device memory in software form, so that the processor can call and execute the corresponding operations of each module.
[0037] See also Figure 3 , Figure 3 This is a flowchart of an embodiment of the storage pool management method of the present application.
[0038] S101: Acquire a storage pool management instruction; wherein the management instruction is used to adjust an existing storage volume in the storage pool or create a new storage volume.
[0039] In this embodiment, storage pool management instructions can be obtained through interactive modules such as a GUI (Graphical User Interface) and a CLI (Command-line Interface). Management instructions can also be automatically generated based on the current storage space status and data status of the storage system, which is not limited here.
[0040] S102: Evaluate whether the storage pool meets an over-provisioning threshold condition after executing the management instruction; wherein the over-provisioning threshold condition includes a ratio relationship between the virtual configuration capacity and the physical capacity of the storage pool and / or storage volume.
[0041] In this embodiment, an evaluation is performed to determine whether the storage pool still meets the over-provisioning threshold after executing the management instruction. It should be noted that the management instruction is not executed in this embodiment. Instead, a prediction or inference of the results of the execution is performed before the management instruction is executed. Based on the prediction or inference results, an evaluation is performed to determine whether the storage pool meets the over-provisioning threshold, providing reference information for determining whether to execute the management instruction.
[0042] S103: In response to determining that the over-provisioning threshold condition is met, executing the management instruction.
[0043] In this embodiment, in response to determining that the storage pool meets the over-allocation threshold condition after executing the management instruction, it can be considered that the risk of insufficient storage space in the storage pool or even affecting its operation after executing the management instruction is relatively small, so the management instruction can be executed to respond to the management instruction, and the storage pool can be changed and adjusted according to the management instruction.
[0044] It can be seen that in this embodiment, the storage space situation of the storage pool after the execution of the management instruction can be evaluated in advance, and it can be determined whether the storage pool meets the over-allocation threshold condition after the execution of the management instruction, and the virtual configuration capacity and physical capacity of the storage pool and / or storage room after the execution of the management instruction can be considered. The situation of the storage pool after the execution of the management instruction is used as a reference to make a decision on whether to execute the management instruction, that is, the over-allocation function of the storage pool can be constrained in advance to reduce the overload situation after the storage pool executes the management instruction, thereby improving the stability of the storage system. In addition, this embodiment can take into account the situation that the capacity of the storage pool may change after the execution of the management instruction and before the next management instruction arrives, so the reliability of the decision can be further improved through timely pre-evaluation. Please refer to Figure 4 , Figure 4 This is a flowchart of another embodiment of the storage pool management method of the present application.
[0045] S201: Obtain storage pool management instructions.
[0046] In this embodiment, as described in step S101 in the above embodiment, the management instruction is used to adjust the existing storage volume in the storage pool or create a new storage volume, which will not be described in detail here.
[0047] S202: Identify the status of the over-allocation limit function of the storage pool.
[0048] In this embodiment, when it is determined that the storage pool has enabled the over-allocation restriction function, i.e., the state is enabled, step S203 may be executed. When it is determined that the storage pool has not enabled the over-allocation restriction function, it may be considered that the over-allocation function of the storage pool is not restricted, and step S207 may be executed. Alternatively, it may be considered that the storage pool is not allowed to implement the over-allocation function (not shown), and the execution of instructions related to the over-allocation function is not allowed. This is not limited here.
[0049] In simple terms, you can set virtual and / or physical over-allocation limit switches for a storage pool to control whether the over-allocation limit feature is enabled. This allows for easy state switching of the storage pool's over-allocation limit based on actual application scenarios, and also allows for adaptive control of whether the over-allocation limit feature is enabled for a storage pool, enriching storage pool management dimensions and helping to diversify storage pool application scenarios.
[0050] S203: Obtain the current configured capacity of the storage pool.
[0051] In this embodiment, in response to the over-allocation restriction function being enabled in the storage pool, it is determined whether an over-allocation threshold condition needs to be evaluated. Therefore, the current configured capacity of the storage pool can be obtained to evaluate whether the storage pool is suitable for executing management instructions based on the current configured capacity. Compared to the method of evaluating based on the currently used capacity of the storage pool, this embodiment can also consider the virtual configured capacity that has been allocated to the storage volume but is not used, so as to reduce the risk of data overload in the storage pool when the currently unused virtual configured capacity is used to store data subsequently. In other words, the space that may be occupied is evaluated in advance, which is conducive to ensuring the stability of the storage pool operation and thus improving the reliability of the storage system.
[0052] That is, a storage pool can have three capacity indicators: physical capacity, current configured capacity, and virtual configured capacity.
[0053] As the name implies, the physical capacity of a storage pool is the size of its actual storage space; the virtual capacity of a storage pool is the sum of the virtual capacities currently allocated to each storage volume.
[0054] Optionally, the current configured capacity of the storage pool may be consistent with the virtual configured capacity of the storage pool; or, the current configured capacity of the storage pool may be associated with the virtual configured capacity of the storage pool, that is, the current configured capacity of the storage pool may be calculated based on a preset calculation method, which may be obtained by integrating the virtual configured capacity of the storage pool and the capacity currently actually used.
[0055] In this embodiment, considering that the actual physical capacity occupied by a storage volume may exceed its pre-configured virtual capacity, the larger of the virtual capacity and the physical capacity of the storage volume can be used when calculating the current configured capacity of the storage pool. In other words, the larger of the virtual capacity and the physical capacity of the storage volume can be used as the used capacity, and the current configured capacity of the storage pool can be calculated using the used capacity, thereby further improving the reliability of the calculated current configured capacity of the storage pool.
[0056] Furthermore, in this embodiment, when calculating the current configuration capacity of the storage pool, the migration tasks that may occur in the storage system can be further comprehensively considered, that is, the target pool can be integrated into the usage capacity of the storage volume of the current storage pool within the current configuration capacity to consider the details that may exist in the storage system, which is conducive to improving the credibility of the current configuration capacity of the storage pool, and can improve the richness of information involved in the decision-making of whether to execute management instructions, thereby improving the reliability of determining whether to execute management instructions.
[0057] Specifically, the sum of the used capacities of the storage volumes whose target pool is the storage pool in the current storage migration task can be obtained as the first capacity of the storage pool. The used capacity is the larger of the virtual configured capacity and the physical configured capacity of the storage volumes. The sum of the used capacities of the storage volumes in the current storage pool can also be obtained as the second capacity of the storage pool. In this manner, the first and second capacities of the storage pool can be added together to form the current configured capacity of the storage pool.
[0058] S204: Acquire management capacity.
[0059] In this embodiment, the management capacity represents the capacity change indicated by the management instruction, which can be considered as the amount of change in the currently configured capacity of the storage pool that may result from executing the management instruction. The management capacity can be a positive value, i.e., increasing the occupied capacity of the storage pool, or a negative value, i.e., releasing capacity of the storage pool.
[0060] Specifically, the instruction category of the management instruction may be identified; based on the instruction category, the capacity change of the storage pool when the management instruction is executed is calculated as the management capacity.
[0061] For example, the instruction categories of management instructions include at least one of the following: creating a storage pool instruction, creating a storage volume instruction, modifying storage pool attributes instruction, creating an active-active volume instruction, adding a storage volume copy to form a mirror volume instruction, adding a storage volume copy to an existing storage volume in an active-active system instruction, creating an image type storage volume instruction, expanding the capacity of an existing storage volume instruction, and migrating a storage volume within a storage pool instruction.
[0062] S205: Obtaining the estimated configuration capacity based on the current configuration capacity and the management capacity.
[0063] In this embodiment, the current configured capacity and the managed capacity can be added together to obtain the estimated configured capacity. The estimated configured capacity represents the storage space occupied or potentially occupied by the storage pool after storage pool management is performed. If so, whether the over-provisioning threshold condition is met can be assessed based on the estimated configured capacity.
[0064] S206: Evaluate whether the over-ratio threshold condition is met.
[0065] In this embodiment, when it is determined that the over-provisioning threshold condition is met, step S207 may be executed; when it is determined that the over-provisioning threshold condition is not met, step S208 may be executed.
[0066] Specifically, whether the over-provisioning threshold condition is met may be evaluated based on both the evaluated configuration capacity and the physical capacity of the storage pool.
[0067] For example, the over-provisioning threshold can be obtained by multiplying the ratio of the storage pool's virtual configured capacity to its physical capacity by a predetermined multiple. Therefore, the capacity threshold can be obtained by multiplying the storage pool's physical capacity by the over-provisioning threshold and then reducing that product by a predetermined multiple.
[0068] The assessed configured capacity is compared with the capacity threshold. In response to the assessed configured capacity not exceeding the capacity threshold, it can be considered that the risk of an abnormality in the storage pool after executing the management instruction is low, and thus the over-provisioning threshold condition is determined to be met.
[0069] S207: Execute the management instruction.
[0070] In this embodiment, the management instruction may be executed in response to the storage pool not enabling the over-allocation restriction function, and / or the management instruction may be executed in response to the over-allocation ratio threshold condition being met.
[0071] S208: Execution of the management instruction is not allowed.
[0072] In this embodiment, in response to determining that the over-allocation threshold is exceeded after executing the management instruction, it can be considered that there is a risk of storage pool overload or storage pool overload and abnormality after executing the management instruction, so it is determined that the execution of the management instruction is not allowed, so as to ensure the stability of the storage pool operation and thereby improve the reliability of the storage system.
[0073] S209: Generate abnormal prompt information.
[0074] In this embodiment, the feedback is that if the management instruction is executed, the over-provisioning threshold is exceeded, and the management instruction is not executed.
[0075] Furthermore, in this embodiment, multiple levels of warnings can be preset based on the capacity usage of the storage pool. The warning level of the storage pool after the current management instruction is executed can be pre-evaluated; and / or the warning level of the storage pool can be evaluated after each management instruction is executed. For example, three levels of warnings can be set based on the occupied capacity, namely low occupied capacity level, medium occupied capacity level, and high occupied capacity level, so that appropriate preventive measures can be taken in a timely manner.
[0076] Furthermore, machine learning, time series analysis, and other methods can be used to predict the capacity usage trend of the storage pool and predict possible capacity shortages in advance, so as to detect potential capacity shortages in the storage pool in advance and take corresponding preventive measures before reaching the over-provisioning threshold / high capacity utilization level.
[0077] For example, preventive measures may include at least one of proactive capacity expansion, prompting users to expand capacity, and data deduplication. For example, data deduplication can be performed using algorithms such as hashing algorithms to quickly compare data within the storage pool and / or to be written to the storage pool. By generating unique hash values for the data, duplicate data can be identified, thereby achieving efficient data deduplication. Data within the storage pool and / or storage system can also be regularly checked for data deduplication and cleaned to ensure the operational stability and responsiveness of the storage pool and storage system.
[0078] See also Figure 5 , Figure 5 This is a flowchart of another embodiment of the storage pool management method of the present application.
[0079] In one embodiment, as described above, the instruction categories of management instructions include at least one of an instruction to create a storage pool, an instruction to create a storage volume, an instruction to modify storage pool attributes, an instruction to create an active-active volume, an instruction to add a storage volume copy to form a mirror volume, an instruction to add a storage volume copy to an existing storage volume in an active-active system, an instruction to create an image-type storage volume, an instruction to expand the capacity of an existing storage volume, and an instruction to migrate a storage volume within a storage pool.
[0080] Among them, the storage pool creation instruction can be triggered by custom command lines such as the mkmdiskgrp command line or standard command lines; the storage pool attribute modification instruction can be triggered by custom command lines such as the chmdiskgrpp command line or standard command lines; the storage volume creation instruction can be triggered by custom command lines such as the mkvdisk command line or standard command lines; the active-active volume creation instruction can be triggered by custom command lines such as the mkvolume command line or standard command lines; the storage volume copy to form a mirror volume instruction can be triggered by custom command lines such as the addvdiskcopy command line or standard command lines; the storage volume copy instruction to an existing storage volume in an active-active system can be triggered by custom command lines such as the addvolumecopy command line or standard command lines; the image type storage volume instruction can be triggered by custom command lines such as the mkimagevolume command line or standard command lines; the existing storage volume capacity expansion instruction can be triggered by custom command lines such as the expandvdisksize command line or standard command lines; the storage volume migration instruction within the storage pool can be triggered by custom command lines such as the migratevdisk command line or standard command lines.
[0081] Furthermore, in this embodiment, over-allocation information of the storage pool is obtained; wherein the over-allocation information includes at least one of the over-allocation ratio threshold, the current over-allocation ratio, and the status of the over-allocation function. In this case, the over-allocation information can be stored in a storage module, and the storage module can read the over-allocation information and feed it back to a display device, so that the over-allocation information is displayed on the display device.
[0082] In simple terms, the GUI, CLI, or other display devices can trigger the lsmdiskgrp command (display overcommitment information command), which can then read the pool overcommitment status and overcommitment threshold stored in the VirCsmPoolLogic VG module. The VG module is responsible for managing storage pools within the storage system, while VirCsmPoolLogic is the structure / storage unit that stores the storage pool overcommitment status and overcommitment threshold.
[0083] The pool over-allocation status and value can be updated to TVgPoolQueryInfo and stored for display on the GUI or CLI interface by the IC module. TVgPoolQueryInfo is a structure / storage unit for storing over-allocation information; the IC module can be a command line module within the storage system that stores and / or manages command lines for storage pool management instructions.
[0084] For example, if the over-allocation limit function of the storage pool is not set or enabled, the allocation switch field may be displayed as "off" and the over-allocation ratio value field may be displayed as "0".
[0085] During the validate or prepare phases, the over-provisioning threshold and current configured capacity of the storage pool, as stored in the VG module, are retrieved to determine the over-provisioning of the storage volume's virtualSize (i.e., virtual configured capacity). If the storage volume's virtualSize exceeds the over-provisioning threshold, an error code is generated and the operation is deemed to have failed.
[0086] The following details how the current configured capacity of a storage pool is calculated when executing management commands of each of the above command categories:
[0087] When you execute the mkvdisk command to create a storage volume, the over-provisioning ratio of the storage volume is determined during the validate phase. The used capacity of the storage pool containing the storage volume is obtained. The used capacity of the storage pool is calculated as the sum of the maximum (realSize, virtualSize) values of the volumes whose target storage pool is the same as the storage pool in the migration task for the storage volume, plus the sum of the maximum (realSize, virtualSize) values of each volume in the same storage pool, plus the virtualSize of the new storage volume. The realSize value represents the current physical capacity of the storage volume. The virtualSize value of the newly configured storage volume is compared with the over-provisioning ratio of the storage pool containing the storage volume: (virtualSize value of the newly configured storage volume + used capacity of the storage pool) x (physical capacity of the storage pool * over-provisioning ratio threshold / 100). If the result exceeds the over-provisioning ratio, the creation fails and an error code is returned. Otherwise, the storage volume is successfully created.
[0088] When you execute the mkvolume command to create an active-active storage volume, the validate phase determines the over-provisioning ratio of the storage volume. The used capacity of the storage pool containing the storage volume is obtained. The used capacity of the storage pool is calculated as the sum of the maximum (realSize, virtualSize) values of the volumes whose target storage pool is the storage pool in the migration task for the storage volume, the sum of the maximum (realSize, virtualSize) values of each volume in the storage pool, and the total virtualSize value of all new volumes in the storage pool. The used capacity is then compared with the over-provisioning ratio of the storage pool containing the new volume. Specifically, the value is compared: (total virtualSize of newly configured volumes in the same storage pool + used capacity of the storage pool) x (physical capacity of the storage pool * over-provisioning ratio threshold / 100). If the result exceeds the over-provisioning ratio, the mkvolume command fails and an error code is returned. Otherwise, the command succeeds.
[0089] When executing the addvdiskcopy command, the over-provisioning ratio of the storage volume is determined during the validate phase. The used capacity of the storage pool containing the storage volume is obtained. The used capacity of the storage pool is calculated as the sum of the maximum (realSize, virtualSize) values of the storage volumes whose target storage pool is the storage pool in the migration task for the new storage volume, plus the sum of the maximum (realSize, virtualSize) values of each storage volume in the storage pool, plus the virtualSize value of the new storage volume. This used capacity is then compared with the over-provisioning ratio of the storage pool containing the new storage volume, that is, (virtualSize of the newly configured storage volume + used capacity of the storage pool) x (physical capacity of the storage pool * over-provisioning ratio threshold / 100). If the result exceeds the over-provisioning ratio of the storage pool, the addvdiskcopy command fails and an error code is returned. Otherwise, the command succeeds.
[0090] When executing the addvolumecopy command, the over-provisioning ratio of the storage volume is determined during the validate phase. The used capacity of the storage pool containing the storage volume is obtained. The used capacity of the storage pool is calculated as the sum of the maximum (realSize, virtualSize) values of the storage volumes whose target storage pool is the storage pool in the migration task for the new storage volume, the sum of the maximum (realSize, virtualSize) values of each storage volume in the storage pool, and the virtualSize value of the new storage volume. The used capacity is then compared with the over-provisioning ratio of the storage pool containing the storage volume, that is, (the virtualSize of the newly configured storage volume + the used capacity of the storage pool) x (the physical capacity of the storage pool * the over-provisioning ratio threshold / 100). If the result exceeds the over-provisioning ratio of the storage pool, the addvolumecopy command fails and an error code is returned. Otherwise, the command succeeds.
[0091] When executing the expandvdisksize command, only the over-provisioning ratio of the storage volume expansion operation is determined during the prepare phase. The used capacity of the storage pool containing the storage volume is obtained. The used capacity of the storage pool equals the sum of the maximum (realSize, virtualSize) values of the storage volumes whose target storage pool is the storage pool in the migration task for the storage volume, plus the sum of the maximum (realSize, virtualSize) values of each storage volume in the storage pool, plus the capacity of the storage volume to be expanded. The used capacity is then compared with the over-provisioning ratio of the storage pool containing the storage volume, that is, (storage volume expansion capacity + storage pool used capacity) x (storage pool physical capacity * over-provisioning ratio threshold / 100). If the result exceeds the over-provisioning ratio of the storage pool, the expansion fails and an error code is returned. Otherwise, the expansion succeeds.
[0092] When executing the migratevdisk command, the over-provisioning ratio of the storage volume is determined during the prepare phase. The used capacity of the storage pool containing the storage volume is obtained. The used capacity of the storage pool is calculated as the sum of the maximum (realSize, virtualSize) values of the storage volumes whose target storage pool is the storage pool in the migration task for the storage volume, plus the sum of the maximum (realSize, virtualSize) values of each storage volume in the storage pool, plus the virtualSize value of the storage volume. The used capacity is compared with the over-provisioning ratio of the target storage pool to be migrated, that is, (storage volume capacity + storage pool used capacity) is compared with (storage pool physical capacity * over-provisioning ratio threshold / 100). If the result exceeds the over-provisioning ratio of the storage pool, the migration fails and an error code is returned. Otherwise, the expansion succeeds.
[0093] See also Figure 6 , Figure 6This is a flowchart of an embodiment of the present application's execution of a storage volume creation instruction.
[0094] S301: Obtain a storage pool creation instruction.
[0095] S302: Obtain parameter data of the command line in the storage module through a preset interface.
[0096] S303: Save the status switch of the storage pool over-provisioning limit function and the over-provisioning threshold to a preset storage unit of the management module.
[0097] See also Figure 7 , Figure 7 This is a flowchart of an embodiment of the present application for executing an instruction to modify storage pool attributes.
[0098] S401: Obtaining a storage pool attribute modification instruction.
[0099] S402: Acquire parameter data of the command line in the storage module through a preset interface.
[0100] S403: Saving the status switch of the storage pool over-provisioning limit function and the over-provisioning threshold to a preset storage unit of the management module.
[0101] In this embodiment, when modifying the over-allocation information of the storage pool, a parameter check may be performed without performing a capacity check.
[0102] In summary, this application can support flexible allocation of storage pool capacity. By enabling the over-allocation limit function of the storage pool and presetting the over-allocation ratio threshold, it is determined whether management instructions such as creating new volumes, expanding volumes, and migrating volumes can be implemented within the storage pool capacity, so as to achieve a pre-restriction that the total allocated capacity will not exceed a certain ratio of the storage pool capacity. In this way, this application can effectively reduce the risk of the storage pool being full due to the occupation of large amounts of business data, thereby reducing the occurrence of serious situations such as business downtime due to a full storage pool.
[0103] It should be understood that although Figure 3-Figure 7 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. In addition, Figure 3-Figure 7 At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.
[0104] In one embodiment, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the steps of the storage pool management method described above are implemented, which will not be described in detail here.
[0105] See also Figure 8 , Figure 8 It is a structural diagram of an embodiment of the computer device of the present application.
[0106] In one embodiment, the computer device may be a server, and its internal structure diagram may be as follows: Figure 8 As shown in the example, the server can be a standalone server or a server cluster consisting of multiple servers.
[0107] The computer device includes a processor, memory, and a network interface connected via a system bus. The processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The network interface of the computer device is configured to communicate with an external terminal via a network connection. When executed by the processor, the computer program implements a storage pool management method.
[0108] Those skilled in the art will understand that Figure 8 The structure shown as an example is merely a block diagram of a portion of the structure related to the present application solution, and does not constitute a limitation on the computer device to which the present application solution is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0109] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the following steps are performed:
[0110] S101: Acquire a storage pool management instruction; wherein the management instruction is used to adjust an existing storage volume in the storage pool or create a new storage volume.
[0111] S102: Evaluate whether the storage pool meets an over-provisioning threshold condition after executing the management instruction; wherein the over-provisioning threshold condition includes a ratio relationship between the virtual configuration capacity and the physical capacity of the storage pool and / or storage volume.
[0112] S103: In response to determining that the over-provisioning threshold condition is met, executing the management instruction.
[0113] In one embodiment, when evaluating whether the storage pool meets the over-provisioning threshold condition after executing the management instruction in step S102, the processor further implements the following steps when executing the computer program: obtaining the current configuration capacity of the storage pool; obtaining the management capacity; wherein the management capacity represents the capacity for changes indicated by the management instruction; superimposing the current configuration capacity and the management capacity to obtain the evaluated configuration capacity; and evaluating whether the over-provisioning threshold condition is met based on both the evaluated configuration capacity and the physical capacity of the storage pool.
[0114] In one embodiment, the management instruction category includes at least one of an instruction to create a storage volume, an instruction to modify storage pool attributes, an instruction to create an active-active volume, an instruction to add a storage volume copy to form a mirrored volume, an instruction to add a storage volume copy to an existing storage volume in an active-active system, an instruction to create an image-type storage volume, an instruction to expand the capacity of an existing storage volume, and an instruction to migrate a storage volume within a storage pool.
[0115] When obtaining the current configured capacity of the storage pool, the processor further implements the following steps when executing the computer program: obtaining the sum of the used capacities of the storage volumes whose target pool is the storage pool in the current storage migration task as the first capacity of the storage pool; wherein the used capacity is the larger of the virtual configured capacity and the physical configured capacity of the storage volume; obtaining the sum of the used capacities of the storage volumes existing in the current storage pool as the second capacity of the storage pool; and superimposing the first capacity and the second capacity of the storage pool as the current configured capacity.
[0116] When acquiring the management capacity, the processor further implements the following steps when executing the computer program: identifying the instruction category of the management instruction; and calculating, based on the instruction category, the capacity change of the storage pool when executing the management instruction as the management capacity.
[0117] When evaluating whether the over-provisioning threshold condition is met based on both the evaluated configuration capacity and the physical capacity of the storage pool, the processor further implements the following steps when executing the computer program: obtaining the product of the physical capacity of the storage pool and the over-provisioning threshold, reducing the product by a preset multiple to obtain a capacity threshold; wherein the over-provisioning threshold is obtained by amplifying the ratio of the virtual configuration capacity of the storage pool to its physical capacity by a preset multiple; comparing the evaluated configuration capacity with the capacity threshold; and in response to the evaluated configuration capacity not exceeding the capacity threshold, allowing a determination that the over-provisioning threshold condition is met.
[0118] In one embodiment, after evaluating whether the storage pool meets the over-provisioning threshold condition after executing the management instruction in step S102, the processor further implements the following steps when executing the computer program: in response to determining that the over-provisioning threshold is exceeded after executing the management instruction, determining that execution of the management instruction is not allowed, that is, step S103 is not executed; and generating an exception prompt message to provide feedback that if the management instruction is executed, the over-provisioning threshold will be exceeded and the management instruction will not be executed.
[0119] In one embodiment, before evaluating the over-allocation ratio value after executing the management instruction in step S102, the processor further implements the following steps when executing the computer program: identifying the status of the over-allocation restriction function of the storage pool; in response to the over-allocation restriction function being enabled in the storage pool, determining whether an evaluation is required to meet the over-allocation ratio threshold condition; and in response to the over-allocation restriction function not being enabled in the storage pool, determining to execute the management instruction.
[0120] In one embodiment, when the processor executes the computer program, the following steps are further implemented: obtaining over-allocation information of the storage pool; wherein the over-allocation information includes at least one of an over-allocation ratio threshold, a current over-allocation ratio value, and a status of the over-allocation function; storing the over-allocation information in a storage module, causing the storage module to read the over-allocation information and feed it back to a display device, so that the over-allocation information is displayed on the display device.
[0121] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:
[0122] S101: Acquire a storage pool management instruction; wherein the management instruction is used to adjust an existing storage volume in the storage pool or create a new storage volume.
[0123] S102: Evaluate whether the storage pool meets an over-provisioning threshold condition after executing the management instruction; wherein the over-provisioning threshold condition includes a ratio relationship between the virtual configuration capacity and the physical capacity of the storage pool and / or storage volume.
[0124] S103: In response to determining that the over-provisioning threshold condition is met, executing the management instruction.
[0125] In one embodiment, when evaluating whether the storage pool meets the over-provisioning threshold condition after executing the management instruction in step S102, the computer program, when executed by the processor, further implements the following steps: obtaining the current configuration capacity of the storage pool; obtaining the management capacity; wherein the management capacity represents the capacity for changes indicated by the management instruction; superimposing the current configuration capacity and the management capacity to obtain the evaluated configuration capacity; and evaluating whether the over-provisioning threshold condition is met based on both the evaluated configuration capacity and the physical capacity of the storage pool.
[0126] In one embodiment, the management instruction category includes at least one of an instruction to create a storage volume, an instruction to modify storage pool attributes, an instruction to create an active-active volume, an instruction to add a storage volume copy to form a mirrored volume, an instruction to add a storage volume copy to an existing storage volume in an active-active system, an instruction to create an image-type storage volume, an instruction to expand the capacity of an existing storage volume, and an instruction to migrate a storage volume within a storage pool.
[0127] When obtaining the current configured capacity of the storage pool, the computer program, when executed by the processor, further implements the following steps: obtaining the sum of the used capacities of the storage volumes whose target pool is the storage pool in the current storage migration task as the first capacity of the storage pool; wherein the used capacity is the larger of the virtual configured capacity and the physical configured capacity of the storage volume; obtaining the sum of the used capacities of the storage volumes existing in the current storage pool as the second capacity of the storage pool; and superimposing the first capacity and the second capacity of the storage pool as the current configured capacity.
[0128] When acquiring the management capacity, the computer program, when executed by the processor, further implements the following steps: identifying the instruction category of the management instruction; and based on the instruction category, calculating the capacity change of the storage pool when executing the management instruction as the management capacity.
[0129] When evaluating whether the over-provisioning threshold condition is met based on both the evaluated configuration capacity and the physical capacity of the storage pool, the computer program, when executed by the processor, further implements the following steps: obtaining the product of the physical capacity of the storage pool and the over-provisioning threshold, reducing the product by a preset multiple to obtain a capacity threshold; wherein the over-provisioning threshold is obtained by multiplying the ratio of the virtual configuration capacity of the storage pool to its physical capacity by a preset multiple; comparing the evaluated configuration capacity with the capacity threshold; and in response to the evaluated configuration capacity not exceeding the capacity threshold, allowing a determination that the over-provisioning threshold condition is met.
[0130] In one embodiment, after evaluating whether the storage pool meets the over-provisioning threshold condition after executing the management instruction in step S102, the computer program, when executed by the processor, further implements the following steps: in response to determining that the over-provisioning threshold is exceeded after executing the management instruction, determining that execution of the management instruction is not allowed, that is, step S103 is not executed; and generating an exception prompt message to provide feedback that if the management instruction is executed, the over-provisioning threshold will be exceeded and the management instruction will not be executed.
[0131] In one embodiment, before evaluating the over-allocation ratio value after executing the management instruction in step S102, the computer program further implements the following steps when executed by the processor: identifying the status of the over-allocation restriction function of the storage pool; in response to the over-allocation restriction function being enabled in the storage pool, determining whether an evaluation is required to meet the over-allocation ratio threshold condition; in response to the over-allocation restriction function not being enabled in the storage pool, determining to execute the management instruction.
[0132] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented: obtaining over-allocation information of the storage pool; wherein the over-allocation information includes at least one of an over-allocation ratio threshold, a current over-allocation ratio value, and a status of the over-allocation function; storing the over-allocation information in a storage module, causing the storage module to read the over-allocation information and feed it back to a display device, so that the over-allocation information is displayed on the display device.
[0133] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
[0134] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0135] The above embodiments merely illustrate several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art could make numerous variations and improvements without departing from the spirit of the present application, all of which fall within the scope of protection of the present application.
Claims
1. A storage pool management method, characterized in that: The storage pool management method includes: Obtaining a management instruction for a storage pool; wherein the management instruction is used to adjust an existing storage volume in the storage pool or create a new storage volume; evaluating whether the storage pool meets an over-provisioning threshold condition after executing the management instruction; wherein the over-provisioning threshold condition includes a ratio relationship between the virtual configuration capacity and the physical capacity of the storage pool and / or the storage volume allowed; In response to determining that the over-provisioning threshold condition is met, executing the management instruction; The evaluating whether the storage pool meets the over-provisioning ratio threshold condition after executing the management instruction includes: Obtaining the current configuration capacity of the storage pool; obtaining the management capacity; wherein the management capacity represents the capacity for changes indicated by the management instruction; Superimposing the current configuration capacity and the management capacity to obtain the estimated configuration capacity; Based on both the assessed configuration capacity and the physical capacity of the storage pool, it is evaluated whether the over-provisioning threshold condition is met.
2. The storage pool management method according to claim 1, wherein: The instruction category of the management instruction includes at least one of an instruction to create a storage volume, an instruction to modify storage pool attributes, an instruction to create an active-active volume, an instruction to add a storage volume copy to form a mirror volume, an instruction to add a storage volume copy to an existing storage volume in an active-active system, an instruction to create an image type storage volume, an instruction to expand the capacity of an existing storage volume, and an instruction to migrate a storage volume within a storage pool; The obtaining of the current configuration capacity of the storage pool includes: Obtaining the sum of the used capacities of the storage volumes whose target pool is the storage pool in the current storage migration task as the first capacity of the storage pool; wherein the used capacity is the larger of the virtual configured capacity and the physical configured capacity of the storage volumes; Obtaining a sum of the used capacities of the storage volumes currently existing in the storage pool as a second capacity of the storage pool; superimposing the first capacity and the second capacity of the storage pool as the current configured capacity; The acquiring management capacity includes: Identifying an instruction category of the management instruction; and calculating, based on the instruction category, a capacity change of the storage pool when the management instruction is executed as the management capacity; The evaluating whether the over-provisioning ratio threshold condition is met based on both the assessed configuration capacity and the physical capacity of the storage pool includes: Obtaining the product of the physical capacity of the storage pool and an over-provisioning ratio threshold, and reducing the product by a preset multiple to obtain a capacity threshold; wherein the over-provisioning ratio threshold is obtained by multiplying the ratio of the virtual configured capacity of the storage pool to its physical capacity by the preset multiple; comparing the assessed configuration capacity with the capacity threshold; In response to the assessed configured capacity not exceeding the capacity threshold, determining that the overprovisioning threshold condition is met is permitted.
3. The storage pool management method according to any one of claims 1 to 2, characterized in that: After evaluating whether the storage pool meets the over-provisioning ratio threshold condition after executing the management instruction, the method further includes: In response to determining that the over-provisioning ratio threshold is exceeded after the management instruction is executed, determining that the execution of the management instruction is not allowed; Generate abnormal prompt information to feedback that if the management instruction is executed, the over-provisioning threshold will be exceeded, and the management instruction is not executed.
4. The storage pool management method according to claim 1, wherein: Before evaluating whether the storage pool meets the over-provisioning ratio threshold condition after executing the management instruction, the method further includes: identifying a status of an over-allocation limit function of the storage pool; In response to the storage pool enabling the over-allocation restriction function, determining whether the over-allocation ratio threshold condition needs to be evaluated; In response to the storage pool not enabling the over-allocation restriction function, it is determined to execute the management instruction.
5. The storage pool management method according to claim 1, wherein: The storage pool management method further includes: Obtaining over-allocation information of the storage pool; wherein the over-allocation information includes at least one of an over-allocation ratio threshold, a current over-allocation ratio value, and a status of an over-allocation function; The over-allocation information is stored in a storage module, and the storage module is enabled to read the over-allocation information and feed it back to a display device, so that the over-allocation information is displayed on the display device.
6. A storage pool management device, characterized in that: The storage pool management device includes: A storage module, used for storing the over-provisioning ratio threshold; A management module is connected to the storage module and is used to implement the steps of the storage pool management method according to any one of claims 1 to 5.
7. A storage system, characterized in that: The storage system includes: Storage pool, including several disks; The storage pool management device as claimed in claim 6, connected to the storage pool.
8. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the storage pool management method according to any one of claims 1 to 5 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the storage pool management method according to any one of claims 1 to 5 are implemented.
Citation Information
Patent Citations
Virtual storage system
CN108701002A
Storage capacity management method and system and storage medium
CN113419672A