Disk expansion method, computing device, and computing device cluster

By creating a disk map in the vSAN storage layer and generating a scaling strategy, the problem of user manual scaling is solved, automated and efficient disk scaling is achieved, and storage performance and availability are improved.

CN118210441BActive Publication Date: 2025-08-19HENAN KUNLUN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410236653.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-02-29
Publication Date
2025-08-19
Estimated Expiration
2044-02-29

AI Technical Summary

Technical Problem

In the prior art, users mainly rely on manual operations for the disk expansion method of vSAN storage layer, and need to have a deep understanding of the hardware configuration, which can easily lead to failure of expansion or degradation of storage performance, and inconvenient operation.

Method used

By creating a disk map, recording the configuration information and correspondence of disks in the computing device cluster, generating an automated capacity expansion strategy, guiding users to insert designated disks in the target slot, reducing manual participation, and ensuring capacity expansion success rate and storage performance.

Benefits of technology

It realizes the automation and intelligence of disk capacity expansion, improves the success rate of capacity expansion, and ensures high availability and storage performance of the vSAN storage layer.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118210441B_ABST
    Figure CN118210441B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a disk expansion method, computing device and computing device cluster, which relates to the field of server technology. The method includes obtaining a user's expansion request; wherein the expansion request includes the disk type and quantity of the target disk to be expanded, and the disk type is a cache disk or a capacity disk; in response to the expansion request, a target expansion strategy is obtained based on a preset expansion rule and a disk map; wherein the preset expansion rule includes expansion strategies corresponding to different disk configurations, and the disk map is used to record the configuration information of existing disks in the computing device cluster, and the configuration information includes the parameters of the existing disk, the disk type of the existing disk in the disk group, and the correspondence between the slot where the existing disk is located and the disk array card and the disk group; the target expansion strategy includes the parameters of the target disk and the target slot; the solution can realize automatic expansion and improve the success rate of expansion.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of server technology, and in particular to a disk expansion method, a computing device, and a computing device cluster. Background Art

[0002] Virtual Storage Area Networking (vSAN) is a software-based, scalable distributed storage architecture. The vSAN storage layer is typically constructed by aggregating the solid-state drives (SSDs) and mechanical hard drives (HDDs) within each server node within a cluster to form a shared storage pool. Multiple disks within this storage pool are organized into logical arrays (i.e., disk groups), allowing data to be stored dispersed across multiple disks. This enables efficient read and write operations and data redundancy, preventing data loss caused by a single disk failure. The vSAN storage layer typically includes multiple disk groups, each of which includes a cache disk (referred to as a cache disk) and multiple capacity disks (referred to as capacity disks).

[0003] With the continuous advancement of technology, users' demand for data storage is increasing, so cluster disk expansion is often necessary. However, users mostly expand disk capacity manually, mainly viewing the vSAN configuration through the cluster virtualization management page, and then deciding how to create disk groups or which disk groups to add capacity devices to. This requires users to have a thorough understanding of the hardware of the vSAN storage layer. Otherwise, expansion can easily fail, or even if expansion is successful, it can lead to a decline in overall storage performance. Therefore, this expansion method is not user-friendly and the expansion operation is not convenient. Summary of the Invention

[0004] The embodiments of the present application provide a disk expansion method, a computing device, and a computing device cluster, which can reduce the difficulty of expansion operations; can realize automatic expansion, and can improve the success rate of expansion.

[0005] In a first aspect, an embodiment of the present application provides a disk expansion method, the method comprising: obtaining a user's expansion request; wherein the expansion request includes the disk type and quantity of the target disk to be expanded, and the disk type is a cache disk or a capacity disk; in response to the expansion request, obtaining a target expansion strategy based on preset expansion rules and a disk map; wherein the preset expansion rules include expansion strategies corresponding to different disk configurations, and the disk map is used to record configuration information of existing disks in a computing device cluster, and the configuration information includes parameters of the existing disk, the disk type of the existing disk in the disk group, and the correspondence between the slot where the existing disk is located and the disk array card and the disk group; the target expansion strategy includes parameters of the target disk and the target slot.

[0006] In this embodiment, a disk map is created in advance for the disks on all computing devices in the computing device cluster, the disk array (raid) cards where the disks are located, and the disk groups formed by the disks, etc., to record the configuration information of the current disk hardware itself, the corresponding relationship between the raid card and the disk group, and to build expansion rules. In this way, when the computing device cluster (or the device, platform, etc. used to manage the cluster) obtains the user's expansion request, it can directly traverse the expansion rules based on the expansion request and the disk map, thereby generating a corresponding target expansion strategy, and guiding the user to insert a target disk with specified parameters in the target slot according to the target expansion strategy. Among them, the parameters may include but are not limited to the media type, capacity, protocol type, etc. of the target disk. In this way, the user's manual participation can be reduced, which is conducive to reducing the difficulty of manual expansion and helping to ensure the high availability of the vSAN storage layer after expansion.

[0007] In some possible embodiments, in response to a capacity expansion request, before obtaining a target capacity expansion strategy based on preset capacity expansion rules and a disk map, the method further includes: obtaining first information from a virtual storage area network, the first information including the number of disk groups, and the serial numbers, numbers, and parameters of cache disks and capacity disks in each disk group; obtaining second information from a computing device cluster, the second information including the number of existing disks in the computing device cluster, the serial number and parameters of each existing disk, and the correspondence between its slot and the disk array card; and fusing the first information and the second information to obtain a disk map.

[0008] In this embodiment, relevant information (first information) of the disk group in the virtual storage area network vSAN can be obtained from the software level of the computing device cluster, and configuration information (second information) of the disk hardware itself can be obtained through the baseboard management controller BMC of each computing device in the computing device cluster, so as to obtain a disk map to record comprehensive information about the disk, especially the slot location of the disk serving as the cache / capacity disk, so as to facilitate the subsequent generation of a target expansion strategy for the optimal expansion path, thereby improving the automation and intelligence of the expansion operation.

[0009] In some possible embodiments, the first information and the second information are integrated to obtain a disk map, including: matching the serial numbers of the cache disk and the capacity disk with the serial numbers of the existing disks to determine the slots where each cache disk and each capacity disk is located; determining the correspondence between the cache disk and the capacity disk and the disk array card, as well as the usage status of the slots on the disk array card, based on the slots where each cache disk and each capacity disk is located, to obtain a disk map; wherein the usage status includes idle or used.

[0010] In this way, based on the consistency between the serial numbers of the capacity disks and cache disks in the disk group and the serial numbers of the disks, each hardware disk can be associated with the disk group and integrated into a disk map with more comprehensive information.

[0011] In some possible embodiments, before obtaining a capacity expansion request from a user, the method includes: converting a disk map into a physical view; and outputting the physical view; wherein the physical view is used for the user to determine the capacity expansion request.

[0012] In this way, users can use the physical view as a reference for expansion and determine what type of disk (capacity disk or cache disk) they need to expand.

[0013] In some possible embodiments, the target disk includes a target cache disk and a first capacity disk, where the first capacity disk is a capacity disk that needs to be expanded when the cache disk is expanded. In response to the expansion request, determining a target expansion strategy based on a preset expansion rule and a disk map includes:

[0014] Determine whether the number of disk groups reaches a disk group number threshold; if the number of disk groups does not reach the disk group number threshold, determine whether there is a first target disk array card based on the disk map; wherein the number of free slots of the first target disk array card is greater than or equal to 1+n, n represents the number of capacity disks set for the disk group, and n≥1; if the first target disk array card exists, use the free slots of the first target disk array card as target slots; the target slots are slots for inserting the target cache disk and the first capacity disk, and the number of the first capacity disks is n; determine the parameters of the target cache disk and the first capacity disk based on the parameters of the cache disk and the capacity disk in the existing disk group; generate a target capacity expansion strategy based on the parameters of the target cache disk and the first capacity disk and the target slots.

