CN115883662A - Storage system, scheduling method and device thereof, computer equipment and storage medium - Google Patents

Storage system, scheduling method and device thereof, computer equipment and storage medium Download PDF

Info

Publication number
CN115883662A
CN115883662A CN202211518528.9A CN202211518528A CN115883662A CN 115883662 A CN115883662 A CN 115883662A CN 202211518528 A CN202211518528 A CN 202211518528A CN 115883662 A CN115883662 A CN 115883662A
Authority
CN
China
Prior art keywords
storage
target
storage device
cluster
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211518528.9A
Other languages
Chinese (zh)
Inventor
朱家稷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202211518528.9A priority Critical patent/CN115883662A/en
Publication of CN115883662A publication Critical patent/CN115883662A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present specification provides a storage system and a scheduling method, apparatus, computer device and storage medium thereof, where the storage system includes at least one computing cluster and at least one storage cluster, the computing cluster includes a plurality of computing devices, and the storage cluster includes a plurality of storage devices; at least one communication path exists between at least one of the computing devices and at least one of the storage devices; the scheduling method comprises the following steps: acquiring network connection data, wherein the network connection data records: communication parameters of each communication path between at least one of the computing devices to at least one of the storage devices, the communication parameters characterizing communication performance of the communication path; and if the communication parameters of the communication path between the target computing equipment and the accessed current storage equipment are determined not to meet the preset communication conditions, selecting the target storage equipment meeting the preset communication conditions according to the record of the network connection data for the target computing equipment to access.

Description

Storage system, scheduling method and device thereof, computer equipment and storage medium
Technical Field
The present disclosure relates to the field of database technologies, and in particular, to a storage system, a scheduling method and apparatus thereof, a computer device, and a storage medium.
Background
At present, in the technical field of databases, one development direction is to separate calculation and storage, that is, calculation and storage respectively have independent physical clusters, and a calculation end in a calculation cluster accesses a storage end in a storage cluster through a network. The benefit of the separation is that as the scale becomes larger, the computation and storage can evolve and deploy independently, avoiding mutual locking.
However, in a separate computing and storage scenario, access latency issues arise because the compute side needs to access the storage side across the network. In the related art, the network access delay is reduced by using a higher-performance network or deploying a higher-performance memory on the computing end, but the deployment cost of the solutions is high.
Disclosure of Invention
To overcome the problems in the related art, the present specification provides a storage system, a scheduling method and apparatus thereof, a computer device, and a storage medium.
According to a first aspect of embodiments herein, there is provided a scheduling method of a storage system, the method including:
the storage system comprises at least one computing cluster comprising a plurality of computing devices and at least one storage cluster comprising a plurality of storage devices; at least one communication path exists between at least one of the computing devices and at least one of the storage devices;
the method comprises the following steps:
acquiring network connection data, wherein the network connection data records: communication parameters of each communication path between at least one computing device and at least one storage device, wherein the communication parameters represent communication performance of the communication paths;
and if the communication parameters of the communication path between the target computing equipment and the accessed current storage equipment are determined not to meet the preset communication conditions, selecting the target storage equipment meeting the preset communication conditions according to the record of the network connection data for the target computing equipment to access.
According to a second aspect of embodiments herein, there is provided a storage system comprising at least one computing cluster and at least one storage cluster, the computing cluster comprising a plurality of computing devices, the storage cluster comprising a plurality of storage devices; at least one communication path exists between any of the computing devices and any of the storage devices;
the storage system further comprises a scheduling node for performing the steps of the method as described above.
According to a third aspect of embodiments herein, there is provided a scheduling apparatus of a storage system, the storage system including at least one computing cluster and at least one storage cluster, the computing cluster including a plurality of computing devices, the storage cluster including a plurality of storage devices; at least one communication path exists between at least one of the computing devices and at least one of the storage devices;
the device comprises:
an acquisition module to: acquiring network connection data, wherein the network connection data records: communication parameters of each communication path between at least one of the computing devices to at least one of the storage devices, the communication parameters characterizing communication performance of the communication path;
a selection module to: and if the communication parameters of the communication path between the target computing equipment and the accessed current storage equipment are determined not to meet the preset communication conditions, selecting the target storage equipment meeting the preset communication conditions according to the record of the network connection data for the target computing equipment to access.
According to a fourth aspect of embodiments herein, there is provided a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the method embodiments of the first aspect.
According to a fifth aspect of embodiments herein, there is provided a computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the steps of the method embodiments of the first aspect when executing the computer program.
The technical scheme provided by the embodiment of the specification can have the following beneficial effects:
in the embodiment of the present specification, since network connection data is established for the storage system, the network connection data records: communication parameters of each communication path between at least one computing device and at least one storage device, wherein the communication parameters represent communication performance of the communication paths; based on this, if it is determined that the communication parameter of the communication path between the target computing device and the accessed current storage device does not satisfy the preset communication condition, the target storage device satisfying the preset communication condition may be selected for the target computing device to access through the record of the network connection data. Therefore, the scheme of the embodiment does not need to increase hardware cost and deployment cost, can dynamically detect in the operation process of the storage system, and does not need to solidify and plan in advance. Since the storage device with the shortest distance can be dynamically selected to be accessed by the computing device, the access delay is reduced.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the specification.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present specification and together with the description, serve to explain the principles of the specification.
FIG. 1 is a schematic diagram of a storage system shown in accordance with an exemplary embodiment of the present description.
Fig. 2A is a diagram illustrating an application scenario of a scheduling method of a storage system according to an exemplary embodiment of the present disclosure.
FIG. 2B is a schematic diagram of another storage system shown in the present specification according to an exemplary embodiment.
FIG. 2C is a schematic diagram of another storage system shown in accordance with an exemplary embodiment of the present description.
Fig. 3 is a block diagram of a computer device in which a scheduling apparatus of a storage system is shown according to an exemplary embodiment.
FIG. 4 is a block diagram illustrating a scheduling apparatus of a storage system according to an example embodiment.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present specification. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the specification, as detailed in the appended claims.
The terminology used in the description herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the description. As used in this specification and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used herein to describe various information, these information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, the first information may also be referred to as second information, and similarly, the second information may also be referred to as first information, without departing from the scope of the present specification. The word "if" as used herein may be interpreted as "at" \8230; "or" when 8230; \8230; "or" in response to a determination ", depending on the context.
The high-performance cloud disk stored by the current public cloud Block becomes a necessary product of cloud on a user core application, and various manufacturers release products with lower delay (about 100 microseconds) and higher IOPS (Input/Output Operations Per Second), so that how to better provide the low-delay high-performance cloud disk (such as EBS, elastic Block Storage, block Storage) is a technical problem which is currently concerned.
In the scenario of memory computation separation, to reduce access latency and improve performance, some solutions include:
(1) use of higher performance networks and network protocols; such as upgrading from a 25Gb (Gigabyte) network to a 100Gb network, or using RDMA (Remote Direct Memory Access) high performance network protocols, but the main problem is limited by the maturity of the underlying network technology and the deployment cost.
(2) The computing end uses a nonvolatile memory or an SSD (Solid State Disk or Solid State Drive) as a read-write cache to reduce the delay of cross-network access of storage computing. The main problems are that the addition of a nonvolatile memory or an SSD to a computing node is equal to the increase of the deployment cost of the computing node, the management, operation and maintenance of storage become more complex, and the benefits brought by the separation of storage and computation are reduced.
(3) Optimizing storage computing network access according to a fixed topology optimization mode; for example, some computing nodes and storage nodes are deployed under the same switch, and the computing nodes are restricted to access/preferentially access only these storage clusters deployed nearby. The main disadvantages of this approach are the scaling down of resource pooling, the low overall utilization that is easily caused by a fixed ratio, and the increased difficulty in maintenance.
FIG. 1 is a schematic diagram of a storage system including at least one computing cluster and at least one storage cluster, as illustrated in the present specification according to an exemplary embodiment.
In fig. 1, the computing clusters 11 and 12 are taken as examples, and the number of computing clusters in practical application may be arbitrarily configured as required. Each computing cluster includes a plurality of physical computing devices, such as computing device 111 through computing device 113 under computing cluster 11, computing device 121 and computing device 122 under computing cluster 12 shown in fig. 1.
Each computing device may run at least one computing node, which refers to a program for performing a specific computing task, and may specifically be a virtual machine or a container, and so on. Two compute nodes 1 and 2 are shown in FIG. 1 running in computer device 111. The computing device may also run at least one program (SDK) for communicating with storage devices in the storage cluster, as illustrated in fig. 1 by computing device 111 running 1 SDK, and each computing node running in the computing device may communicate with the storage device through the SDK of the device in which it is located. In practice, running multiple SDKs in a computing device is also optional.
The computing cluster may further include a management service node, where the management service node refers to a program for managing each computing device in the cluster, the management service node may be used to allocate a computing task to the computing devices in the cluster, and the management service node may run on any computing device in the computing cluster or may run on other physical devices in the storage system.
In fig. 1, the storage cluster 21 and the storage cluster 22 are taken as examples, and the number of the storage clusters in practical application may be configured arbitrarily according to needs. Each storage cluster includes a plurality of storage devices, such as storage device 211 through storage device 214 under storage cluster 21, storage device 221 and storage device 224 under storage cluster 22 shown in FIG. 1.
Each storage cluster comprises storage resources, such as a storage resource 31 connected with the storage cluster 21 and a storage resource 32 connected with the storage cluster 21 in the figure; the storage resource may specifically be a plurality of external storages (such as hard disks), and each storage device in each storage cluster may access any external storage in the cluster. And each storage device under each storage cluster can also access any external storage under other storage clusters through the storage devices in other storage clusters.
Any computing cluster is connected to any storage cluster through one or more network devices, that is, at least one computing device is connected to at least one storage device through a network device, or a part of the computing devices is connected to a part of the storage device through a network device, or any computing device is connected to any storage device through a network device, where the network device includes, but is not limited to, a switch or a router, and the network device is not shown in fig. 1 for convenience of example.
The Storage Service in this embodiment includes, but is not limited to, elastic Block Storage (EBS), object Storage Service (OSS), table Storage (OTS), and other Storage services. The block storage is illustrated in fig. 1 as an example. In the mixed storage service scenario, the number of storage services in the distributed storage system is greater than 1.
Each storage device may run at least one data serving node (BlockServer, BS) and at least one data storage node (ChunkServer, CS); the data service node BS is configured to receive a data read-write request sent by a computing device, and the data storage node CS is configured to access a corresponding external memory according to the data read-write request. The data service node and the data storage node may be different functions in the same computer program, or may be different computer programs, which is not limited in this embodiment.
The storage system further includes a management service node for managing each storage cluster, where the management service node is a computer program and may run on any storage device in the storage cluster or may run on an independent device.
Each storage cluster further includes a management service node BM (block master, block storage cluster management service) of the cluster, and the management service node BM may operate in any storage device in the storage cluster or may also operate in other physical devices in the storage cluster.
Although any computing device is connected with any storage device through a network device, before the computing device accesses a certain storage device to obtain the storage service provided by the storage device, a management service node in a storage cluster needs to distribute the storage service; that is, the management service node assigns a storage device to the computing device, which the computing device can access.
Illustratively, when the computing device creates a corresponding storage resource, a management service node managing each storage cluster decides one of the storage clusters, and then a BM in the decided storage cluster schedules a storage device to establish a connection with the computing device, so that the computing device accesses the external memory through the storage device.
As an example, a certain computing program in the computing device 111 accesses the storage cluster 21 through SDK1, and the access flow may be:
the SDK1 initiates a storage resource request to a management service program for managing each storage cluster, and the management service program for managing each storage cluster decides the storage cluster 1 and informs the SDK1;
BM1 in the SDK1 storage cluster 21 initiates an access request;
BM1 allocates BS1 to the calculation program and informs BS1 to SDK1;
after the SDK1 establishes connection with the BS1, a data access request is sent to the BS 1;
BS1 sends the data access request to CS1, and accesses the corresponding external memory through CS 1.
When the cloud hard disk is created for the computing node, the management and control service of the upper layer can ensure that the cloud hard disk is uniformly created in a plurality of storage clusters. As the deployment scale of a computer room becomes larger (for example, 10 ten thousand machines are deployed), the network interconnection topology between machines becomes more and more complex, and the network delay from any computing node to a storage node varies greatly, which is caused by the network topology distance on one hand, for example, data transmission needs to be completed through different numbers of network devices, and the forwarding of each network device needs 5 to 10 microseconds, which causes the variation of the network delay. Another aspect is that because the dynamic load of each network device is different, if the traffic and load of one network device is high, it will cause a delay in forwarding data.
Based on this, an embodiment of the present specification provides a scheduling method of a storage system, as shown in fig. 2A, which is a flowchart of a scheduling method of a storage system shown in the present specification according to an exemplary embodiment, and includes the following steps:
in step 202, network connection data is obtained, the network connection data records: communication parameters of each communication path between at least one of the computing devices to at least one of the storage devices, the communication parameters characterizing communication performance of the communication path.
In step 202, if it is determined that the communication parameter of the communication path between the target computing device and the accessed current storage device does not satisfy the preset communication condition, selecting the target storage device satisfying the preset communication condition according to the record of the network connection data for the target computing device to access.
For example, the method of this embodiment may be applied to a Master scheduling node (SM), where the SM may be a computer program and may run in any device in a storage system, for example, any computing device, or any storage device, or other physical devices. Fig. 2B is a schematic diagram of a storage system according to an exemplary embodiment, and is described by adding an SM to fig. 1. In practical applications, there may be a plurality of SMs, and a distributed implementation may be adopted.
Illustratively, one or more communication paths exist between at least one of the computing devices and at least one of the storage devices, and the network connection data may record communication parameters of all communication paths between at least one of the computing devices and at least one of the storage devices, or may record communication parameters of part of the communication paths.
In practical application, the communication parameters may be set arbitrarily according to actual needs, including but not limited to communication duration, network device forwarding times, or busy parameters of the network device. Wherein, any computing device is connected with the storage device through one or more network devices, and the communication parameters of the communication path between the computing device and the storage device can be determined based on the network devices passing between the computing device and the storage device.
By way of example, when the communication path between the computing device A1 and the storage device B1 passes through the network devices C1 and C2 and is a route from A1 to C2 to B1, the communication duration between A1 and B1 is the sum of the communication duration between A1 and C1, the communication duration between C1 and C2, and the communication duration between C2 and B1. The network device forwarding times are the times that communication messages between the computing device and the storage device are forwarded by the network device, for example, 3 times of forwarding (3 hops) of the network device are required for communication between A1 and B1. The communication parameters may also include parameters characterizing how busy the network device is, for example, parameters such as a cache size of the network device.
For example, the data structure of the network connection data may include a graph, wherein nodes in the graph represent computing devices, network devices or storage devices, edges in the graph represent connectivity of two devices, and weights of the edges represent communication parameters.
Illustratively, the record in the network connection data is obtained by: acquiring response data which is sent by an initiating terminal and corresponds to a connection detection request, and acquiring communication parameters of a communication path between the initiating terminal and a receiving terminal according to the response data; the connection detection request is initiated by an initiating end, and under the condition that the initiating end is computing equipment, a corresponding receiving end is storage equipment; and under the condition that the initiating end is a storage device, the corresponding receiving end is a computing device. In this embodiment, the initiator initiating the connection probe request may be a computing device or a storage device.
In some examples, the connection probe request may include a Ping instruction or the like. Ping (Packet Internet Groper) is an Internet Packet explorer, a program for testing the amount of network connections. Ping is a service command working in the application layer of the TCP/IP network architecture, and mainly sends an ICMP (Internet Control Message Protocol) Echo request Message to a specific destination host, and tests whether the destination station can reach and know the relevant status.
The network connection data can be updated in various ways, for example, the network connection data can be updated dynamically in real time or periodically. Illustratively, the connection probing request is initiated by an initiating terminal to a corresponding receiving terminal according to a set time; and/or the connection detection request is initiated from the initiating end to the receiving end under the condition that the initiating end and the receiving end carry out storage service communication.
In practical applications, there may be various implementations for determining that the communication parameters of the communication path between the current storage devices allocated to the target computing device do not satisfy the preset communication condition. For example, the SM may be actively executed based on network connection data, for example, the SM may detect, according to a set period, communication performance between the current computing apparatus and the storage apparatus allocated to the computing apparatus from the network connection data, and if it is found that communication parameters of a communication path between the target computing apparatus and the accessed current storage apparatus do not satisfy a preset communication condition, may actively select the target storage apparatus. In other examples, the determination may also be made during the storage service communication between the target computing device and the current storage device, for example, the target computing device initiates a storage service request to the accessed current storage device, and if the communication duration of the communication message between the target computing device and the current storage device is found to be longer, a communication delay message may be sent to the SM, and the SM receives the message, and may determine that the communication parameter of the communication path between the target computing device and the accessed current storage device does not satisfy the preset communication condition. Or, after initiating the connection detection request between the computing device and the storage device, sending response data corresponding to the connection detection request to the SM, and after receiving the response data and acquiring the communication parameters of the communication path between the initiating terminal and the receiving terminal according to the response data, determining that the communication parameters do not satisfy the preset communication conditions.
In some examples, the communication parameter includes a communication duration, and the preset communication condition includes:
a communication duration between the computing device and the storage device is above a first duration threshold; and/or the presence of a gas in the gas,
and the difference value of the communication time length between the target computing device and the target storage device relative to the communication time length between the target computing device and the current storage device is higher than a second time length threshold value.
The first duration threshold and the second duration threshold may be flexibly configured according to needs, and this embodiment does not limit this. The embodiment designs that the communication parameters comprise communication time length, and can accurately determine whether communication delay exists between the computing device and the storage device based on the designed preset communication condition.
In practical application, the method can be combined with other dimensions for selection besides meeting the preset communication condition. In some examples, the selecting a target storage device that satisfies a preset communication condition includes:
and selecting the target storage equipment which meets the preset communication condition and the storage resource capacity of the storage cluster where the target storage equipment is located meets the preset capacity condition.
The storage resource capacity may be a current remaining capacity of the external memory, and the preset capacity condition may be flexibly configured as needed, for example, the storage resource capacity is higher than a preset capacity threshold, and the preset capacity threshold may be flexibly configured as needed, which is not limited in this embodiment. Based on this, in the embodiment, when selecting the target storage device, both the communication condition and the capacity of the storage resource of the storage cluster are referred to, so that the selection of the target storage device may be flexibly adjusted based on the storage capacity of the storage cluster.
In some examples, the selecting a target storage device satisfying the preset communication condition for the target computing device to access may include:
determining at least one first storage device, other than the current storage device, in communication with the target computing device according to the record of the network connection data;
and selecting the target storage equipment meeting the preset communication condition from the at least one first storage equipment for the target computing equipment to access.
As an example, the network connection data may record information of all computing devices, all network devices and all storage devices, and all storage devices other than the current storage device may be connected to the computing device, i.e. the first storage device includes all storage devices other than the current storage device.
If the network connection data does not record communication paths between all computing devices and all storage devices, at least one first storage device except the current storage device, which is communicated with the target computing device, can be searched from the network connection data.
And then, selecting the target storage equipment meeting the preset communication condition from the at least one first storage equipment for the target computing equipment to access.
Wherein, a traversal mode can be adopted. For example, the selecting, from the at least one first storage device, a target storage device meeting a preset communication condition for the target computing device to access includes:
and acquiring communication parameters of first communication paths from each first storage device to the target computing device, and selecting the target storage device meeting preset communication conditions for the target computing device to access based on the first communication path with the optimal communication parameters from the acquired communication parameters of the first communication paths.
The first storage device has a plurality of communication paths to the target computing device, and the network device may determine an optimal path between the first storage device and the target computing device through a routing algorithm.
In this embodiment, a traversal mode is adopted, and a target storage device with the optimal communication performance can be selected.
In other examples, a traversal mode is not adopted, which is optional, for example, all the first storage devices may be sorted (the sorting mode may be random or may be customized), then the first storage devices are sequentially selected, the communication parameters of each first communication path from the selected first storage device to the target computing device are determined, and the searching may be stopped as long as the currently selected first storage device meets a preset communication condition, which may reduce overhead and improve efficiency.
After selecting a new target storage device, the target computing device may access the target storage device in a variety of ways. For example, in some examples, the method further comprises:
if the current storage device and the target storage device are not in the same storage cluster, performing hot migration on data, stored by the cluster where the current storage device is located, corresponding to the target computing device to the storage cluster where the target storage device is located; or the like, or, alternatively,
if the current storage device and the target storage device are in the same storage cluster, accessing the target storage device by the target computing device, and accessing data corresponding to the target computing device through the target storage device; or the like, or a combination thereof,
allocating a target storage device to the target computing device in response to the access request of the target computing device.
Based on the actual application scene, three embodiments for realizing the target computing device to access the target storage device are provided:
the first embodiment is a case that the current storage device is not in the same storage cluster as the target storage device, then data hot migration may be performed. In some examples, the storage devices operate with data service nodes, and at least one storage device in the storage cluster operates with a cluster management service node;
the hot migrating the data corresponding to the target computing device and stored by the cluster where the current storage device is located to the storage cluster where the target storage device is located includes:
sending the device information of the target storage device to a cluster management service node of a storage cluster where the target storage device is located, so that the cluster management service node of the storage cluster where the target storage device is located notifies a data service node of the target storage device according to the device information, communicating the data service node of the target storage device with the data service node of the current storage device, performing thermal migration on data, corresponding to the target computing device, stored in the cluster where the current storage device is located to the storage cluster where the target storage device is located, and establishing connection with the target computing device through the data service node of the target storage device.
For example, as shown in fig. 2B, if the target computing device 121 currently accesses the current storage device 213, after the scheduling process, it needs to be switched to access the target storage device 221. Since the current storage device 213 and the target storage device 221 are located in different storage clusters, the SM sends a message to the BM2 to notify the device information of the target computing device 121, the BM2 notifies the BS5 of the target storage device 221, the BS5 establishes a hot migration connection with the BS3, and gradually migrates data from an external storage of the storage cluster 21 to an external storage under the storage cluster 22. When the hot migration is near completion (which is also optional after completion), BS5 may inform target computing device 121 that a subsequent data request is directed to BS5.
The second embodiment is a case where the current storage device and the target storage device are in the same storage cluster, and a fast switch may be implemented through message notification. For example, the accessing, by the target computing device, the target storage device and accessing, by the target storage device, data corresponding to the target computing device includes: and sending the equipment information of the target storage equipment to a cluster management service node of a storage cluster where the target storage equipment is located, informing a data service node of the target storage equipment by the cluster management service node according to the equipment information, and establishing connection between the data service node of the target storage equipment and the target computing equipment.
For example, as shown in fig. 2B, if the target computing device 111 is currently accessing the current storage device 211, after the scheduling process, it needs to switch to access the target storage device 212. Since the current storage device 213 and the target storage device 221 are located in the same storage cluster, the SM sends a message to the BM2 to notify the device information of the target computing device 121, and the BM2 notifies the BS2, so that the target computing device 111 establishes a connection with the BS 2.
A third embodiment is where the target computing device is allocated storage. Illustratively, the allocating a target storage device to the target computing device in response to the access request of the target computing device comprises: and sending the device information of the target storage device to a management service node for managing each storage cluster, so that the management service node allocates the target storage device to the target computing device according to the device information after receiving the access request of the target computing device.
As an example, as shown in fig. 2C, assume that a cloud hard disk to be accessed by the computing node 4 is initially created in the storage cluster on the left, and the data service is accessed through the BS 3.
All BSs (including BS 3) report network connection information with the computing node to the SM periodically (the information is mainly obtained by periodically initiating Ping protocol between nodes), including routing path and delay of network packets.
The SM draws a network connection graph among the whole nodes through the network connection information, and finds that the network access delay can be greatly reduced if the computing node 4 accesses from the BS5 through a shortest path algorithm or other path optimization algorithms.
The SM pushes the scheduling optimization strategy to the BM of the target cluster: and switching the cloud hard disk accessed on the computing node 4 from the BS3 of the left cluster to the BS5 of the right cluster.
And the right cluster BM sends the hot migration task to the BS5.
And the BS5 establishes a cloud disk hot migration connection and a protocol with the BS3 and gradually migrates the cloud disk data to the cluster on the right.
When the migration reaches the critical point, the BS5 tells the computing node 4 to switch subsequent accesses to the BS5. While the BS3 stops and offloads service to the compute node 4.
After the SM establishes the network connection graph between the computing-storage nodes, when a user establishes a cloud disk, a new disk can be preferentially established in a cluster closest to the computing nodes and is served by the optimal BS node.
On the deployment of a cloud IDC machine room, the computing and storage clusters can be mixed under one switch, but the deployment proportion is not forced (or adjusted according to running data), the vicinity of the computing nodes is optimized, and the closer storage nodes can be found to access the data service.
The embodiment can dynamically optimize the network access delay through the main network access detection and dynamic scheduling method. The technical advantages include: by utilizing the non-equality of network access distances among nodes of the large-scale cloud computer room, the node with the shortest distance is dynamically selected to be accessed, so that the delay of 20 microseconds to 100 microseconds can be reduced on average (the end-to-end delay of block storage is in the magnitude of 100-500 microseconds), and the delay performance is improved by about 20%. Without increasing hardware cost and deployment cost. Dynamic detection is realized, a pre-solidified plan is not needed, and the scheduling can be actively selected by combining with the service level of a user. Due to the fact that a shorter network access path is selected, the availability of the whole service and the effectiveness of network flow are improved.
And dynamically drawing a network access map from the computing node to the storage node, and selecting an optimal access point through real-time delay data to optimize network access delay. And combining the block storage live migration flow to finish the nearby scheduling without perception to the user. Through network access maps, cloud computer room computing node and storage node deployment are optimized (for example, the access performance is continuously optimized by mixing in proportion, the separation advantage of storage and computing is fully utilized, and more cost is not increased.
Corresponding to the foregoing embodiments of the scheduling method of the storage system, the present specification also provides embodiments of a scheduling apparatus of the storage system and a computer device applied thereto.
The embodiment of the scheduling apparatus of the storage system of the present specification can be applied to a computer device, such as a server or a terminal device. The device embodiments may be implemented by software, or by hardware, or by a combination of hardware and software. The software implementation is taken as an example, and as a device in a logical sense, a processor in which the device is located processes a file reads corresponding computer program instructions in the nonvolatile memory into the memory to run. From a hardware aspect, as shown in fig. 3, it is a hardware structure diagram of a computer device where a scheduling apparatus of a storage system of the present specification is located, except for the processor 310, the memory 330, the network interface 320, and the nonvolatile memory 340 shown in fig. 3, in an embodiment, a computer device where a scheduling apparatus 331 of a storage system is located may also include other hardware according to an actual function of the computer device, which is not described again.
FIG. 4 is a block diagram illustrating a scheduling apparatus of a storage system including at least one computing cluster and at least one storage cluster, the computing cluster including a plurality of computing devices and the storage cluster including a plurality of storage devices, according to an exemplary embodiment; at least one communication path exists between at least one of the computing devices and at least one of the storage devices;
the device comprises:
an obtaining module 41, configured to: acquiring network connection data, wherein the network connection data records: communication parameters of each communication path between at least one of the computing devices to at least one of the storage devices, the communication parameters characterizing communication performance of the communication path;
a selecting module 42 for: and if the communication parameters of the communication path between the target computing equipment and the accessed current storage equipment are determined not to meet the preset communication conditions, selecting the target storage equipment meeting the preset communication conditions according to the record of the network connection data for the target computing equipment to access.
In some examples, the record in the network connection data is obtained by:
acquiring response data which is sent by an initiating terminal and corresponds to a connection detection request, and acquiring communication parameters of a communication path between the initiating terminal and a receiving terminal according to the response data;
the connection detection request is initiated by an initiating end, and under the condition that the initiating end is computing equipment, a corresponding receiving end is storage equipment; and under the condition that the initiating end is a storage device, the corresponding receiving end is a computing device.
In some examples, the connection probing request is initiated by an initiating end to a corresponding receiving end according to a set time; and/or the presence of a gas in the gas,
the connection detection request is initiated from the initiating terminal to the receiving terminal under the condition that the initiating terminal and the receiving terminal carry out storage service communication.
In some examples, the selecting the target storage device meeting the preset communication condition for the target computing device to access includes:
determining at least one first storage device, other than the current storage device, in communication with the target computing device according to the record of the network connection data;
and selecting the target storage equipment meeting the preset communication condition from the at least one first storage equipment for the target computing equipment to access.
In some examples, the selecting, from the at least one first storage device, a target storage device meeting a preset communication condition for the target computing device to access, includes:
and acquiring communication parameters of first communication paths from each first storage device to the target computing device, and selecting the target storage device meeting preset communication conditions for the target computing device to access based on the first communication path with the optimal communication parameters from the acquired communication parameters of the first communication paths.
In some examples, the communication parameter includes a communication duration, and the preset communication condition includes:
a communication duration between the computing device and the storage device is above a first duration threshold; and/or the presence of a gas in the gas,
and the difference value of the communication time length between the target computing device and the target storage device relative to the communication time length between the target computing device and the current storage device is higher than a second time length threshold value.
In some examples, the selecting a target storage device that satisfies a preset communication condition includes:
and selecting the target storage equipment which meets the preset communication condition and the storage resource capacity of the storage cluster where the target storage equipment is located meets the preset capacity condition.
In some examples, the method further comprises:
if the current storage device and the target storage device are not in the same storage cluster, performing hot migration on data, stored by the cluster where the current storage device is located, corresponding to the target computing device to the storage cluster where the target storage device is located; or the like, or, alternatively,
if the current storage device and the target storage device are in the same storage cluster, accessing the target storage device by the target computing device, and accessing data corresponding to the target computing device through the target storage device; or the like, or, alternatively,
allocating a target storage device to the target computing device in response to the access request of the target computing device.
In some examples, the storage devices are operated with data services, and at least one storage device in the storage cluster is operated with cluster management services;
the hot migrating the data corresponding to the target computing device and stored by the cluster where the current storage device is located to the storage cluster where the target storage device is located includes:
sending the device information of the target storage device to a cluster management service of a storage cluster where the target storage device is located, so that the cluster management service of the storage cluster where the target storage device is located informs a data service of the target storage device according to the device information, communicating the data service of the target storage device with the data service of the current storage device, performing thermal migration on data, which are stored in the cluster where the current storage device is located and correspond to the target computing device, to the storage cluster where the target storage device is located, and establishing connection between the data service of the target storage device and the target computing device;
and/or the presence of a gas in the gas,
the accessing, by the target computing device, the target storage device and accessing, by the target storage device, data corresponding to the target computing device includes:
sending the equipment information of the target storage equipment to a cluster management service of a storage cluster where the target storage equipment is located, informing a data service of the target storage equipment by the cluster management service according to the equipment information, and establishing connection between the data service of the target storage equipment and the target computing equipment;
and/or the presence of a gas in the gas,
the allocating a target storage device to the target computing device in response to the access request of the target computing device comprises:
and sending the device information of the target storage device to a management service for managing each storage cluster, so that the management service allocates the target storage device to the target computing device according to the device information after receiving the access request of the target computing device.
The implementation process of the function and the role of each module in the scheduling apparatus of the storage system is specifically detailed in the implementation process of the corresponding step in the scheduling method of the storage system, and is not described again here.
Accordingly, the present specification further provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, the computer program implements the steps of the foregoing scheduling method embodiment of the storage system.
Accordingly, the embodiments of the present specification further provide a computer device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the scheduling method embodiment of the storage system when executing the program.
Accordingly, the present specification further provides a computer readable storage medium, on which a computer program is stored, where the computer program is executed by a processor to implement the steps of the scheduling method embodiment of the storage system.
For the device embodiments, since they substantially correspond to the method embodiments, reference may be made to the partial description of the method embodiments for relevant points. The above-described embodiments of the apparatus are merely illustrative, wherein the modules described as separate parts may or may not be physically separate, and the parts displayed as modules may or may not be physical modules, may be located in one place, or may be distributed on a plurality of network modules. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution in the present specification. One of ordinary skill in the art can understand and implement it without inventive effort.
The above embodiments may be applied to one or more electronic devices, which are devices capable of automatically performing numerical calculation and/or information processing according to instructions set or stored in advance, and the hardware of the electronic devices includes, but is not limited to, a microprocessor, an Application Specific Integrated Circuit (ASIC), a Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), an embedded device, and the like.
The electronic device may be any electronic product capable of performing human-computer interaction with a user, for example, a Personal computer, a tablet computer, a smart phone, a Personal Digital Assistant (PDA), a game machine, an interactive Internet Protocol Television (IPTV), an intelligent wearable device, and the like.
The electronic device may also include a network device and/or a user device. The network device includes, but is not limited to, a single network server, a server group consisting of a plurality of network servers, or a Cloud Computing (Cloud Computing) based Cloud consisting of a large number of hosts or network servers.
The Network where the electronic device is located includes, but is not limited to, the internet, a wide area Network, a metropolitan area Network, a local area Network, a Virtual Private Network (VPN), and the like.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims can be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
The steps of the above methods are divided for clarity, and the implementation may be combined into one step or split some steps, and the steps are divided into multiple steps, so long as the same logical relationship is included, which are all within the protection scope of the present patent; it is within the scope of the present application to add insignificant modifications to the algorithms or processes or to introduce insignificant design changes to the core design without changing the algorithms or processes.
Reference herein to "a particular example," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the specification. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
Other embodiments of the present description will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This specification is intended to cover any variations, uses, or adaptations of the specification following, in general, the principles of the specification and including such departures from the present disclosure as come within known or customary practice within the art to which the specification pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the specification being indicated by the following claims.
It will be understood that the present description is not limited to the precise arrangements described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present description is limited only by the appended claims.
The above description is only a preferred embodiment of the present disclosure, and should not be taken as limiting the present disclosure, and any modifications, equivalents, improvements, etc. made within the spirit and principle of the present disclosure should be included in the scope of the present disclosure.

