Logical disk array allocation method and device for high-performance computing environment, equipment, storage medium and program product
By detecting changes in disk status and dynamically adjusting the redundancy and allocation of the logical disk array, the problem of inflexible allocation of logical disk arrays in existing technologies is solved, achieving efficient resource utilization in the event of hard disk failure or the addition of new disks, thereby improving the reliability and business continuity of the storage system.
Patent Information
- Application Number
- CN202610063271.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-19
- Publication Date
- 2026-02-13
AI Technical Summary
Existing technologies for logical disk arrays lack flexibility in their allocation methods, making it difficult to effectively maintain performance balance, data redundancy, and resource utilization of the storage pool in the event of hard disk failure, capacity expansion, or changes in business load.
By detecting changes in disk status, the redundancy capability of the logical disk array is obtained. Based on the redundancy capability and status changes, a ratio update strategy is determined, the logical block ratio is dynamically adjusted, and reallocated. This balances the available capacity for users with data redundancy capability, achieving differentiated strategy objectives.
It improves the availability of the storage system after disk status changes, supports the continuous and stable operation of user services, and enhances business reliability and continuity.
Smart Images

Figure CN121523958A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of storage technology, and in particular to a logical disk array allocation method, apparatus, device, storage medium, and program product for high-performance computing environments. Background Technology
[0002] With the continuous development of data storage technology, storage pool technology based on the Redundant Array of Independent Disks (RAID) 2.0 architecture has emerged to improve the performance, reliability, and resource utilization of storage systems. This RAID 2.0 technology divides physical hard drives into multiple logical disk blocks (DiskObj, DOBJ) with fixed capacities, and combines DOBJs from different hard drives into redundant logical disk block groups (DiskSegment, DSEG), achieving fine-grained management and flexible allocation of storage resources.
[0003] In the above architecture, when situations such as hard drive failure, capacity expansion, or changes in business load occur, it is essential to reallocate and schedule the DOBJ and its constituent DSEG in order to maintain the performance balance, data redundancy, and resource utilization of the storage pool.
[0004] However, the allocation methods for logical disk arrays described in related technologies suffer from inflexibility. Summary of the Invention
[0005] Therefore, it is necessary to provide a logical disk array allocation method, apparatus, device, storage medium, and program product for high-performance computing environments that can improve the flexibility of logical disk array allocation and address the aforementioned technical problems.
[0006] In a first aspect, this application provides a logical disk array allocation method for high-performance computing environments, the method comprising:
[0007] When a status change is detected in the internal disk of the system, the redundancy capability of the corresponding logical disk array is obtained; status changes include disk failure or the addition of a disk;
[0008] The allocation update strategy is determined based on redundancy capacity and status changes, and the current logical block allocation of the logical disk array is updated according to the allocation update strategy to obtain the new logical block allocation.
[0009] The logical blocks of the logical disk array are reallocated according to the new logical block allocation.
[0010] The logical disk array allocation method for high-performance computing environments provided in this application embodiment obtains the redundancy capability of the corresponding logical disk array when a disk status change is detected within the system. Then, based on the redundancy capability and the status change, a ratio update strategy is determined, and the current logical block ratio of the logical disk array is updated according to the ratio update strategy to obtain a new logical block ratio. Finally, the logical blocks of the logical disk array are reallocated according to the new logical block ratio. The status change includes disk failure or the addition of a new disk. In the above method, firstly, based on different status changes such as disk failure or addition, and combined with the current redundancy capability of the logical disk array, the ratio update strategy is dynamically determined and executed, enabling the storage system to flexibly respond to various real-world scenarios. Secondly, when updating the logical block ratio, both user-available capacity and data redundancy capability are considered, avoiding the impact on overall storage efficiency and security due to the one-sided pursuit of a single indicator. Finally, through timely and targeted reallocation of logical blocks, the availability of the logical disk array can be maintained or restored after disk status changes, thereby supporting the continuous and stable operation of user services and greatly improving the reliability and continuity of user services.
[0011] In some embodiments, the allocation update strategy is determined based on redundancy capability and state changes, including:
[0012] If the redundancy capacity meets the business processing requirements of the logical disk array, then the allocation update strategy is determined based on the status change with the goal of meeting high security requirements.
[0013] If the redundancy capacity does not meet the business processing requirements of the logical disk array, then the allocation update strategy is determined based on the status changes with the goal of meeting the business processing requirements.
[0014] The method described in this application intelligently distinguishes and sets differentiated strategy objectives (prioritizing high security or business needs) based on whether redundancy capabilities meet business requirements, making resource allocation updates more targeted. When redundancy capabilities are sufficient, resources can be proactively allocated to improving data security; when redundancy capabilities are insufficient, priority is given to ensuring business processing capabilities, thereby achieving efficient utilization of redundant resources in different scenarios. Through a hierarchical decision-making mechanism, the system can not only respond to changes in disk status but also adopt adjustment strategies that are most conducive to maintaining business continuity or improving protection levels based on the actual level of current redundancy capabilities, enhancing the overall resilience of the system in changing environments.
[0015] In some embodiments, with the goal of meeting high security requirements, a ratio update strategy is determined based on state changes, including:
[0016] If the status change indicates a disk failure, then to meet high security requirements, the allocation update strategy is determined to include reducing the number of data blocks in the current logical block allocation while keeping the number of check blocks unchanged.
[0017] If the status change is to add a disk, then with the goal of meeting high security requirements, the allocation update strategy is determined based on the number of check blocks in the current logical block allocation.
[0018] In some embodiments, the allocation update strategy is determined based on the number of check blocks in the current logical block allocation, including:
[0019] If the number of check blocks is equal to the preset number threshold, the matching update strategy is determined to include increasing the number of data blocks while keeping the number of check blocks unchanged.
[0020] If the number of verification blocks is less than the preset threshold, the matching update strategy is determined to include increasing the number of verification blocks while keeping the number of data blocks unchanged.
[0021] The method described in this application embodiment, when a disk fails, can proactively reduce the number of data blocks to make the data and parity relationships on the remaining disks more compact without increasing additional parity overhead. This effectively restores or maintains the array's high-security state and improves data protection capabilities after a failure. When adding a disk, a distribution decision is made based on whether the current number of parity blocks has reached a threshold: if the parity is sufficient (reaching the threshold), the strategy prioritizes using expansion resources to increase available capacity (adding data blocks), avoiding excessive investment in redundant resources and achieving a balance between security and capacity efficiency. If the parity is not yet sufficient (below the threshold), the strategy prioritizes using the added resources to enhance redundancy capabilities (adding parity blocks), thereby systematically improving the overall fault tolerance and data security of the array.
[0022] In some embodiments, with the goal of meeting business processing requirements, a matching update strategy is determined based on state changes, including:
[0023] If the status change is a disk failure, the allocation update strategy is determined based on the number of check blocks in the current logical block allocation, with the goal of meeting business processing requirements;
[0024] If the status change is to add a disk, the allocation update strategy is determined with the goal of meeting business processing needs. This includes increasing the number of data blocks in the current logical block allocation while keeping the number of check blocks unchanged.
[0025] In some embodiments, the allocation update strategy is determined based on the number of check blocks in the current logical block allocation, including:
[0026] If the number of check blocks is greater than the first value, the matching update strategy is determined to include reducing the number of check blocks while keeping the number of data blocks in the current logical block matching unchanged.
[0027] If the number of check blocks is not greater than the first value, the matching update strategy is determined to include reducing the number of data blocks while keeping the number of check blocks unchanged.
[0028] The method described in this application prioritizes rapidly restoring available capacity and performance when disk failure leads to a decline in business processing capacity. It provides two targeted paths through conditional judgment: either appropriately reducing redundancy overhead to release resources when redundancy is still abundant, or directly expanding data capacity when redundancy is already strained, thereby ensuring that business processing capacity is effectively maintained or improved after a failure. When adding a new disk, the strategy explicitly allocates all new resources to adding data blocks (keeping parity blocks unchanged), maximizing the contribution of storage space to business processing capacity and directly and efficiently improving the overall business carrying capacity of the system.
[0029] Secondly, this application also provides a logical disk array allocation device for high-performance computing environments, the device comprising:
[0030] The acquisition module is used to acquire the redundancy capability of the logical disk array corresponding to the disk when a status change is detected in the internal disk of the system; the status change includes disk failure or the addition of a disk;
[0031] The update module is used to determine the allocation update strategy based on redundancy capacity and status changes, and update the current logical block allocation of the logical disk array according to the allocation update strategy to obtain the new logical block allocation.
[0032] The allocation module is used to reallocate logical blocks in the logical disk array according to the new logical block ratio.
[0033] Thirdly, this application also provides a computer device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0034] When a status change is detected in the internal disk of the system, the redundancy capability of the corresponding logical disk array is obtained; status changes include disk failure or the addition of a disk;
[0035] The allocation update strategy is determined based on redundancy capacity and status changes, and the current logical block allocation of the logical disk array is updated according to the allocation update strategy to obtain the new logical block allocation.
[0036] The logical blocks of the logical disk array are reallocated according to the new logical block allocation.
[0037] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the following steps:
[0038] When a status change is detected in the internal disk of the system, the redundancy capability of the corresponding logical disk array is obtained; status changes include disk failure or the addition of a disk;
[0039] The allocation update strategy is determined based on redundancy capacity and status changes, and the current logical block allocation of the logical disk array is updated according to the allocation update strategy to obtain the new logical block allocation.
[0040] The logical blocks of the logical disk array are reallocated according to the new logical block allocation.
[0041] Fifthly, this application also provides a computer program product, which includes a computer program that, when executed by a processor, performs the following steps:
[0042] When a status change is detected in the internal disk of the system, the redundancy capability of the corresponding logical disk array is obtained; status changes include disk failure or the addition of a disk;
[0043] The allocation update strategy is determined based on redundancy capacity and status changes, and the current logical block allocation of the logical disk array is updated according to the allocation update strategy to obtain the new logical block allocation.
[0044] The logical blocks of the logical disk array are reallocated according to the new logical block allocation.
[0045] The aforementioned logical disk array allocation method, apparatus, device, storage medium, and program products for high-performance computing environments involve the following steps: When a disk status change is detected within the system, the method acquires the redundancy capability of the corresponding logical disk array. Then, based on the redundancy capability and the status change, it determines a ratio update strategy and updates the current logical block ratio of the logical disk array according to the strategy, resulting in a new logical block ratio. Finally, it reallocates logical blocks in the logical disk array based on the new logical block ratio. Status changes include disk failures or the addition of new disks. Firstly, based on different status changes such as disk failures or additions, and combined with the current redundancy capability of the logical disk array, the method dynamically determines and executes the ratio update strategy, enabling the storage system to flexibly respond to various real-world scenarios. Secondly, when updating the logical block ratio, it balances user-available capacity and data redundancy capability, avoiding the pursuit of a single metric that could negatively impact overall storage efficiency and security. Finally, through timely and targeted reallocation of logical blocks, the availability of the logical disk array can be maintained or restored after disk status changes, thereby supporting the continuous and stable operation of user services and significantly improving the reliability and continuity of user services. Attached Figure Description
[0046] Figure 1 These are internal structural diagrams of the computer device in some embodiments;
[0047] Figure 2 This is one of the flowcharts illustrating a logical disk array allocation method for high-performance computing environments in some embodiments;
[0048] Figure 3 This is the second flowchart illustrating a logical disk array allocation method for high-performance computing environments in some embodiments;
[0049] Figure 4 This is the third flowchart illustrating a logical disk array allocation method for high-performance computing environments in some embodiments;
[0050] Figure 5 This is the fourth flowchart illustrating a logical disk array allocation method for high-performance computing environments in some embodiments.
[0051] Figure 6 This is the fifth flowchart illustrating a logical disk array allocation method for high-performance computing environments in some embodiments;
[0052] Figure 7 This is the sixth flowchart illustrating a logical disk array allocation method for high-performance computing environments in some embodiments;
[0053] Figure 8 This is the seventh flowchart illustrating a logical disk array allocation method for high-performance computing environments in some embodiments.
[0054] Figure 9 This is a schematic diagram of the RAID adaptive adjustment architecture in some embodiments;
[0055] Figure 10 This is one of the flowcharts illustrating the RAID adaptive adjustment method in some embodiments;
[0056] Figure 11 This is a second flowchart illustrating the RAID adaptive adjustment method in some embodiments;
[0057] Figure 12 This is the third flowchart illustrating the RAID adaptive adjustment method in some embodiments;
[0058] Figure 13 This is a structural block diagram of a logical disk array allocation device for high-performance computing environments in some embodiments. Detailed Implementation
[0059] In the embodiments of this application, the term "and / or" describes the relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. The character " / " generally indicates that the preceding and following associated objects have an "or" relationship.
[0060] In the embodiments of this application, the term "multiple" refers to two or more, and other quantifiers are similar.
[0061] In the embodiments of this application, the term "at least one" means one or more. For example, at least one of A, B and C can represent six situations: A exists alone, B exists alone, C exists alone, A and B exist simultaneously, A and C exist simultaneously, B and C exist simultaneously, and A, B and C exist simultaneously.
[0062] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0063] In modern storage technology, RAID technology is commonly used for data storage. It distributes data across different hard drives and uses additional disks to store parity information, ensuring high concurrency during data access and providing redundancy in data storage. This sacrifices space for higher performance and reliability. Later, to address the long rebuild time issue of traditional RAID disks, RAID 2.0 was developed. Its basic idea is to divide hard drives into multiple smaller blocks (DOBJs, typically 4MB) according to a fixed capacity, and then group these blocks from different hard drives into a DSEG (disk segment). A DSEG selects only one DOBJ from each hard drive. Within the DSEG, some blocks store data, and some store parity information. The RAID configuration of a DSEG can be expressed as D+P, where D represents the number of data blocks and P represents the number of parity blocks. Different numbers of parity blocks result in different redundancy capabilities in the RAID configuration.
[0064] RAID is divided into several different levels, with common RAID levels including RAID1, RAID10, RAID5, RAID6, and RAIDTC. Different RAID levels have different numbers of parity blocks and different methods of generating parity data. For example, RAID5 DSEG has only one parity block (with a ratio of D+1), RAID6 has two parity blocks (with a ratio of D+2), and RAIDTC DSEG has three parity blocks (with a ratio of D+3). For other RAID levels, please refer to relevant materials. The more parity blocks a RAID has, the stronger its redundancy, but the lower its space utilization. In modern storage technology, when a disk failure occurs in the storage system, the number of disks that can be allocated to DOBJ will decrease, and the number of blocks in each DSEG will decrease accordingly. There are two ways to handle this: (1) If the reliability of the data needs to be guaranteed, the number of parity blocks in the DSEG needs to remain unchanged, so the number of data blocks can only be reduced. In this way, the redundancy of the RAID remains unchanged, but the space utilization decreases, the available capacity for users decreases, and the capacity may be insufficient and the service may be interrupted. (2) To ensure the available capacity for users, the number of data blocks in DSEG needs to remain unchanged, while the number of parity blocks in DSEG needs to be reduced. This way, the available capacity presented to users does not decrease, but the redundancy capability of RAID will decrease, increasing the risk of data loss. Existing processing methods usually choose one of the two, which cannot simultaneously take into account both user capacity and data redundancy capability, and lacks flexibility.
[0065] When a disk fails, the system runs for a period with a smaller number of DSEG blocks. If the disk fails and is recovered or a new disk is added, new services can run with a larger number of DSEG blocks, offering higher redundancy and space utilization. However, older data remains in its original state. This means that reliability and user capacity are not automatically restored. It's equivalent to users recovering from the failed disk, but the system's redundancy and available capacity are not restored to them, posing a potential risk. Therefore, the allocation methods for logical disk arrays described in traditional technologies suffer from inflexibility.
[0066] In view of this, embodiments of this application propose a logical disk array allocation method, apparatus, device, storage medium, and program product for high-performance computing environments. By combining the redundancy capabilities of the logical disk array within the storage system to update the RAID ratio, both user capacity and data redundancy capabilities can be taken into account, thereby improving the reliability and continuity of user services.
[0067] It should be noted that the beneficial effects or technical problems solved by the embodiments of this application are not limited to this one, but may also be other implicit or related problems. For details, please refer to the description of the embodiments below.
[0068] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0069] In some embodiments, the logical disk array allocation method for high-performance computing environments provided in this application can be applied to, for example... Figure 1 The computer device shown has a storage system deployed on it. This computer device can be a terminal or a server, and its internal structure diagram can be as follows. Figure 1 As shown, the computer device includes a processor, memory, input / output interface, communication interface, display unit, and input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interface. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interface is used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements a logical disk array allocation method for high-performance computing environments. The display unit is used to form a visually visible image and can be a display screen, projection device, or virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.
[0070] Those skilled in the art will understand that Figure 1 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0071] In some embodiments, such as Figure 2 As shown, a logical disk array allocation method for high-performance computing environments is provided, which can be applied to... Figure 1Taking a computer device as an example, the explanation includes the following steps:
[0072] S201: When a change in the state of a disk is detected within the system, the redundancy capability of the logical disk array corresponding to the disk is obtained.
[0073] Status changes include disk failures or the addition of new disks. Disk failures refer to disks that are unable to provide normal data read and write services due to physical damage, disconnection, or severe performance degradation. Adding a new disk refers to a brand new disk being added to the storage system, or a previously failed disk being repaired and brought back online. Redundancy capacity represents the overall capability of the logical disk array in its current state to ensure data reliability and provide users with usable storage capacity.
[0074] In this embodiment, the computer device can interact with the storage system's monitoring module through system events or health check mechanisms to capture real-time status change events such as offline and online status of physical disks. When a change in the status of a disk within the system is detected (e.g., from normal to faulty, or from offline to online), the computer device can determine the logical disk array (e.g., RAID group or storage pool) to which the disk belongs. Then, the computer device can obtain its redundancy capability by querying the current configuration and resource status information of the logical disk array. Specifically, the computer device can calculate a comprehensive indicator reflecting its data protection strength and remaining storage space as redundancy capability by analyzing the current configuration parameters of the logical disk array (e.g., number of parity blocks, total number of disks) and real-time resource statistics (e.g., number of healthy disks, total number of available logical blocks).
[0075] S202, determine the allocation update strategy based on redundancy capability and status changes, and update the current logical block allocation of the logical disk array according to the allocation update strategy to obtain the new logical block allocation.
[0076] The allocation update strategy guides how to adjust the combination of user data blocks (D) and parity data blocks (P) in a logical disk array after changes in disk resource status. The logical block allocation represents the ratio between the number of logical blocks used to store user data and the number of logical blocks used to store redundancy check information when forming a basic storage unit (DSEG) of a logical disk array; it is typically expressed as "D+P".
[0077] In this embodiment, after obtaining the redundancy capability of the logical disk array and clarifying the type of state change based on the above steps, the computer device can determine the allocation update strategy based on a preset decision logic. The core of this decision logic lies in selecting different optimization objectives based on the judgment of the relationship between the current redundancy capability and business needs, thereby generating specific adjustment rules. For example, this decision logic incorporates multiple optimization modes (such as reliability-first mode and capacity-first mode). The computer device can automatically switch modes according to redundancy capability and, combined with the type of state change, ultimately output specific instructions on how to adjust the number of check blocks and data blocks, serving as the allocation update strategy. After determining the allocation update strategy, the computer device can perform mathematical operations and updates on the currently recorded logical block allocation (D+P) according to the adjustment rules defined by the strategy, thereby generating a logical block allocation adapted to the new resource state and optimization objectives, i.e., a new logical block allocation (D'+P').
[0078] S203, reallocate logical blocks in the logical disk array according to the new logical block ratio.
[0079] Among them, reallocation refers to the process of reorganizing and replanning the physical storage resources in the logical disk array based on the updated logical block allocation (D'+P').
[0080] In this embodiment, after obtaining the new logical block allocation based on the above steps, the computer device can reorganize storage resources according to the allocation. Specifically, for a new data storage request received by the logical disk array, when allocating storage space, the computer device will strictly select physical disks and combine logical blocks according to the new logical block allocation (D'+P') to form new storage units, and apply for corresponding logical space for the new data processing request. Optionally, the computer device can also initiate background data management and adjustment tasks to gradually adjust the existing storage units in the logical disk array that were allocated based on the old allocation to conform to the new logical block allocation through data migration and logical block reorganization, thereby achieving consistent updates and optimization of the entire array storage strategy.
[0081] The logical disk array allocation method for high-performance computing environments provided in this application embodiment obtains the redundancy capability of the corresponding logical disk array when a disk status change is detected within the system. Then, based on the redundancy capability and the status change, a ratio update strategy is determined, and the current logical block ratio of the logical disk array is updated according to the ratio update strategy to obtain a new logical block ratio. Finally, the logical blocks of the logical disk array are reallocated according to the new logical block ratio. The status change includes disk failure or the addition of a new disk. In the above method, firstly, based on different status changes such as disk failure or addition, and combined with the current redundancy capability of the logical disk array, the ratio update strategy is dynamically determined and executed, enabling the storage system to flexibly respond to various real-world scenarios. Secondly, when updating the logical block ratio, both user-available capacity and data redundancy capability are considered, avoiding the impact on overall storage efficiency and security due to the one-sided pursuit of a single indicator. Finally, through timely and targeted reallocation of logical blocks, the availability of the logical disk array can be maintained or restored after disk status changes, thereby supporting the continuous and stable operation of user services and greatly improving the reliability and continuity of user services.
[0082] In some embodiments, a specific implementation of the ratio update strategy is also provided, such as... Figure 3 As shown, the "determining the allocation update strategy based on redundancy capability and state changes" in S202 above includes:
[0083] S301 If the redundancy capacity meets the business processing requirements of the logical disk array, then with the goal of meeting high security requirements, the allocation update strategy is determined based on the status change.
[0084] Here, business processing requirements refer to the resources needed to process business operations, specifically the required capacity. Meeting high security requirements refers to a "high security first" decision-making model.
[0085] In this embodiment, when the computer device obtains the redundancy capability of the logical disk array, it can compare the redundancy capability value with a preset threshold. If the redundancy capability value is greater than the preset threshold, it is determined that the redundancy capability meets the business processing requirements of the logical disk array; if the redundancy capability value is not greater than the preset threshold, it is determined that the redundancy capability does not meet the business processing requirements of the logical disk array. The redundancy capability value can be reflected by the current available capacity of the storage pool. When the available capacity is higher than a preset capacity threshold, the resources are considered sufficient, that is, the redundancy capability meets the business processing requirements of the logical disk array; when the available capacity is not higher than the preset capacity threshold, the resources are considered insufficient, that is, the redundancy capability does not meet the business processing requirements of the logical disk array.
[0086] When a computer determines that the redundancy capacity of its logical disk array meets the business processing needs of the array, it means that the available logical block resources of the current logical disk array are sufficient to continue providing data protection without putting urgent pressure on the user's available storage capacity. In this scenario, the computer enters a "high security priority" decision mode. In this mode, the computer applies corresponding rules to determine the allocation update strategy based on specific state change events. Specifically, it may prioritize maintaining or enhancing data redundancy protection capabilities to ensure the highest data reliability. For example, if the state change is a disk failure, the strategy can perform an allocation update while ensuring that data redundancy capabilities are not reduced. If the state change is the addition of a new disk, the strategy can perform an allocation update while increasing the strength of data protection or the level of data security.
[0087] S302 If the redundancy capacity does not meet the service processing requirements of the logical disk array, then the allocation update strategy is determined based on the status change with the goal of meeting the service processing requirements.
[0088] Among them, meeting business processing needs as the goal refers to the "capacity-first" decision-making model.
[0089] In this embodiment, when the computer device determines that the redundancy capacity of the logical disk array does not meet the business processing requirements of the logical disk array, it indicates that the available logical block resources of the current logical disk array are already relatively scarce, and priority should be given to ensuring the continuous availability of storage space for user services. In this scenario, the computer device enters a "capacity-first" decision mode. In this mode, the computer device applies another set of rules to determine the allocation update strategy based on the type of state change. Specifically, it can prioritize maintaining or restoring the storage capacity available to users, aiming to ensure business continuity. For example, if the state change is a disk failure, the strategy can perform allocation updates while ensuring that the available capacity for users does not decrease. If the state change is the addition of a disk, the strategy can perform allocation updates while quickly restoring and expanding the available storage space for users.
[0090] The method described in this application intelligently distinguishes and sets differentiated strategy objectives (prioritizing high security or business needs) based on whether redundancy capabilities meet business requirements, making resource allocation updates more targeted. When redundancy capabilities are sufficient, resources can be proactively allocated to improving data security; when redundancy capabilities are insufficient, priority is given to ensuring business processing capabilities, thereby achieving efficient utilization of redundant resources in different scenarios. Through a hierarchical decision-making mechanism, the system can not only respond to changes in disk status but also adopt adjustment strategies that are most conducive to maintaining business continuity or improving protection levels based on the actual level of current redundancy capabilities, enhancing the overall resilience of the system in changing environments.
[0091] In some embodiments, a specific implementation of determining the ratio update strategy based on state changes is also provided, such as... Figure 4 As shown, the phrase "determining the ratio update strategy based on state changes with the goal of meeting high security requirements" in S301 above includes:
[0092] S401, if the status change is a disk failure, then with the goal of meeting high security requirements, the ratio update strategy is determined to include reducing the number of data blocks in the current logical block ratio while keeping the number of check blocks unchanged.
[0093] In this embodiment, when the computer device determines that the state change indicates a disk failure, it can enter a decision mode "aimed at meeting high security requirements." In this mode, the computer device can obtain the current logical block ratio of the logical disk array, denoted as D+P. Then, the number of data blocks D is reduced by a fixed value (e.g., 1), while the number of parity blocks P remains unchanged. Thus, the computer device generates a new ratio (D-1)+P. For example, if the ratio before the failure was 14+3, the ratio update strategy determined by the computer device after the failure will output a new ratio of 13+3. Its core is to maintain the original parity capability by sacrificing a portion of the total capacity.
[0094] S402, if the status change is to add a disk, then with the goal of meeting high security requirements, the allocation update strategy is determined based on the number of check blocks in the current logical block allocation.
[0095] In this embodiment, when the computer device determines that the status change is due to the addition of a disk, it can enter a decision mode "aimed at meeting high security requirements". In this mode, the computer device can query the number of parity blocks P in the current logical block allocation and compare it with a pre-configured "maximum number of parity blocks" (e.g., the number of parity blocks corresponding to the initially configured RAID level), and determine the allocation update strategy based on the comparison result.
[0096] Specifically, such as Figure 5 As shown, S402 above includes:
[0097] S4021, if the number of verification blocks is equal to the preset number threshold, then the matching update strategy is determined to include increasing the number of data blocks while keeping the number of verification blocks unchanged.
[0098] The preset quantity threshold is the maximum number of parity blocks corresponding to the RAID level, representing the maximum number of parity blocks that the logical disk array can support under the current configuration.
[0099] In this embodiment, the computer device can compare the number P of check blocks in the current logical block allocation with a preset threshold (e.g., 3). If the number of check blocks equals the preset threshold, the allocation update strategy is determined to include increasing the number of data blocks while keeping the number of check blocks unchanged. For example, if the current P is equal to the maximum number of check blocks, it indicates that the data protection strength has been restored to the preset highest level. At this time, the allocation update strategy is switched to "keeping the number of check blocks (P) unchanged and increasing the number of data blocks (D)," for example, updating the allocation from 14+3 to 15+3, and instead using the newly added disk to expand the user's available capacity.
[0100] S4022, If the number of verification blocks is less than the preset number threshold, the matching update strategy is determined to include increasing the number of verification blocks while keeping the number of data blocks unchanged.
[0101] In this embodiment of the application, if the computer device determines that the number of check blocks is less than a preset threshold, the ratio update strategy includes increasing the number of check blocks while keeping the number of data blocks unchanged. For example, if the current P is less than the maximum number of check blocks, the ratio update strategy is to "keep the number of data blocks (D) unchanged and increase the number of check blocks (P)," for example, updating the ratio from 14+2 to 14+3 to improve the redundancy level.
[0102] The method described in this application embodiment, when a disk fails, can proactively reduce the number of data blocks to make the data and parity relationships on the remaining disks more compact without increasing additional parity overhead. This effectively restores or maintains the array's high-security state and improves data protection capabilities after a failure. When adding a disk, a distribution decision is made based on whether the current number of parity blocks has reached a threshold: if the parity is sufficient (reaching the threshold), the strategy prioritizes using expansion resources to increase available capacity (adding data blocks), avoiding excessive investment in redundant resources and achieving a balance between security and capacity efficiency. If the parity is not yet sufficient (below the threshold), the strategy prioritizes using the added resources to enhance redundancy capabilities (adding parity blocks), thereby systematically improving the overall fault tolerance and data security of the array.
[0103] In some embodiments, a specific implementation of determining the ratio update strategy based on state changes is also provided, such as... Figure 6 As shown, the phrase "determine the matching update strategy based on state changes with the goal of meeting business processing requirements" in S302 above includes:
[0104] S501, if the status change is a disk failure, then with the goal of meeting business processing requirements, the allocation update strategy is determined based on the number of check blocks in the current logical block allocation.
[0105] In this embodiment, when the computer device determines that the state change is a disk failure, it can enter a decision mode "aimed at meeting business processing needs". In this mode, the computer device can query the number P of check blocks in the current logical block allocation, compare it with a pre-configured "minimum number of check blocks", and determine the allocation update strategy based on the comparison result.
[0106] Optional, such as Figure 7 As shown, the above S501 includes:
[0107] S5011, if the number of check blocks is greater than the first value, then the matching update strategy is determined to include reducing the number of check blocks while keeping the number of data blocks in the current logical block matching unchanged.
[0108] The first value is the "minimum number of parity blocks" (usually 1) for the most basic data protection requirements. If the user's available capacity is insufficient, the user can reduce the number of parity blocks to 0 (if the user accepts data loss due to disk failure later).
[0109] In this embodiment, the computer device can compare the number P of check blocks in the current logical block allocation with a first value (e.g., 1). If the number of check blocks is greater than the first value, the allocation update strategy is determined to include reducing the number of check blocks while keeping the number of data blocks in the current logical block allocation unchanged. For example, if the current P is greater than the minimum value, the allocation update strategy is to "keep the number of data blocks (D) unchanged and reduce the number of check blocks (P)," for example, updating the allocation from 14+2 to 14+1, thereby maintaining the available user capacity as much as possible while sacrificing some redundancy.
[0110] S5012, if the number of check blocks is not greater than the first value, then the matching update strategy is determined to include reducing the number of data blocks while keeping the number of check blocks unchanged.
[0111] In this embodiment, if the computer device determines that the number of check blocks is not greater than a first value, the ratio update strategy includes increasing the number of data blocks while keeping the number of check blocks unchanged. For example, if the current P is already equal to the minimum value (e.g., P=1), the ratio update strategy switches to "reducing the number of data blocks (D) while keeping the number of check blocks (P) unchanged," for example, updating the ratio from 14+1 to 13+1. This strategy ensures that even under extreme resource constraints, the bottom line of data protection can still be maintained, while adapting to resource loss by reducing capacity and preventing business interruption due to complete lack of redundancy.
[0112] S502, if the status change is to add a disk, then with the goal of meeting business processing needs, the allocation update strategy is determined to include increasing the number of data blocks in the current logical block allocation while keeping the number of check blocks unchanged.
[0113] In this embodiment, when the computer device determines that the status change is due to the addition of a disk, it can enter a decision mode "aimed at meeting business processing needs." In this mode, the computer device can obtain the current logical block allocation, denoted as D+P. Based on this strategy, the computer device performs a calculation: increasing the number of data blocks D by a fixed value (e.g., 1), while keeping the number of parity blocks P unchanged. For example, if the allocation before adding the disk was 13+1, the determined allocation update strategy will output a new allocation of 14+1. This reflects that, under the background of capacity priority, the primary goal of the system in utilizing restored resources is to alleviate capacity pressure, expand the available space for users, and enable the business to achieve immediate capacity recovery.
[0114] The method described in this application prioritizes rapidly restoring available capacity and performance when disk failure leads to a decline in business processing capacity. It provides two targeted paths through conditional judgment: either appropriately reducing redundancy overhead to release resources when redundancy is still abundant, or directly expanding data capacity when redundancy is already strained, thereby ensuring that business processing capacity is effectively maintained or improved after a failure. When adding a new disk, the strategy explicitly allocates all new resources to adding data blocks (keeping parity blocks unchanged), maximizing the contribution of storage space to business processing capacity and directly and efficiently improving the overall business carrying capacity of the system.
[0115] In summary, based on all the above embodiments, a logical disk array allocation method for high-performance computing environments is also provided, such as... Figure 8 As shown, the method includes:
[0116] S601: When a status change is detected in a disk within the system, the redundancy capability of the corresponding logical disk array is obtained. Status changes include disk failure or the addition of a new disk.
[0117] S602, if the redundancy capacity meets the business processing requirements of the logical disk array.
[0118] S603 If the status change is a disk failure, then to meet high security requirements, the ratio update strategy is determined to include reducing the number of data blocks in the current logical block ratio while keeping the number of check blocks unchanged.
[0119] S604, if the status change is a new disk, then with the goal of meeting high security requirements, if the number of check blocks is equal to the preset number threshold, then the matching update strategy is determined to include increasing the number of data blocks while keeping the number of check blocks unchanged; if the number of check blocks is less than the preset number threshold, then the matching update strategy is determined to include increasing the number of check blocks while keeping the number of data blocks unchanged.
[0120] S605, if the redundancy capability does not meet the business processing requirements of the logical disk array.
[0121] S606, if the status change is a disk failure, then with the goal of meeting business processing requirements, if the number of check blocks is greater than a first value, then the matching update strategy is determined to include reducing the number of check blocks while keeping the number of data blocks in the current logical block matching unchanged; if the number of check blocks is not greater than the first value, then the matching update strategy is determined to include reducing the number of data blocks while keeping the number of check blocks unchanged.
[0122] S607, if the status change is to add a disk, then with the goal of meeting business processing requirements, the allocation update strategy is determined, which includes increasing the number of data blocks in the current logical block allocation while keeping the number of check blocks unchanged, and updating the current logical block allocation of the logical disk array according to the allocation update strategy to obtain a new logical block allocation.
[0123] S608 redistributes logical blocks in the logical disk array according to the new logical block ratio.
[0124] In this application embodiment, a method for adaptive RAID adjustment is proposed, such as... Figure 9 As shown, based on the current number of available disks and available capacity of the storage pool, RAID strategy, etc., the running RAID strategy is automatically adjusted to balance user capacity and data redundancy, thereby improving the reliability and continuity of user services.
[0125] A RAID strategy consists of two parts: RAID level and RAID ratio. A change in either one is considered a change in the RAID strategy.
[0126] This invention divides the RAID adaptive adjustment method into three parts:
[0127] Policy Center: Based on the storage pool's RAID level configuration, available capacity, RAID adjustment capacity threshold, number of parity blocks, disk failure / recovery status, etc., outputs a new RAID policy for the storage pool.
[0128] Capability Center: Checks whether RAID policy adjustments need to be triggered; collects information required for RAID policy output; provides new DSEG allocation functionality for services; and provides data migration functionality for old DSEGs.
[0129] Business Center: Connects with user business and triggers RAID policy adjustments, integrates the capability center and policy center, and completes adaptive RAID policy adjustments.
[0130] (1) Policy Center: The policy center mainly determines the current RAID policy of the storage pool. For example... Figure 10As shown, when consecutive disk failures occur in the storage pool, the RAID configuration is adjusted as follows: The adjustment is divided into three stages: ① Sufficient available capacity stage: After a disk failure, the available capacity for users decreases, but remains above the threshold. In this stage, the system can operate in reliability-first mode. In this mode, when adjusting the RAID after a disk failure, the number of data blocks is reduced while the number of parity blocks remains constant, ensuring RAID redundancy and effectively guaranteeing the reliability of user services. ② Insufficient available capacity stage: With continued disk failures, the available capacity for users further decreases, falling below the threshold. In this stage, the system switches to available capacity-first mode. In this mode, when adjusting the RAID after a disk failure, the number of parity blocks is reduced while the number of data blocks remains constant, ensuring that the available capacity for users does not decrease and user services are not interrupted due to insufficient capacity. To ensure basic redundancy for user data, the number of parity blocks can be reduced to a maximum of 1. ③ Insufficient redundancy stage: If a disk failure continues even after the number of parity blocks has been reduced to the minimum of 1, further reducing the number of parity blocks may result in insufficient data redundancy and a risk of data loss. In this stage, the system switches to service continuity-first mode. In this mode, after a disk failure, the number of data blocks is reduced during RAID adjustments, while the parity block remains at 1. This provides basic redundancy and ensures uninterrupted user services, effectively guaranteeing service continuity. If the user's available capacity is insufficient, the user can forgo basic data redundancy by reducing the number of parity blocks to 0 (assuming the user accepts data loss in the event of a subsequent disk failure). For further RAID adjustment strategies, please refer to [link to relevant documentation]. Figure 11 As shown.
[0131] like Figure 12 As shown, after a failed disk in the storage pool is recovered or after users replace failed disks one by one with new disks (hereinafter referred to as disk recovery), the number of available disks in the storage pool will gradually increase, and the RAID will also need to be adjusted accordingly. The following strategies can be used to achieve smooth RAID adjustment: ① Capacity Recovery Phase: In this phase, the user's available capacity is less than the threshold. After disk recovery, user capacity is restored first. During RAID adjustment, the number of data blocks is increased while maintaining a parity block count of 1. ② Reliability Recovery Phase: As disks recover, the user's available capacity gradually increases. When the user's available capacity reaches the threshold, data reliability is restored first when disks recover. During RAID adjustment, the number of parity blocks is increased while maintaining the number of data blocks. ③ Sufficient Available Capacity Phase: When disks continue to recover, the RAID parity block count has reached the maximum value configured in the storage pool (generally specified by the user when creating the storage pool). When disks recover, available capacity is restored first. During RAID adjustment, the number of data blocks is increased while maintaining the number of parity blocks. Only after all disks are recovered and the storage pool is fully recovered can the restoration of user capacity and redundancy be guaranteed.
[0132] By combining the three stages of disk failure and disk recovery, we can obtain the latest RAID configuration during disk failure and disk recovery, as shown in Table 1 below:
[0133] Table 1
[0134] Storage pool running status Disk failure disk recovery Available capacity is greater than or equal to the threshold and the number of check blocks = P The number of data blocks decreases, while the number of check blocks remains the same. The number of data blocks increases while the number of parity blocks remains the same. Available capacity is less than the threshold but the number of check blocks is greater than 1 The number of data blocks remains the same, while the number of parity blocks decreases until there is only one parity block. NA Available capacity is greater than or equal to the threshold, but the number of check blocks is 1. NA The number of data blocks remains constant, while the number of parity blocks increases until the number of parity blocks reaches its maximum value P. Available capacity is less than the threshold, but the number of check blocks is 1. The number of data blocks decreases, while the number of parity blocks remains at 1 until the number of data blocks is 1. The number of check blocks remains at 1, while the number of data blocks increases until the available capacity is greater than or equal to the threshold.
[0135] The RAID level is determined by the number of parity blocks in the RAID configuration, or the user can specify the correspondence between parity blocks and RAID levels. Common RAID levels and parity block correspondences are shown in Table 2 below:
[0136] Table 2
[0137] RAID levels RAID0 RAID5 RAID6 RAIDTC RAID1 Number of check blocks 0 1 2 3 1
[0138] The policy center uses the available capacity, capacity threshold, and number of parity blocks of the storage pool, combined with the disk event that triggered the policy update (disk failure / disk recovery), and refers to the RAID adjustment method above to obtain a new RAID policy. For ease of understanding, two examples are given below:
[0139] Example 1: A storage pool is configured with RAID level RAIDTC, available capacity is 50%, capacity threshold is 30%, current parity blocks are 3, RAID ratio is 15+3, and RAID level is RAIDTC. If one disk fails, the new RAID ratio becomes 14+3 (number of data blocks decreases, number of parity blocks remain the same), and the RAID level remains RAIDTC. If the service continues, the available capacity of the storage pool gradually decreases to 29%, and another disk fails, the new RAID ratio becomes 14+2 (number of data blocks remains the same, number of parity blocks decreases), and the RAID level becomes RAID6. If the service continues, the available capacity of the storage pool gradually decreases to 25%, and another disk fails, the new RAID ratio becomes 14+1 (number of data blocks remains the same, number of parity blocks decreases until there is only 1 parity block), and the RAID level becomes RAID5. If the service continues, the available capacity of the storage pool gradually decreases to 20%, and another disk fails, the new RAID ratio becomes 13+1 (number of data blocks decreases, number of parity blocks remains at 1), and the RAID level becomes RAID5.
[0140] Example 2: The storage pool is configured with RAID level RAIDTC, available capacity is 29%, capacity threshold is 30%, current parity block count is 1, RAID ratio is 13+1, and RAID level is RAID5. If one disk is recovered, the new RAID configuration is 14+1 (the number of data blocks increases, the number of parity blocks remains the same), the RAID level is RAID5, and the usable capacity increases to 35% after disk recovery. If another disk is recovered, the new RAID configuration is 14+2 (the number of data blocks remains the same, the number of parity blocks increases), the RAID level is RAID6, and the usable capacity increases to 40% after disk recovery. If another disk is recovered, the new RAID configuration is 14+3 (the number of data blocks remains the same, the number of parity blocks increases), the RAID level is RAIDTC, and the usable capacity increases to 45% after disk recovery. If another disk is recovered, the new RAID configuration is 14+3 (the number of data blocks remains the same, the number of parity blocks increases until the number of parity blocks reaches its maximum value), the RAID level is RAIDTC. If another disk is recovered, the new RAID configuration is 15+3 (the number of data blocks increases, the number of parity blocks remains the same), the RAID level is RAIDTC.
[0141] (2) Capability Center: The capability center mainly provides various capabilities required for RAID adjustment: ① Provides RAID adjustment trigger detection function to detect whether the storage pool needs to trigger RAID adjustment. ② Provides information required for RAID strategy decision-making, such as the storage pool's RAID level configuration, available capacity, capacity threshold, number of parity blocks, disk status, etc. ③ Provides DSEG allocation function required by the business. When a business requests a DSEG, if the available capacity of the storage pool is sufficient, according to the requested RAID strategy, D+P disks are randomly selected from multiple allocable disks, and then one DOBJ is allocated from each selected disk to form a DSEG with a ratio of D+P. ④ Provides migration function for old DSEG data. After RAID adjustment, the newly allocated DSEG for the business uses the new RAID strategy, but the already allocated DSEG still uses the old RAID strategy. Therefore, RAID adjustment of the old DSEG is required. To reduce the impact on the business, RAID adjustment of the old DSEG can be performed through a background task. After each RAID adjustment is completed, a background task can be started, which iterates through all allocated DSEGs and adjusts their RAID strategies.
[0142] The general logic of the entire RAID adjustment background task is as follows: Record the latest RAID policy and the largest DSEG number (DSEG_ID_MAX) of the current storage pool. Iterate through all DSEGs in the storage pool and process DSEG_i as follows: If the number of DSEG_i is greater than DSEG_ID_MAX, do nothing; if the RAID policy of DSEG_i is equal to the latest RAID policy, do nothing; otherwise, allocate a new DSEG_j, which uses the latest RAID policy; migrate the data of DSEG_i to DSEG_j, and recalculate the parity block data of DSEG_j using the RAID algorithm corresponding to the new RAID policy; inform the user that all old DSEGs have been adjusted to the latest RAID policy.
[0143] (3) Business Center: The business center mainly connects with user business and triggers RAID adjustment. It calls the capability center and policy center as needed to complete the adaptive RAID adjustment.
[0144] When a new service requests a DSEG, the service center initiates a DSEG application to the capability center, and the new DSEG uses the latest RAID strategy.
[0145] The business center periodically calls the RAID adjustment detection module. When a RAID adjustment is detected, the business center queries the capability center for the information required for the RAID adjustment, obtains the latest RAID policy from the policy center, sets the current RAID policy with the capability center, and initiates a RAID old data migration command.
[0146] The method described in this application, through close cooperation among three centers, automatically adjusts the latest RAID strategy to adapt to newly allocated DSEGs in the event of disk failure or recovery. When the RAID strategy changes, a background task is initiated to automatically migrate the old DSEGs, thus fully realizing adaptive adjustment of the RAID strategy in the storage pool. The three-center design—capability center, service center, and policy center—allows for modular implementation of adaptive RAID adjustment. This adaptive RAID adjustment balances user capacity and storage pool redundancy, improving the reliability and continuity of user services.
[0147] The methods described in each of the above steps have been described in the foregoing embodiments. For details, please refer to the foregoing descriptions. They will not be repeated here.
[0148] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0149] Based on the same inventive concept, this application also provides a logical disk array allocation device for high-performance computing environments, which implements the logical disk array allocation method for high-performance computing environments described above. The solution provided by this device is similar to the implementation described in the above method. Therefore, the specific limitations of one or more embodiments of the logical disk array allocation device for high-performance computing environments provided below can be found in the limitations of the logical disk array allocation method for high-performance computing environments described above, and will not be repeated here.
[0150] In some embodiments, such as Figure 13 As shown, a logical disk array allocation device for high-performance computing environments is provided, comprising:
[0151] The acquisition module 11 is used to acquire the redundancy capability of the logical disk array corresponding to the disk when a status change is detected in the internal disk of the system; the status change includes disk failure or the addition of a disk.
[0152] The update module 12 is used to determine the allocation update strategy based on redundancy capability and status changes, and update the current logical block allocation of the logical disk array according to the allocation update strategy to obtain a new logical block allocation.
[0153] Allocation module 13 is used to reallocate logical blocks of the logical disk array according to the new logical block ratio.
[0154] In some embodiments, the above-mentioned updating module includes:
[0155] The first update unit is used to determine the allocation update strategy based on state changes, with the goal of meeting high security requirements, if the redundancy capacity meets the business processing needs of the logical disk array.
[0156] The second update unit is used to determine the allocation update strategy based on state changes if the redundancy capacity does not meet the business processing requirements of the logical disk array.
[0157] In some embodiments, the first determining unit includes:
[0158] The first update subunit is used to determine the allocation update strategy, which includes reducing the number of data blocks in the current logical block allocation and keeping the number of check blocks unchanged, if the state change is a disk failure, with the goal of meeting high security requirements.
[0159] The second update subunit is used to determine the allocation update strategy based on the number of check blocks in the current logical block allocation, with the goal of meeting high security requirements, if the state change is a new disk.
[0160] In some embodiments, the second update subunit is specifically configured to determine that if the number of verification blocks is equal to a preset number threshold, the matching update strategy includes increasing the number of data blocks while keeping the number of verification blocks unchanged; and if the number of verification blocks is less than the preset number threshold, the matching update strategy includes increasing the number of verification blocks while keeping the number of data blocks unchanged.
[0161] In some embodiments, the second update unit described above includes:
[0162] The third update subunit is used to determine the allocation update strategy based on the number of check blocks in the current logical block allocation, with the goal of meeting business processing requirements, if the state change is a disk failure.
[0163] The fourth update subunit is used to determine the allocation update strategy if the status change is a new disk, with the goal of meeting business processing requirements. This strategy includes increasing the number of data blocks in the current logical block allocation while keeping the number of check blocks unchanged.
[0164] In some embodiments, the third update subunit is specifically used to determine that if the number of check blocks is greater than the first value, the ratio update strategy includes reducing the number of check blocks while keeping the number of data blocks in the current logical block ratio unchanged; if the number of check blocks is not greater than the first value, the ratio update strategy includes reducing the number of data blocks while keeping the number of check blocks unchanged.
[0165] The modules in the aforementioned logical disk array allocation device for high-performance computing environments can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in the computer device in hardware form, or stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0166] In some embodiments, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0167] When a status change is detected in the internal disk of the system, the redundancy capability of the corresponding logical disk array is obtained; status changes include disk failure or the addition of a disk;
[0168] The allocation update strategy is determined based on redundancy capacity and status changes, and the current logical block allocation of the logical disk array is updated according to the allocation update strategy to obtain the new logical block allocation.
[0169] The logical blocks of the logical disk array are reallocated according to the new logical block allocation.
[0170] In some embodiments, when the processor executes a computer program, it further performs the following steps:
[0171] If the redundancy capacity meets the business processing requirements of the logical disk array, then the allocation update strategy is determined based on the status change with the goal of meeting high security requirements.
[0172] If the redundancy capacity does not meet the business processing requirements of the logical disk array, then the allocation update strategy is determined based on the status changes with the goal of meeting the business processing requirements.
[0173] In some embodiments, when the processor executes a computer program, it further performs the following steps:
[0174] If the status change indicates a disk failure, then to meet high security requirements, the allocation update strategy is determined to include reducing the number of data blocks in the current logical block allocation while keeping the number of check blocks unchanged.
[0175] If the status change is to add a disk, then with the goal of meeting high security requirements, the allocation update strategy is determined based on the number of check blocks in the current logical block allocation.
[0176] In some embodiments, when the processor executes a computer program, it further performs the following steps:
[0177] If the number of check blocks is equal to the preset number threshold, the matching update strategy is determined to include increasing the number of data blocks while keeping the number of check blocks unchanged.
[0178] If the number of verification blocks is less than the preset threshold, the matching update strategy is determined to include increasing the number of verification blocks while keeping the number of data blocks unchanged.
[0179] In some embodiments, when the processor executes a computer program, it further performs the following steps:
[0180] If the status change is a disk failure, the allocation update strategy is determined based on the number of check blocks in the current logical block allocation, with the goal of meeting business processing requirements;
[0181] If the status change is to add a disk, the allocation update strategy is determined with the goal of meeting business processing needs. This includes increasing the number of data blocks in the current logical block allocation while keeping the number of check blocks unchanged.
[0182] In some embodiments, when the processor executes a computer program, it further performs the following steps:
[0183] If the number of check blocks is greater than the first value, the matching update strategy is determined to include reducing the number of check blocks while keeping the number of data blocks in the current logical block matching unchanged.
[0184] If the number of check blocks is not greater than the first value, the matching update strategy is determined to include reducing the number of data blocks while keeping the number of check blocks unchanged.
[0185] The computer device provided in the above embodiments has a similar implementation principle and technical effect to the above method embodiments, and will not be described again here.
[0186] In some embodiments, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, performs the following steps:
[0187] When a status change is detected in the internal disk of the system, the redundancy capability of the corresponding logical disk array is obtained; status changes include disk failure or the addition of a disk;
[0188] The allocation update strategy is determined based on redundancy capacity and status changes, and the current logical block allocation of the logical disk array is updated according to the allocation update strategy to obtain the new logical block allocation.
[0189] The logical blocks of the logical disk array are reallocated according to the new logical block allocation.
[0190] In some embodiments, when a computer program is executed by a processor, it further performs the following steps:
[0191] If the redundancy capacity meets the business processing requirements of the logical disk array, then the allocation update strategy is determined based on the status change with the goal of meeting high security requirements.
[0192] If the redundancy capacity does not meet the business processing requirements of the logical disk array, then the allocation update strategy is determined based on the status changes with the goal of meeting the business processing requirements.
[0193] In some embodiments, when a computer program is executed by a processor, it further performs the following steps:
[0194] If the status change indicates a disk failure, then to meet high security requirements, the allocation update strategy is determined to include reducing the number of data blocks in the current logical block allocation while keeping the number of check blocks unchanged.
[0195] If the status change is to add a disk, then with the goal of meeting high security requirements, the allocation update strategy is determined based on the number of check blocks in the current logical block allocation.
[0196] In some embodiments, when a computer program is executed by a processor, it further performs the following steps:
[0197] If the number of check blocks is equal to the preset number threshold, the matching update strategy is determined to include increasing the number of data blocks while keeping the number of check blocks unchanged.
[0198] If the number of verification blocks is less than the preset threshold, the matching update strategy is determined to include increasing the number of verification blocks while keeping the number of data blocks unchanged.
[0199] In some embodiments, when a computer program is executed by a processor, it further performs the following steps:
[0200] If the status change is a disk failure, the allocation update strategy is determined based on the number of check blocks in the current logical block allocation, with the goal of meeting business processing requirements;
[0201] If the status change is to add a disk, the allocation update strategy is determined with the goal of meeting business processing needs. This includes increasing the number of data blocks in the current logical block allocation while keeping the number of check blocks unchanged.
[0202] In some embodiments, when a computer program is executed by a processor, it further performs the following steps:
[0203] If the number of check blocks is greater than the first value, the matching update strategy is determined to include reducing the number of check blocks while keeping the number of data blocks in the current logical block matching unchanged.
[0204] If the number of check blocks is not greater than the first value, the matching update strategy is determined to include reducing the number of data blocks while keeping the number of check blocks unchanged.
[0205] The computer-readable storage medium provided in the above embodiments has a similar implementation principle and technical effect to the above method embodiments, and will not be described again here.
[0206] In some embodiments, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:
[0207] When a status change is detected in the internal disk of the system, the redundancy capability of the corresponding logical disk array is obtained; status changes include disk failure or the addition of a disk;
[0208] The allocation update strategy is determined based on redundancy capacity and status changes, and the current logical block allocation of the logical disk array is updated according to the allocation update strategy to obtain the new logical block allocation.
[0209] The logical blocks of the logical disk array are reallocated according to the new logical block allocation.
[0210] In some embodiments, when a computer program is executed by a processor, it further performs the following steps:
[0211] If the redundancy capacity meets the business processing requirements of the logical disk array, then the allocation update strategy is determined based on the status change with the goal of meeting high security requirements.
[0212] If the redundancy capacity does not meet the business processing requirements of the logical disk array, then the allocation update strategy is determined based on the status changes with the goal of meeting the business processing requirements.
[0213] In some embodiments, when a computer program is executed by a processor, it further performs the following steps:
[0214] If the status change indicates a disk failure, then to meet high security requirements, the allocation update strategy is determined to include reducing the number of data blocks in the current logical block allocation while keeping the number of check blocks unchanged.
[0215] If the status change is to add a disk, then with the goal of meeting high security requirements, the allocation update strategy is determined based on the number of check blocks in the current logical block allocation.
[0216] In some embodiments, when a computer program is executed by a processor, it further performs the following steps:
[0217] If the number of check blocks is equal to the preset number threshold, the matching update strategy is determined to include increasing the number of data blocks while keeping the number of check blocks unchanged.
[0218] If the number of verification blocks is less than the preset threshold, the matching update strategy is determined to include increasing the number of verification blocks while keeping the number of data blocks unchanged.
[0219] In some embodiments, when a computer program is executed by a processor, it further performs the following steps:
[0220] If the status change is a disk failure, the allocation update strategy is determined based on the number of check blocks in the current logical block allocation, with the goal of meeting business processing requirements;
[0221] If the status change is to add a disk, the allocation update strategy is determined with the goal of meeting business processing needs. This includes increasing the number of data blocks in the current logical block allocation while keeping the number of check blocks unchanged.
[0222] In some embodiments, when a computer program is executed by a processor, it further performs the following steps:
[0223] If the number of check blocks is greater than the first value, the matching update strategy is determined to include reducing the number of check blocks while keeping the number of data blocks in the current logical block matching unchanged.
[0224] If the number of check blocks is not greater than the first value, the matching update strategy is determined to include reducing the number of data blocks while keeping the number of check blocks unchanged.
[0225] The computer program product provided in the above embodiments has a similar implementation principle and technical effect to the above method embodiments, and will not be described again here.
[0226] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0227] The technical features of the above embodiments can be combined in any way. For the sake of brevity, 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.
[0228] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for allocating logical disk arrays for a high performance computing environment, the method comprising: The method comprises: When detecting a state change of a disk inside the system, acquiring a redundancy capability of a logical disk array corresponding to the disk; the state change comprises disk failure or adding a new disk; According to the redundancy capability and the state change, determining a matching update strategy, and updating a current logical block matching of the logical disk array according to the matching update strategy to obtain a new logical block matching; According to the new logical block matching, re-distributing logical blocks of the logical disk array.
2. The method of claim 1, wherein, The determination of the matching update strategy according to the redundancy capability and the state change comprises: If the redundancy capability meets a service processing requirement of the logical disk array, taking meeting a high security requirement as a target, and determining the matching update strategy according to the state change; If the redundancy capability does not meet the service processing requirement of the logical disk array, taking meeting the service processing requirement as a target, and determining the matching update strategy according to the state change.
3. The method of claim 2, wherein, The determination of the matching update strategy according to the state change, taking meeting the high security requirement as a target, comprises: If the state change is the disk failure, taking meeting the high security requirement as a target, and determining the matching update strategy comprises reducing a number of data blocks in the current logical block matching, and keeping a number of check blocks unchanged; If the state change is the adding of the new disk, taking meeting the high security requirement as a target, and determining the matching update strategy according to the number of check blocks in the current logical block matching.
4. The method of claim 3, wherein, The determination of the matching update strategy according to the number of check blocks in the current logical block matching comprises: If the number of check blocks is equal to a preset number threshold, determining the matching update strategy comprises increasing the number of data blocks, and keeping the number of check blocks unchanged; If the number of check blocks is less than the preset number threshold, determining the matching update strategy comprises increasing the number of check blocks, and keeping the number of data blocks unchanged.
5. The method of claim 2, wherein, The determination of the matching update strategy according to the state change, taking meeting the service processing requirement as a target, comprises: If the state change is the disk failure, taking meeting the service processing requirement as a target, and determining the matching update strategy according to the number of check blocks in the current logical block matching; If the state change is the adding of the new disk, taking meeting the service processing requirement as a target, and determining the matching update strategy comprises increasing a number of data blocks in the current logical block matching, and keeping a number of check blocks unchanged.
6. The method of claim 5, wherein, The determination of the matching update strategy according to the number of check blocks in the current logical block matching comprises: If the number of check blocks is greater than a first value, determining the matching update strategy comprises reducing the number of check blocks, and keeping a number of data blocks in the current logical block matching unchanged; If the number of check blocks is not greater than the first value, determining the matching update strategy comprises reducing the number of data blocks, and keeping the number of check blocks unchanged.
7. A logical disk array allocation apparatus for a high performance computing environment, characterized by, The device comprises: An acquisition module is configured to acquire a redundancy capability of a logical disk array corresponding to a disk when a state change of the disk inside the system is detected, wherein the state change includes disk failure or addition of a new disk; An update module is configured to determine a matching update strategy according to the redundancy capability and the state change, and update a current logical block matching of the logical disk array according to the matching update strategy to obtain a new logical block matching; An allocation module is configured to perform logical block reallocation for the logical disk array according to the new logical block matching.
8. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that, The processor executes the computer program to implement the steps of the method in any one of claims 1 to 6.
9. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 6.
10. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 6.
Citation Information
Patent Citations
Method for constructing energy-saving type disc array with double discs for fault tolerance
CN102033716A
Storage method and system allowing dynamic asynchronous RAID level adjustment
CN104267913A
Data processing method and device in distributed file storage system
CN104272274A
Data storage method, device and system
CN108780386A
Data processing method and device, computer equipment, readable storage medium and program product
CN121326252A