[0015] In this way, when requesting to expand the cache disk type, the expansion strategy can be used to first expand the target cache disk and the corresponding capacity disk (i.e., the first capacity disk) on the same disk array (raid) card to create a new disk group, so that all target disks in the disk group have the best expansion path, achieving the best practice requirements for expansion and improving the overall storage performance of the cluster.

[0016] In some possible embodiments, the target slot includes a first target slot and a second target slot; in response to an expansion request, a target expansion policy is obtained based on a preset expansion rule and a disk map, further including: in the case where there is no first target disk array card, determining a second target disk array card and a third target disk array card; wherein, the number of free slots of the second target disk array card is less than 1 + n and greater than 1; the sum of the free slots of the second target disk array card and the free slots of the third target disk array card is greater than or equal to the free slots of the first target disk array card; taking the free slots of the second target disk array card as the second target slot, and taking the free slots of the third target disk array card as the third target slot; wherein, the second target slot is a slot for inserting a target cache disk and r first-capacity disks, r < n; the third target slot is a slot for inserting n - r first-capacity disks; determining the parameters of the target cache disk and the first-capacity disks according to the parameters of the cache disk and the capacity disks in the existing disk group; generating a target expansion policy based on the parameters of the target cache disk and the first-capacity disks and all the target slots.

[0017] In this way, if expansion cannot be performed on the same raid card, most of the target disks can be inserted into the same raid card to improve the success rate of expansion as much as possible.

[0018] In some possible embodiments, the target disk includes a target capacity disk; in response to an expansion request, determining a target expansion policy based on a preset expansion rule and a disk map includes:

[0019] Determining the number of target disks and the consistency of the capacity disks in the existing disk group; in the case where the target disk is one and the number of capacity disks between the existing disk groups is inconsistent, determining a first target disk group from the existing disk groups; wherein, the first target disk group is the disk group with the least number of capacity disks; in the case where the target disk is one and the number of capacity disks between the existing disk groups is consistent, determining a second target disk group; the second target disk group is the starting disk group in the disk group list; based on the disk map, determining a target slot from the free slots of the disk array card where the first target disk group or the second target disk group is located; the target slot is a slot for inserting a target capacity disk; determining the parameters of the target capacity disk according to the parameters of the capacity disks in the existing disk group; generating a target expansion policy based on the parameters of the target capacity disk and the target slot.

[0020] In this way, when requesting to expand the capacity disk type, through the expansion policy, expansion can be first performed in the disk group with fewer capacity disks, which is convenient for achieving the balance of the disk numbers in the disk group, conducive to meeting the best practice requirements of expansion, and improving the overall storage performance of the cluster.

[0021] In some possible embodiments, the target slots include a third target slot and a fourth target slot; and in response to the capacity expansion request, determining a target capacity expansion strategy based on a preset capacity expansion rule and a disk map further includes:

[0022] If there are m target disks (m>1) and the number of capacity disks in the existing disk groups is inconsistent, expand the first target disk group by s (0<s<m) target capacity disks; determine whether the number of capacity disks in each disk group is consistent; if the number of capacity disks in each disk group is consistent, equally expand the remaining ms target capacity disks to all disk groups, where 0<s<m; based on the disk map, determine s free slots on the disk array card where the first target disk group is located as the third target slot, which is the slot to be inserted with the s target capacity disks; determine ms free slots from the remaining disk array cards as the fourth target slot, which is the slot to be inserted with the ms target capacity disks; determine the parameters of the target capacity disk based on the parameters of the existing disk group's capacity disks; and generate a target expansion policy based on the parameters of the target capacity disk and the target slots. This helps achieve a balanced number of disks in the disk group, helps meet the best practice requirements for expansion, and improves the overall storage performance of the cluster.

[0023] In some possible embodiments, the method further includes: upon detecting that a target disk is inserted into a target slot, obtaining physical configuration information of the target disk; verifying consistency between the physical configuration information and a target expansion policy based on the physical configuration information; and performing an expansion operation on the target disk if the verification passes.

[0024] This verification prevents users from inserting disks that do not follow the target expansion strategy, which can lead to failure to meet best practice requirements, reduced cluster storage performance, or target disk incompatibility.

[0025] In a second aspect, an embodiment of the present application provides a disk expansion device, which includes: an acquisition module for obtaining a user's expansion request; wherein the expansion request includes the disk type and quantity of the target disk to be expanded, and the disk type is a cache disk or a capacity disk; a processing module for responding to the expansion request and obtaining a target expansion strategy based on preset expansion rules and a disk map; wherein the preset expansion rules include expansion strategies corresponding to different disk configurations, and the disk map is used to record the configuration information of existing disks in a computing device cluster, and the configuration information includes the parameters of the existing disk, the disk type of the existing disk in the disk group, and the correspondence between the slot where the existing disk is located and the disk array card and the disk group; the target expansion strategy includes the parameters of the target disk and the target slot.

[0026] In a third aspect, an embodiment of the present application provides a computing device comprising: a memory and a processor, the memory and the processor being coupled; wherein the memory is used to store program instructions; and the processor is used to call the program instructions stored in the memory to execute the method described in the first aspect or any possible implementation of the first aspect.

[0027] In a fourth aspect, an embodiment of the present application provides a computing device cluster, where the computing device cluster includes at least one computing device as described in the third aspect.

[0028] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a processor, the processor executes the method described in the first aspect or any possible implementation of the first aspect.

[0029] In a sixth aspect, an embodiment of the present application provides a computer program product, characterized in that when the computer program product runs on a processor, the processor executes the method described in the first aspect or any possible implementation of the first aspect.

[0030] In the seventh aspect, an embodiment of the present application provides a chip, characterized in that it includes at least one processor and an interface; at least one processor obtains program instructions or data through the interface; and at least one processor is used to execute program line instructions to implement the method described in the first aspect or any possible implementation of the first aspect.

[0031] It can be understood that the beneficial effects of the second to sixth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Figure 1 This is a schematic diagram of the architecture of a computing device cluster provided in an embodiment of the present application;

[0033] Figure 2 is a schematic diagram of a physical view of a disk generated in a computing device cluster according to an embodiment of the present application;

[0034] Figure 3A is a schematic diagram of a disk map in a specific embodiment of the present application;

[0035] Figure 3B This is a schematic diagram of an interface for converting a disk map into a physical view in a specific embodiment of the present application;

[0036] Figure 4 This is a flowchart of a disk expansion method provided in an embodiment of the present application;

[0037] Figure 5This is a flowchart of a disk expansion method provided in a specific embodiment of the present application;

[0038] Figure 6 This is a schematic diagram of generating a capacity expansion strategy in a specific example of this application;

[0039] Figure 7 This is a schematic diagram of generating a capacity expansion strategy in a specific example of this application;

[0040] Figure 8 This is a schematic diagram of generating a capacity expansion strategy in a specific example of this application;

[0041] Figure 9 This is a schematic structural diagram of a disk capacity expansion device provided in an embodiment of the present application;

[0042] Figure 10 This is a schematic diagram of the structure of a chip provided in an embodiment of the present application. DETAILED DESCRIPTION

[0043] The term "and / or" as used herein describes an association relationship between related objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. The symbol " / " as used herein indicates that the related objects are in an "or" relationship, for example, A / B means either A or B. Furthermore, the terms "first" and "second" in this specification and claims are used to distinguish between different objects, not to describe a specific order of objects.