Claims (13)

1. A scheduling method of a storage system, the storage system comprising at least one computing cluster and at least one storage cluster, the computing cluster comprising a plurality of computing devices, the storage cluster comprising a plurality of storage devices; at least one communication path exists between at least one of the computing devices and at least one of the storage devices;
the method comprises the following steps:
acquiring network connection data, wherein the network connection data records: communication parameters of each communication path between at least one computing device and at least one storage device, wherein the communication parameters represent communication performance of the communication paths;
and if the communication parameters of the communication path between the target computing equipment and the accessed current storage equipment are determined not to meet the preset communication conditions, selecting the target storage equipment meeting the preset communication conditions according to the record of the network connection data for the target computing equipment to access.
2. The method of claim 1, wherein the record in the network connection data is obtained by:
acquiring response data which is sent by an initiating terminal and corresponds to a connection detection request, and acquiring communication parameters of a communication path between the initiating terminal and a receiving terminal according to the response data;
the connection detection request is initiated by an initiating end, and under the condition that the initiating end is computing equipment, a corresponding receiving end is storage equipment; and under the condition that the initiating terminal is the storage device, the corresponding receiving terminal is the computing device.
3. The method of claim 2, wherein the connection detection request is initiated by an initiating end to a corresponding receiving end according to a set time; and/or the presence of a gas in the gas,
the connection detection request is initiated from an initiating terminal to a receiving terminal under the condition that the initiating terminal and the receiving terminal carry out storage service communication.
4. The method of claim 1, wherein the selecting a target storage device meeting the preset communication condition for the target computing device to access comprises:
determining at least one first storage device, other than the current storage device, in communication with the target computing device according to the record of the network connection data;
and selecting a target storage device meeting the preset communication condition from the at least one first storage device for the target computing device to access.
5. The method of claim 4, wherein the selecting, from the at least one first storage device, a target storage device that meets a preset communication condition for access by the target computing device comprises:
and communication parameters of first communication paths from each first storage device to the target computing device are acquired, and the target storage device meeting preset communication conditions is selected from the acquired communication parameters of the first communication paths on the basis of the first communication path with the optimal communication parameters to be accessed by the target computing device.
6. The method of claim 1, the communication parameter comprising a communication duration, the preset communication condition comprising:
a communication duration between the computing device and the storage device is above a first duration threshold; and/or the presence of a gas in the gas,
and the difference value of the communication time length between the target computing device and the target storage device relative to the communication time length between the target computing device and the current storage device is higher than a second time length threshold value.
7. The method according to claim 1 or 6, wherein the selecting the target storage device meeting the preset communication condition comprises:
and selecting the target storage equipment which meets the preset communication condition and the storage resource capacity of the storage cluster where the target storage equipment is located meets the preset capacity condition.
8. The method of claim 1, further comprising:
if the current storage device and the target storage device are not in the same storage cluster, performing hot migration on data, stored by the cluster where the current storage device is located, corresponding to the target computing device to the storage cluster where the target storage device is located; or the like, or a combination thereof,
if the current storage device and the target storage device are in the same storage cluster, accessing the target storage device by the target computing device, and accessing data corresponding to the target computing device through the target storage device; or the like, or, alternatively,
allocating a target storage device to the target computing device in response to the access request of the target computing device.
9. The method of claim 8, the storage devices operating with data service nodes, at least one storage device in the storage cluster operating with a cluster management service node;
the hot migrating the data corresponding to the target computing device and stored by the cluster where the current storage device is located to the storage cluster where the target storage device is located includes:
sending the device information of the target storage device to a cluster management service node of a storage cluster where the target storage device is located, so that the cluster management service node of the storage cluster where the target storage device is located notifies a data service node of the target storage device according to the device information, communicating the data service node of the target storage device with the data service node of the current storage device, performing thermal migration on data, which are stored in the cluster where the current storage device is located and correspond to the target computing device, to the storage cluster where the target storage device is located, and establishing connection with the target computing device through the data service node of the target storage device;
and/or the presence of a gas in the gas,
the accessing, by the target computing device, the target storage device and accessing, by the target storage device, data corresponding to the target computing device includes:
sending the device information of the target storage device to a cluster management service node of a storage cluster where the target storage device is located, notifying a data service node of the target storage device by the cluster management service node according to the device information, and establishing connection between the data service node of the target storage device and the target computing device;
and/or the presence of a gas in the gas,
the allocating a target storage device to the target computing device in response to the access request of the target computing device comprises:
and sending the device information of the target storage device to a management service node for managing each storage cluster, so that the management service node allocates the target storage device to the target computing device according to the device information after receiving the access request of the target computing device.
10. A storage system comprising at least one computing cluster and at least one storage cluster, the computing cluster comprising a plurality of computing devices, the storage cluster comprising a plurality of storage devices; at least one communication path exists between at least one of the computing devices and at least one of the storage devices;
the storage system further comprises a scheduling node for performing the steps of the method of any of claims 1 to 9.
11. A scheduling apparatus of a storage system, the storage system comprising at least one computing cluster and at least one storage cluster, the computing cluster comprising a plurality of computing devices, the storage cluster comprising a plurality of storage devices; at least one communication path exists between at least one of the computing devices and at least one of the storage devices;
the device comprises:
an acquisition module to: acquiring network connection data, wherein the network connection data records: communication parameters of each communication path between at least one of the computing devices to at least one of the storage devices, the communication parameters characterizing communication performance of the communication path;
a selection module for: and if the communication parameters of the communication path between the target computing equipment and the accessed current storage equipment are determined not to meet the preset communication conditions, selecting the target storage equipment meeting the preset communication conditions according to the record of the network connection data for the target computing equipment to access.
12. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the steps of the method of any of claims 1 to 9 are implemented when the computer program is executed by the processor.
13. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of the method of any one of claims 1 to 9.
CN202211518528.9A 2022-11-29 2022-11-29 Storage system, scheduling method and device thereof, computer equipment and storage medium Pending CN115883662A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211518528.9A CN115883662A (en) 2022-11-29 2022-11-29 Storage system, scheduling method and device thereof, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211518528.9A CN115883662A (en) 2022-11-29 2022-11-29 Storage system, scheduling method and device thereof, computer equipment and storage medium

