CN100389392C - Method for realizing load uniform in clustering system, system and storage controller - Google Patents
Method for realizing load uniform in clustering system, system and storage controller Download PDFInfo
- Publication number
- CN100389392C CN100389392C CNB2006100836042A CN200610083604A CN100389392C CN 100389392 C CN100389392 C CN 100389392C CN B2006100836042 A CNB2006100836042 A CN B2006100836042A CN 200610083604 A CN200610083604 A CN 200610083604A CN 100389392 C CN100389392 C CN 100389392C
- Authority
- CN
- China
- Prior art keywords
- storage controller
- load
- storage
- controller
- iscsi
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000006870 function Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 description 13
- 238000007726 management method Methods 0.000 description 12
- 230000003068 static effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
The present invention discloses a method, a system and a storage controller which realize uniform load in a cluster system. The method comprises that a client end dispatches ISCSI login requirements, a main storage controller uses the loading condition of each storage controller for selecting the storage controller with the minimum load for the client end for login, and the login of the client end is in the storage controller. The system realizing the present invention comprises at least two storage controllers, one storage controller is a main storage controller, and the other storage controllers are assistant storage controllers. The method and the system of the present invention use the loading condition in the cluster system for determining the storage controller which provides service for the client end. The main storage controller selects the memory controller with the minimum load to provide login service for the client end by comparing the loading information of each storage controller queried by a loading dispatcher. Thus, the load of the storage controllers in the cluster system is balanced.
Description
Technical Field
The present invention relates to the field of computer cluster technologies, and in particular, to a method, a system, and a storage controller for implementing load balancing in a cluster system.
Background
A cluster refers to a group of computers that, as a whole, provide a set of network resources to users. These individual computer systems are the nodes of the cluster. An ideal cluster is one in which the user never realizes the nodes at the bottom of the cluster system, and to their point, the cluster appears to be a system rather than multiple computer systems, and the administrator of the cluster system can add and delete nodes of the cluster system at will.
Internet Small Computer System Interface (ISCSI) is currently widely used in trunking systems. The ISCSI Protocol is established on the basis of a Small Computer System Interface (SCSI) Protocol and a transmission control Protocol/Internet Protocol (TCP/IP). SCSI interfaces allow the connection of many different kinds of devices, but only a maximum of 16 devices can be supported, and the bus length of the interface is limited. The ISCSI adds a control layer, and utilizes the network advantages of TCP/IP, thereby not only solving the problems of limited length of the original SCSI bus and insufficient expansion capability of the storage device, but also utilizing the existing Ethernet to realize the Internet Protocol (IP) storage area network based on the TCP/IP protocol, and reducing the expenditure of enterprises in data storage.
In the ISCSI storage field, for a cluster system in a working mode in which a plurality of cluster nodes simultaneously provide services, load balancing in a cluster is currently realized by static balancing scheduling. As shown in fig. 1, the client 101 includes m hosts, which are respectively connected to the cluster node 104 through the ISCSI/IP network 103, and the cluster node 104 includes n cluster nodes, one of which is set as a master node. The corresponding module created by the management terminal 102 for each type of data is called ISCSI target 105. The information of the ISCSI target 105 is stored in the database of each cluster node. The cluster node queries corresponding data through Identification (ID) information of each ISCSI target sent when the client logs in. One or more ISCSI targets may be loaded on each cluster node, each ISCSI target corresponding to data on one or more disk arrays.
The implementation process of adopting static equilibrium scheduling is as follows: 1) the management terminal 102 creates ISCSI targets 105 corresponding to data required by the client 101 through a graphical user interface or a command line, and the master node in the cluster nodes 104 evenly distributes and loads the created ISCSI targets to each cluster node. 2) When a client needs to operate disk data, a main node in a cluster inquires which cluster node the ISCSI target device is loaded on through ID information of the ISCSI target device when the main node logs in through a terminal, and the cluster node provides service.
The ISCSI targets created by the management terminals in the cluster are evenly distributed on each server. However, some hosts may be idle all the time, some hosts may frequently access the same cluster node where multiple ISCSI targets are located, and some cluster nodes where ISCSI targets are located may not frequently access, according to the actual needs of users during the operation process. So that the cluster nodes accessed by the host have different load sizes. Therefore, some cluster nodes are busy, some cluster nodes are idle, the real load balance is not achieved, and the utilization rate of system resources is low.
Disclosure of Invention
The invention aims to provide a method, a system and a storage controller for realizing load balancing in a cluster system. The problem of load difference in the system caused by the fact that the server in the cluster system distributes client resources evenly is solved.
In order to solve the problems in the prior art, the invention provides a method for realizing load balancing in a cluster system, which comprises the following steps:
a. a client in the cluster system sends a login request to a main storage controller;
b. the main storage controller inquires load information of the main storage controller and obtains the load information of each slave storage controller, compares the load information to determine the storage controller with the minimum load, and provides the information of the storage controller to the client;
c. and the client logs in the storage controller with the minimum load.
Wherein, the step a further comprises: one storage controller is set as a main storage controller in each storage controller of the cluster system.
Wherein, the step a, the client sends the login request to the main storage controller, that is, the client sends the login request through the virtual internet protocol IP address of the main storage controller and the internet small computer system interface ISCSI port.
Wherein, the step b is as follows:
the main storage controller inquires the load of the CPU of the main storage controller, and the auxiliary storage controllers respectively inquire the load of the CPU of the auxiliary storage controllers and provide the load to the main storage controller;
the main storage controller compares the CPU load of the main storage controller with the CPU load of the storage controller to determine the storage controller with the minimum CPU load, and information of the storage controller is provided for the client.
Wherein the main storage controller comparing the CPU load further comprises:
and comparing the CPU load with a specified threshold respectively, and transferring the part of the ISCSI session of the storage controller with the CPU load larger than the threshold to the storage controller with the CPU load smaller than the threshold.
Wherein the comparing the CPU load to determine that the CPU load is minimal further comprises:
judging whether a plurality of storage controllers with the minimum CPU load and the same exist, if so, comparing the ISCSI conversation numbers of the storage controllers by the main storage controller, and selecting the storage controller with the minimum conversation number as the storage controller with the minimum CPU load.
Wherein the primary storage controller comparing the number of ISCSI sessions for the storage controllers further comprises:
and judging whether a plurality of storage controllers with the smallest number of ISCSI sessions and the same number exist, and if so, randomly selecting one storage controller as the storage controller with the smallest CPU load.
In step b, the providing the information of the storage controller to the client is:
providing the actual IP address and ISCSI port of the storage controller to a client;
in step c, the client logs in according to the actual IP address and the ISCSI port.
Wherein, the sending of the login request in step a and the login in step c are based on the login redirection characteristic of the ISCSI protocol.
Wherein the slave storage controller fails in operation further packet
Wherein, when the storage controller is a master storage controller, the storage controller is further configured to: comprises the following steps:
after the failed slave storage controller is recovered to be normal, the management terminal adds the storage controller into the cluster again, the main storage controller sends a command to the storage controller with large load information according to the load information, ISCSI sessions connected with the corresponding storage controller are disconnected, and the sessions are transferred to the newly added slave storage controller.
The present invention also provides a storage controller for implementing load balancing in a cluster system, the storage controller further comprising a load scheduler, wherein:
the load scheduler is used for inquiring the load information of the storage controller corresponding to the load scheduler and providing the load information obtained by inquiry to the load scheduler of the main storage controller;
when the storage controller is a master storage controller, the storage controller is further configured to compare load information queried by its own load scheduler with load information queried by load schedulers of other storage controllers, and provide information of the storage controller with the smallest load determined after comparison to the client.
The load scheduler is used for inquiring and providing the CPU load of the storage controller corresponding to the load scheduler;
when the memory controller is a main memory controller, the load information comparison function realized by the memory controller is the comparison of CPU loads.
Wherein, when the storage controller is a master storage controller, the storage controller is further configured to:
comparing the CPU load of the storage controller and each slave storage controller with a specified threshold respectively, and transferring the part of the ISCSI session of the storage controller with the CPU load larger than the threshold to the storage controller with the CPU load smaller than the threshold.
Wherein the storage controller further comprises an ISCSI target service unit, the load scheduler is further configured to query the current number of sessions through the ISCSI target service unit and provide the current number of sessions to the primary storage controller, and when the storage controller is a primary storage controller, the storage controller is further configured to:
and when judging that a plurality of storage controllers with the minimum CPU load and the same load exist, comparing the ISCSI conversation numbers of the storage controllers, and selecting the storage controller with the minimum conversation number as the storage controller with the minimum load.
And when judging that a plurality of storage controllers with the smallest number of ISCSI sessions and the same number exist, randomly selecting one storage controller from the storage controllers as the storage controller with the smallest load.
Wherein, after the management terminal adds the new storage controller into the cluster, the main storage controller is further configured to:
and according to the load information, sending a command to the storage controller with large load, disconnecting the ISCSI session of the corresponding storage controller, and transferring the sessions to the newly added storage controller.
Wherein the memory controller has a load comparison unit that implements the comparison function of the memory controller.
The invention also provides a system for realizing load balancing in a cluster system, which comprises at least two storage controllers, wherein one storage controller is a main storage controller, and the other storage controllers are auxiliary storage controllers, wherein:
the main storage controller in the storage controllers is used for receiving a login request from a client, inquiring self load information, acquiring load information of each slave storage controller, comparing the load information to determine the storage controller with the minimum load, and providing the information of the storage controller to the client;
the slave storage controller in the storage controller is used for inquiring load information of the slave storage controller.
Wherein the storage controller further comprises a load scheduler, wherein:
the load scheduler is used for inquiring the load information of the storage controller corresponding to the load scheduler and providing the load information obtained by inquiry to the load scheduler of the main storage controller;
when the storage controller is a master storage controller, the storage controller is further configured to compare load information queried by its own load scheduler with load information queried by load schedulers of other storage controllers, and provide information of the storage controller with the smallest load determined after comparison to the client.
Wherein the memory controller has a load comparison unit that implements the comparison function of the memory controller.
Compared with the static equilibrium scheduling method in the prior art, the method of the invention utilizes the load condition in the cluster system to determine the storage controller providing service for the client. The method avoids the situation that when a static equilibrium scheduling method is adopted, due to the fact that each ISCSI target is averagely distributed to each cluster node, the load difference of each cluster node is large when a client logs in the cluster node, and the waste of system resources is high. In the system, the main storage controller compares the load information of each storage controller inquired by the load scheduler, and selects the storage controller with the minimum load to provide login service for the client, so that the load of each storage controller in the cluster system is balanced.
Drawings
FIG. 1 is a schematic diagram of a system employing static equilibrium scheduling;
FIG. 2 is a flow chart of the method of the present invention;
FIG. 3 is a schematic representation of an embodiment of the method of the present invention;
FIG. 4 is an ISCSI login redirection diagram;
FIG. 5 is a flow chart of a method embodiment of the present invention;
fig. 6 is a structural diagram of the system of the present invention in a cluster system.
Detailed Description
The method can distribute the logged storage controller for the client according to the load condition of the storage controller of each server in the cluster system, and can solve the problems that the difference of load sizes is large and the waste of system resources is high when a static equilibrium scheduling method is used for averagely distributing each ISCSI target for the cluster node in the prior art.
Referring to fig. 2, the method for implementing load balancing of the present invention includes:
step S201: the client sends a login request to the main storage controller;
step S202: and the main storage controller selects the storage controller with the minimum load for the client to log in by using the load condition of each storage controller.
Step S203: and the client logs in the storage controller.
The process of the invention is described in detail below with reference to schematic illustrations of process embodiments of the invention. With reference to figure 3 of the drawings,
step S301: the management terminal creates an ISCSI target to the main storage controller, and the main storage controller receives the command.
Step S302: and after the main storage controller saves the configuration information created by the management terminal into the system configuration file of the disk array, updating the database of the main storage controller, and sending the configuration information to other slave storage controllers to update the databases of the slave storage controllers.
Step S303: and the main storage controller returns the information of successful creation to the management terminal.
Step S304: the ISCSI client sends ISCSI login request to the main storage controller through the virtual IP address and ISCSI port of the main storage controller.
Step S305: the main storage controller inquires the ISCSI target providing service from the information of the ISCSI login request in the ISCSI port.
Step S306: a load comparison Unit in the main storage controller compares the load information of each storage controller inquired by the load scheduler to find out the storage controller with the minimum load of a Central Processing Unit (CPU); if a plurality of storage controllers with the minimum load and the same load exist, comparing the current ISCSI session numbers of the storage controllers, and finding out the storage controller with the minimum current ISCSI session number; if there are multiple storage controllers with the smallest number of current ISCSI sessions and the same number, one storage controller is randomly selected.
Step S307: and the main storage controller sends the IP address information and the ISCSI port number of the storage controller k with the minimum current load to the ISCSI client.
Step S308: the ISCSI client sends login request information to the storage controller through the IP address of the storage controller k and the ISCSI port.
Step S309: ISCSI storage controller k returns the information of successful login to the ISCSI client, and provides service for the ISCSI client.
In the execution process of step S306, the load scheduler of the master storage controller periodically inquires the load scheduler of each slave storage controller about the load condition thereof.
The load scheduler of each storage controller acquires the current ISCSI session number from the ISCSI login part in the ISCSI target service unit at the timing in the operation process of the cluster system, and inquires the current load of a Central Processing Unit (CPU) from the storage controller operating system at the timing. During execution of step S306, the load information is fed back to the load scheduler of the primary storage controller.
In the operation process of the cluster system, after a load scheduler of a main storage controller regularly inquires load information of the load scheduler, a threshold value range is designated, a load comparison unit compares CPU load of each storage controller with a CPU threshold value, and an ISCSI target service unit transfers part of ISCSI sessions of the storage controllers with the CPU load larger than the threshold value to the storage controllers with the CPU load smaller than the threshold value.
During the operation of the cluster system, if the storage controller t fails, the ISCSI session connected to the client is automatically restarted, and the ISCSI session is logged in the main storage controller again.
In the operation process of the cluster system, if the storage controller m is recovered from the failure, the management terminal needs to be reestablished and added into the cluster. After joining, the load scheduler of the primary storage controller issues commands to the load schedulers of the other storage controllers to tear down portions of the ISCSI sessions and transfer those sessions to the newly added storage controller.
In the execution process of step S305 to step S308, the login process of the client to the storage controller is based on the ISCSI protocol login redirection feature for login. This login procedure is described below in conjunction with an ISCSI login redirection flowchart. Referring to fig. 4, only the host server among the servers sets a virtual IP address. When logging in, the client logs in to the main server through the virtual address. Each server contains a real IP address.
Step S401: the client establishes a TCP connection with the primary server.
Step S402: the client logs on to the host server through its virtual IP address 10.0.0.1 and port 3260.
Step S403: the host server returns to the client the IP address 10.0.0.3 and port 3260 of the server providing the service.
Step S404: and the client logs in the server according to the returned address and the port.
Step S405: and the server returns login success information to the client and provides service.
In the method of the invention, after the client logs in the main storage controller, the client can log in the storage controller according to the IP address information in the address information returned by the main storage controller and the ISCSI port because the network has the characteristic of ISCSI login redirection.
A preferred embodiment of the implementation of the method of the invention is given below.
Assume that a client in a cluster system includes 8 hosts, 4 storage controllers. With reference to figure 5 of the drawings,
step S501: and starting the cluster system to complete initial configuration.
After the cluster system is started, initial configuration is performed first, and 4 storage controllers are set as master storage controllers through respective connections, and it is assumed that the 1 st storage controller is set as a master storage controller and the other 3 storage controllers are set as slave storage controllers. The primary storage controller provides the client with a unique virtual IP address and ISCSI port. The main storage controller reads the system configuration file of the cluster system from the disk array to update the database of the main storage controller.
Step S502: the cluster system saves and updates the configuration information of the ISCSI target.
After the cluster system is operated, an administrator creates 20 ISCSI targets through the management terminal, and names the ISCSI targets 1 to 20 respectively. After the configuration information of the target devices is saved in the system configuration file of the disk array by the main storage controller, the own database is updated, and the configuration information is sent to other 3 slave storage controllers to update the databases.
Step S503: the client sends a login request to the cluster system.
The 2 nd host sends a login request to the primary storage controller through the virtual IP address and port number of the primary storage controller.
Step S504: the main memory controller finds the ISCSI target.
The primary storage controller finds out in the database that the 2 nd host requires the service to be provided by the ISCSI target 15 according to the login request information, for example.
Step S505: the master storage controller compares the load information.
The load comparison unit in the master storage controller compares the load information that the load scheduler inquired from the load schedulers of the other 3 slave storage controllers at the timing with the load information of itself. The load of the 3 rd slave memory controller is judged to be the minimum after the comparison of the load information of the CPU.
Step S506: the main storage controller returns the logged-in address information.
The master storage controller adds the IP address information and ISCSI port of the 3 rd slave storage controller to the return information of the 2 nd host.
Step S507: and (6) redirecting login.
And the 2 nd host sends a login request to the 3 rd slave storage controller according to the returned IP address information and the port. The storage controller reads the configuration file of its own database system, and finds out the location of the data corresponding to the ISCSI target 15 on the disk. And finishing the subsequent login process with the 2 nd host, and finishing the read-write operation of the data by the host.
In the operation process of the above system, if the 3 rd slave storage controller fails to provide service for the 2 nd host, the ISCSI session between them will be automatically interrupted, and a login request will be sent to the master storage controller again, and the master storage controller will also know that the 3 rd slave storage controller fails in continuous detection, and forward the login request of the 2 nd host to other storage controllers.
When the 3 rd slave storage controller recovers from the failure, the management terminal needs to be added into the cluster system again. And the main storage controller transfers the ISCSI session of the storage controller with large load to the storage controller according to the load information of the cluster. This process may be performed multiple times until the 4 storage controllers are approximately equally loaded.
An embodiment of the application of the system of the present invention in a cluster system is given below. Referring to fig. 6, the cluster system includes:
the client 601 includes hosts 1 to n, and accesses the disk data on the disk array 609 through the storage area switching network 608 by logging in the master storage controller 604 or the slave storage controller 607 through the ISCSI/IP network 603.
The ISCSI/IP network 603 is used to connect the client 601 and the master storage controller 604, and the slave storage controller 607, and the login and information exchange of the client 601 to the master storage controller 604 and the slave storage controller 607 are completed by the redirection feature of the network itself.
The main storage controller 604 is a main storage controller, and the main storage controller includes a virtual IP address, an actual IP address, an ISCSI port for client login, three modules for load balancing, a load comparison unit 610, a load scheduler 605, and an ISCSI target server unit 606. The main storage controller 604 is configured to query ISCSI target information sent when the client 601 logs in, and query load information of each storage controller in the network through its load scheduler 605, and the load comparison unit 610 is configured to compare the load information queried by the load scheduler 605. The primary storage controller 604 sends the least loaded storage controller IP address and ISCSI port to the client.
The load comparison unit 610 is used to compare the load information in the load scheduler 605, and the unit is only valid if the storage controller in which the unit is located is the main storage controller 604.
The load scheduler 605 is used to periodically acquire the current ISCSI session number from the ISCSI registration part in the ISCSI target service unit 606, and periodically query the load of the current CPU to the storage controller operating system. The load scheduler of the master storage controller 604 is used to periodically poll itself and the loads polled by the load scheduler in each of the other slave storage controllers 607.
ISCSI target service unit 606 is used for login and login redirection procedures between client 601 and each storage controller, and assists the storage controller in identifying ISCSI targets that provide services to the client.
The slave storage controller 607 includes storage controllers 2 to m, and is configured to receive login request information of a client to assist the client 601 in operating data of the disk array 609 through the storage area switching network 608. The slave storage controller contains an actual IP address and ISCSI port for client login, a load comparison unit 610, a load scheduler 605, and an ISCSI target service unit 606. Wherein the load comparison unit 610 does not function in the slave memory controller.
The storage area switching network 608 is used to connect the disk array 609 to the primary storage controller 604, the secondary storage controller 607, and to transfer information between these devices.
The disk array 609 is used for storing various user data required by the client, and configuration files of the ISCSI target.
The memory controller of the present invention is described in detail below with reference to FIG. 6.
The storage controller of the present invention has the same basic functions as those of the current cluster node, except that the present invention adds a load comparing unit 610, a load scheduling unit 605, and an ISCSI target service unit 606. The storage controller is configured to provide login for the client 601, query ISCSI target information sent when the client 601 logs in, and assist the client 601 to operate on data of the disk array 609 through the storage area switching network 608.
When the storage controller is set as the primary storage controller 604, the primary storage controller contains a virtual IP address, an actual IP address, and an ISCSI port for client login, and queries load information of each storage controller in the network through its load scheduler 605, and the load comparison unit 610 compares the load information queried by the load scheduler 605. The primary storage controller 604 sends the least loaded storage controller IP address and ISCSI port to the client.
When the storage controller is the slave storage controller 607, for receiving the login request information of the client, the slave storage controller contains an actual IP address and ISCSI port for client login, a load comparison unit 610, a load scheduler 605 and an ISCSI target server service unit 606. Wherein the load comparison unit 610 does not function in the slave memory controller.
The load comparison unit 610 is used to compare the load information in the load scheduler 605, and the unit is only valid if the storage controller in which the unit is located is the main storage controller 604. The unit is used for comparing the load information inquired by the load scheduler 605 and comparing the memory controller with the minimum CPU load; if a plurality of CPU storage controllers with the minimum loads and the same loads exist, comparing the ISCSI session numbers of the CPU storage controllers with the minimum loads and the same loads, and comparing the storage controllers with the minimum session numbers; if there are a plurality of storage controllers with the smallest number of ISCSI sessions and the same, one of them is randomly selected. This unit is also used for comparing the CPU load of each storage controller queried by the load scheduler of the master storage controller with a specified threshold.
The load scheduler 605 is used to periodically acquire the current ISCSI session number from the ISCSI registration part in the ISCSI target service unit 606, and periodically query the load of the current CPU to the storage controller operating system. Wherein the load scheduler periodically queries the CPU load and the current ISCSI session number queried by the load scheduler in the master storage controller 604 and in each of the other slave storage controllers 607, and specifies a threshold range when the load scheduler is in the master storage controller 604.
ISCSI target service unit 606 is used for login and login redirection procedures between client 601 and each storage controller, and assists the storage controller in identifying ISCSI targets that provide services to the client. And transferring the part of the ISCSI session of the storage controller with the CPU load larger than the threshold value to the storage controller with the CPU load smaller than the threshold value.
This device is only a preferred embodiment of the present invention, in which the load scheduler 605 may also only query the CPU load, thereby achieving the object of the present invention. However, in the present invention, considering that there may be a plurality of CPU with the minimum and same load, the ISCSI session unit 606 is added, and the load comparison unit 610 compares the ISCSI session number of each storage controller queried by the load scheduler 605 of the main storage controller with the load information of each storage controller to further determine the storage controller with the minimum load, thereby achieving the objective of the present invention.
The method and the system for realizing the method can also be applied in various cluster systems in a expansibility way. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims (20)
1. A method for realizing load balancing in a cluster system is characterized by comprising the following steps:
a. a client in the cluster system sends a login request to a main storage controller;
b. the main storage controller inquires load information of the main storage controller and obtains the load information of each slave storage controller, compares the load information to determine the storage controller with the minimum load, and provides the information of the storage controller to the client;
c. and the client logs in the storage controller with the minimum load.
2. The method of claim 1, wherein step a is preceded by the further step of: one storage controller is set as a main storage controller in each storage controller of the cluster system.
3. The method according to claim 1, wherein the step a of the client sending the login request to the primary storage controller is that the client sends the login request through a virtual internet protocol IP address of the primary storage controller and an internet small computer system interface ISCSI port.
4. The method of claim 1, wherein step b is:
the main storage controller inquires the load of the CPU of the main storage controller, and the auxiliary storage controllers respectively inquire the load of the CPU of the auxiliary storage controllers and provide the load to the main storage controller;
the main storage controller compares the CPU load of the main storage controller with the CPU load of the storage controller to determine the storage controller with the minimum CPU load, and information of the storage controller is provided for the client.
5. The method of claim 4, wherein the main memory controller comparing CPU loads further comprises:
and comparing the CPU load with a specified threshold respectively, and transferring the part of the ISCSI session of the storage controller with the CPU load larger than the threshold to the storage controller with the CPU load smaller than the threshold.
6. The method of claim 4, wherein comparing the CPU load to determine the memory controller with the least CPU load further comprises:
judging whether a plurality of storage controllers with the minimum CPU load and the same exist, if so, comparing the ISCSI conversation numbers of the storage controllers by the main storage controller, and selecting the storage controller with the minimum conversation number as the storage controller with the minimum CPU load.
7. The method of claim 6, wherein the primary storage controller comparing the number of ISCSI sessions for the storage controllers further comprises:
and judging whether a plurality of storage controllers with the smallest number of ISCSI sessions and the same number exist, and if so, randomly selecting one storage controller as the storage controller with the smallest CPU load.
8. The method of claim 1, wherein in step b, said providing the information of the storage controller to the client is:
providing the actual IP address and ISCSI port of the storage controller to a client;
in step c, the client logs in according to the actual IP address and the ISCSI port.
9. The method of claim 1, wherein the issuing of the login request in step a and the login in step c are based on the login redirection feature of ISCSI protocol.
10. The method of claim 1, wherein the slave storage controller failing in operation further comprises:
after the failed slave storage controller is recovered to be normal, the management terminal adds the storage controller into the cluster again, the main storage controller sends a command to the storage controller with large load information according to the load information, ISCSI sessions connected with the corresponding storage controller are disconnected, and the sessions are transferred to the newly added slave storage controller.
11. A storage controller for implementing load balancing in a cluster system, the storage controller further comprising a load scheduler, wherein:
the load scheduler is used for inquiring the load information of the storage controller corresponding to the load scheduler and providing the load information obtained by inquiry to the load scheduler of the main storage controller;
when the storage controller is a master storage controller, the storage controller is further configured to compare load information queried by its own load scheduler with load information queried by load schedulers of other storage controllers, and provide information of the storage controller with the smallest load determined after comparison to the client.
12. The memory controller of claim 11, wherein the load scheduler is configured to query and provide CPU load of its corresponding memory controller;
when the memory controller is a main memory controller, the load information comparison function realized by the memory controller is the comparison of CPU loads.
13. The storage controller of claim 12, wherein when the storage controller is a master storage controller, the storage controller is further configured to:
comparing the CPU load of the storage controller and each slave storage controller with a specified threshold respectively, and transferring the part of the ISCSI session of the storage controller with the CPU load larger than the threshold to the storage controller with the CPU load smaller than the threshold.
14. The storage controller of claim 12, wherein the storage controller further comprises an ISCSI target service unit, wherein the load scheduler is further configured to query a current number of sessions through the ISCSI target service unit and provide the current number of sessions to the primary storage controller, and wherein when the storage controller is the primary storage controller, the storage controller is further configured to:
and when judging that a plurality of storage controllers with the minimum CPU load and the same load exist, comparing the ISCSI conversation numbers of the storage controllers, and selecting the storage controller with the minimum conversation number as the storage controller with the minimum load.
15. The storage controller of claim 14, wherein when the storage controller is a master storage controller, the storage controller is further configured to:
and when judging that a plurality of storage controllers with the smallest number of ISCSI sessions and the same number exist, randomly selecting one storage controller from the storage controllers as the storage controller with the smallest load.
16. The storage controller of claim 11, wherein after the management terminal adds the new storage controller to the cluster, the master storage controller is further configured to:
and according to the load information, sending a command to the storage controller with large load, disconnecting the ISCSI session of the corresponding storage controller, and transferring the sessions to the newly added storage controller.
17. The storage controller according to any of claims 11 to 16, wherein the storage controller has a load comparison unit that implements the comparison function of the storage controller.
18. A system for realizing load balance in cluster system, the system includes at least two storage controllers, one of which is master storage controller, the other storage controllers are slave storage controllers, characterized in that:
the main storage controller in the storage controllers is used for receiving a login request from a client, inquiring self load information, acquiring load information of each slave storage controller, comparing the load information to determine the storage controller with the minimum load, and providing the information of the storage controller to the client;
the slave storage controller in the storage controller is used for inquiring load information of the slave storage controller.
19. The system of claim 18, wherein the storage controller further comprises a load scheduler, wherein:
the load scheduler is used for inquiring the load information of the storage controller corresponding to the load scheduler and providing the load information obtained by inquiry to the load scheduler of the main storage controller;
when the storage controller is a master storage controller, the storage controller is further configured to compare load information queried by its own load scheduler with load information queried by load schedulers of other storage controllers, and provide information of the storage controller with the smallest load determined after comparison to the client.
20. The system of claim 19, wherein the storage controller has a load comparison unit that implements the comparison function of the storage controller.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100836042A CN100389392C (en) | 2006-05-29 | 2006-05-29 | Method for realizing load uniform in clustering system, system and storage controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100836042A CN100389392C (en) | 2006-05-29 | 2006-05-29 | Method for realizing load uniform in clustering system, system and storage controller |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1852502A CN1852502A (en) | 2006-10-25 |
CN100389392C true CN100389392C (en) | 2008-05-21 |
Family
ID=37133967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100836042A Active CN100389392C (en) | 2006-05-29 | 2006-05-29 | Method for realizing load uniform in clustering system, system and storage controller |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100389392C (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010148892A1 (en) * | 2009-11-12 | 2010-12-29 | 中兴通讯股份有限公司 | Method, video access unit and system for implementing load balance for media transcoding network |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076012B (en) * | 2007-07-20 | 2010-12-15 | 华为技术有限公司 | Date telecommunication system and method and interface controller of Internet microcomputer system |
CN101227378B (en) * | 2008-01-24 | 2011-05-11 | 创新科存储技术(深圳)有限公司 | Communication service establishing method based on network storage and storage device thereof |
CN101500201B (en) * | 2008-02-03 | 2011-05-11 | 中兴通讯股份有限公司 | Method and system for cluster call distribution customer terminal |
WO2010006127A1 (en) * | 2008-07-10 | 2010-01-14 | Blackwave Inc. | Model-based resource allocation |
CN101841565B (en) * | 2010-04-20 | 2013-07-31 | 中国科学院软件研究所 | Database cluster system load balancing method and database cluster system |
CN101924655B (en) * | 2010-08-23 | 2015-06-03 | 中兴通讯股份有限公司 | Method and device for supporting login of multi-serial port terminal |
CN102111436B (en) * | 2010-12-20 | 2013-09-18 | 深圳市安云信息科技有限公司 | Storage device and method for accessing storage device through internet small computer system interface (iSCSI) |
CN102118389B (en) * | 2010-12-28 | 2014-01-22 | 深圳市安云信息科技有限公司 | Method for accessing storage device through internet small computer system interface (iSCSI) in multipath manner and storage device |
CN102694786A (en) * | 2011-03-25 | 2012-09-26 | 株式会社野村综合研究所 | Session management system |
CN103186536A (en) * | 2011-12-27 | 2013-07-03 | 中兴通讯股份有限公司 | Method and system for scheduling data shearing devices |
WO2013187054A1 (en) | 2012-06-14 | 2013-12-19 | Nec Corporation | Communication system, control apparatus, communication method, control method and program |
CN103618621B (en) * | 2013-11-21 | 2017-08-11 | 华为技术有限公司 | A kind of software defined network SDN method of automatic configuration, equipment and system |
CN103618738B (en) * | 2013-12-09 | 2017-05-03 | 惠州华阳通用电子有限公司 | Intelligent load distribution system and method for achieving TCP long connection and communication |
CN103812867B (en) * | 2014-02-17 | 2017-04-19 | 华中科技大学 | Self-adaption encryption and decryption security storage system and method based on ISCSI |
CN104935664B (en) * | 2015-06-19 | 2018-12-21 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | Seat automatic load balancing method and system |
CN105207808B (en) * | 2015-08-24 | 2018-12-11 | 浪潮(北京)电子信息产业有限公司 | A kind of determination method and system at data flow control end |
CN105847171A (en) * | 2016-03-28 | 2016-08-10 | 乐视控股(北京)有限公司 | Network device overload protection method |
CN107645421A (en) * | 2017-11-09 | 2018-01-30 | 郑州云海信息技术有限公司 | A kind of ISCSI protocol implementing methods of distributed storage |
CN108055338B (en) * | 2017-12-22 | 2021-04-09 | 创新科技术有限公司 | ISCSI access load balancing method |
CN110022337A (en) * | 2018-01-09 | 2019-07-16 | 阿里巴巴集团控股有限公司 | Resource regulating method, device, equipment and system |
CN108200218B (en) * | 2018-03-09 | 2021-11-26 | 北京奇艺世纪科技有限公司 | Method and device for realizing load balance and electronic equipment |
CN109474700B (en) * | 2018-12-18 | 2021-09-24 | 创新科技术有限公司 | Access method of iSCSI client, storage medium, client and storage node |
WO2021174466A1 (en) * | 2020-03-04 | 2021-09-10 | 深圳市大疆创新科技有限公司 | Self-adaptive load balancing method and system, and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1202971A (en) * | 1996-01-26 | 1998-12-23 | 国际商业机器公司 | Load balancing across the processes of a server computer |
CN1645330A (en) * | 2004-01-21 | 2005-07-27 | 国际商业机器公司 | Method and system for grid-enabled virtual machines with distributed management of applications |
US20060026177A1 (en) * | 2004-07-29 | 2006-02-02 | Howell Brian K | Method and system of subsetting a cluster of servers |
-
2006
- 2006-05-29 CN CNB2006100836042A patent/CN100389392C/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1202971A (en) * | 1996-01-26 | 1998-12-23 | 国际商业机器公司 | Load balancing across the processes of a server computer |
CN1645330A (en) * | 2004-01-21 | 2005-07-27 | 国际商业机器公司 | Method and system for grid-enabled virtual machines with distributed management of applications |
US20060026177A1 (en) * | 2004-07-29 | 2006-02-02 | Howell Brian K | Method and system of subsetting a cluster of servers |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010148892A1 (en) * | 2009-11-12 | 2010-12-29 | 中兴通讯股份有限公司 | Method, video access unit and system for implementing load balance for media transcoding network |
Also Published As
Publication number | Publication date |
---|---|
CN1852502A (en) | 2006-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100389392C (en) | Method for realizing load uniform in clustering system, system and storage controller | |
US7818408B1 (en) | Automated virtual interface failover in a mass storage cluster | |
CN101384985B (en) | SAS zone group permission table version identifiers | |
JP4188602B2 (en) | Cluster type disk control apparatus and control method thereof | |
US20090019157A1 (en) | Storage area network with target side recognition and routing table upload | |
WO2012086919A2 (en) | Distributed storage system including plurality of proxy servers, method for managing object thereof, and storage medium readable by computer | |
US9367261B2 (en) | Computer system, data management method and data management program | |
JP5015965B2 (en) | Server management system and method | |
KR102038527B1 (en) | Distributed cluster management system and method for thereof | |
CN101022400B (en) | Method and device for realizing resource distribution of network stroage system | |
JP2003323263A (en) | Common memory control method and control system | |
CN110830574B (en) | Method for realizing intranet load balance based on docker container | |
US7389367B2 (en) | Method of managing I/O interface modules in a computer system | |
US7836351B2 (en) | System for providing an alternative communication path in a SAS cluster | |
US20100332532A1 (en) | Distributed directory environment using clustered ldap servers | |
US10855538B2 (en) | Single management connection automatic device stack configuration system | |
US10771402B2 (en) | Link aggregated fibre channel over ethernet system | |
CN101237400A (en) | Migration method for network additive storage service and network additional storage node | |
KR102119456B1 (en) | Distributed Broker Coordinator System and Method in a Distributed Cloud Environment | |
EP2472416B1 (en) | Data query system and constructing method thereof and corresponding data query method | |
CN112492030A (en) | Data storage method and device, computer equipment and storage medium | |
CN108366087A (en) | A kind of ISCSI service implementing methods and device based on distributed file system | |
CN113434290A (en) | Data processing method and device based on RAFT protocol, and computer storage medium | |
JP2002049602A (en) | Retrieval system | |
CN101170544A (en) | A communication method in high-availability cluster system based on single practical IP address |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |