CN112995311A - Service providing method, device and storage medium - Google Patents

Service providing method, device and storage medium Download PDF

Info

Publication number
CN112995311A
CN112995311A CN202110184185.6A CN202110184185A CN112995311A CN 112995311 A CN112995311 A CN 112995311A CN 202110184185 A CN202110184185 A CN 202110184185A CN 112995311 A CN112995311 A CN 112995311A
Authority
CN
China
Prior art keywords
iscsi
storage node
storage
node
client
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.)
Granted
Application number
CN202110184185.6A
Other languages
Chinese (zh)
Other versions
CN112995311B (en
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.)
Beijing Star Net Ruijie Networks Co Ltd
Original Assignee
Beijing Star Net Ruijie Networks 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 Beijing Star Net Ruijie Networks Co Ltd filed Critical Beijing Star Net Ruijie Networks Co Ltd
Priority to CN202110184185.6A priority Critical patent/CN112995311B/en
Publication of CN112995311A publication Critical patent/CN112995311A/en
Application granted granted Critical
Publication of CN112995311B publication Critical patent/CN112995311B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

The embodiment of the application provides a service providing method, equipment and a storage medium. In the embodiment of the application, the iSCSI client is redirected to the first storage node with the same IP address as the iSCSI client, so that an iSCSI server and the iSCSI client can be simultaneously deployed on the first storage node, and I/O data between the iSCSI client and the iSCSI server does not need to be transmitted across a node network, thereby realizing load localization, improving the I/O performance of the iSCSI server and reducing the bandwidth requirement of an iSCSI service network. Under the condition, if the load balance is achieved when the iSCSI client is deployed on the storage node, the load balance of the iSCSI server can be achieved.

Description

Service providing method, device and storage medium
Technical Field
The present application relates to the field of distributed storage technologies, and in particular, to a service providing method, device, and storage medium.
Background
Internet Small Computer Interface (iSCSI) is a storage technology based on Transmission Control Protocol/Internet Protocol (TCP/IP) Protocol. The iSCSI protocol employs a client/server model, in which a client is generally called initiator (initiator) and a server is called target (target); data is encapsulated and reliably transmitted between initiator and target at a block-level.
The iSCSI protocol is widely used in distributed storage systems as a commonly used block storage protocol. Wherein, initiator under iSCSI protocol is usually deployed on client of distributed storage system, and target is usually deployed in storage node in distributed storage system for providing iSCSI service for initiator. In practical applications, when the target provides an iSCSI service for the initiator, the problem of low I/O performance exists.
Disclosure of Invention
Aspects of the present application provide a service providing method, device and storage medium for improving I/O performance of an iSCSI server.
An embodiment of the present application provides a service providing method, which is applicable to a storage node serving as a master node in a distributed storage system, and includes: receiving a message sent by an iSCSI client of an Internet small computer interface, wherein the message comprises an Internet Protocol (IP) address of the iSCSI client; judging whether a first storage node with the same IP address as that of the iSCSI client exists in the distributed storage system; if the iSCSI client side exists, the iSCSI client side is redirected to the first storage node, and the first storage node is controlled to operate an iSCSI server side corresponding to the iSCSI client side, so that the iSCSI server side provides iSCSI service for the iSCSI client side.
An embodiment of the present application further provides a server device, including: a memory and a processor; a memory for storing a computer program; a processor coupled with the memory for executing the computer program for: receiving a message sent by an iSCSI client of an Internet small computer interface, wherein the message comprises an Internet Protocol (IP) address of the iSCSI client; judging whether a first storage node with the same IP address as that of the iSCSI client exists in the distributed storage system; if the iSCSI client side exists, the iSCSI client side is redirected to the first storage node, and the first storage node is controlled to operate an iSCSI server side corresponding to the iSCSI client side, so that the iSCSI server side provides iSCSI service for the iSCSI client side.
Embodiments of the present application further provide a computer-readable storage medium storing a computer program, which, when executed by a processor, causes the processor to implement the steps in the service providing method provided in the embodiments of the present application.
In the embodiment of the application, the iSCSI client is redirected to the first storage node with the same IP address as the iSCSI client, so that an iSCSI server and the iSCSI client can be simultaneously deployed on the first storage node, and I/O data between the iSCSI client and the iSCSI server does not need to be transmitted across a node network, thereby realizing load localization, improving the I/O performance of the iSCSI server and reducing the bandwidth requirement of an iSCSI service network. Under the condition, if the load balance is achieved when the iSCSI client is deployed on the storage node, the load balance of the iSCSI server can be achieved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
fig. 1a is a schematic structural diagram of a distributed storage system according to an exemplary embodiment of the present application;
FIG. 1b is a schematic diagram of another distributed storage system according to an exemplary embodiment of the present application;
FIG. 1c is a schematic diagram illustrating internal modules of a storage node according to an exemplary embodiment of the present disclosure;
fig. 2 is a flowchart illustrating a service providing method according to an exemplary embodiment of the present application;
fig. 3 is a schematic structural diagram of a server device according to an exemplary embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the technical solutions of the present application will be described in detail and completely with reference to the following specific embodiments of the present application and the accompanying drawings. It should be apparent that the described embodiments are only some of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The technical solutions provided by the embodiments of the present application are described in detail below with reference to the accompanying drawings.
Fig. 1a is a schematic structural diagram of a distributed storage system according to an exemplary embodiment of the present application. As shown in fig. 1a, the distributed storage system 100 includes: at least one storage node 101.
In the embodiment, the distributed storage system 100 stores data in a distributed manner on a plurality of independent devices, shares storage load with a plurality of storage devices, locates storage information with a server, not only improves reliability, availability and access efficiency of the system, but also is easy to expand, and constructs the distributed storage devices into a virtual large storage pool for upper-level application. As shown in fig. 1b, the distributed storage system 100 is a general core component under the super-fusion system 104, the super-fusion system 104 is a basic system integrating computing resources and storage devices, in the distributed storage system 100 in the super-fusion system 104, storage functions and computing functions can be integrated into the same storage node 101, the storage node 101 can realize a function of integrating computing and storage resources, and a plurality of storage nodes 101 can be aggregated through a network to realize modular seamless lateral expansion (Scale-Out) to form a uniform resource pool.
In this embodiment, as shown in fig. 1b, the super-fusion system 104 further includes: and the management node 102 can realize functions of attribute maintenance, file operation log recording, authorized access, node creation or logoff and the like. In addition, the management node 102 may also create a Storage node 101 in the distributed Storage system 100 on the basis of the node 103 in the super-fusion system 104, where the node 103 in the super-fusion system 104 includes a computing resource and is a resource provider of the super-fusion system 104, the node 103 includes a deployment (deployment) module, the deployment module may provide an add interface to the outside, the management node 102 adds the node 103 to the distributed Storage system 100 by calling the add interface, and creates a Storage (Storage) module and a management (Zookeeper) module on the node 103 to obtain the Storage node 101, where, as shown in fig. 1c, the Storage node 101 at least includes: a Deploy module, a Storage module, and a Zookeeper module. The Storage module is used for running iSCSI service, providing a disk virtualization function and supporting the functions of configuring Storage pools, volumes and the like; the Zookeeper module is used for cluster management on one hand, and can be used as a configuration center to store and store related configuration, such as virtual IP address for storing iSCSI service on the other hand.
In this embodiment, when the management node 102 creates the storage node 101 in the distributed storage system, and when the first storage node 101 is created, the virtual IP address is transmitted to the Zookeeper module, and the Zookeeper module stores the virtual IP address and shares the virtual IP address with other storage nodes 101 in the distributed storage system 100. In addition, when the storage node 101 is added to the distributed storage system 100, an actual IP address is assigned to each storage node. All the storage nodes 101 in the distributed storage system 100 elect to generate a master node 101a, the master node 101a runs the virtual IP address, and the other storage nodes 101 except the master node 101a run the actual IP addresses. Optionally, when another storage node is reselected to become the master node in the distributed storage system, the storage node reselected to become the master node configures the virtual IP address as its own IP address for use, and the storage node serving as the master node before the reselection clears the configured virtual IP address, where the virtual IP address is only operable by the master node 101a, and it is possible to distinguish whether the storage node is the master node by using the virtual IP address, so that the same virtual IP address is used regardless of which storage node becomes the master node.
In this embodiment, the iSCSI protocol is widely used in the distributed storage system 100 as a commonly used block storage protocol, where iSCSI is a protocol based on TCP/IP protocol transmission instructions, and the iSCSI protocol uses a client/server mode. In this embodiment, the iSCSI server may be deployed on at least one storage node 101 in the distributed storage system 100; the iSCSI client may be disposed on at least one storage node 101 in the distributed storage system 100, or may be disposed on a node outside the distributed storage system 100, for example, the node 103, which is not limited thereto. In fig. 1a, an iSCSI client is illustrated as being distributed on a storage node 101 in a distributed storage system 100.
In this embodiment, in order to ensure high availability of the iSCSI service, the distributed storage system 100 needs to configure a virtual IP address, the storage node 101 running the virtual IP address is called a master node, which is denoted as 101a, the iSCSI client accesses the master node 101a using the virtual IP address, the master node 101a redirects a login request to a certain storage node 101 in the distributed storage system 100, and the redirected storage node 101 provides the iSCSI service for the iSCSI client.
In this embodiment, the iSCSI client may obtain a virtual IP address where the host node operates, so as to establish a connection relationship with the host node, and the implementation manner of obtaining the virtual IP address where the host node operates by the iSCSI client is not limited. In an optional embodiment, the iSCSI client is deployed on a storage node 101 in the distributed storage system, and since the virtual IP address is configured by the management node 102, the iSCSI client may obtain the virtual IP address where the main node operates through the management node 102. In yet another optional embodiment, the iSCSI client is deployed in another node outside the distributed storage system, and when the iSCSI client is deployed in the another node, the virtual IP address is notified to the iSCSI client, so that the iSCSI client can obtain the virtual IP address.
In this embodiment, the iSCSI client establishes a connection with the host node 101a through the virtual IP address, and the iSCSI client may send a message to the host node 101a, where the message carries the IP address of the iSCSI client, for example, the source IP address of the message may be set as the IP address of the iSCSI client, and the destination address of the message may be set as the virtual IP address of the host node 101 a. The IP address of the iSCSI client is an IP address of a node where the iSCSI client is located, for example, if the iSCSI client is deployed on the storage node 101, the IP address is an actual IP address of the storage node 101 during operation; if the iSCSI client is deployed on the node 103, the IP address is an IP address of the node 103, which is not limited herein. Optionally, the iSCSI service running on the Storage module on the host node 101a may monitor iSCSI connection, and if the packet sent by the iSCSI client carries a virtual IP address where the host node 101a runs, the host node 101a receives the packet.
In this embodiment, after receiving a message sent by an iSCSI client, the host node 101a analyzes an IP address of the iSCSI client from the message, and determines whether a first storage node 101b having the same IP address as the iSCSI client exists in the distributed storage system; if the first storage node 101b with the same IP address as the iSCSI client exists in the distributed storage system, the iSCSI client is redirected to the first storage node 101b, and the first storage node 101b is controlled to operate an iSCSI server corresponding to the iSCSI client, so that the iSCSI server provides iSCSI service for the iSCSI client.
In this embodiment, the iSCSI client is redirected to the first storage node 101b having the same IP address as the iSCSI client, the iSCSI client is redirected to the first storage node 101b, and the first storage node 101b is controlled to operate an iSCSI server corresponding to the iSCSI client, which means that the iSCSI client and the iSCSI server are deployed on the first storage node 101b where the iSCSI client is deployed at the same time, so that I/O data between the iSCSI client and the iSCSI server does not need to be transmitted across a node network, the I/O performance of the iSCSI server is improved, load localization is achieved, and the bandwidth requirement of an iSCSI service network is reduced. Under the condition, if the load balance is achieved when the iSCSI client is deployed on the storage node, the load balance of the iSCSI server can be achieved.
In this embodiment, the embodiment of redirecting the iSCSI client to the first storage node 101b is not limited. An embodiment of redirecting an iSCSI client to a first storage node 101b, comprising: and sending the IP address of the first storage node 101b and the port number of the iSCSI service to the iSCSI client so that the iSCSI client can establish connection with the first storage node 101 b.
In an optional embodiment, considering that the iSCSI client may be deployed outside the distributed storage system, in this case, the iSCSI server is deployed on the storage node 101 in the distributed storage system 100, and the iSCSI client and the iSCSI server cannot be deployed on the same node, that is, there is no first storage node 101b with an IP address identical to that of the iSCSI client in the distributed storage system 100, a suitable storage node 101 may be selected in the distributed storage system to deploy the iSCSI server, so as to provide iSCSI service for the iSCSI client. Based on this, if the distributed storage system 100 does not have the first storage node 101b with the same IP address as the iSCSI client, the second storage node 101c is selected from the first storage node 101b based on the performance parameters of the storage nodes 101 in the distributed storage system 100, the iSCSI client is redirected to the second storage node 101c, and the second storage node 101c is controlled to operate the iSCSI server corresponding to the iSCSI client, so that the iSCSI server provides iSCSI service for the iSCSI client.
In this embodiment, the performance parameters of the storage node 101 are not limited, and the performance parameters of the storage node 101 include: at least one of the number of iSCSI clients connected, the number of computing units, the size of the storage space, and the network bandwidth. The computing unit can be the number of CPUs or GPUs, the number of cores and the like; the size of the storage space may be the size of a memory or a hard disk, for example, 1GB, 5GB, 1T, or the like; the size of the network bandwidth may be 200Mbps (megabits per second), or 500Mbps, etc.
Further optionally, an embodiment of selecting the second storage node 101c from the storage nodes 101 in the distributed storage system 100 based on the performance parameters of the storage nodes 101 includes: performing weighted summation on the performance parameters of each storage node 101 in the distributed storage system 100 to obtain the comprehensive performance parameters of each storage node 101; from among the storage nodes 101, a storage node having an overall performance parameter satisfying a set condition is selected as a second target storage node 101 c. The setting condition may be to select a storage node with the optimal overall performance parameter as the second target storage node, or to randomly select a storage node from storage nodes with the overall performance parameter exceeding a set threshold as the second storage node 101c, where the set threshold may be 50%, 60%, or 80%, and the like, which is not limited thereto. In this embodiment, the second storage node is selected from the performance parameters of the storage nodes in the distributed storage system, and the performance parameters of the storage nodes can be comprehensively considered, which is beneficial to realizing load balancing of the distributed storage system.
In an optional embodiment, in order to achieve high availability of the iSCSI server, before determining whether the first storage node 101b having the same IP address as that of the iSCSI client exists in the distributed storage system 100, it may be further determined whether an iSCSI server corresponding to the iSCSI client is already running on a storage node in the distributed storage system; if yes, it means that an iSCSI server corresponding to the iSCSI client has been deployed in the distributed storage system 100, and in order to achieve high availability of the iSCSI server, it is not necessary to repeatedly deploy an iSCSI server for the iSCSI client in the distributed storage system 100, and the iSCSI client can be directly redirected to the third storage node 101d running with the iSCSI server.
In this embodiment, the embodiment of determining whether an iSCSI server corresponding to an iSCSI client is already running on a storage node in the distributed storage system is not limited. In an optional embodiment, a corresponding relationship between identification information of an iSCSI server and a storage node running the iSCSI server is maintained in the Zookeeper module, based on which, the host node 101a receives a message sent by the iSCSI client and can also analyze the identification information of the iSCSI server sending a request from the iSCSI client, based on the identification information, in combination with the corresponding relationship between the identification information of the iSCSI server and the storage node running the iSCSI server, a storage node corresponding to the identification information of the iSCSI server is searched, if the storage node cannot be searched, the iSCSI server indicating that the iSCSI client requests is not deployed on the storage node 101 in the distributed storage system 100, and the storage node in the distributed storage system 100 does not run the iSCSI server corresponding to the iSCSI client; if the storage node corresponding to the identification information of the iSCSI server is found, the storage node in the distributed storage system is indicated to have the iSCSI server corresponding to the iSCSI client.
It should be noted that the host node 101a may also operate an iSCSI server, that is, when the host node 101a redirects an iSCSI client, the iSCSI client may also be redirected to the host node 101a, that is, the first storage node 101b, the second storage node 101c, or the third storage node 101d may be the host node 101a, or may not be the host node 101a, which is not limited thereto.
In this embodiment, after the main node 101a redirects the iSCSI client to another storage node (the first storage node 101b, the second storage node 101c, or the third storage node 101d, which is collectively referred to as a target storage node herein), the iSCSI client disconnects from the main node 101a and continues to start connection login after redirection.
The login processing process after redirection comprises the following steps:
(1) the iSCSI service of the target storage node monitors iSCSI connection on the IP address and the port number of the service network;
(2) the iSCSI client receives the IP address of the target storage node and the port number of the iSCSI service sent by the main node 101a, establishes iSCSI connection based on the IP address and the port number, and sends a login message to the target storage node;
(3) the target storage node receives and analyzes the login message, performs Access Control List (ACL) rule check on the login message, further performs Challenge Handshake Authentication Protocol (CHAP) Authentication check, and sends a response message to the iSCSI client after the check is passed;
(4) and the iSCSI client receives the message and successfully logs in.
Fig. 2 is a schematic flowchart of a service providing method provided in an exemplary embodiment of the present application, which is suitable for a storage node serving as a master node in a distributed storage system, and as shown in fig. 2, the method includes:
s201, receiving a message sent by an iSCSI client, wherein the message comprises an IP address of the iSCSI client;
s202, judging whether a first storage node with the same IP address as that of the iSCSI client exists in the distributed storage system;
s203, if the iSCSI client side exists, the iSCSI client side is redirected to the first storage node, and the first storage node is controlled to operate an iSCSI service side corresponding to the iSCSI client side, so that the iSCSI service side provides iSCSI service for the iSCSI client side.
In an optional embodiment, if the distributed storage system does not have a first storage node with the same IP address as that of the iSCSI client, a second storage node is selected from the first storage node based on the performance parameters of the storage nodes in the distributed storage system, the iSCSI client is redirected to the second storage node, and the second storage node is controlled to operate an iSCSI server corresponding to the iSCSI client, so that the iSCSI server provides iSCSI service for the iSCSI client.
In an optional embodiment, redirecting the iSCSI client to the first storage node or the second storage node comprises: and sending the IP address of the first storage node or the second storage node and the port number of the iSCSI service to the iSCSI client so that the iSCSI client can establish connection with the first storage node or the second storage node.
In an alternative embodiment, the performance parameters of the storage node include: at least one of the number of connected iSCSI clients, the number of computing units, the size of a storage space and the size of network bandwidth; selecting a second storage node from the storage nodes in the distributed storage system based on the performance parameters of the storage nodes, wherein the selecting comprises the following steps: carrying out weighted summation on the performance parameters of each storage node in the distributed storage system to obtain the comprehensive performance parameters of each storage node; and selecting a storage node with the comprehensive performance parameter meeting the set condition from all storage nodes as a second storage node.
In an optional embodiment, before determining whether there is a first storage node with an IP address identical to that of the iSCSI client in the distributed storage system, the method further includes: judging whether an iSCSI server corresponding to the iSCSI client is operated on a storage node in the distributed storage system; if yes, redirecting the iSCSI client to a third storage node running with an iSCSI server.
In an optional embodiment, the receiving a packet sent by an iSCSI client includes: if the message sent by the iSCSI client carries the virtual IP address, receiving the message; the virtual IP address is the IP address used by the master node.
In an optional embodiment, the method provided in this embodiment further includes: when other storage nodes are reselected to become the main node in the distributed storage system, the storage nodes reselected to become the main node configure the virtual IP address as the own IP address for use, and the storage nodes serving as the main node before reselecting clear the configured virtual IP address.
It should be noted that the execution subjects of the steps of the methods provided in the above embodiments may be the same device, or different devices may be used as the execution subjects of the methods. For example, the execution subjects of steps S201 to S203 may be device a; for another example, the execution subject of steps S201 and S202 may be device a, and the execution subject of step S203 may be device B; and so on.
In addition, in some of the flows described in the above embodiments and the drawings, a plurality of operations appearing in a specific order are included, but it should be clearly understood that these operations may be executed out of the order they appear herein or in parallel, and the order of the operations, such as S201, S202, etc., is merely used to distinguish various operations, and the order itself does not represent any execution order. Additionally, the flows may include more or fewer operations, and the operations may be performed sequentially or in parallel. It should be noted that, the descriptions of "first", "second", etc. in this document are used for distinguishing different messages, devices, modules, etc., and do not represent a sequential order, nor limit the types of "first" and "second" to be different.
Fig. 3 is a schematic structural diagram of a server device according to an exemplary embodiment of the present application. As shown in fig. 3, the apparatus includes: a memory 34 and a processor 35.
The memory 34 is used for storing computer programs and may be configured to store other various data to support operations on the server device. Examples of such data include instructions for any application or method operating on the server device.
The memory 34 may be implemented by any type or combination of volatile or non-volatile memory devices such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks.
A processor 35, coupled to the memory 34, for executing the computer program in the memory 34 for: receiving a message sent by an iSCSI client, wherein the message comprises an IP address of the iSCSI client; judging whether a first storage node with the same IP address as that of the iSCSI client exists in the distributed storage system; if the iSCSI client side exists, the iSCSI client side is redirected to the first storage node, and the first storage node is controlled to operate an iSCSI server side corresponding to the iSCSI client side, so that the iSCSI server side provides iSCSI service for the iSCSI client side.
In an alternative embodiment, processor 35 is further configured to: if the distributed storage system does not have the first storage node with the IP address identical to that of the iSCSI client, selecting a second storage node from the first storage node based on the performance parameters of the storage nodes in the distributed storage system, redirecting the iSCSI client to the second storage node, and controlling the second storage node to operate an iSCSI server corresponding to the iSCSI client so as to provide iSCSI service for the iSCSI client by the iSCSI server.
In an optional embodiment, when redirecting the iSCSI client to the first storage node or the second storage node, the processor 35 is specifically configured to: and sending the IP address of the first storage node or the second storage node and the port number of the iSCSI service to the iSCSI client so that the iSCSI client can establish connection with the first storage node or the second storage node.
In an alternative embodiment, the performance parameters of the storage node include: at least one of the number of connected iSCSI clients, the number of computing units, the size of a storage space and the size of network bandwidth; when the processor 35 selects the second storage node from the storage nodes in the distributed storage system based on the performance parameters of the storage nodes, the processor is specifically configured to: carrying out weighted summation on the performance parameters of each storage node in the distributed storage system to obtain the comprehensive performance parameters of each storage node; and selecting the storage node with the comprehensive performance parameter meeting the set condition from all the storage nodes as a second target storage node.
In an alternative embodiment, before determining whether there is a first storage node with an IP address that is the same as the IP address of the iSCSI client in the distributed storage system, the processor 35 is further configured to: judging whether an iSCSI server corresponding to the iSCSI client is operated on a storage node in the distributed storage system; if yes, redirecting the iSCSI client to a third storage node running with an iSCSI server.
In an optional embodiment, when receiving the packet sent by the iSCSI client, the processor 35 is specifically configured to: if the message sent by the iSCSI client carries the virtual IP address, receiving the message; the virtual IP address is the IP address used by the master node.
In an alternative embodiment, processor 35 is further configured to: when other storage nodes are reselected to become the main node in the distributed storage system, the storage nodes reselected to become the main node configure the virtual IP address to the own IP address for use, and the storage nodes serving as the main node before reselecting clear the configured virtual IP address.
In the embodiment of the application, the iSCSI client is redirected to the first storage node with the same IP address as the iSCSI client, so that an iSCSI server and the iSCSI client can be simultaneously deployed on the first storage node, and I/O data between the iSCSI client and the iSCSI server does not need to be transmitted across a node network, thereby realizing load localization, improving the I/O performance of the iSCSI server and reducing the bandwidth requirement of an iSCSI service network. Under the condition, if the load balance is achieved when the iSCSI client is deployed on the storage node, the load balance of the iSCSI server can be achieved.
Further, as shown in fig. 3, the server device further includes: communication components 36, power components 38, and the like. Only some of the components are schematically shown in fig. 3, and the server device is not meant to include only the components shown in fig. 3. The server device of this embodiment may be a conventional server, a cloud server, or a server array.
Accordingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program, where the computer program can implement the steps that can be executed by the server device in the service providing method embodiment.
The communication component of fig. 3 described above is configured to facilitate communication between the device in which the communication component is located and other devices in a wired or wireless manner. The device where the communication component is located can access a wireless network based on a communication standard, such as a WiFi, a 2G, 3G, 4G/LTE, 5G and other mobile communication networks, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, the communication component further includes a Near Field Communication (NFC) module to facilitate short-range communications. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, Ultra Wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
The power supply assembly of fig. 3 described above provides power to the various components of the device in which the power supply assembly is located. The power components may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device in which the power component is located.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (10)

1. A service providing method is suitable for a storage node serving as a main node in a distributed storage system, and is characterized by comprising the following steps:
receiving a message sent by an iSCSI client of an Internet small computer interface, wherein the message comprises an Internet Protocol (IP) address of the iSCSI client;
judging whether a first storage node with the same IP address as that of the iSCSI client exists in the distributed storage system;
if the iSCSI client side exists, the iSCSI client side is redirected to the first storage node, and the first storage node is controlled to operate an iSCSI service side corresponding to the iSCSI client side, so that the iSCSI service side provides iSCSI service for the iSCSI client side.
2. The method of claim 1, further comprising:
if the distributed storage system does not have a first storage node with the same IP address as the iSCSI client, selecting a second storage node from the first storage node based on the performance parameters of the storage nodes in the distributed storage system, redirecting the iSCSI client to the second storage node, and controlling the second storage node to operate an iSCSI server corresponding to the iSCSI client so as to provide iSCSI service for the iSCSI client by the iSCSI server.
3. The method as in claim 2, wherein redirecting the iSCSI client to the first storage node or the second storage node comprises:
and sending the IP address of the first storage node or the second storage node and the port number of the iSCSI service to the iSCSI client so that the iSCSI client can establish connection with the first storage node or the second storage node.
4. The method of claim 2, wherein the performance parameters of the storage nodes comprise: at least one of the number of connected iSCSI clients, the number of computing units, the size of a storage space and the size of network bandwidth;
selecting a second storage node from the storage nodes in the distributed storage system based on the performance parameters of the storage nodes, wherein the selecting comprises the following steps:
carrying out weighted summation on the performance parameters of each storage node in the distributed storage system to obtain the comprehensive performance parameters of each storage node;
and selecting a storage node with the comprehensive performance parameter meeting the set condition from all storage nodes as a second storage node.
5. The method according to claim 1 or 2, wherein before determining whether the first storage node with the same IP address as the iSCSI client exists in the distributed storage system, the method further comprises:
judging whether an iSCSI server corresponding to the iSCSI client is operated on a storage node in the distributed storage system;
if yes, redirecting the iSCSI client to a third storage node running the iSCSI server.
6. The method of claim 1, wherein receiving the packet sent by the iSCSI client comprises:
if the message sent by the iSCSI client carries a virtual IP address, receiving the message; the virtual IP address is an IP address used by the main node.
7. The method of claim 6, further comprising:
when other storage nodes are reselected to become the main node in the distributed storage system, the storage nodes reselected to become the main node configure the virtual IP address as the IP address of the storage nodes for use, and the storage nodes serving as the main node before reselecting clear the configured virtual IP address.
8. A server-side device, comprising: a memory and a processor;
the memory for storing a computer program;
the processor, coupled with the memory, to execute the computer program to:
receiving a message sent by an iSCSI client of an Internet small computer interface, wherein the message comprises an Internet Protocol (IP) address of the iSCSI client; judging whether a first storage node with the same IP address as that of the iSCSI client exists in the distributed storage system; if the iSCSI client side exists, the iSCSI client side is redirected to the first storage node, and the first storage node is controlled to operate an iSCSI service side corresponding to the iSCSI client side, so that the iSCSI service side provides iSCSI service for the iSCSI client side.
9. The device of claim 8, wherein the processor is further configured to:
if the distributed storage system does not have a first storage node with the same IP address as the iSCSI client, selecting a second storage node from the first storage node based on the performance parameters of the storage nodes in the distributed storage system, redirecting the iSCSI client to the second storage node, and controlling the second storage node to operate an iSCSI server corresponding to the iSCSI client so as to provide iSCSI service for the iSCSI client by the iSCSI server.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, causes the processor to carry out the steps of the method according to any one of claims 1 to 7.
CN202110184185.6A 2021-02-08 2021-02-08 Service providing method, device and storage medium Active CN112995311B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110184185.6A CN112995311B (en) 2021-02-08 2021-02-08 Service providing method, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110184185.6A CN112995311B (en) 2021-02-08 2021-02-08 Service providing method, device and storage medium