[0044] In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be interpreted as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0045] In the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more, for example, multiple processing units means two or more processing units, etc.; multiple elements means two or more elements, etc.

[0046] To facilitate understanding of the technical solution of this application, the terms involved in this article are explained below.

[0047] ESXi: VMware ESXi is a bare-metal management system provided by VMware that can be installed directly on a physical server. It is actually an operating system (OS) based on the Linux kernel and can easily create and run virtual machines on the physical server where it is installed.

[0048] Virtual storage area networking (vSAN): A scalable distributed storage architecture developed based on the core of vSphere, a server virtualization solution.

[0049] Redundant arrays of independent disks (RAID): A disk group with large capacity is composed of many independent disks. The data provided by individual disks is combined to improve the performance of the entire disk system.

[0050] Disk array card, also known as RAID card, is a board used to form a disk array.

[0051] Disk group: A logical group of disks in vSAN defined by VMware, used to allow multiple capacity-tier hard disk drives (HDDs) or solid-state drives (SSDs) to share a cache-tier SSD.

[0052] vCenter, also known as VMware vCenter Server (or just vCenter Server), is a scalable and extensible server management platform that provides the foundation for virtualization management and can centrally manage VMware vSphere (a server virtualization suite) environments.

[0053] Intelligent baseboard management controller (iBMC) is an embedded management system for servers throughout their lifecycle. It provides hardware status monitoring, deployment, energy saving, security, and other management tools, and runs on the server's baseboard management controller (BMC).

[0054] A hypervisor, also known as a VMM (virtual machine monitor), is software, firmware, or hardware used to create and execute virtual machines.

[0055] vSAN is a scalable distributed storage architecture developed based on the vSphere kernel. Its intermediate architecture resides in the hypervisor and supports all shared storage features of VMware vSphere. However, VMware vSphere only provides a virtualization platform, focusing on virtualization and pooling of compute, networking, and storage. It does not focus on the management of clustered server hardware, resulting in a lack of an effective integrated hardware and software management interface. While VMware vSphere provides the ability to expand capacity disks and disk groups (cache disks) within the management interface, allowing users to determine which disks to create a disk group or to add capacity devices to a disk group based on capacity expansion requirements and by reviewing the current vSAN configuration, users must be fully aware of the disk configuration related to the current vSAN storage layer. This includes accurately understanding the media type, interface type, model, presence of dirty partitions, and the equality of capacity disks within existing disk groups. Otherwise, forcing capacity expansion within the management interface may result in disk group creation or capacity disk addition failures, and even if successful, may degrade overall storage performance.

[0056] In order to improve the convenience of disk expansion operations in the vSAN storage layer and ensure the efficiency of disk expansion, a disk expansion method is provided in an embodiment of the present application. This method mainly combines in-band and out-of-band management of the server to comprehensively obtain the server hardware configuration and the disk group configuration in the vSAN storage layer. Then, based on these configurations, the optimal expansion strategy is automatically generated using pre-set expansion rules. This can reduce user manual intervention, help reduce the difficulty of manual expansion, and help ensure the high availability of the vSAN storage layer after expansion.

[0057] To facilitate understanding of the technical solutions of the embodiments of the present application, a computing device cluster provided by the embodiments of the present application is introduced below with reference to the accompanying drawings.

[0058] For example, Figure 1 The diagram shows an architecture diagram of a computing device cluster. Figure 1As shown, the computing device cluster 1 may include multiple servers (11, 12, 13, ...), and each server (11, 12, 13, ...) may communicate and interact with each other through an internal network. Specifically, each server (11, 12, 13, ...) includes a processor (central processing unit, CPU) 110, a memory (including memory 120, a disk 130) and a network card 140 to provide corresponding computing resources, storage resources and network resources. In addition, the hardware layer of each server (11, 12, 13, ...) also includes a baseboard management controller BMC150, which is capable of monitoring and controlling the status of the hardware in the hardware layer. It is understandable that the user can operate the terminal (such as a personal computer PC, tablet computer, etc.) 2 to remotely log in and access the server intelligent management system iBMC (running on BMC150) through a browser, so that the monitoring status of each hardware in the hardware layer by BMC150 can be viewed.

[0059] In this embodiment, each server (11, 12, 13, ...) can be deployed with an ESXi OS 20, and can create and run one or more virtual machines (VMs) through a hypervisor (hypervisor) 21 running on each ESXi OS 20, and can call hardware layer computing resources, storage resources, and network resources for the virtual machines (VMs). It is understood that each virtual machine (VM) can run the same or different applications to provide corresponding services, and the virtual machine can also be called a cloud server (elastic compute service, ECS)) or elastic instance.

[0060] In this embodiment, the server management platform vCenter server 22 can be used to uniformly manage the virtual machines VM in the computing device cluster 1, such as monitoring the running status of the virtual machines VM, adjusting the resources of the virtual machines VM, and migrating the virtual machines VM. For example, the server management platform vCenter server 22 can be run on a general-purpose server or on a cloud infrastructure, such as Figure 1 is deployed in a virtual machine VM in computing device cluster 1. In this example, server management platform vCenter server 22 can be deployed in a B / S architecture. A user can operate terminal 2 (such as a personal computer PC, tablet computer, etc.) to remotely access the web client (vCenter Client) of server management platform vCenter server 22 through a browser, thereby logging into server management platform vCenter server 22 and performing management operations on each virtual machine VM.

[0061] In this embodiment, a cluster management platform Center23 is also deployed in the computing device cluster 1 to manage the physical resources (including resources provided by the hardware layer) and virtualized resources (including resources used by each virtual machine VM) of each server (11, 12, 13, ...). For example, the user can operate the terminal 2 to remotely access the access interface (such as the UI or API) provided by the cluster management platform Center23 through a browser, thereby logging into the cluster management platform Center23 and performing resource configuration management operations on the computing device cluster 1. The cluster management platform Center23 can run on a general-purpose server or on an infrastructure running on the cloud, for example Figure 1 As shown in FIG, the server management platform vCenter server 22 is deployed on a different virtual machine VM.

[0062] In this embodiment, please refer to Figure 2 As shown, each server (11, 12, 13, ...) in the computing device cluster 1 can be provided with one or more raid cards 30, and each raid card 30 can manage multiple disks 130, which can include at least one solid-state drive SSD and multiple mechanical hard disks HDD, but are not limited to this. The storage resources provided by all disks 130 in the computing device cluster 1 are aggregated by the server management platform vCenter server 22 to the shared vSAN storage layer 40 to be provided to the virtual machines VM in the cluster 1. Among them, multiple disk groups can be constructed in the vSAN storage layer 40, each disk group includes a cache disk (cache, also referred to as CAC in this article) and multiple capacity disks (capacity, also referred to as CAP in this article). As a specific example and not a limitation, when constructing a disk group, a solid-state drive SSD can be used as a cache disk and a mechanical hard disk HDD can be used as a capacity disk. In this way, when the user has high storage demand, or when the storage capacity of the vSAN storage layer 40 in the computing device cluster 1 is about to be exhausted or the cluster performance is degraded, the user can expand the storage capacity of the vSAN storage layer 40 by adding storage devices (capacity disks and / or cache disks) to the disk group or creating a new disk group to prevent damage to the cluster business due to insufficient storage.

[0063] Next, the expansion principle of the vSAN storage layer 40 in the embodiment of the present application is introduced in detail.