Publications (1)

Publication Number Publication Date
CN115883662A true CN115883662A (en) 2023-03-31

Family

ID=85764854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211518528.9A Pending CN115883662A (en) 2022-11-29 2022-11-29 Storage system, scheduling method and device thereof, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115883662A (en)

Similar Documents

Publication Publication Date Title
US10601728B2 (en) Software-defined data center and service cluster scheduling and traffic monitoring method therefor
US9143452B2 (en) Data processing
JP6556875B2 (en) Software-defined data center and service cluster placement method there
US9465641B2 (en) Selecting cloud computing resource based on fault tolerance and network efficiency
CN110463140B (en) Network service level agreement for computer data center
US20140068602A1 (en) Cloud-Based Middlebox Management System
KR20140027518A (en) Method and apparatus for assignment of virtual resources within a cloud environment
JP5804189B2 (en) Information processing system, information processing method, program
CN108632063B (en) Method, device and system for managing network slice instances
CN107317707B (en) SDN network topology management method based on point coverage set
CN105119993B (en) Virtual machine deployment method and device
CN113364850A (en) Software-defined cloud-edge collaborative network energy consumption optimization method and system
CN103001892B (en) Based on network resource allocation method and the system of cloud computing
US20140226975A1 (en) Method and apparatus for boosting data intensive processing through optical circuit switching
CN115176227A (en) Master data placement in distributed storage systems
KR102650892B1 (en) Apparatus for container orchestration in geographically distributed multi cloud environment and method using the same
CN110535673B (en) Virtual subnet construction method, equipment and storage medium
US20190042294A1 (en) System and method for implementing virtualized network functions with a shared memory pool
KR102201799B1 (en) Dynamic load balancing method and dynamic load balancing device in sdn-based fog system
Chen et al. A fast converging mechanism for load balancing among sdn multiple controllers
CN109302302A (en) Service scalable method, system and the computer readable storage medium of network element
CN115883662A (en) Storage system, scheduling method and device thereof, computer equipment and storage medium
He et al. Firebird: Network-aware task scheduling for spark using sdns
CN114827079A (en) Capacity expansion method, equipment and storage medium for network address conversion gateway
CN111106974B (en) Method and device for testing lossless network performance

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination