Patent Publication Number: US-8527565-B2

Title: Selecting and reassigning a blade for a logical partition for service scheduling of a blade server

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation in part of International Application No. PCT/CN2010/070928, filed on Mar. 9, 2010, which claims priority to Chinese Patent Application No. 200910132344.7, filed on Mar. 30, 2009, both of which are hereby incorporated by reference in their entireties. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to the field of communications technologies, and in particular, to a blade server and a service scheduling method of the blade server. 
     BACKGROUND OF THE INVENTION 
     A blade server is a High Availability High Density (HAHD) server platform, and is specially designed for high density computer environments, where each piece of blade is actually a system motherboard and is similar to an independent server that serves specified different user groups. After these motherboards are integrated into a server cluster by using system software, resources can be shared. 
     A blade server is provided by the related art 1, and  FIG. 1  is a schematic structural diagram of the blade server. Generally, the blade server is formed of components, such as a frame management plate, a blade, a switchboard, a power supply, and a fan. 
     A blade is installed with a storage, which stores resources such as service data of a service provided by the blade and an operating system run on the blade, and in this method, computing resources (a CPU and a memory) and storage resources (hard disks) are all integrated in a blade of a blade server. After a blade is replaced, because the blade is a bare board, it is required to reinstall the services (reinstall the operating system and service package) and perform the recovery of related service data. The foregoing process takes a long time (at least 50 minutes), and easily leads to data recovery failure. 
     Another blade server is provided by the related art 2, the difference between the structure of the blade server and that of the blade server in the related art 1 is that storage resources are separated from computing resources, that is to say blades are not started from the local hard disk, but a centralized storage area is installed to provide data storage for all the blades. Technicians set on a blade a partition from which of the storage area the blade will be started, so that when replacing a blade or making expansion, it is not required to reinstall the operating system and service data, and it is only required to set that the new blade starts from the original partition. 
     In the study and implementation of the related art, the inventor finds that the related art 2 can solve problems about replacing a blade or making expansion in the related art 1, but in the related art 2, the corresponding relation between a blade and a storage partition is preset fixedly, and once technicians finish the setting, the system cannot change the corresponding relation automatically. During the process of service processing in blades, due to the differences of blades and the dynamics of services, it often happens that services for processing increase suddenly in some blades, occupy too many resources, and fail to be processed normally, at the same time, other blades are approximately in an idle state due to a small amount of services for processing, resulting in a waste of resources. 
     SUMMARY OF THE INVENTION 
     Embodiments of the present invention provide a blade server and a service scheduling method of the blade server to make a better use of the blade server resource. 
     A service scheduling method of a blade server provided in an embodiment of the present invention includes: selecting a blade for a logical partition storing service data according to the requirement for processing capability of a service; issuing an identifier of the logical partition storing the service data to the selected blade; and enabling the blade to start the service from the logical partition corresponding to the identifier of the logical partition. 
     A blade server provided in an embodiment of the present invention includes at least two blades and a storage, where the storage includes at least two logical partitions, and the blade server further includes: 
     a configuration management unit, configured to select a blade for a logical partition storing service data according to the requirement for processing capability of a service; and issue an identifier of the logical partition storing the service data to the selected blade; and the blade is further configured to receive the identifier of the logical partition issued by the configuration management unit, and start the service from the logical partition corresponding to the identifier of the logical partition. 
     In the embodiments of the present invention, according to the requirement for processing capability of a service, a blade is selected for a logical partition storing the service data; an identifier of the logical partition storing the service data is issued to the selected blade; the blade starts the service from the logical partition corresponding to the identifier of the logical partition, thereby realizing dynamic distribution of blades according to service requirement, so that a high-performance blade is selected at the peaks of the service, which ensures that the service is processed normally; while at the valleys of the service, a blade having a relatively low performance is used to release the high-performance blade for processing other services. Compared with the static configuration method between the blade and the service in the related art, the present invention can make a more effective use of the blade resources and reduce the cost of the blade server. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic structural diagram of a blade serve in the related art; 
         FIG. 2  is a flow chart of a service scheduling method according to Embodiment 1 of the present invention; 
         FIG. 3  is a flow chart of a blade selection method according to Embodiment 2 of the present invention; 
         FIG. 4  is a flow chart of a blade selection method according to Embodiment 3 of the present invention; 
         FIG. 5  is a schematic structural diagram of a blade server according to Embodiment 4 of the present invention; and 
         FIG. 6  is a schematic structural diagram of a configuration management unit in a blade server according to an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     The technical solutions of the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. Apparently, the embodiments in the following descriptions are merely a part of the embodiments of the present invention, rather than all the embodiments of the present invention. Persons skilled in the art can derive other embodiments based on the embodiments of the present invention without creative efforts, which all fall within the protection scope of the present invention. 
     Embodiments of the present invention provide a service scheduling method, and the embodiments of the present invention further provide a corresponding blade server. The service scheduling method and the blade server are respectively described in detail in the following. 
     A service scheduling method is provided, and the flow chart of the service scheduling method is as shown in  FIG. 2 , which includes the following steps. 
     Step A 1 : Select a blade for a logical partition storing service data according to a requirement for processing capability of a service. The requirement for processing capability of the service may be set manually in advance, and may also be obtained by collecting automatic statistics about the service data. 
     The automatic statistics of the system may be: counting the number of access users and the traffic of data transmission, and comparing the statistical data with a standard value to reflect the requirement for blade processing capability of a service. 
     Step A 2 : Issue an identifier of the logical partition storing the service data to the selected blade. 
     According to an embodiment of the present invention, an identifier of a logical partition may be a volume label of the logical partition or other identifiers for identifying a storage partition, such as a logical unit number (LUN), disk array number, and hard disk interface number, this embodiment only emphasizes that the identifier of an logical partition can uniquely identify the logical partition in the system, and specific forms of the identifier do not constitute a limitation to the present invention. 
     Step A 3 : The blade starts the service from the logical partition corresponding to the identifier of the logical partition. 
     In Embodiment 1 of the present invention, according to a requirement for processing capability of a service, a blade is selected for the logical partition storing the service data; an identifier of the logical partition storing the service data is issued to the selected blade; the blade starts the service from the logical partition corresponding to the identifier of the logical partition, realizing distribution of the blades according to the service requirement, so that the present invention can make a more effective use of the blade resources and reduce the cost of the blade server. 
     In another embodiment of the present invention, the difference between the method and that shown in  FIG. 1  is that, step A 1  includes setting the running peaks and valleys of a service, and setting the blades selected at the peaks and valleys of the service. Specifically, at the peaks of the service, a blade with high processing capability is distributed to the service; at the valleys of the service, a blade with low processing capability is distributed to the service. 
     For example, for a voice call service, the time from 08:00 to 24:00 is set as the service peak, and the time from 00:00 to 08:00 is set as the service valley. At the peaks, a blade A with high processing capability is distributed to the logical partition storing the service data, and at the valleys, a blade B with low processing capability is distributed to the logical partition storing the service. 
     According to the foregoing embodiment, a service at the peaks can be processed by selecting a high-performance blade to ensure that the service is processed normally, but at the valleys, a blade having relatively low performance may be used to release the high-performance blade for processing other services. Compared with the static configuration method between the blades and the services in the related art, the present invention can make a more effective use of the blade resources and reduce the cost of the blade server. 
     Another method for selecting a blade is provided, and the flow chart of the blade selection method is shown in  FIG. 3 . The difference between the method and that shown in  FIG. 1  is described in the following, where step A 1  includes the following steps. 
     Step B 1 : According to a saved corresponding relation between identifiers of the logical partitions and blade identifiers, obtain the blade currently used by the logical partition storing the service data. 
     The blade identifier is an identifier for uniquely identifying a blade in the system and it may be the World Wide Name (WWN) number of a blade, or an identifier in another format, such as an Input/Output (I/O) interface address of a blade. 
     According to an embodiment of the present invention, the Storage Area Network (SAN) may be used to store data. By means of the SAN BOOT, the operating system is started from a storage device through the SAN storage network. The operating system is not started from the local hard disk, so the SAN BOOT is sometimes called the REMOTE BOOT. 
     In the embodiment of the present invention, the corresponding relation between the identifiers of the logical partitions and blade identifiers may be preset, and the blade corresponding to each logical partition can be obtained based on the corresponding relation. 
     It can be understood that, in the embodiment of the present invention, information related to a service, storage resources information and computing resources information can be pre-stored. 
     Information related to a service may include service name and type, the operating system in the service, database, service version, configuration data of the service, and storage resources such as the logical partition storing the service data. 
     Storage resource information may include: LUN distributed to the storage device, Redundant Array of Independent Disk (RAID) level of the defined LUN, and size and name of the logical partition. 
     Computing resources information may include: Advanced Telecom Computing Architecture (ATCA) frame number, slot number, CPU information (number, speed), memory information (number, size), name, and WWN number. 
     Step B 2 : Determine whether a resource occupation rate of the blade exceeds a preset standard, and if the resource occupation rate exceeds the preset standard, continue step B 3 ; if the resource occupation rate does not exceed the preset standard, the flow ends. 
     In the embodiment of the present invention, requirements of service running for processing capability are different, for example, during the running peaks of the service, service traffic is large, only a high-speed high-performance blade can ensure normal running of the service; but during the running valleys of the service, the requirement for the processing capability of a blade is decreased greatly, and using a high-performance blade to provide services at this time may waste the processing resource. Therefore, in this embodiment, whether the requirement for processing capability of a service is satisfied is identified by determining the resource occupation rate of a blade, where the resource occupation rate may be general parameters such as a CPU occupation rate and memory occupation rate. By determining the resource occupation rate, it can be known whether the processing status of the blade that currently processes the service may satisfy the service requirement. 
     For example, by obtaining the CPU occupation rate of a blade, it is found that the CPU occupation rate exceeds 97%, so it is deemed that the blade cannot satisfy the service requirement, and the performance of the blade serving the service needs to be improved or another blade needs to be added. 
     Step B 3 : Redistribute a blade to the logical partition storing the service data, the processing capability of the redistributed blade is higher than that of the currently used blade; or add another blade to the logical partition storing the service data. 
     Distributing a blade with higher processing capability to the service can ensure the normal running of the service; of course, the service processing capability may also be improved by adding another blade to process the service. 
     Of course, a blade server should know the processing capability of the installed blades of the blade server in advance, so as to realize reasonable distribution of blades. For example, data, such as the CPU model, memory size, and bus bandwidth, are pre-stored as a basis for evaluating the processing capability of a blade. 
     In the foregoing Embodiment 2, the requirement for processing capability of a service is detected, and when a blade corresponding to the service cannot satisfy the service requirement for processing capability, a blade having higher performance is redistributed or another blade for processing the service is added, ensuring the normal running of the service and improving the success ratio and stability of service provision. 
     Another method for selecting a blade is provided, and the flow chart of the blade selection method is as shown in  FIG. 4 . The difference of this method and the method shown in  FIG. 1  is described in the following, where step A 1  includes the following steps: 
     Step C 1 : According to a corresponding relation between identifiers of the logical partitions and blade identifiers, obtain the blade currently used by the logical partition storing the service data. 
     Step C 2 : Determine whether the resource occupation rate of the blade exceeds the preset standard, if the resource occupation rate is lower than the preset standard, perform step C 3 ; if the resource occupation rate does not exceed the preset standard, the flow ends. 
     Step C 3 : Redistribute a blade to the logical partition storing the service data, where the processing capability of the redistributed blade is lower than that of the currently used blade. 
     In this embodiment, when a blade has a low resource rate, a processing method for recycling resources is provided to realize reasonable distribution of resources. For example, when the CPU occupation rate of a blade is lower than 10%, which indicates that the traffic of the blade is low, a blade having lower performance can be selected to process the service without affecting the normal running of the service, at the same time, a blade having higher performance can be released to process a service with a higher requirement for processing capability. 
     Those skilled in the art should understand that all or part of the steps in the method of the embodiments may be accomplished by relevant hardware under instructions of a program. The program can be stored in a computer readable storage medium including a ROM, a RAM, a magnetic disk, or an optical disk. 
     Accordingly, a blade server is provided, the schematic structural diagram of the blade server is shown in  FIG. 5 . As shown in  FIG. 5 , the blade server includes blades  511  to  51   n  (n≧2, and n is an integer) and a storage  520 . The storage  520  includes logical partitions  521  to  52   m  (m≧2, and m is an integer). The blade server further includes a configuration management unit  530 . 
     The configuration management unit  530  is configured to, select a blade  51   x  (x is an integer within the range from 2 to n) for the logical partition storing the service data according to a requirement for processing capability of a service; and issue an identifier of a logical partition  52   y  (y is an integer within the range from 2 to m) storing the service data to the selected blade  51   x.    
     The blade  51   x  is further configured to receive the identifier of the logical partition issued by the configuration management unit  530 , and start the service from the logical partition  52   y  corresponding to the identifier of the logical partition. 
     In this embodiment, the configuration management unit  530  may include a blade management  531 , a service management unit  532 , a blade distribution unit  533 , and an identifier issuing unit  534 , and the schematic structural diagram of the configuration management unit  530  is shown in  FIG. 6 . 
     The blade management unit  531  is configured to record an identifier of the new blade and processing capability information of the new blade when a new blade is added. 
     It can be understood that, the blade management unit  531  may include an acquisition command issuing unit and a blade identifier receiving unit, so as to realize the acquisition of the blade identifier. Specifically: 
     The acquisition command issuing unit is configured to send a command of acquiring the blade identifier to the blade after the blade is added. 
     The blade identifier receiving unit is configured to receive the blade identifier returned by the blade and record the blade identifier. 
     The blade management unit is capable of obtaining processing capability information of the blade according to hardware driver information of a blade or other conventional methods. The capability information may include: the CPU model and memory size of the blade. 
     The service management unit  532  is configured to record an identifier of a logical partition storing the service data. 
     The blade distribution unit  533  is configured to obtain from the service management unit  532  the identifier of the logical partition storing the service data, and according to the requirement of a service for processing capability, select a blade for the logical partition storing the service data based on the blade processing capability information recorded by the blade management unit  531 . 
     The identifier issuing unit  534  is configured to issue the identifier of the logical partition storing the service data to the selected blade. 
     It can be understood that, a blade server provided in Embodiment 4 of the present invention further includes a storage area partition unit and a command management unit. 
     The storage area partition unit is configured to issue a partition command to the command management unit. 
     The command management unit is configured to receive the partition command sent by the storage area partition unit  540 , convert the partition command into a command line that can be identified by the storage, and issue the command line to the storage  520 . 
     The storage  520  performs the partition of logical partitions according to the command line issued by the command management unit. 
     For details about a running method of the blade server provided by the embodiments of the present invention, reference may be made to the description in the method embodiments of the present invention, and are not repeated here. 
     Those skilled in the art should understand that, all or part of processes of the foregoing method in the embodiments may be accomplished by relevant hardware under instructions of a computer program. The program may be stored in a computer-readable storage medium. When the program is executed, the processes of the method according to the embodiments of the present invention may be included. The storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM). 
     The blade server and the service scheduling method of the blade server are described in detail in the embodiments of the present invention. Examples are provided to describe principles and implementations of the present invention, and the preceding embodiments are only used for helping understand the method of the present invention. Meanwhile, those skilled in the art can make modifications and variations on the implementation and application scope of the invention according to the spirit of the present invention. To sum up, the present disclosure should not be construed as limitations to the present invention.