[0064] Continue to refer Figure 2As shown, in this embodiment, the capacity expansion process of the vSAN storage layer 40 is executed by the cluster management platform Center23. Specifically, on one hand, the cluster management platform Center23 can be connected to the server management platform vCenterserver22, and call the server management platform vCenter server22 to execute step S1 to manage the ESXi OS20 of each server (11, 12, 13, ...), so that the server management platform vCenter server22 obtains the interface type (communication protocol followed), media type (such as SSD or HDD), serial number and capacity of each disk 130 through in-band management, as well as the number of disks 130, the number of disk groups constructed based on these disks 130 in the vSAN storage layer 40, and the models of the capacity disks and cache disks in each disk group. For ease of description, all the information about the disks 130 and disk groups obtained by the server management platform vCenter server22 through in-band management is referred to as "first information" in this document. Then, the cluster management platform Center23 receives the first information transmitted from the server management platform vCenter server22, and executes step S2 to enter the disk group management of the vSAN storage layer 40, wherein the disk group management includes but is not limited to: adding cache disk / capacity disk to the current disk group, and creating a disk group.

[0065] Furthermore, cluster management platform Center 23 can also access the iBMC running on BMC 150 and execute step S3 to manage the iBMC. This allows it to obtain, through out-of-band management, the serial number of the RAID card 30 on each server (11, 12, 13, ...), the hard drive slot number, and the relationship between the RAID card 30 and the hard drive slot number. It also obtains data such as the number, model, serial number, and media type of the disks connected to the RAID card 30. For ease of description, this information about the RAID card 30 and disks 130 obtained through out-of-band management is referred to herein as "second information." Cluster management platform Center 23 then receives the second information transmitted from the iBMC and executes step S4 to begin hardware management of the disks 130.