Publications (2)

Publication Number Publication Date
CN112995311A true CN112995311A (en) 2021-06-18
CN112995311B CN112995311B (en) 2023-05-30

Family

ID=76393354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110184185.6A Active CN112995311B (en) 2021-02-08 2021-02-08 Service providing method, device and storage medium

Country Status (1)

Country Link
CN (1) CN112995311B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115577197A (en) * 2022-12-07 2023-01-06 杭州城市大数据运营有限公司 Method, system and device for discovering components

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8244864B1 (en) * 2001-03-20 2012-08-14 Microsoft Corporation Transparent migration of TCP based connections within a network load balancing system
CN108600308A (en) * 2018-03-20 2018-09-28 新华三技术有限公司 Data uploading method, device, storage medium and server
CN109474700A (en) * 2018-12-18 2019-03-15 创新科存储技术有限公司 Cut-in method, storage medium, client and the memory node of iSCSI client
US20200026425A1 (en) * 2016-05-26 2020-01-23 Nutanix, Inc. Efficient scaling of distributed storage systems
CN111404978A (en) * 2019-09-06 2020-07-10 杭州海康威视***技术有限公司 Data storage method and cloud storage system
CN112261079A (en) * 2020-09-11 2021-01-22 苏州浪潮智能科技有限公司 Distributed block storage service link management method and system based on iSCSI

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8244864B1 (en) * 2001-03-20 2012-08-14 Microsoft Corporation Transparent migration of TCP based connections within a network load balancing system
US20200026425A1 (en) * 2016-05-26 2020-01-23 Nutanix, Inc. Efficient scaling of distributed storage systems
CN108600308A (en) * 2018-03-20 2018-09-28 新华三技术有限公司 Data uploading method, device, storage medium and server
CN109474700A (en) * 2018-12-18 2019-03-15 创新科存储技术有限公司 Cut-in method, storage medium, client and the memory node of iSCSI client
CN111404978A (en) * 2019-09-06 2020-07-10 杭州海康威视***技术有限公司 Data storage method and cloud storage system
CN112261079A (en) * 2020-09-11 2021-01-22 苏州浪潮智能科技有限公司 Distributed block storage service link management method and system based on iSCSI

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115577197A (en) * 2022-12-07 2023-01-06 杭州城市大数据运营有限公司 Method, system and device for discovering components
CN115577197B (en) * 2022-12-07 2023-10-27 杭州城市大数据运营有限公司 Component discovery method, system and device

