Disk Cluster Resource Scheduling Method, Device, System, Equipment and Storage Medium
Through independently deployed management and scheduling service nodes, disk cluster home data is obtained and abnormal detection is performed, which solves the problems of low efficiency and poor reliability of disk cluster data resource scheduling, and achieves fast and reliable disk cluster resource scheduling in case of a single node failure.
Patent Information
- Application Number
- CN202410870209.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-28
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2044-06-28
AI Technical Summary
In the prior art, disk cluster data resource scheduling efficiency is low and the reliability is poor, especially in the event of a single node failure, resulting in low reliability and scheduling efficiency of storage services.
Through the independently deployed management and scheduling service node, the disk cluster belonging data is obtained, the abnormal storage service node in the dual-header storage service node group is detected, and the disk cluster mounted by the abnormal storage service node is scheduled to the normal storage service node based on the disk cluster belonging data.
When a single node failure occurs in a dual-head storage service node group, the scheduling of disk cluster resources is completed quickly and reliably, avoiding the problems of poor storage service reliability and low scheduling efficiency caused by a single node failure.
Smart Images

Figure CN118796468B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to the technical field of data storage, and in particular, to a method, device, system, equipment, and storage medium for disk cluster resource scheduling. Background Art
[0002] Currently, in the application scenario of storing cold data with low access frequency, on the one hand, it is necessary to ensure the security and availability of data storage. On the other hand, considering the scale of stored data, it is necessary to optimize the data storage method to reduce the data storage cost.
[0003] In the prior art, through a storage architecture based on Just a Bunch Of Disks (JBOD), multiple disk drives are combined into a disk array (disk cluster), which can achieve low-cost data storage. At the same time, two (or more) disk clusters are mounted to the same storage service node for management and scheduling to form a dual (multi)-head data storage system, which can achieve high availability of data storage services.
[0004] However, in the prior art, in the process of scheduling disk cluster data resources, there are problems of low scheduling efficiency and poor reliability. Summary of the Invention
[0005] Embodiments of the present disclosure provide a method, device, system, equipment, and storage medium for disk cluster resource scheduling to overcome the problems of low scheduling efficiency and poor reliability in the process of scheduling disk cluster data resources.
[0006] In a first aspect, embodiments of the present disclosure provide a method for disk cluster resource scheduling, which is applied to a data storage system. A control and scheduling service node and at least one dual-head storage service node group are deployed inside the data storage system. Two adjacent storage service nodes are included in the dual-head storage service node group. The method includes:
[0007] Obtaining disk cluster attribution data through the control and scheduling service node, where the disk cluster attribution data is used to represent the mapping relationship between at least one disk cluster and the storage service node to which it belongs; detecting an abnormal storage service node in the dual-head storage service node group through the control and scheduling service node, and scheduling the disk cluster mounted by the abnormal storage service node to a normal storage service node in the dual-head storage service node group according to the disk cluster attribution data.
[0008] Second aspect, embodiments of the present disclosure provide a disk cluster resource scheduling device, which is applied to a data storage system. A control and scheduling service node and at least one dual-head storage service node group are deployed inside the data storage system. Two adjacent storage service nodes are included in the dual-head storage service node group, including:
[0009] A data module, configured to obtain disk cluster ownership data through the control and scheduling service node, where the disk cluster ownership data is used to represent the mapping relationship between at least one disk cluster and the storage service node to which it belongs;
[0010] A scheduling module, configured to detect an abnormal storage service node in the dual-head storage service node group through the control and scheduling service node, and schedule the disk clusters mounted on the abnormal storage service node to a normal storage service node in the dual-head storage service node group according to the disk cluster ownership data.
[0011] Third aspect, embodiments of the present disclosure provide a data storage system. A control and scheduling service node and at least one dual-head storage service node group are deployed inside the data storage system. Two adjacent storage service nodes are included in the dual-head storage service node group. The control and scheduling service node is configured to obtain disk cluster ownership data, where the disk cluster ownership data is used to represent the mapping relationship between at least one disk cluster and the storage service node to which it belongs; the control and scheduling service node is further configured to detect an abnormal storage service node in the dual-head storage service node group, and schedule the disk clusters mounted on the abnormal storage service node to a normal storage service node in the dual-head storage service node group according to the disk cluster ownership data.
[0012] Fourth aspect, embodiments of the present disclosure provide an electronic device, including: a processor and a memory;
[0013] The memory stores computer execution instructions;
[0014] The processor executes the computer execution instructions stored in the memory, so that the at least one processor executes the disk cluster resource scheduling method described in the first aspect and various possible designs of the first aspect as above.
[0015] Fourth aspect, embodiments of the present disclosure provide a computer-readable storage medium, in which computer execution instructions are stored. When the processor executes the computer execution instructions, the disk cluster resource scheduling method described in the first aspect and various possible designs of the first aspect as above is implemented.
[0016] In a fifth aspect, an embodiment of the present disclosure provides a computer program product, including a computer program, which when executed by a processor, implements the disk cluster resource scheduling method described in the first aspect above and various possible designs of the first aspect.
[0017] For the disk cluster resource scheduling method, device, system, equipment, and storage medium provided in this embodiment, the disk cluster attribution data is obtained through the management and scheduling service node, where the disk cluster attribution data is used to represent the mapping relationship between at least one disk cluster and the storage service node to which it belongs; the abnormal storage service node in the dual-head storage service node group is detected through the management and scheduling service node, and according to the disk cluster attribution data, the disk clusters mounted by the abnormal storage service node are scheduled to the normal storage service nodes in the dual-head storage service node group. By using an independently deployed management and scheduling service node to schedule the disk clusters under the storage service nodes in the dual-head storage service node group, it is possible to quickly and reliably complete the scheduling of disk cluster resources in the case of a single-node failure in the dual-head storage service node group, avoiding the problem of poor reliability and low scheduling efficiency of the storage service caused by the misalignment of the disk clusters mounted by the two storage service nodes due to single-node failure and inability to communicate. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of the present disclosure. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0019] Figure 1 FIG. is an application scenario diagram of the disk cluster resource scheduling method provided by the embodiment of the present disclosure;
[0020] Figure 2 FIG. is a flowchart of the disk cluster resource scheduling method provided by the embodiment of the present disclosure Figure 1 ;
[0021] Figure 3 FIG. is a schematic diagram of the architecture of the first data storage system provided by the embodiment of the present disclosure;
[0022] Figure 4 For Figure 2 FIG. is a flowchart of the specific implementation manner of step S102 in the shown embodiment;
[0023] Figure 5 FIG. is a flowchart of the disk cluster resource scheduling method provided by the embodiment of the present disclosure Figure 2 ;
[0024] Figure 6 For Figure 5 the flowchart of the specific implementation manner of step S207 in the illustrated embodiment;
[0025] Figure 7 a schematic diagram of the disk cluster resource scheduling process provided by an embodiment of the present disclosure;
[0026] Figure 8 a structural block diagram of the disk cluster resource scheduling device provided by an embodiment of the present disclosure;
[0027] Figure 9 a schematic diagram of the data storage system provided by an embodiment of the present disclosure;
[0028] Figure 10 a schematic diagram of the structure of an electronic device provided by an embodiment of the present disclosure;
[0029] Figure 11 a schematic diagram of the hardware structure of the electronic device provided by an embodiment of the present disclosure. Specific Embodiments
[0030] To make the objectives, technical solutions, and advantages of the embodiments of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present disclosure. Obviously, the described embodiments are some but not all of the embodiments of the present disclosure. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present disclosure without creative efforts shall fall within the scope of protection of the present disclosure.
[0031] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present disclosure are all information and data authorized by the user or fully authorized by all parties. Moreover, the collection, use, and processing of relevant data need to comply with the relevant laws, regulations, and standards of the relevant countries and regions, and corresponding operation entrances are provided for the user to choose to authorize or refuse.
[0032] The application scenarios of the embodiments of the present disclosure are explained below:
[0033] Figure 1 a diagram of an application scenario of the disk cluster resource scheduling method provided by an embodiment of the present disclosure. The disk cluster resource scheduling method provided by an embodiment of the present disclosure can be applied to the application scenario of data storage, and is particularly suitable for application scenarios of data storage for cold data such as low-frequency cold storage and archival storage. The execution subject of this embodiment can be a control device, a data server, or other electronic devices with similar functions in the data storage system.
[0034] Among them, in some embodiments, the terminal device or the server can implement the disk cluster resource scheduling method provided in the embodiments of the present application by running various computer-executable instructions or computer programs. For example, the computer-executable instructions can be program-level commands, machine instructions, or software instructions. The computer program can be a native program or a software module in the operating system; it can be a local application, that is, a program that needs to be installed in the operating system to run. In summary, the above computer-executable instructions can be instructions in any form, and the above computer programs can be application programs, modules, or plugins in any form, and the specific implementation form can be configured according to needs. Further, in some embodiments, the server can be an independent physical server, or a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud storage, cloud communication, cloud databases, cloud computing, cloud functions, network services, middleware services, domain name services, security services, Content Delivery Network (CDN), and big data and artificial intelligence platforms. Among them, the cloud service can be an interactive processing service for the terminal device to call.
[0035] Refer to Figure 1 As shown, exemplarily, after the data storage system receives a data storage request sent by the client, on the one hand, it generates metadata of the data to be stored, that is, relevant description information of the data to be stored, and stores it through multiple metadata service nodes to form a consensus algorithm group (raft group) to ensure primary and standby high availability; on the other hand, through the storage service node, it mounts a disk cluster composed of multiple disk drives and stores the data to be stored in the corresponding disk cluster to realize the storage of the original data of the data to be stored. Among them, every two storage service nodes in the system form a dual-head storage service node group. The storage service nodes in the storage service node group can call the local disk cluster (that is, the disk cluster they mount themselves) or the remote disk cluster (that is, the disk cluster mounted by another storage service node in the storage service node group), so as to realize the primary and standby storage mode. When one of the storage service nodes fails, the other storage service node continues to provide data read and write services, that is, a dual-head data storage system.
[0036] In the prior art, through a disk cluster-based storage architecture, multiple disk drives are combined into a disk array (disk cluster), which can achieve low-cost data storage. At the same time, two (or more) disk clusters are mounted on the same storage service node for management and scheduling, forming a dual (multi)-head data storage system, which can achieve high availability of data storage services. However, in the related art, in a dual-head data storage system, the mapping relationship between the storage service node and the disk cluster is recorded in the storage service node. When a storage service node fails or malfunctions, the disk clusters mounted by the other storage service node will change. In this case, the mapping information of the disk clusters stored in the two storage service nodes will be inconsistent, resulting in errors, or requiring re-synchronization and calibration before normal data reading and writing can be performed, thus leading to problems of low scheduling efficiency and poor reliability.
[0037] Embodiments of the present disclosure provide a disk cluster resource scheduling method to solve the above problems.
[0038] Refer to Figure 2 , Figure 2 which is a flowchart of the disk cluster resource scheduling method provided by the embodiments of the present disclosure Figure 1 The method of this embodiment can be applied to a data storage system. Among them, a control and scheduling service node and at least one dual-head storage service node group are deployed inside the data storage system. The dual-head storage service node group includes two adjacent storage service nodes. The disk cluster resource scheduling method includes:
[0039] Step S101: Obtain disk cluster ownership data through the control and scheduling service node, where the disk cluster ownership data is used to represent the mapping relationship between at least one disk cluster and the storage service node to which it belongs.
[0040] Step S102: Detect an abnormal storage service node in the dual-head storage service node group through the control and scheduling service node, and schedule the disk clusters mounted by the abnormal storage service node to the normal storage service node in the dual-head storage service node group according to the disk cluster ownership data.
[0041] Refer to Figure 1The schematic diagram of the application scenario shown. The solution provided in this embodiment is applied to a data storage system. Specifically, it is applied to a dual-head data storage service system, that is, a data storage system that performs peer-to-peer data storage based on a dual-head storage service node group. After the data storage system is started, a control and scheduling service node and multiple storage service nodes will be created. Among them, the control and scheduling service node is a type of storage service. More specifically, after the control and scheduling service node is created, it will be maintained in memory, and the corresponding scheduling tasks will be executed through this control and scheduling service node. The specific execution process will be introduced in detail in the subsequent steps. The dual-head storage service node group is a logical group composed of two storage service nodes. The two data storage nodes in the dual-head storage service node group are disaster recovery for each other, so as to achieve the high availability of the data storage system. The control and scheduling service node can communicate with the dual-head storage service node group, so as to realize the scheduling of the disk cluster resources mounted by the storage service nodes in the dual-head storage service node group.
[0042] Figure 3 The architecture diagram of the first data storage system provided by the embodiments of the present disclosure is shown in Figure 3 As shown, after the data storage system is started, a control and scheduling service node RootServer and multiple storage service nodes ChunkServer will be created. Among them, in one possible implementation, the control and scheduling service node includes a main control and scheduling service node RootServer_1 and a secondary control and scheduling service node RootServer_2 (shown as RootServer_1 and RootServer_2 in the figure) that are mutually primary and backup. The main control and scheduling service node and the secondary control and scheduling service node are encapsulated based on a distributed coordination service (such as the ZooKeeper service), so as to achieve the primary and backup high availability of the two control and scheduling service nodes, and further improve the reliability of the data storage system.
[0043] On the other hand, for multiple storage service nodes within a data storage system, every two storage service nodes logically form a dual-head storage service node group to achieve highly available data storage. Among them, each storage service node corresponds to a local disk cluster. Taking the dual-head storage service node group T1 shown in the figure as an example, the dual-head storage service node group T1 includes storage service node ChunkServer_1 and storage service node ChunkServer_2 (shown as ChunkServer_1 and ChunkServer_2 in the figure). Among them, the local disk cluster corresponding to storage service node ChunkServer_1 is disk cluster JBOD_1 (shown as JBOD_1 in the figure), and the local disk cluster corresponding to storage service node ChunkServer_2 is disk cluster JBOD_2 (shown as JBOD_2 in the figure). Correspondingly, the remote disk cluster corresponding to storage service node ChunkServer_1 is disk cluster JBOD_2, and the remote disk cluster corresponding to storage service node ChunkServer_2 is disk cluster JBOD_1. The above situation can be described as: storage service node ChunkServer_1 mounts disk cluster JBOD_1, storage service node ChunkServer_2 mounts disk cluster JBOD_2, or, disk cluster JBOD_1 belongs to storage service node ChunkServer_1, and disk cluster JBOD_2 belongs to storage service node ChunkServer_2.
[0044] Furthermore, the independent operation and mutual disaster recovery of the storage service node ChunkServer_1 and the storage service node ChunkServer_2 are realized. Specifically, when both the storage service node ChunkServer_1 and the storage service node ChunkServer_2 are running normally, they each manage the mounted disk clusters and write data into them to achieve the effect of providing data storage services to the outside; when one of them has an abnormality, for example, when the storage service node ChunkServer_1 has an abnormality, through logical scheduling, the disk cluster JBOD_1 belonging to the storage service node ChunkServer_1 is mounted under the storage service node ChunkServer_2, so that the storage service node ChunkServer_2 can access the disk cluster JBOD_1, thereby ensuring the high availability of the system. In this embodiment, the above scheduling steps are executed by the control and scheduling service node.
[0045] Based on the above data storage system, exemplarily, first, the control and scheduling service node in the data storage system periodically obtains disk cluster ownership data, where the disk cluster ownership data represents the mapping relationship between at least one disk cluster and the storage service node to which it belongs. For example, in the above instance, the mapping relationship between the storage service node ChunkServer_1 and the disk cluster JBOD_1, and the mapping relationship between the storage service node ChunkServer_2 and the disk cluster JBOD_2 are both the content of the disk cluster ownership data. In a possible implementation, the disk cluster ownership data is pre-loaded in the control and scheduling service node (i.e., memory). After that, the control and scheduling service node periodically detects whether each storage service node has an abnormality, such as losing communication, abnormal response, inability to execute normal read and write instructions, etc., that is, it detects abnormal storage service nodes. When the control and scheduling service node detects an abnormal storage service node, it performs resource scheduling according to the dual-head storage service node group to which it belongs, that is, it schedules the disk cluster mounted by the abnormal storage service node to another normal storage service node in the dual-head storage service node group to which it belongs.
[0046] In a possible implementation, as Figure 4 shown, the specific implementation steps of detecting abnormal storage service nodes in the dual-head storage service node group by the control and scheduling service node in step S102 include:
[0047] Step S102A-1: Obtain a first cluster topology, where the first cluster topology indicates the initial storage service nodes deployed inside the data storage system.
[0048] Step S102A-2: Through the control and scheduling service node, periodically send heartbeat detection instructions based on remote procedure calls to each initial storage service node indicated by the first cluster topology.
[0049] Step S102A-3: According to the heartbeat detection results returned by each initial storage service node, obtain a second cluster topology, where the second cluster topology is used to represent the storage service nodes in the data storage system that are in a live state.
[0050] Step S102A-4: According to the second cluster topology, obtain the abnormal storage service nodes.
[0051] Exemplarily, the cluster topology describes the data of the storage service nodes deployed within the data storage system. The control and scheduling service node determines the storage service nodes within the data storage system based on the cluster topology and performs an availability detection on them, that is, to detect whether there are any abnormalities in the storage service nodes (whether they are abnormal storage service nodes). Among them, the first cluster topology is the data indicating the initial storage service nodes deployed within the data storage system. For example, it is the node identifiers of all the storage service nodes deployed within the data storage system. Correspondingly, the second cluster topology is the storage service nodes that are in a live state within the data storage system after the availability detection. Regarding the process of the availability detection, specifically, through the control and scheduling service node, a heartbeat detection instruction based on Remote Procedure Call (RPC) is periodically sent to each of the initial storage service nodes indicated by the first cluster topology. Then, based on the heartbeat detection results returned by each initial storage service node, it is determined whether each initial storage service node is operating normally, so as to determine the storage service nodes that are in a live state (normal storage service nodes) within the data storage system, or to determine the storage service nodes that are in a non-live state (abnormal storage service nodes) within the data storage system. After that, according to the specific implementation form of the second cluster topology, for example, when only the node identifiers of the storage service nodes in the available state are recorded in the second cluster topology, the abnormal storage service nodes can be obtained by further comparing the differences between the second cluster topology and the first cluster topology; for another example, when the node identifiers of the initial storage service nodes, as well as the node identifiers of the normal storage service nodes or abnormal storage service nodes, are recorded in the second cluster topology, the abnormal storage service nodes can be directly obtained based on the second cluster topology.
[0052] After that, based on the dual-head storage service node group to which the abnormal storage service node belongs, locate another normal storage service node in the dual-head storage service node group and perform a disk cluster addition operation on it, so as to achieve the purpose of scheduling the disk cluster mounted by the abnormal storage service node under the normal storage service node in the dual-head storage service node group.
[0053] In this embodiment, the disk cluster attribution data is obtained through the management and scheduling service node, where the disk cluster attribution data is used to represent the mapping relationship between at least one disk cluster and the storage service node to which it belongs; the management and scheduling service node detects the abnormal storage service node in the dual-head storage service node group, and according to the disk cluster attribution data, schedules the disk clusters mounted by the abnormal storage service node to the normal storage service node in the dual-head storage service node group. By deploying an independent management and scheduling service node to schedule the disk clusters under the storage service nodes in the dual-head storage service node group, it is realized that in the case of a single-node failure in the dual-head storage service node group, the disk cluster resources can be scheduled quickly and reliably, avoiding the problem that the disk clusters mounted by the two storage service nodes cannot be aligned due to single-node failure and inability to communicate, resulting in poor storage service reliability and low scheduling efficiency.
[0054] Reference Figure 5 , Figure 5 is a schematic flow chart of the disk cluster resource scheduling method provided by the embodiment of the present disclosure Figure 2 . This embodiment is based on the embodiment shown in Figure 2 , and further refines step S102 and adds the initialization process of the storage service node. The disk cluster resource scheduling method includes:
[0055] Step S201: Obtain the disk cluster attribution data through the management and scheduling service node, where the disk cluster attribution data is used to represent the mapping relationship between at least one disk cluster and the storage service node to which it belongs.
[0056] Step S202: Control the storage service node to start up without load and obtain the local configuration file, where the local configuration file is used to indicate the local disk clusters and remote disk clusters corresponding to the storage service node.
[0057] Step S203: Through the management and scheduling service node, control the storage service node to load the local disk clusters and remote disk clusters according to the local configuration file.
[0058] Exemplarily, the disk clusters include local disk clusters and remote disk clusters. The local disk cluster is the disk cluster mounted when the storage service node operates normally, and the remote disk cluster is the disk cluster mounted by the storage service node when another storage service node in the dual-head storage service node group where the storage service node is located is abnormal. As a storage engine, the storage service node provides data read and write services to the outside. Therefore, before normally providing data read and write services, it needs to load the corresponding disks, that is, load the corresponding disk clusters. In the prior art, the mapping relationship between the disk cluster and the belonging storage service node (i.e., the disk cluster belonging data) is written in the management and scheduling service node. When the storage service node starts, it will be loaded and started, that is, when the storage service node starts, the corresponding disk cluster (disk drive) will be loaded. In this way, when the storage service node recovers after a failure, the disk cluster belonging data recorded in the two storage service nodes in the dual-head storage service node group will be out of sync, resulting in additional disk cluster belonging data synchronization processing steps, affecting system stability and operation efficiency.
[0059] In this embodiment, when the storage service node starts, including the first start after the storage service start is created and the start after a failure and recovery, it adopts a no-load start. That is, when the storage service node starts, it does not load the disk cluster (disk drive), but only obtains the local configuration file. The local configuration file is used to indicate the local disk cluster and the remote disk cluster corresponding to the storage service node, that is, the disk clusters mounted by the storage service node and the disk clusters mounted by another storage service node in the same dual-head storage service node group. Then, through the management and scheduling service node, the storage service node is controlled to load the local disk cluster and the remote disk according to the local configuration file. Exemplarily, the specific implementation manner of step S203 includes: executing a registration instruction based on remote procedure call through the management and scheduling service node to register the storage service node in the management and scheduling service node; through the management and scheduling service node, sending a load instruction based on remote procedure call to the storage service node according to the local configuration file, so that the storage service node loads the corresponding local disk cluster and remote disk cluster. Exemplarily, by executing the registration instruction based on remote procedure call to register the storage service node in the management and scheduling service node, that is, updating the cluster topology. After the storage service node is successfully registered, a load instruction based on remote procedure call is sent to the storage service node to record the basic necessary resources (such as background threads, memory pools, RPC services, etc.) and mount files of each disk corresponding to the disk cluster, so as to complete the loading of the disk cluster corresponding to the storage service node, that is, the initialization start process of the storage service node.
[0060] Among them, exemplarily, the control and scheduling service node stores disk cluster attribution data and a cluster topology. The cluster topology is used to indicate storage service nodes in the data storage system, and the disk cluster attribution data is used to indicate the disk clusters corresponding to each storage service node. The control and scheduling service node determines the disk clusters corresponding to each storage service node through the cluster topology and the disk cluster attribution data, and performs registration. After registration, a loading instruction based on remote procedure call is sent to the storage service node to complete the loading of the disk cluster. Since the loading process of the disk cluster is completed by the control and scheduling service node, the problem of out-of-sync disk cluster attribution data can be avoided, and thus, fast and reliable scheduling of disk cluster resources can be achieved.
[0061] Step S204: Detect abnormal storage service nodes in the dual-head storage service node group through the control and scheduling service node.
[0062] Step S205: Determine the target disk cluster mounted by the abnormal storage service node according to the disk cluster attribution data.
[0063] Step S206: Through the control and scheduling service node, send a loading instruction based on remote procedure call to the normal storage service nodes in the dual-head storage service node group, so that the normal storage service nodes load the target disk cluster.
[0064] Exemplarily, further, after the storage service nodes in the data storage system are started, the control and scheduling service node periodically detects abnormal storage service nodes (step S205). The specific implementation method has been introduced in the Figure 2 illustrated embodiment and will not be elaborated here. After the control and scheduling service node detects an abnormal storage service node, in one possible implementation, in the cluster topology recorded in the control and scheduling service node (memory) (such as the first cluster topology), the logical grouping information of each dual-head storage service node group is recorded. For example, storage service node A and storage service node B belong to each dual-head storage service node group #1, storage service node C and storage service node D belong to each dual-head storage service node group #2, and so on. The control and scheduling service node can determine the dual-head storage service node group to which the abnormal storage service node belongs, and the other storage service node in the dual-head storage service node group, that is, the normal storage service node, according to the above cluster topology. Then, the control and scheduling service node further determines the target disk cluster mounted by the abnormal storage service node based on the disk cluster attribution data, and sends a loading instruction based on remote procedure call (RPC) to the normal storage service nodes in the dual-head storage service node group to instruct the normal storage service node to load the target disk cluster, thereby completing the scheduling of disk cluster resources.
[0065] Optionally, after step S206, it further includes:
[0066] Step S207: After detecting that the abnormal storage service node has returned to normal, the control and scheduling service node schedules the target disk cluster under the abnormal storage service node that has returned to normal.
[0067] Exemplarily, through the above steps in this embodiment, in the case of an abnormal storage service node in the data storage system, another storage service node in the same dual-head storage service node group can still continue to provide data read and write services, ensuring the operation stability and high availability of the data storage system. Subsequently, with the effectiveness of the detection and modification mechanism for the abnormal storage service node in the data storage system, or the reduction of the system operation load, the above abnormal storage service node will return to a normal storage service node. After it returns to a normal storage service node, after the initialization step of the storage service node through the above steps, the storage service node can continue to provide data read and write services. At this time, the control and scheduling service node will schedule the disk cluster removed from the abnormal storage service node before to this storage service node, thereby improving the load balance.
[0068] Exemplarily, as Figure 6 shown, the specific implementation manner of step S207 includes:
[0069] Step S2071: After detecting that the abnormal storage service node has returned to normal, the control and scheduling service node sends a removal instruction based on remote procedure call to the normal storage service node;
[0070] Step S2072: In response to the removal instruction through the normal storage service node, set the target disk cluster to be mounted to the read-only state and unmount the target disk cluster;
[0071] Step S2073: The control and scheduling service node sends a load instruction based on remote procedure call to the abnormal storage service node that has returned to normal;
[0072] Step S2074: In response to the load instruction through the abnormal storage service node that has returned to normal, load the target disk cluster.
[0073] Exemplarily, the management and scheduling service node detects the available status of each initial storage service node by periodically sending heartbeat detection instructions to the initial storage service nodes indicated by the first cluster topology. After detecting that an abnormal storage service node has returned to normal, it first sends a removal instruction based on remote procedure call to the normal storage service node in the same dual-head storage service node group as the abnormal storage service node. Among them, the specific implementation methods for determining the dual-head storage service node group where the abnormal storage service node is located and the other storage service node (normal storage service node) within the dual-head storage service node have been introduced in the previous embodiment steps and will not be elaborated here. After that, in response to the removal instruction, the normal storage service node sets the target disk cluster to the read-only state and unmounts the target disk cluster. The purpose of setting the target disk cluster to the read-only state is to lock the metadata of the target disk cluster and avoid the problem of inconsistent metadata caused by continuous data writing during the disk cluster scheduling process. After that, the target disk cluster is unmounted from the normal storage service node. Then, through the management and scheduling service node, a load instruction based on remote procedure call is sent to the abnormal storage service node that has returned to normal, and the abnormal storage service node that has returned to normal will respond to the load instruction and load the target disk cluster. This process is similar to the normal initialization and startup process of the storage service node and will not be elaborated here.
[0074] Further, after step S2072, it further includes:
[0075] Step S2072A: Through the management and scheduling service node, generate checkpoint information of the metadata corresponding to the original data stored in the target disk cluster, and the checkpoint information is used to represent the storage location of the original data.
[0076] Step S2072B: Write the checkpoint information into the target disk cluster.
[0077] Exemplarily, after setting the mounted target disk cluster to the read-only state, the management and scheduling service node will simultaneously generate checkpoint information (CheckPoint) of the metadata corresponding to the original data stored in the target disk cluster. The checkpoint information is used to represent the storage location of the original data. And write it into the corresponding target disk cluster to complete the recording and update of the corresponding metadata. Through the above steps, the subsequent rapid loading of the target disk cluster (the disk drive in it) can be achieved, improving the disk cluster loading efficiency.
[0078] Figure 7 This is a schematic diagram of a disk cluster resource scheduling process provided by an embodiment of the present disclosure. The following will further introduce the steps of the above embodiment in combination with Figure 7 For further introduction, as Figure 7As shown, exemplarily, first, the management and scheduling service node (shown as RootServer in the figure) will periodically send heartbeat detection instructions to each storage service node in the data storage system (such as ChunkServer_1 and ChunkServer_2 shown in the figure) according to the cluster topology (a kind of data indicating the storage service nodes deployed inside the data storage system), to determine the available state of the storage service nodes (such as the moment t0 shown in the figure). When detecting an abnormal storage service node, such as ChunkServer_1 shown in the figure, which is an abnormal storage service node, the management and scheduling service node will send a loading instruction to the storage service node belonging to the same dual-head storage service node group as it, such as ChunkServer_2 shown in the figure, so as to schedule the disk cluster JBOD_1 mounted under ChunkServer_1 to under ChunkServer_2. At this time, both the disk cluster JBOD_1 and the disk cluster JBOD_2 are mounted under ChunkServer_2 (such as the moment t1 shown in the figure). After that, when detecting that the abnormal storage service node ChunkServer_1 returns to normal, the management and scheduling service node first sends a removal instruction to ChunkServer_2 (such as the moment t2 shown in the figure), and then, the management and scheduling service node sends a loading instruction to ChunkServer_1 to reschedule the disk cluster JBOD_1 from ChunkServer_2 to under ChunkServer_1 (such as the moment t3 shown in the figure), thus completing the process of disk cluster resource scheduling.
[0079] In this embodiment, the disk clusters under the storage service nodes in the dual-head storage service node group are scheduled by the independently deployed management and scheduling service node, so as to quickly and reliably complete the scheduling of disk cluster resources in the case of a single-node failure in the dual-head storage service node group, and be able to quickly and reliably reschedule the disk cluster resources back under the original storage service node again after the failed storage service node recovers, realizing the load balancing of the system and improving the reliability and stability of the data storage system.
[0080] In this embodiment, the implementation manner of step S201 is the same as that of step S101 in the embodiment shown in Figure 2 this disclosure, and will not be elaborated here one by one.
[0081] Corresponding to the disk cluster resource scheduling method in the above embodiment, Figure 8The block diagram of the disk cluster resource scheduling device provided by the embodiments of the present disclosure. Among them, the disk cluster resource scheduling device 3 is applied to a data storage system, in which a control and scheduling service node and at least one dual-head storage service node group are deployed. The dual-head storage service node group includes two adjacent storage service nodes. The methods described in the above embodiments can be executed by the disk cluster resource scheduling device 3. The device can be implemented in software and / or hardware, and can be integrated in an electronic device with certain data processing capabilities. Among them, the electronic device may include, but is not limited to, a mobile terminal with big data processing capabilities, and a fixed terminal with big data processing capabilities such as a desktop computer and a supercomputer.
[0082] For the sake of convenience of description, only parts related to the embodiments of the present disclosure are shown. Refer to Figure 8 , the disk cluster resource scheduling device 3 includes:
[0083] A data module 31, configured to obtain disk cluster attribution data through a control and scheduling service node, where the disk cluster attribution data is used to represent the mapping relationship between at least one disk cluster and the storage service node to which it belongs;
[0084] A scheduling module 32, configured to detect an abnormal storage service node in the dual-head storage service node group through a control and scheduling service node, and schedule the disk clusters mounted on the abnormal storage service node to a normal storage service node in the dual-head storage service node group according to the disk cluster attribution data.
[0085] According to one or more embodiments of the present disclosure, when the scheduling module 32 detects an abnormal storage service node in the dual-head storage service node group through a control and scheduling service node, it is specifically configured to: obtain a first cluster topology, where the first cluster topology indicates the initial storage service nodes deployed in the data storage system; through the control and scheduling service node, periodically send heartbeat detection instructions based on remote procedure calls to each of the initial storage service nodes indicated by the first cluster topology; obtain a second cluster topology according to the heartbeat detection results returned by each initial storage service node, where the second cluster topology is used to represent the storage service nodes in the data storage system that are in a live state; obtain the abnormal storage service node according to the second cluster topology.
[0086] According to one or more embodiments of the present disclosure, when the scheduling module 32 schedules the disk clusters mounted on the abnormal storage service node to a normal storage service node in the dual-head storage service node group according to the disk cluster attribution data, it is specifically configured to: determine the target disk clusters mounted on the abnormal storage service node according to the disk cluster attribution data; through the control and scheduling service node, send a loading instruction based on remote procedure calls to the normal storage service nodes in the dual-head storage service node group, so that the normal storage service nodes load the target disk clusters.
[0087] According to one or more embodiments of the present disclosure, the scheduling module 32 is further configured to: after detecting that an abnormal storage service node returns to normal, send a removal instruction based on remote procedure call to a normal storage service node through a management and control scheduling service node; in response to the removal instruction by the normal storage service node, set the target disk cluster to be mounted to a read-only state, and unmount the target disk cluster; send a loading instruction based on remote procedure call to the abnormal storage service node that has returned to normal through the management and control scheduling service node; and in response to the loading instruction by the abnormal storage service node that has returned to normal, load the target disk cluster.
[0088] According to one or more embodiments of the present disclosure, after setting the target disk cluster to be mounted to a read-only state, the scheduling module 32 is further configured to: generate checkpoint information of metadata corresponding to the original data stored in the target disk cluster through the management and control scheduling service node, where the checkpoint information is used to characterize the storage location of the original data; and write the checkpoint information into the target disk cluster.
[0089] According to one or more embodiments of the present disclosure, the management and control scheduling service node includes a primary management and control scheduling service node and a secondary management and control scheduling service node that are mutually primary and standby, and the primary management and control scheduling service node and the secondary management and control scheduling service node are encapsulated based on a distributed coordination service.
[0090] According to one or more embodiments of the present disclosure, the disk cluster includes a local disk cluster and a remote disk cluster. The local disk cluster is the disk cluster mounted when the storage service node is running normally, and the remote disk cluster is the disk cluster mounted by the storage service node when another storage service node in the dual-head storage service node group where the storage service node is located is abnormal. The scheduling module 32 is further configured to: control the storage service node to start up without load, and obtain a local configuration file, where the local configuration file is used to indicate the local disk cluster and the remote disk cluster corresponding to the storage service node; and control the storage service node to load the local disk cluster and the remote disk cluster according to the local configuration file through the management and control scheduling service node.
[0091] When the scheduling module 32 controls the storage service node to load the local disk cluster and the remote disk cluster according to the local configuration file through the management and control scheduling service node, it is specifically configured to: execute a registration instruction based on remote procedure call through the management and control scheduling service node to register the storage service node in the management and control scheduling service node; and send a loading instruction based on remote procedure call to the storage service node according to the local configuration file through the management and control scheduling service node, so that the storage service node loads the corresponding local disk cluster and remote disk cluster.
[0092] Among them, the data module 31 is connected to the scheduling module 32. The disk cluster resource scheduling device 3 provided in this embodiment can execute the technical solutions of the above method embodiments, and its implementation principle and technical effects are similar, which will not be elaborated here in this embodiment.
[0093] This embodiment of the disclosure also provides a data storage system. Figure 9 As shown in the schematic diagram of the data storage system provided in this embodiment of the disclosure, Figure 9 as shown, a management and control scheduling service node 41 and at least one dual-head storage service node group are deployed inside the data storage system 4. The dual-head storage service node group includes two adjacent storage service nodes 42. Among them, the management and control scheduling service node 41 is used to obtain disk cluster attribution data, where the disk cluster attribution data is used to represent the mapping relationship between at least one disk cluster and the storage service node to which it belongs; the management and control scheduling service node 41 is also used to detect abnormal storage service nodes in the dual-head storage service node group, and according to the disk cluster attribution data, schedule the disk clusters mounted on the abnormal storage service nodes to the normal storage service nodes in the dual-head storage service node group.
[0094] The data storage system provided in this embodiment can execute the technical solutions of the above method embodiments, and its implementation principle and technical effects are similar, which will not be elaborated here in this embodiment.
[0095] Figure 10 As shown in the structural schematic diagram of an electronic device provided in this embodiment of the disclosure, Figure 10 as shown, the electronic device 5 includes:
[0096] a processor 51, and a memory 52 communicatively connected to the processor 51;
[0097] The memory 52 stores computer-executable instructions;
[0098] The processor 51 executes the computer-executable instructions stored in the memory 52 to implement the disk cluster resource scheduling method in the embodiment as Figures 2 - 7 shown.
[0099] Among them, optionally, the processor 51 and the memory 52 are connected through a bus 53.
[0100] The relevant descriptions can be understood by referring to the relevant descriptions and effects corresponding to the steps in the Figures 2 - 7 corresponding embodiments, and no more elaboration will be made here.
[0101] This embodiment of the disclosure provides a computer-readable storage medium. The computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by a processor, they are used to implement the disk cluster resource scheduling method provided in any one of the embodiments corresponding to this disclosure. Figures 2 - 7 in the corresponding embodiments.
[0102] An embodiment of the present disclosure provides a computer program product, including a computer program which, when executed by a processor, implements the disk cluster resource scheduling method provided by any one of the corresponding embodiments of the present disclosure. Figures 2 - 7 To implement the above embodiments, an embodiment of the present disclosure further provides an electronic device.
[0103] For the sake of achieving the above embodiments, an embodiment of the present disclosure further provides an electronic device.
[0104] Refer to Figure 11 , which shows a schematic structural diagram of an electronic device 900 suitable for implementing the embodiments of the present disclosure. The electronic device 900 may be a terminal device or a server. Among them, the terminal device may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, personal digital assistants (PDAs), tablet computers (PADs), portable media players (PMPs), in-vehicle terminals (such as in-vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 11 The electronic device shown is only an example and should not impose any limitations on the functions and usage scope of the embodiments of the present disclosure.
[0105] As Figure 11 shown, the electronic device 900 may include a processing device (such as a central processing unit, a graphics processing unit, etc.) 901, which may perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 902 or the program loaded from the storage device 908 into the random access memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the electronic device 900 are also stored. The processing device 901, the ROM 902, and the RAM 903 are connected to each other through a bus 904. The input / output (I / O) interface 905 is also connected to the bus 904.
[0106] Generally, the following devices may be connected to the I / O interface 905: an input device 906 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 907 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 908 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 909. The communication device 909 may allow the electronic device 900 to communicate with other devices wirelessly or wiredly to exchange data. AlthoughFigure 11 An electronic device 900 with various devices is shown, but it should be understood that it is not required to implement or have all the shown devices. Instead, more or fewer devices may be implemented or had.
[0107] In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, an embodiment of the present disclosure includes a computer program product that includes a computer program carried on a computer-readable medium, and the computer program contains program codes for executing the methods shown in the flowcharts. In such an embodiment, the computer program can be downloaded and installed from a network via a communication device 909, or installed from a storage device 908, or installed from a ROM 902. When the computer program is executed by a processing device 901, the above-mentioned functions defined in the methods of the embodiments of the present disclosure are executed.
[0108] It should be noted that the above-mentioned computer-readable medium in the present disclosure can be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of a computer-readable storage medium can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, apparatus, or device. And in the present disclosure, a computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, which carries computer-readable program codes. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, and this computer-readable signal medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. The program codes contained on a computer-readable medium can be transmitted by any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0109] The above-mentioned computer-readable medium can be included in the above-mentioned electronic device; or it can exist separately and not be assembled into the electronic device.
[0110] The above computer-readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to perform the methods shown in the above embodiments.
[0111] Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages or combinations thereof. The programming languages include object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code may be executed entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
[0112] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a program segment, or a part of code that contains one or more executable instructions for implementing the specified logical function. It should also be noted that, in some alternative implementations, the functions marked in the blocks may occur in a different order than marked in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, may be implemented by a dedicated hardware-based system for performing the specified functions or operations, or may be implemented by a combination of dedicated hardware and computer instructions.
[0113] The units or modules described in the embodiments of the present disclosure may be implemented in software or in hardware. Among them, the name of the unit or module does not constitute a limitation to the unit itself in some cases.
[0114] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), Systems on Chip (SOCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0115] In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a Read-Only Memory (ROM), an Erasable Programmable Read-Only Memory (EPROM or Flash memory), an optical fiber, a portable Compact Disc Read-Only Memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0116] In a first aspect, according to one or more embodiments of the present disclosure, there is provided a method for scheduling disk cluster resources, which is applied to a data storage system. In the data storage system, a management and scheduling service node and at least one dual-head storage service node group are deployed. The dual-head storage service node group includes two adjacent storage service nodes. The method includes:
[0117] Obtaining disk cluster attribution data through the management and scheduling service node, where the disk cluster attribution data is used to characterize the mapping relationship between at least one disk cluster and the storage service node to which it belongs; detecting an abnormal storage service node in the dual-head storage service node group through the management and scheduling service node, and scheduling the disk clusters mounted on the abnormal storage service node to a normal storage service node in the dual-head storage service node group according to the disk cluster attribution data.
[0118] According to one or more embodiments of the present disclosure, detecting an abnormal storage service node in the dual-head storage service node group by the management and control scheduling service node includes: obtaining a first cluster topology, where the first cluster topology indicates initial storage service nodes deployed inside the data storage system; periodically sending heartbeat detection instructions based on remote procedure calls to each of the initial storage service nodes indicated by the first cluster topology through the management and control scheduling service node; obtaining a second cluster topology according to the heartbeat detection results returned by each of the initial storage service nodes, where the second cluster topology is used to represent storage service nodes in a live state inside the data storage system; and obtaining the abnormal storage service node according to the second cluster topology.
[0119] According to one or more embodiments of the present disclosure, scheduling the disk clusters mounted by the abnormal storage service node to a normal storage service node in the dual-head storage service node group according to the disk cluster attribution data includes: determining a target disk cluster mounted by the abnormal storage service node according to the disk cluster attribution data; sending a loading instruction based on remote procedure call to a normal storage service node in the dual-head storage service node group through the management and control scheduling service node, so that the normal storage service node loads the target disk cluster.
[0120] According to one or more embodiments of the present disclosure, the method further includes: after detecting that the abnormal storage service node returns to normal, sending a removal instruction based on remote procedure call to the normal storage service node through the management and control scheduling service node; setting the target disk cluster mounted by the normal storage service node to a read-only state and unmounting the target disk cluster in response to the removal instruction by the normal storage service node; sending a loading instruction based on remote procedure call to the abnormal storage service node that has returned to normal through the management and control scheduling service node; and loading the target disk cluster in response to the loading instruction by the abnormal storage service node that has returned to normal.
[0121] According to one or more embodiments of the present disclosure, after setting the target disk cluster mounted to a read-only state, the method further includes: generating checkpoint information of metadata corresponding to the original data stored in the target disk cluster through the management and control scheduling service node, where the checkpoint information is used to represent the storage location of the original data; and writing the checkpoint information into the target disk cluster.
[0122] According to one or more embodiments of the present disclosure, the management and control scheduling service node includes a main management and control scheduling service node and a secondary management and control scheduling service node that are mutually primary and standby, and the main management and control scheduling service node and the secondary management and control scheduling service node are encapsulated based on a distributed coordination service.
[0123] According to one or more embodiments of the present disclosure, the disk clusters include local disk clusters and remote disk clusters. The local disk clusters are the disk clusters mounted when the storage service node operates normally, and the remote disk clusters are the disk clusters mounted by the storage service node when another storage service node in the dual-head storage service node group where the storage service node is located is abnormal. The method further includes: controlling the storage service node to start up without load and obtaining a local configuration file, where the local configuration file is used to indicate the local disk clusters and remote disk clusters corresponding to the storage service node; and through the management and control scheduling service node, controlling the storage service node to load the local disk clusters and remote disk clusters according to the local configuration file.
[0124] According to one or more embodiments of the present disclosure, the step of controlling the storage service node to load the local disk clusters and remote disk clusters through the management and control scheduling service node according to the local configuration file includes: executing a registration instruction based on remote procedure call through the management and control scheduling service node to register the storage service node in the management and control scheduling service node; and through the management and control scheduling service node, sending a load instruction based on remote procedure call to the storage service node according to the local configuration file, so that the storage service node loads the corresponding local disk clusters and remote disk clusters.
[0125] In a second aspect, according to one or more embodiments of the present disclosure, a disk cluster resource scheduling device is provided, which is applied to a data storage system. The data storage system is internally provided with a management and control scheduling service node and at least one dual-head storage service node group. The dual-head storage service node group includes two adjacent storage service nodes, and the device includes:
[0126] A data module, configured to obtain disk cluster attribution data through the management and control scheduling service node, where the disk cluster attribution data is used to represent the mapping relationship between at least one disk cluster and the storage service node to which it belongs;
[0127] A scheduling module, configured to detect an abnormal storage service node in the dual-head storage service node group through the management and control scheduling service node, and according to the disk cluster attribution data, schedule the disk clusters mounted by the abnormal storage service node to a normal storage service node in the dual-head storage service node group.
[0128] According to one or more embodiments of the present disclosure, when the scheduling module detects an abnormal storage service node in the dual-head storage service node group through the management and control scheduling service node, it is specifically configured to: obtain a first cluster topology, where the first cluster topology indicates the initial storage service nodes deployed inside the data storage system; through the management and control scheduling service node, periodically send heartbeat detection instructions based on remote procedure calls to each of the initial storage service nodes indicated by the first cluster topology; according to the heartbeat detection results returned by each of the initial storage service nodes, obtain a second cluster topology, where the second cluster topology is used to characterize the storage service nodes in a live state inside the data storage system; according to the second cluster topology, obtain the abnormal storage service node.
[0129] According to one or more embodiments of the present disclosure, when the scheduling module schedules the disk clusters mounted by the abnormal storage service node to a normal storage service node in the dual-head storage service node group according to the disk cluster attribution data, it is specifically configured to: determine a target disk cluster mounted by the abnormal storage service node according to the disk cluster attribution data; through the management and control scheduling service node, send a loading instruction based on remote procedure calls to the normal storage service nodes in the dual-head storage service node group, so that the normal storage service nodes load the target disk cluster.
[0130] According to one or more embodiments of the present disclosure, the scheduling module is further configured to: after detecting that the abnormal storage service node returns to normal, through the management and control scheduling service node, send a removal instruction based on remote procedure calls to the normal storage service node; through the normal storage service node in response to the removal instruction, set the mounted target disk cluster to a read-only state and unload the target disk cluster; through the management and control scheduling service node, send a loading instruction based on remote procedure calls to the abnormal storage service node that has returned to normal; through the abnormal storage service node that has returned to normal in response to the loading instruction, load the target disk cluster.
[0131] According to one or more embodiments of the present disclosure, after setting the mounted target disk cluster to a read-only state, the scheduling module is further configured to: through the management and control scheduling service node, generate checkpoint information of the metadata corresponding to the original data stored in the target disk cluster, where the checkpoint information is used to characterize the storage location of the original data; write the checkpoint information into the target disk cluster.
[0132] According to one or more embodiments of the present disclosure, the management and control scheduling service node includes a main management and control scheduling service node and a secondary management and control scheduling service node that are mutually primary and standby, and the main management and control scheduling service node and the secondary management and control scheduling service node are encapsulated based on a distributed coordination service.
[0133] According to one or more embodiments of the present disclosure, the disk clusters include local disk clusters and remote disk clusters. The local disk clusters are the disk clusters mounted when the storage service node operates normally, and the remote disk clusters are the disk clusters mounted by the storage service node when another storage service node in the dual-head storage service node group where the storage service node is located is abnormal. The scheduling module is further configured to: control the storage service node to start up without load and obtain a local configuration file, where the local configuration file is used to indicate the local disk clusters and remote disk clusters corresponding to the storage service node; and control, through the management and control scheduling service node, the storage service node to load the local disk clusters and remote disk clusters according to the local configuration file.
[0134] According to one or more embodiments of the present disclosure, when the scheduling module controls the storage service node to load the local disk clusters and remote disk clusters according to the local configuration file through the management and control scheduling service node, it is specifically configured to: execute a registration instruction based on remote procedure call through the management and control scheduling service node to register the storage service node in the management and control scheduling service node; and send a load instruction based on remote procedure call to the storage service node through the management and control scheduling service node according to the local configuration file, so that the storage service node loads the corresponding local disk clusters and remote disk clusters.
[0135] In a third aspect, according to one or more embodiments of the present disclosure, a data storage system is provided. The data storage system is internally provided with a management and control scheduling service node and at least one dual-head storage service node group. The dual-head storage service node group includes two adjacent storage service nodes. Among them, the management and control scheduling service node is used to obtain disk cluster attribution data, where the disk cluster attribution data is used to represent the mapping relationship between at least one disk cluster and the storage service node to which it belongs; the management and control scheduling service node is further used to detect an abnormal storage service node in the dual-head storage service node group and, according to the disk cluster attribution data, schedule the disk clusters mounted by the abnormal storage service node to the normal storage service node in the dual-head storage service node group.
[0136] In a fourth aspect, according to one or more embodiments of the present disclosure, an electronic device is provided, including: at least one processor and a memory;
[0137] The memory stores computer execution instructions;
[0138] The at least one processor executes the computer execution instructions stored in the memory, so that the at least one processor executes the disk cluster resource scheduling method as described in the first aspect and various possible designs of the first aspect above.
[0139] Fifth aspect, according to one or more embodiments of the present disclosure, there is provided a computer-readable storage medium storing computer-executable instructions, and when a processor executes the computer-executable instructions, the disk cluster resource scheduling method described in the first aspect above and various possible designs of the first aspect is implemented.
[0140] Sixth aspect, according to one or more embodiments of the present disclosure, there is provided a computer program product including a computer program, and when the computer program is executed by a processor, the disk cluster resource scheduling method described in the first aspect above and various possible designs of the first aspect is implemented.
[0141] The above description is only a preferred embodiment of the present disclosure and an explanation of the applied technical principles. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by the specific combination of the above technical features, and should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosure concept. For example, the technical solutions formed by mutually replacing the above features with the technical features (but not limited to) having similar functions disclosed in the present disclosure.
[0142] In addition, although the operations are depicted in a particular order, this should not be construed as requiring that the operations be performed in the particular order shown or in sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, although a number of specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the present disclosure. Certain features described in the context of separate embodiments may also be implemented combinatorially in a single embodiment. Conversely, the various features described in the context of a single embodiment may also be implemented separately or in any suitable sub-combination in multiple embodiments.
[0143] Although the subject matter has been described in language specific to structural features and / or methodological acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms for implementing the claims.
Claims
1. A disk cluster resource scheduling method, characterized in that: Applied to a data storage system, wherein a management and control scheduling service node and at least one dual-head storage service node group are deployed in the data storage system, wherein the dual-head storage service node group includes two adjacently deployed storage service nodes, the method comprises: Obtaining disk cluster belonging data through the management and control scheduling service node, wherein the disk cluster belonging data is used to represent a mapping relationship between at least one disk cluster and the storage service node to which it belongs; Detecting an abnormal storage service node in the dual-head storage service node group through the management and control scheduling service node, and scheduling the disk cluster mounted on the abnormal storage service node to a normal storage service node in the dual-head storage service node group according to the disk cluster affiliation data; The disk cluster includes a local disk cluster and a remote disk cluster, wherein the local disk cluster is a disk cluster mounted when the storage service node is operating normally, and the remote disk cluster is a disk cluster mounted by the storage service node when another storage service node in the dual-head storage service node group where the storage service node is located is abnormal, and the method further includes: Control the storage service node to start up without load, and obtain a local configuration file, where the local configuration file is used to indicate a local disk cluster and a remote disk cluster corresponding to the storage service node; Through the management and control scheduling service node, the storage service node is controlled to load the local disk cluster and the remote disk cluster according to the local configuration file.
2. The method according to claim 1, characterized in that The detecting an abnormal storage service node in the dual-head storage service node group by the management and control scheduling service node includes: Acquire a first cluster topology, where the first cluster topology indicates an initial storage service node deployed in the data storage system; Periodically sending a heartbeat detection instruction based on a remote procedure call to each of the initial storage service nodes indicated by the first cluster topology through the management and control scheduling service node; Obtaining a second cluster topology according to the heartbeat detection results returned by each of the initial storage service nodes, where the second cluster topology is used to characterize storage service nodes in a surviving state in the data storage system; The abnormal storage service node is obtained according to the second cluster topology.
3. The method according to claim 1, characterized in that The step of scheduling the disk cluster mounted on the abnormal storage service node to a normal storage service node in the dual-head storage service node group according to the disk cluster affiliation data includes: Determine the target disk cluster mounted by the abnormal storage service node according to the disk cluster affiliation data; Through the management and control scheduling service node, a loading instruction based on a remote procedure call is sent to the normal storage service node in the dual-head storage service node group, so that the normal storage service node loads the target disk cluster.
4. The method according to claim 3, characterized in that: The method further comprises: After detecting that the abnormal storage service node has returned to normal, sending a removal instruction based on a remote procedure call to the normal storage service node through the management and control scheduling service node; In response to the removal instruction, the normal storage service node sets the mounted target disk cluster to a read-only state and unmounts the target disk cluster; Sending a loading instruction based on a remote procedure call to the abnormal storage service node that has returned to normal through the control and scheduling service node; The abnormal storage service node that has recovered to normal responds to the loading instruction and loads the target disk cluster.
5. The method according to claim 4, characterized in that After setting the mounted target disk cluster to a read-only state, the method further comprises: Generate, through the control and scheduling service node, checkpoint information of metadata corresponding to the original data stored in the target disk cluster, wherein the checkpoint information is used to represent the storage location of the original data; The checkpoint information is written into the target disk cluster.
6. The method according to claim 1, characterized in that The control and scheduling service node includes a primary control and scheduling service node and a secondary control and scheduling service node which are mutually backup, and the primary control and scheduling service node and the secondary control and scheduling service node are encapsulated based on a distributed coordination service.
7. The method according to claim 1, characterized in that The controlling the storage service node to load the local disk cluster and the remote disk cluster according to the local configuration file through the management and control scheduling service node includes: Executing a registration instruction based on a remote procedure call through the management and control scheduling service node to register the storage service node in the management and control scheduling service node; Through the management and scheduling service node, a loading instruction based on a remote procedure call is sent to the storage service node according to the local configuration file, so that the storage service node loads the corresponding local disk cluster and remote disk cluster.
8. A disk cluster resource scheduling device, characterized in that: Applied to a data storage system, wherein a management and control scheduling service node and at least one dual-head storage service node group are deployed in the data storage system, wherein the dual-head storage service node group includes two adjacently deployed storage service nodes, including: A data module, used for acquiring disk cluster belonging data through the management and control scheduling service node, wherein the disk cluster belonging data is used to characterize the mapping relationship between at least one disk cluster and the storage service node to which it belongs; A scheduling module, used for detecting an abnormal storage service node in the dual-head storage service node group through the management and control scheduling service node, and scheduling the disk cluster mounted on the abnormal storage service node to a normal storage service node in the dual-head storage service node group according to the disk cluster affiliation data; The disk cluster includes a local disk cluster and a remote disk cluster. The local disk cluster is a disk cluster mounted when the storage service node is operating normally. The remote disk cluster is a disk cluster mounted by the storage service node when another storage service node in the dual-head storage service node group where the storage service node is located is abnormal. The scheduling module is also used to: Control the storage service node to start up without load, and obtain a local configuration file, where the local configuration file is used to indicate a local disk cluster and a remote disk cluster corresponding to the storage service node; Through the management and control scheduling service node, the storage service node is controlled to load the local disk cluster and the remote disk cluster according to the local configuration file.
9. A data storage system, characterized in that: The data storage system is deployed with a management and control scheduling service node and at least one dual-head storage service node group, wherein the dual-head storage service node group includes two adjacently deployed storage service nodes, wherein: The control and scheduling service node is used to obtain disk cluster belonging data, wherein the disk cluster belonging data is used to represent the mapping relationship between at least one disk cluster and the storage service node to which it belongs; The management and control scheduling service node is further used to detect abnormal storage service nodes in the dual-head storage service node group, and according to the disk cluster affiliation data, schedule the disk cluster mounted on the abnormal storage service node to a normal storage service node in the dual-head storage service node group; The disk cluster includes a local disk cluster and a remote disk cluster. The local disk cluster is a disk cluster mounted when the storage service node is operating normally. The remote disk cluster is a disk cluster mounted by the storage service node when another storage service node in the dual-head storage service node group where the storage service node is located is abnormal. The storage service node is also used to: start up without load and obtain a local configuration file, wherein the local configuration file is used to indicate the local disk cluster and remote disk cluster corresponding to the storage service node; the management and scheduling service node is also used to: control the storage service node to load the local disk cluster and remote disk cluster according to the local configuration file.
10. An electronic device, characterized in that: include: Processor and memory; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor executes the disk cluster resource scheduling method according to any one of claims 1 to 7.
11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions. When the processor executes the computer-executable instructions, the disk cluster resource scheduling method according to any one of claims 1 to 7 is implemented.
12. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the disk cluster resource scheduling method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Large-scale cluster system and building method thereof
CN101778002A
Data request method and apparatus and medium
CN112000635A