[0066] In this embodiment, after the cluster management platform Center23 obtains the first information and the second information, it merges the first information and the second information to form a disk map of the cluster 1. As a specific example, the disk map can record information based on the server (11, 12, 13, ...), thereby representing Figure 3AThe relationship between all disks 130 and corresponding raid cards 30 and disk groups on each host (i.e., server) is shown. Then, the cluster management platform Center23 can execute step S7 to convert the disk map into a physical view of multiple hosts, and register the physical view in a plug-in manner to the browser client vCenter Client24 of the server management platform vCenter server22 through step S8, and present it on the corresponding interface (also referred to as "storage layer expansion interface UI" in this article). The presentation effect can be referred to Figure 3B As shown. Figure 3B In the storage layer expansion interface UI, the physical view displayed includes a front view 310 and a rear view 320 of a server, and the slot number (such as Figure 3B The physical view for other servers is similar. Furthermore, the storage layer expansion UI also provides a corresponding disk expansion interface (Add Disk). Users can use this interface to input their expansion request based on the physical view. For example, this expansion request can be a command to create a new disk group or to add a capacity disk to an existing disk group.

[0067] Note that since creating a cache disk requires the creation of a corresponding capacity disk at the same time, creating a cache disk can be considered as creating a new disk group. For example, if the current vSAN storage tier 40 disk group includes one cache disk and two capacity disks, then creating a cache disk requires the simultaneous creation of two capacity disks, effectively creating a new disk group.

[0068] In this embodiment, after the cluster management platform Center 23 receives a user's expansion request, it can output a target expansion policy based on the expansion request to achieve optimal disk expansion practices. Optimal expansion practices mean that when the types, capacities, protocols, and quantities of cache disks and capacity disks among the disk groups in the vSAN storage layer 40 are consistent, the computing device cluster 1 in which the vSAN storage layer 40 resides can be considered to have met the best practice requirements of vSAN. At this time, the input / output (IO) of the vSAN storage layer 40 is balanced, and the overall storage performance is strong.

[0069] Specifically, the principles by which the cluster management platform Center23 outputs the target expansion strategy include:

[0070] A pre-built rule base defines several expansion rules for scenarios such as creating disk groups, creating cache disks, and creating capacity disks. Each expansion rule describes the expansion strategy that should be executed under one or more expansion conditions. For example, the expansion rule definition: the slot number, disk type, capacity, and protocol of the capacity disk to be expanded are given by combining the type, protocol, and capacity information of the capacity disks in the existing disk group; when adding a capacity disk, if the number of capacity disks in the existing disk group is inconsistent, expansion is recommended first to the disk group with fewer capacity disks; and when recommending slots, the disk map is referenced and the relationship between disk groups, slots, and RAID cards 30 is followed. If the current disk groups are located under the same RAID card 30, expansion is first performed in the available slots under this RAID card 30, and so on.

[0071] Then, the cluster management platform Center23 can traverse all the rules in the rule base based on the first information and the second information obtained according to the user's expansion request, and finally output the target expansion strategy corresponding to the expansion request. For example, the cluster management platform Center23 expands the disk group A by one capacity disk according to the expansion request. Then, through the relationship between the current disk group A, the slot and the raid card 30 recorded in the disk map, the expansion rules of the rule base are traversed to obtain the insertion of a mechanical hard disk HHD of specified specifications (the same specifications as the existing capacity disk of disk group A) in the target slot (which is under the same raid card 30 as the slot where the existing capacity disk of disk group A is located).

[0072] In this way, after the user inserts the new disk 130 according to the target expansion strategy, the cluster 1 can meet the best practice requirements of vSAN, and can avoid expansion across raid cards 30 as much as possible when creating disk groups and adding capacity disks, so as to avoid problems such as inconsistent read and write efficiency between the disks 130 across raid cards 30 and differences in communication paths from the disk 130 to the CPU 110 after expansion, which may lead to a decrease in storage performance of the vSAN storage layer 40 after expansion. It can also greatly avoid data loss in the disk group across raid cards 30 due to a failure of a raid card 30, which is beneficial to improving data storage reliability.

[0073] Next, based on the above description, a disk expansion method provided by an embodiment of the present application is introduced. It is understandable that this method is proposed based on the above description, and part or all of the content of this method can be referred to the above description.

[0074] See also Figure 4 , Figure 4 This is a flowchart of a disk expansion method provided by an embodiment of the present application. It is understood that the method can be executed by any device, equipment, platform, or equipment cluster with computing and processing capabilities. For example, Figure 1The cluster management platform Center23 deployed on the server 12 is executed, and this is also used as an example for explanation below.

[0075] like Figure 4 As shown, the method may include:

[0076] S410: Obtain a capacity expansion request from a user.

[0077] In this embodiment, the expansion request includes the disk type and quantity of the target disk to be expanded. The disk type is a cache disk or a capacity disk. For example, the expansion request indicates expanding a cache disk, or expanding one or more capacity disks.

[0078] For example, the user can interact with the cluster management platform Center 23 on the terminal 2 side and transmit the capacity expansion request to the cluster management platform Center 23 for processing.

[0079] S420 : In response to the capacity expansion request, a target capacity expansion strategy is obtained based on a preset capacity expansion rule and a disk map.

[0080] In this embodiment, multiple expansion rules are created in advance, and these expansion rules are used to define the expansion strategies that should be executed for different disk configurations. The disk configuration may include the number and specifications of the disk 130, the correspondence between its slot and the raid card 30, the correspondence between the disk 130 and the disk group, etc., but is not limited to this.

[0081] Exemplarily, the disk map is used to record the current configuration of the existing disk 130 in each computing device in the computing device cluster 1. The current configuration includes the specifications of the existing disk 130, and the correspondence between the slot where the existing disk 130 is located and the raid card 30 card and the disk group, etc. It can be understood that the existing disk 130 is used as a cache disk or a capacity disk in the disk group.

[0082] The expansion rules are traversed based on the current configuration of the existing disk 130 to generate a target expansion policy corresponding to the expansion request. The target expansion policy is one of the expansion strategies and may include the specifications of the target disk and the target slot. In this way, the appropriate target expansion policy can be automatically generated based on user needs without excessive user intervention, guiding the user to insert the target disk of the specified specifications into the corresponding slot, achieving automated and intelligent expansion and reducing expansion errors caused by human factors.

[0083] The following is a detailed description of a disk expansion method provided by a specific embodiment of the present application with reference to the accompanying drawings.

[0084] For example, Figure 5 The figure shows a flow chart of a disk expansion method provided in a specific embodiment of the present application.

[0085] like Figure 5 As shown, the method may include:

[0086] At S710 , first information of a disk group in a virtual storage network is obtained.

[0087] In this embodiment, the first information includes the number of disk groups in the virtual storage network vSAN storage layer 40 of the computing device cluster 1, and the serial number, quantity, and specification information of the capacity disk / cache disk in each disk group. The specification information includes, but is not limited to, the model, interface type, media type (such as SSD or HDD), and capacity.

[0088] For example, the server management platform vCenter server 22 in cluster 1 can manage the ESXi OS 20 of each server (11, 12, 13, ...), aggregate the storage resources provided by the disks 130 perceived by the ESXi OS 20 into a vSAN storage layer 40, and has the ability to create, delete, and expand the disk groups of the vSAN storage layer 40. Therefore, in this example, the cluster management platform Center 23 can call the server management platform vCenter server 22 to obtain the first information through in-band management.

[0089] S720: Obtain second information about disks in the computing device cluster through a baseboard management controller (BMC) of each computing device.

[0090] In this embodiment, the second information of the disk 130 includes the serial number, quantity and specifications (such as model, media type, etc.) of each disk 130 in the computing device cluster 1, as well as the correspondence between the slot and the raid card 30 and other physical configuration information, but is not limited to this.

[0091] Exemplarily, the cluster management platform Center23 can utilize the BMC150 of each server (11, 12, 13, ...) to monitor the hardware layer of the server, detect the status of each raid card 30 and the connected hard disk 130 through the physical channel, and thus traverse the slots of each raid card 30 through out-of-band management to obtain the second information.

[0092] S730: Obtain a disk map based on the first information and the second information.

[0093] In this embodiment, the disk map is used to record the specifications of the disk 130, the corresponding relationship between the slot where the disk 130 is located and the raid card 30, and the corresponding relationship between the disk 130 and the disk group.

[0094] For example, the cluster management platform Center23 may combine the first information and the second information to generate a disk map reflecting the physical distribution of all disks on the servers (11, 12, 13, ...) and the formation of disk groups. Specifically, based on the first information and the second information, obtaining the disk map may include:

[0095] S731: Match the serial numbers of the cache disk and capacity disk in the disk group with the serial numbers of the disks in computing device cluster 1 to determine the slot numbers of the capacity disk and cache disk.

[0096] S732, according to the slot number, record the correspondence between the capacity disk and cache disk and the raid card, as well as the usage status of each slot on these raid cards (represented by the slot number in the disk map), and obtain the disk map, where the usage status includes idle or used.

[0097] For example, Figure 3A Taking the disk map 300 shown as an example, the disk map 300 records the corresponding relationship between each disk group in computing device cluster 1 and each disk 130, each raid card 30, etc. in each server (11, 12, 13, ...), as well as the slot usage status. For example, on host number 11 (i.e., server 11), slots 0-2 of the raid_1 card are used, slots 3-5 are idle, and slots 0-2 are inserted with disks 130 with serial numbers XX1, XX2, and XX3, respectively. These three disks 130 serve as the cache disk and two capacity disks of disk group A, respectively. The corresponding disk model and capacity, etc., are also recorded.

[0098] Exemplarily, the disk map may be a table data structure and stored in a database for the cluster management platform Center 23 to call for disk expansion.

[0099] Optionally, in some examples, after obtaining the disk map, the disk capacity expansion method may further include S733 , converting the disk map into a physical view and outputting the physical view.

[0100] In this example, the disk map can also be converted into a two-dimensional or three-dimensional physical view by the cluster management platform Center23. This physical view can be registered to the browser in a plug-in manner and presented on the corresponding web interface for users to understand and use as reference information for users to perform disk expansion operations. As a specific example, based on the disk map, multiple physical views can be formed for each host, for example, based on Figure 3A The physical view formed by the host with host number 13 in the disk map 300 is shown. The effect of its presentation on the web interface can be referred to Figure 3BThe front view 310 in the storage expansion UI is shown. It can be seen from this front view 310 that slots 0-5 of the host are each populated with HHDs, all used as capacity disks and identified by icons 311; slot 8 is populated with an SSD, used as a cache disk and identified by icon 312. This allows the user to gain a general understanding of the physical configuration information of the host, including the disks 130 and slots. Similarly, the physical views of other hosts can also be viewed in the storage expansion UI, which will not be described in detail here.

[0101] In this embodiment, after obtaining the disk map through the above step S730, the disk expansion method further includes S740, obtaining an expansion request input by a user.

[0102] In this embodiment, the expansion request includes at least the expansion type and expansion quantity. The expansion type may include expanding the cache disk (i.e., creating a disk group) and expanding the capacity disk (i.e., expanding the existing disk group). The expansion quantity refers to the number of expanded cache disks / capacity disks.

[0103] For example, the user can access the UI provided by the cluster management platform Center23 through a browser or client on the terminal 2 side and initiate a capacity expansion request. Figure 3B The storage expansion interface UI shown is used. Users can refer to the physical view of each host (mainly the front view 310) converted from the current disk map on this interface UI to understand the physical configuration of the disks, slots, etc. on each host, and then trigger the corresponding expansion request according to their own needs by clicking the "Add Disk" control.

[0104] In this way, users can perform capacity expansion operations in conjunction with the physical view, achieve disk capacity expansion visualization, and enhance ease of operation and maintenance and usability.

[0105] S750 : In response to the capacity expansion request, determine a target capacity expansion strategy based on a preset capacity expansion rule and a current disk map.

[0106] In this embodiment, the target expansion strategy may include the number and specifications of the target disks and the target slots (represented by slot numbers, the same below) for inserting the target disks. The target disks are the disks to be inserted, or in other words, the disks to be expanded. There may be one or more target disks, and the target disks may be capacity disks (hereinafter referred to as "target capacity disks") or cache disks (hereinafter referred to as "target cache disks"). The specifications of the target disks may include, but are not limited to, the protocol, disk model, and capacity.

[0107] Exemplarily, a rule library can be created in advance, which includes a first rule set and a second rule set. The first rule set includes one or more expansion rules defined for scenarios such as creating a disk group and expanding a cache disk, and the second rule set includes one or more expansion rules defined for the scenario of expanding a capacity disk. Each expansion rule in the rule library describes an expansion strategy to be executed under one or more expansion conditions. Thus, according to the disk map, the expansion rules in the first rule set or the second rule set are traversed to output the corresponding target expansion strategy.

[0108] Exemplarily, the first rule set may include the following multiple expansion rules for adding a cache disk (which is also creating a disk group):

[0109] 11) If the current number of disk groups reaches the disk group number threshold, error interception is performed and a prompt message is generated. As an example, the disk group number threshold can be set to 5, but it is not limited thereto;

[0110] If the current number of disk groups does not reach the disk group number threshold, the determinations of the following rules 12)-14) can be sequentially executed:

[0111] 12) If the expansion request is to expand a cache disk (i.e., the target cache disk), according to the disk map, the corresponding relationship between each slot (characterized by the slot number, the same below) and the raid card 30 is searched, and a raid card 30 with more than 1 + n free slots (also referred to as the "first target disk array card" in this article) is determined therefrom. Here, n represents the number of capacity disks set for the disk group, n≥1. Thus, first, 1 + n free slots under the same first target disk array card are used as the target slots to insert the target cache disk and the first capacity disk to perform the expansion. The first capacity disk is the capacity disk that needs to be expanded accordingly when expanding a cache disk, and the number of the first capacity disks is n;