Also Published As

Publication number Publication date
CN112995311B (en) 2023-05-30

Similar Documents

Publication Publication Date Title
CN110113441B (en) Computer equipment, system and method for realizing load balance
US11895577B2 (en) Network slice selection method and apparatus
KR102199278B1 (en) Accelerated resource processing method and apparatus, and network function virtualization system
CN113760452B (en) Container scheduling method, system, equipment and storage medium
CN109429277A (en) The selection method of network slice, apparatus and system
US9690605B2 (en) Configuration of an edge switch downlink port with a network policy of a published network configuration service type
US20170373931A1 (en) Method for updating network service descriptor nsd and apparatus
CN106464515B (en) Deployment method and device of virtual network management and virtual network system
EP3777098B1 (en) Configuring network slices
CN108632063B (en) Method, device and system for managing network slice instances
CN113676512B (en) Network system, resource processing method and equipment
US11409819B2 (en) Method and device for recommending social user
CN113301102A (en) Resource scheduling method, device, edge cloud network, program product and storage medium
CN109561054B (en) Data transmission method, controller and access device
WO2018048769A1 (en) System and method for programmable native analytics in 5g mobile networks
US11696167B2 (en) Systems and methods to automate slice admission control
CN109417492A (en) A kind of network function NF management method and NF management equipment
US11627169B2 (en) Network-based Media Processing (NBMP) workflow management through 5G Framework for Live Uplink Streaming (FLUS) control
CN106911741B (en) Method for balancing virtual network management file downloading load and network management server
KR102490698B1 (en) Communication method for selecting a network slice / service and a communication device performing the same
CN113300866B (en) Node capacity control method, device, system and storage medium
CN112995311B (en) Service providing method, device and storage medium
US11277482B2 (en) Operations control of network services
RU2693903C1 (en) Method, apparatus and processing system for expanded port
EP3376711B1 (en) Management method and device for managing instruction transmission for automatic vnf scaling function

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
GR01 Patent grant
GR01 Patent grant