[0112] 13) If the free slots under all raid cards 30 are less than 1 + n, the second target disk array card and the third disk array card are determined from all raid cards 30. The number of free slots of the second target disk array card is less than 1 + n and greater than 1; the sum of the free slots of the second target disk array card and the free slots of the third target disk array card is greater than or equal to the free slots of the first target disk array card; correspondingly, the free slots of the second target disk array card are used as the second target slots, and the free slots of the third target disk array card are used as the third target slots;

[0113] And, insert the target cache disk and r first capacity disks, r < n, into the second target slots, and insert n - r first capacity disks into the third target slots;

[0114] 14) Based on the information of the cache disk and capacity disk in the existing disk group and the information of the free slot (i.e., the target slot) to be expanded (such as the slot number), determine the slot number, disk model, disk type (capacity disk / cache disk), protocol, capacity, quantity and other parameters of the target cache disk and the first capacity disk, thereby obtaining the target expansion strategy.

[0115] Give an example. Figure 6 As shown in , taking the expansion request of expanding a cache disk as an example, rule matching is performed from the first rule set according to the disk map, and the results are:

[0116] refer to Figure 6 As shown in (6a), if there are currently three disk groups A, B, and C, each disk group includes a cache disk CAC and two capacity disks CAP, where the cache disk CAC and capacity disk CAP of disk group A are respectively created by disks 130 in slots 0 to 2 on raid_1 card, disk group B is created by disks 130 in slots 6 to 8 on raid_2 card, and disk group B is created by disks 130 in slots 6 to 8 on raid_3 card. Traversing the above rules 11) to 14), the expansion strategy can be output as follows: insert a disk of specified specifications (the same specifications as the cache disks in disk groups A, B, and C) in slot 18 as a cache disk, and insert disks of specified specifications (the same specifications as the capacity disks in disk groups A, B, and C) in slots 19 to 20 on the same host as a capacity disk, to obtain a new disk group D. Specifically, the expansion strategy can be in the form of the following Table 1:

[0117] Table 1

[0118] Disk slot number Disk type protocol Disk model Disk capacity 18 Cache disk SAS DDD1 40.0GB 19 Capacity disk SAS DDD2 200.0GB 20 Capacity disk SAS DDD2 200.0GB

[0119] According to Table 1, combined with Figure 6 (6a), slots 18 to 20 are all located on the same raid card 4. After disk group D is created, it can be Figure 6 As shown in (6b). Thus, the newly created disk group D is consistent with the other existing disk groups A, B, and C in terms of cache and capacity disk type, capacity, protocol, and quantity, meeting vSAN's best practices and improving the success rate of capacity expansion. Furthermore, the new disk group D does not span RAID cards, thereby ensuring consistent read and write efficiency between disks. It also helps ensure that the cache and capacity disks in the same disk group have consistent CPU connection paths (i.e., the same RAID card 30 to CPU 110). Furthermore, data loss in the disk group due to a RAID card failure will not occur due to spanning RAID cards, thereby improving data storage reliability.

[0120] In another example, Figure 7 As shown, taking the expansion request of expanding a cache disk as an example, rule matching is performed from the first rule set according to the disk map, and the results are:

[0121] refer to Figure 7 As shown in (7a), if there is currently a disk group A, which includes a cache disk CAC and five capacity disks CAP. These disks of disk group A are created by disks 130 inserted into slots 0 to 5 on the raid_1 card. Slot 6 on the raid_1 card is also empty. There is also a raid_2 card on the same host with slots 7 to 11 in an idle state, but the number of slots on the raid_2 card is insufficient to create a new disk group. Then, by traversing the above rules 11) to 14), the expansion strategy that can be output is: insert a disk of a specified specification (the same specification as the cache disk of disk group A) into slot 7 of the host as a cache disk, and insert disks of a specified specification (the same specification as the capacity disk of disk group A) into slots 8 to 11 and 6 as capacity disks to obtain a new disk group B. The corresponding slot numbers of the cache disk CAC and the capacity disk CAP in disk group B can be referred to. Figure 7 As shown in (7b).

[0122] For example, the second rule set of the database may include the following expansion rules for increasing the capacity of the disk:

[0123] 21) If the number of capacity disks in all disk groups has reached the capacity disk number threshold in the disk group, an error interception is performed and a prompt is given. In one example, the capacity disk number threshold can be set to 7, but is not limited thereto;

[0124] If the number of capacity disks in the current disk group does not reach the capacity disk quantity threshold, the following rules 22)-28) are executed in sequence:

[0125] 22) Based on the number of capacity disks currently in each disk group, calculate the maximum number of capacity disks that can be expanded in each disk group (the disk group capacity disk number threshold - the number of capacity disks currently in the disk group), and count the number of free slots in each raid card 30;

[0126] 23) Based on the number of capacity disks requested for expansion in the expansion request and the number of free slots calculated in 22), determine whether the number of free slots satisfies the expansion request. If the number of free slots is less than the number of capacity disks in the expansion request (the expansion request is not satisfied), an error interception is performed and a prompt is issued. Conversely, if the number of free slots is greater than or equal to the number of capacity disks in the expansion request (the expansion request is satisfied), continue to execute the following rule 24);

[0127] 24) Based on the expansion request, the number of free slots, and the type, protocol, and capacity information of the capacity disks in the existing disk group, the slot number, disk type, capacity, and protocol of the target capacity disk are determined. Furthermore, the relationship between the target capacity disk and the disk group, and the relationship between its slot number and the RAID card, are determined according to the following rules 25)-28):

[0128] 25) If the capacity expansion request requires expanding a capacity disk, and the number of capacity disks in the existing disk groups is inconsistent, it is determined to first expand the target capacity disk in the disk group with fewer capacity disks;

[0129] 26) If the capacity expansion request requires expanding a capacity disk, and the number of capacity disks in the existing disk group is the same, then expand the target capacity disk starting from the starting disk group according to the recorded disk group list;

[0130] 27) If the expansion request requires the expansion of m (m>1) capacity disks, then the disk group with fewer capacity disks will be expanded by m target capacity disks; if after expanding s (0<s<m) target capacity disks, the number of capacity disks between the disk groups is the same, the remaining ms target capacity disks follow the principle of equal quantity and are expanded in sequence according to the disk group list; for example, if three disks are required to be expanded, and the current disk group list records disk groups A and B in sequence, where disk group A includes a cache disk and two capacity disks, and disk group B includes a cache disk and a capacity disk, then based on 27), one target capacity disk is expanded for disk group B. At this time, the number of capacity disks of disk groups A and B is the same, then according to the principle of equal quantity, one more target capacity disk is expanded in disk groups A and B respectively.

[0131] 28) When determining the slot number of the target capacity disk, refer to the relationship between the disk group, slot, and RAID card recorded in the disk map. If the disk group to be expanded (the disk group to which the target disk belongs) is located on the same RAID card 30, insert the target capacity disk into the vacant slot (i.e., the target slot) of this RAID card 30 and perform the expansion. This ensures that each target capacity disk is located on the same RAID card 30 as the disk group to which it belongs, achieving best practice requirements. If the RAID card 30 where a disk group is located has insufficient vacant slots, the target capacity disk of that disk group can also be determined on other RAID cards 30 to insert the target capacity disk of that disk group.

[0132] Give an example. Figure 8 As shown in , taking the expansion request of expanding a capacity disk as an example, rule matching is performed from the second rule set according to the disk map, and the results are:

[0133] like Figure 8As shown in (8a), if there are currently three disk groups A, B, and C, where disk groups A and B each include a cache disk CAC and two capacity disks CAP, and disk group A is created by disks 130 in slots 0 to 2 on the raid_1 card, disk group B is created by disks 130 in slots 6 to 8 on the raid_2 card, and disk group C includes a cache disk CAC (created by the disk in slot 12 of the raid_3 card) and a capacity disk CAP (created by the disk in slot 13 of the raid_3 card). Then traverse the above expansion rules 21) to 28), and the output expansion strategy can be: insert a disk of specified specifications (the same specifications as the disk in slot 13 of the raid_3 card) in slot 14 of the raid_3 card as a capacity disk. After expansion, disk group C can be as follows Figure 8 As shown in (8b), after the expansion, all disks in disk group C are under the same RAID card and have the same specifications. The number and specifications of cache disks and capacity disks among disk groups A, B, and C are also consistent, meeting the best practice requirements of vSAN.

[0134] Therefore, this embodiment pre-sets comprehensive expansion rules and recommends the best expansion strategy based on user needs to guide users to perform expansion operations, meet users' diverse expansion demands, and reduce users' manual participation, thereby reducing errors caused by human factors during the expansion process and improving the expansion success rate.

[0135] In addition, in this embodiment, comprehensive disk information is obtained and integrated through the combination of out-of-band and internal and external management to obtain a disk map of the disk group and its physical configuration (i.e., slot, raid card and other related physical information), which solves the problem that the server management platform vCenter server22 cannot obtain the physical configuration of disk 130. As a result, the cluster management platform Center23 traverses the rule base according to the disk status recorded in the disk map, automatically outputs the best expansion strategy, expands the highly available vSAN storage layer 40, and realizes intelligent disk expansion.

[0136] In this embodiment, the optimal expansion strategy generated by the cluster management platform Center23 can be displayed on the storage layer expansion interface UI in the form of text, tables, graphics, etc. for the user to know. In addition, in order to facilitate the user to more intuitively understand the expansion effect of the expansion strategy, in some specific examples, the method may also include:

[0137] S760: When the BMC detects that the target disk is inserted into the target slot, obtain physical configuration information of the target disk.

[0138] In this embodiment, after the cluster management platform Center 23 outputs the expansion policy, it can automatically or be triggered by the user to enter the expansion verification state. In this state, the cluster management platform Center 23 calls BMC 150 to monitor the disk insertion status of the target slot.

[0139] When the BMC 150 detects that a target disk is inserted into a target slot, it reads the physical configuration information of the target disk. The physical configuration information may include, but is not limited to, the slot number, disk model, protocol, capacity, and residual data status of the disk.

[0140] S770 , verifying consistency between the target disk and the target expansion policy based on the physical configuration information of the target disk;

[0141] S780: If the verification passes, perform a capacity expansion operation on the target disk.

[0142] In this embodiment, the cluster management platform Center23 first performs a consistency check on the physical configuration information against the expansion policy to determine whether the target disk's slot number, model, capacity, and protocol specifications are consistent with those described in the expansion policy. If they are inconsistent, the check fails and an error message is displayed. This prevents problems such as users inserting disks in violation of the expansion policy, resulting in failure to meet expansion best practices, degradation of the cluster's overall storage performance, and incompatibility caused by the inserted disk's protocol being inconsistent with other existing disks.

[0143] Optionally, if the consistency check of the target disk is consistent with the target expansion policy, the cluster management platform Center23 may further check whether there is residual data in the target disk to avoid expansion failure caused by dirty areas in the target disk.

[0144] If the target disk is consistent with the expansion policy and has no dirty areas, the cluster management platform Center 23 can then call the server management platform vCenter server 22 to perform an expansion operation on the target disk. That is, the target disk is expanded according to the expansion policy to become a cache disk or capacity disk of a new disk group, or to become a capacity disk of an existing disk group, and the disk group information of the vSAN storage layer 40 is updated. Subsequently, some services (data) in the existing disk group before the expansion can be migrated to the capacity disk / cache disk added by the expansion operation to achieve disk balancing.

[0145] Optionally, in this embodiment, during the process of performing the expansion operation on the target disk through the back-end of the server management platform vCenter server22, the progress of the disk expansion can be visualized. For example, the progress of the operation is reflected by a progress bar on the interface. Moreover, since the disk map will also change before and after the expansion operation is performed, the physical view corresponding to the disk map will also change accordingly. Therefore, the expansion effect can be visualized by displaying the different physical views formed before and after the expansion operation is performed.

[0146] Based on the disk expansion method in the above embodiment, the present application embodiment provides a disk expansion device. Figure 9 , Figure 9 This is a structural diagram of a disk expansion device provided in an embodiment of the present application.

[0147] like Figure 9 As shown, the disk expansion device 900 may include: an acquisition module 901 and a processing module 902. In this embodiment, the acquisition module 901 may obtain the user's expansion request; wherein, the expansion request includes the disk type and quantity of the target disk to be expanded, and the disk type is a cache disk or a capacity disk. The processing module 902 is used to respond to the expansion request and obtain a target expansion strategy based on the preset expansion rules and disk map. wherein, the preset expansion rules include expansion strategies corresponding to different disk configurations, and the disk map is used to record the configuration information of the existing disks in the computing device cluster, and the configuration information includes the parameters of the existing disks, the disk type of the existing disks in the disk group, and the correspondence between the slots where the existing disks are located and the disk array card and the disk group; the target expansion strategy includes the parameters of the target disk and the target slot.

[0148] It should be understood that the above-mentioned device is used to execute the method in the above-mentioned embodiment. The implementation principle and technical effect of the corresponding program module in the device are similar to those described in the above-mentioned method. The working process of the device can refer to the corresponding process in the above-mentioned method and will not be repeated here.

[0149] Based on the method in the above embodiment, an embodiment of the present application provides a computing device. The computing device may include: a memory for storing program instructions; a processor for executing the program instructions stored in the memory; wherein, when the program instructions stored in the memory are executed, the processor is configured to execute the method in the above embodiment.

[0150] Based on the method in the above embodiment, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a processor, the processor executes the method in the above embodiment.

[0151] Based on the method in the above embodiment, an embodiment of the present application provides a computer program product, characterized in that when the computer program product runs on a processor, the processor executes the method in the above embodiment.

[0152] Based on the method in the above embodiment, the present application embodiment also provides a chip. Figure 10 , Figure 10 This is a schematic diagram of the structure of a chip provided in an embodiment of the present application. Figure 10 As shown, the chip 1000 includes one or more processors 1001 and an interface circuit 1002. Optionally, the chip 1000 may also include a bus 1003.

[0153] The processor 1001 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by an integrated logic circuit of hardware in the processor 1001 or instructions in the form of software. The above-mentioned processor 1001 can be a general-purpose processor, a digital communicator (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The various methods and steps disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc.

[0154] The interface circuit 1002 can be used to send or receive data, instructions or information. The processor 1001 can use the data, instructions or other information received by the interface circuit 1002 to process it, and can send the processing completion information through the interface circuit 1002.

[0155] Optionally, the chip 1000 further includes a memory, which may include a read-only memory and a random access memory, and provides operation instructions and data to the processor. Part of the memory may also include a non-volatile random access memory (NVRAM).

[0156] Optionally, the memory stores an executable software module or a data structure, and the processor can perform corresponding operations by calling an operation instruction stored in the memory (the operation instruction may be stored in an operating system).

[0157] Optionally, the interface circuit 1002 may be configured to output the execution result of the processor 1001 .

[0158] It should be noted that the corresponding functions of the processor 1001 and the interface circuit 1002 can be implemented through hardware design, software design, or a combination of hardware and software, and there is no limitation here.

[0159] It should be understood that each step of the above method embodiment can be completed by a hardware-based logic circuit or a software-based instruction in a processor.

[0160] It is understood that the order of execution of the steps in the above embodiments does not necessarily imply a specific order of execution. The order of execution of each process should be determined by its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application. In addition, in some possible implementations, the steps in the above embodiments can be selectively executed according to actual circumstances, and can be executed partially or completely, which is not limited here.

[0161] It is understood that the processor in the embodiments of the present application may be a central processing unit (CPU), or may be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.

[0162] The method steps in the embodiments of the present application can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, mobile hard disks, CD-ROMs or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an ASIC.

[0163] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted via the computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state drive (SSD)).

[0164] It will be understood that the various numerical numbers involved in the embodiments of the present application are merely distinctions for the convenience of description and are not intended to limit the scope of the embodiments of the present application.

Claims

1. A disk expansion method, characterized in that: The method comprises: Obtaining a capacity expansion request from a user; wherein the capacity expansion request includes the disk type and quantity of the target disk to be expanded, the disk type being a cache disk or a capacity disk; In response to the expansion request, obtaining a target expansion strategy based on preset expansion rules and a disk map; The preset expansion rules include expansion strategies corresponding to different disk configurations. The disk map is used to record the configuration information of the existing disks in the computing device cluster, the configuration information including the parameters of the existing disks, the disk types of the existing disks in the disk group, and the correspondence between the slots where the existing disks are located and the disk array cards and the disk group; The target expansion strategy includes parameters of the target disk and a target slot.

2. The method according to claim 1, characterized in that In response to the expansion request, before obtaining a target expansion strategy based on a preset expansion rule and a disk map, the method further includes: Acquire first information from a virtual storage area network, the first information including the number of disk groups, and the serial number, number, and parameters of cache disks and capacity disks in each of the disk groups; Acquire second information from the computing device cluster, the second information including the number of existing disks in the computing device cluster, the serial number and parameters of each existing disk, and the corresponding relationship between the slot where the disk is located and the disk array card; The first information and the second information are integrated to obtain the disk map.

3. The method according to claim 2, characterized in that The fusing of the first information and the second information to obtain the disk map includes: Matching the serial numbers of the cache disk and the capacity disk with the serial numbers of the existing disks to determine the slots where each cache disk and each capacity disk is located; According to the slots where each cache disk and each capacity disk is located, the corresponding relationship between the cache disk and the capacity disk and the disk array card, as well as the usage status of the slots on the disk array card are determined to obtain the disk map; wherein the usage status includes idle or used.

4. The method according to any one of claims 1 to 3, characterized in that Before obtaining the user's capacity expansion request, the method includes: converting the disk map into a physical view; Output the physical view; wherein the physical view is used for the user to determine the expansion request.

5. The method according to claim 3 or 4, characterized in that The target disk includes a target cache disk and a first capacity disk, wherein the first capacity disk is a capacity disk that is expanded simultaneously when the target cache disk is expanded; The step of determining a target capacity expansion strategy based on a preset capacity expansion rule and a disk map in response to the capacity expansion request includes: Determining whether the number of disk groups reaches a disk group number threshold; If the number of disk groups does not reach the disk group number threshold, determining whether a first target disk array card exists according to the disk map; wherein the number of free slots of the first target disk array card is greater than or equal to 1+n, where n represents the number of capacity disks set for the disk group, and n≥1; If a first target disk array card exists, an idle slot of the first target disk array card is used as a target slot; the target slot is a slot where the target cache disk and the first capacity disk are inserted, and the number of the first capacity disks is n; Determining parameters of the target cache disk and the first capacity disk according to parameters of the cache disk and capacity disk in the existing disk group; The target capacity expansion strategy is generated based on the parameters of the target cache disk and the first capacity disk and the target slot.

6. The method according to claim 5, characterized in that The target slots include a first target slot and a second target slot; The method of obtaining a target expansion strategy based on a preset expansion rule and a disk map in response to the expansion request further includes: In the case that the first target disk array card does not exist, determining a second target disk array card and a third target disk array card; The number of free slots of the second target disk array card is less than 1+n and greater than 1; the sum of the free slots of the second target disk array card and the free slots of the third target disk array card is greater than or equal to the free slots of the first target disk array card; Using the free slot of the second target disk array card as the second target slot, and using the free slot of the third target disk array card as the third target slot; The second target slot is a slot where the target cache disk and r first capacity disks are inserted. <n; The third target slot is a slot for inserting nr first capacity disks; Determining parameters of the target cache disk and the first capacity disk according to parameters of the cache disk and capacity disk in the existing disk group; The target capacity expansion strategy is generated based on the parameters of the target cache disk and the first capacity disk and all target slots.

7. The method according to any one of claims 1 to 4, characterized in that The target disk includes a target capacity disk; The step of determining a target capacity expansion strategy based on a preset capacity expansion rule and a disk map in response to the capacity expansion request includes: Determine the number of target disks and the consistency of the capacity disks of the existing disk group; When there is only one target disk and the number of capacity disks among the existing disk groups is inconsistent, determining a first target disk group from the existing disk groups; wherein the first target disk group is the disk group with the least capacity disks; If there is only one target disk and the number of capacity disks among the existing disk groups is the same, determine a second target disk group; the second target disk group is the starting disk group in the disk group list; Based on the disk map, determining a target slot from the free slots of the disk array card where the first target disk group or the second target disk group is located; the target slot is the slot where the target capacity disk is inserted; Determining parameters of the target capacity disk according to parameters of the existing capacity disk of the disk group; The target capacity expansion strategy is generated based on the parameters of the target capacity disk and the target slot.

8. The method according to claim 7, characterized in that The target slots include a third target slot and a fourth target slot; The method of determining a target capacity expansion strategy based on a preset capacity expansion rule and a disk map in response to the capacity expansion request further includes: When there are m (m>1) target disks and the number of capacity disks between the existing disk groups is inconsistent, the first target disk group is expanded by s (0<s<m) target capacity disks; Determining whether the number of capacity disks in each disk group is consistent; When the number of capacity disks in each disk group is the same, the remaining ms target capacity disks are evenly expanded to all the disk groups, where 0 < s < m; According to the disk map, s free slots on the disk array card where the first target disk group is located are determined as the third target slots, where the third target slots are slots to be inserted with the s target capacity disks; Determine ms free slots from the remaining disk array cards as the fourth target slots; the fourth target slots are slots to be inserted with ms target capacity disks; Determining parameters of the target capacity disk according to parameters of the existing capacity disk of the disk group; The target capacity expansion strategy is generated based on the parameters of the target capacity disk and the target slot.

9. The method according to any one of claims 1 to 8, characterized in that The method further comprises: When detecting that the target disk is inserted into the target slot, obtaining physical configuration information of the target disk; Verifying consistency between the physical configuration information and the target capacity expansion strategy according to the physical configuration information; If the verification passes, the capacity expansion operation is performed on the target disk.

10. A computing device, characterized in that include: memory and processor; The memory is coupled to the processor; The memory is used to store program instructions; A processor is used to call the program instructions stored in the memory to execute the disk expansion method according to any one of claims 1 to 9.

11. A computing device cluster, characterized in that: The computing device cluster includes the computing device according to claim 10.

Citation Information

Patent Citations

  • Capacity expansion method, device and system for independent redundant array of inexpensive disc (RAID)

    CN102096557A

  • Method and apparatus for capacity expansion of storage array

    CN105607868A