CN110868435B - Bare metal server scheduling method and device and storage medium - Google Patents

Bare metal server scheduling method and device and storage medium Download PDF

Info

Publication number
CN110868435B
CN110868435B CN201810983620.XA CN201810983620A CN110868435B CN 110868435 B CN110868435 B CN 110868435B CN 201810983620 A CN201810983620 A CN 201810983620A CN 110868435 B CN110868435 B CN 110868435B
Authority
CN
China
Prior art keywords
bare metal
requirement
scheduling
metal server
server
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
Application number
CN201810983620.XA
Other languages
Chinese (zh)
Other versions
CN110868435A (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.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology 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 China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201810983620.XA priority Critical patent/CN110868435B/en
Publication of CN110868435A publication Critical patent/CN110868435A/en
Application granted granted Critical
Publication of CN110868435B publication Critical patent/CN110868435B/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/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention relates to the technical field of communication, and discloses a bare metal server scheduling method, a bare metal server scheduling device and a storage medium, which are used for meeting the scheduling requirements of users, further improving the scheduling accuracy of bare metal servers and enriching the scheduling scheme of bare metal servers, wherein the bare metal server scheduling method comprises the steps of obtaining a request of a user for scheduling bare metal servers from a bare metal server resource pool, wherein the request carries scheduling requirement information, and the scheduling requirement information refers to the information of the user on the configuration requirements of the scheduled bare metal servers; when the scheduling requirement information comprises a position configuration requirement of a resource pool where a bare metal server is located, determining a plurality of bare metal servers meeting the position configuration requirement from the resource pool; and allocating the determined bare metal servers to the user for use.

Description

Bare metal server scheduling method and device and storage medium
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a bare metal server scheduling method, apparatus, and storage medium.
Background
In the field of cloud computing in communication technology, servers are divided into virtual servers and physical servers, where a virtual server may be called a virtual machine, and a physical server may be called a bare metal server. The scheduling of the bare metal server refers to how to select one or more machines from a plurality of machines for a user to use in a resource pool, and the selection process is called scheduling.
Disclosure of Invention
The embodiment of the invention provides a bare metal server scheduling method, a bare metal server scheduling device and a storage medium, which are used for meeting the scheduling requirements of users, further improving the scheduling accuracy of bare metal servers and enriching the scheduling scheme of bare metal servers.
In a first aspect, a bare metal server scheduling method provided in an embodiment of the present invention includes:
obtaining a request of a user for scheduling a bare metal server from a bare metal server resource pool, wherein the request carries scheduling requirement information, and the scheduling requirement information refers to information of the user's requirement for configuration of the scheduled bare metal server;
when the scheduling requirement information comprises a position configuration requirement of a resource pool where a bare metal server is located, determining a plurality of bare metal servers meeting the position configuration requirement from the resource pool;
and allocating the determined bare metal servers to the user for use.
Optionally, when the scheduling requirement information further includes a non-location configuration requirement for a bare metal server, the determining, from the resource pool, a plurality of bare metal servers that satisfy the location configuration requirement specifically includes:
and determining a plurality of bare metal servers meeting the position configuration requirement and the non-position configuration requirement from the resource pool.
Optionally, the determining, from the resource pool, a plurality of bare metal servers that satisfy the location configuration requirement and the non-location configuration requirement specifically includes:
acquiring a view comprising configuration information of each bare metal server in the resource pool, wherein the configuration information comprises the position configuration information and the non-position configuration information;
comparing the position configuration information with the position configuration requirement, comparing the non-position configuration information with the non-position configuration requirement, and determining an unallocated bare metal server list which meets the position configuration requirement and the non-position configuration requirement;
and determining a plurality of bare metal servers with the highest selection priority according to the selection priority of each bare metal server in the list.
Optionally, the position configuration requirement includes one or more of the following requirements:
the position requirement of a rack where the bare metal server is located, the position requirement of a switch accessed by the bare metal server and the position requirement of a power supply module connected with the bare metal server;
the non-positional configuration requirements include: hardware and/or software configuration requirements of the bare metal server.
Optionally, after the certain bare metal servers are allocated to the user for use, the method further includes:
changing the state of the bare metal servers in the view from an unallocated state to an allocated state; and
when the condition that the bare metal servers are retracted is monitored, changing the states of the bare metal servers in the view from the distributed state to the non-distributed state.
In a second aspect, an embodiment of the present invention provides a bare metal server scheduling apparatus, including:
an obtaining unit, configured to obtain a request, which is applied by a user, for scheduling a bare metal server from a bare metal server resource pool, where the request carries scheduling requirement information, and the scheduling requirement information is information of a requirement of the user for configuration of the scheduled bare metal server;
the determining unit is used for determining a plurality of bare metal servers meeting the position configuration requirements from the resource pool when the scheduling requirement information comprises the position configuration requirements of the bare metal servers in the resource pool; and the server is used for allocating the determined bare metal servers to the user for use.
Optionally, when the scheduling requirement information further includes a non-location configuration requirement for a bare metal server, the determining unit is further configured to:
and determining a plurality of bare metal servers meeting the position configuration requirement and the non-position configuration requirement from the resource pool.
Optionally, the determining unit is further configured to:
acquiring a view comprising configuration information of each bare metal server in the resource pool, wherein the configuration information comprises the position configuration information and the non-position configuration information;
comparing the position configuration information with the position configuration requirement, comparing the non-position configuration information with the non-position configuration requirement, and determining an unallocated bare metal server list which meets the position configuration requirement and the non-position configuration requirement;
and determining a plurality of bare metal servers with the highest selection priority according to the selection priority of each bare metal server in the list.
Optionally, the position configuration requirement includes one or more of the following requirements:
the position requirement of a rack where the bare metal server is located, the position requirement of a switch accessed by the bare metal server and the position requirement of a power supply module connected with the bare metal server;
the non-positional configuration requirements include: hardware and/or software configuration requirements of the bare metal server.
Optionally, the determining is further configured to:
changing the state of the bare metal servers in the view from an unallocated state to an allocated state; and
when the condition that the bare metal servers are retracted is monitored, changing the state of the bare metal servers in the view from an allocated state to an unallocated state.
In a third aspect, an apparatus provided in an embodiment of the present invention includes:
at least one processor, and
a memory coupled to the at least one processor;
wherein the memory stores instructions executable by the at least one processor, and the at least one processor performs the method of the first aspect by executing the instructions stored by the memory.
In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, including:
the computer readable storage medium stores computer instructions which, when executed on a computer, cause the computer to perform the method of the first aspect.
In the embodiment of the invention, when a user applies for a request for scheduling a bare metal server from a bare metal server resource pool, and the request carries a position configuration requirement in scheduling requirement information, a plurality of bare metal servers meeting the position configuration requirement can be determined from the resource pool, and then the determined bare metal servers are allocated to the user for use, so as to meet the requirement on position configuration when the bare metal server is scheduled, further improve the scheduling accuracy of the bare metal server, and enrich the scheduling scheme of the bare metal server.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments will be briefly introduced, and it is apparent that the drawings in the description are only some embodiments of the present invention.
Fig. 1 is a flowchart of a bare metal server scheduling method according to an embodiment of the present invention;
fig. 2 is a schematic diagram of a bare metal server location configuration according to an embodiment of the present invention;
fig. 3 is a schematic diagram of a bare metal server scheduling apparatus according to an embodiment of the present invention;
fig. 4 is a schematic diagram of another bare metal server scheduling apparatus according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the technical solutions of the present invention. All other embodiments obtained by a person skilled in the art without any inventive work based on the embodiments described in the present application are within the scope of the protection of the technical solution of the present invention.
In a specific practical process, the inventor of the present invention finds that, in the prior art, when a bare metal server is scheduled, only the need for hardware or software configuration for scheduling the bare metal server is considered, so that a finally scheduled bare metal server cannot meet the requirements of truthful users for scheduling the bare metal server, and further, the problem of low scheduling accuracy of the bare metal server occurs.
For example, when a user applies for a plurality of bare metal servers to deploy an Oracle RAC cluster, according to the existing scheduling method, that is, only the need of hardware or software configuration of the bare metal servers is considered, it cannot be guaranteed that the plurality of bare metal servers scheduled meet the requirements of the Oracle RAC, wherein each bare metal server required to be scheduled by the Oracle RAC cannot be connected to the same switch, and thus the scheduling accuracy of the bare metal servers is not high.
Based on this, the embodiment of the invention provides a bare metal server scheduling method, when a user applies for a request for scheduling a bare metal server from a bare metal server resource pool, and the request carries a position configuration requirement in scheduling requirement information, a plurality of bare metal servers meeting the position configuration requirement are determined from the resource pool, and then the determined bare metal servers are allocated to the user for use, so as to improve the scheduling accuracy of the bare metal server, and simultaneously enrich the scheduling scheme of the bare metal server.
The bare metal server scheduling method provided by the embodiment of the invention is explained below with reference to the accompanying drawings.
Referring to fig. 1, a bare metal server tuning method according to an embodiment of the present invention includes:
step 101: obtaining a request of a user for scheduling a bare metal server from a bare metal server resource pool, wherein the request carries scheduling requirement information;
the scheduling requirement information refers to information of requirements of the user on configuration of the scheduled bare metal server.
The method in the embodiment of the invention can be applied to a cloud scheduling platform, and in the embodiment of the invention, the requirements on the configuration of the scheduled bare metal server include the non-position configuration requirements and the position configuration requirements on the scheduled bare metal server, wherein the non-position configuration requirements can refer to the requirements on the hardware configuration and the software configuration of the bare metal server, such as the requirements on the specifications of an operating system, a CPU, a memory and a disk of the bare metal server, whether the bare metal server is provided with an SSD disk and the types of machines such as an APP server and an MPP server; the non-location configuration may also refer to requirements for the same compute node, compute node affinity and counter affinity, scheduling scenarios, etc. of the bare metal server.
In practical application, the positions of the bare Metal servers in the resource pool may be as shown in fig. 2, including the RACK (RACK in fig. 2) where each bare Metal server is located, the TOR of the accessed management network (TOR represents a switch), the TOR of the accessed service network, and certainly other positions, such as the connected power supply module, etc., where bm (barrel Metal server) in fig. 2 represents a bare Metal server.
Correspondingly, the position configuration requirement may refer to a position requirement for a rack where the bare metal server is located, a position requirement for a switch to which the bare metal server is connected, a position requirement for a power supply module connected to the bare metal server, other position-related requirements, or a plurality of position requirements listed above.
Therefore, in the embodiment of the present invention, when a user needs to schedule a bare metal server resource from a bare metal server resource pool, the user may input a configuration requirement of the bare metal server that the user needs to schedule through an interface provided in the cloud scheduling platform, and then the cloud scheduling platform may obtain, through the input operation of the user, a request that the user applies for scheduling the bare metal server from the bare metal server resource pool, where the request carries scheduling requirement information, that is, information of the configuration requirement input by the user.
Step 102: judging whether the scheduling requirement information comprises a position configuration requirement of a resource pool where the bare metal server is located and a non-position configuration requirement of the bare metal server; when only the position configuration requirement is included, executing step 103, and when the position configuration requirement and the non-position configuration requirement are included, executing step 104; when only non-location configuration requirements are included, step 105 is performed.
In the embodiment of the present invention, after acquiring a request that a user applies for scheduling a bare metal server from a bare metal server resource pool, a cloud scheduling platform acquires scheduling requirement information carried in the request according to the request, and in practical applications, the scheduling requirement information carried in the request may only include information required for scheduled location configuration, may also only include information required for non-location configuration of the scheduled bare metal server, and may also include information required for location configuration and non-location configuration of the scheduled bare metal server.
Therefore, after the request is obtained, it may be determined whether the request includes a location configuration requirement for the resource pool where the bare metal server is located and a non-location configuration requirement for the bare metal server according to the scheduling requirement information carried in the request, and if the request only includes information of the location configuration requirement for the scheduled bare metal server, step 103 may be executed, that is, several bare metal servers meeting the location configuration requirement are determined from the resource pool; if the information of the position configuration requirement and the non-position configuration requirement of the scheduled bare metal server can be included at the same time, step 104 can be executed, that is, a plurality of bare metal servers meeting the position configuration requirement and the non-position configuration requirement are determined from the resource pool; if the information includes only the information required for the non-location configuration of the scheduled bare metal server, step 105 is executed: and determining a plurality of bare metal servers meeting the non-position configuration requirement from the resource pool, wherein the three situations are respectively described in detail below.
Step 103: and determining a plurality of bare metal servers meeting the position configuration requirement from the resource pool.
When it is determined in step 102 that the request information only includes information required for location configuration of the scheduled bare metal server, the cloud scheduling platform may first obtain a view including configuration information of each bare metal server in the resource pool, where the configuration information in the view includes location configuration information and non-location configuration information of each bare metal server in the resource pool, that is, the view includes configuration information of each bare metal server in the resource pool, such as hardware configuration, software configuration, a rack in which the bare metal server is located, an accessed management network switch, an accessed service network switch, and a connected power supply module.
In the embodiment of the present invention, specifically, taking 6 bare metal servers included in a resource pool as examples, which are respectively denoted as BM1, BM2, BM3, BM4, BM5, and BM6, it is assumed that the position configuration information of the 6 bare metal servers included in a view is as shown in table one:
table one:
Figure BDA0001779191620000071
Figure BDA0001779191620000081
then, as can be seen from the first table, the management network switches accessed by the BM1 are management network switch TOR1 and management network switch TOR2, which are referred to as management network TOR1+ TOR2 for short, the service switches accessed by the BM1 are service network TOR1+ TOR2, the RACK in which the BM1 is located is RACK1, and the Power Distribution Unit PDU (Power Distribution Unit) is PDU 1; the management network switch accessed by the BM2 is a management network TOR1+ TOR2, the accessed service switch is a service network TOR1+ TOR2, the RACK in which the BM2 is located is RACK1, and the power supply module is PDU 1; the management network switch accessed by the BM3 is management network TOR1+ TOR2, the accessed service switch is service network TOR1+ TOR2, the RACK in which the management network switch is located is RACK2, and the power supply module is PDU 1; the management network switch accessed by the BM4 is management network TOR1+ TOR2, the accessed service switch is service network TOR1+ TOR2, the RACK in which the management network switch is located is RACK2, and the power supply module is PDU 1; the management network switch accessed by the BM5 is a management network TOR3+ TOR4, the accessed service switch is a service network TOR3+ TOR4, the RACK in which the BM5 is located is RACK3, and the power supply module is PDU 2; the management network switch accessed by the BM6 is management network TOR3+ TOR4, the accessed service switch is service network TOR3+ TOR4, the RACK in which the BM6 is located is RACK4, and the power supply module is PDU 2.
Assume that the location configuration requirements carried in the request are: and 3 bare metal servers of the scheduling access management network TOR1+ TOR2 are designated, so that the cloud scheduling platform can compare the position configuration requirement with the position configuration of each bare metal server in the view, and further determine that the bare metal servers meeting the position configuration requirement carried in the request are BM1, BM2, BM3 and BM 4.
In this embodiment of the present invention, the cloud scheduling platform may randomly select 3 bare metal servers from the BMs 1, BM2, BM3, and BM4 that meet the location configuration requirement carried in the request, for example, select BM1, BM3, and BM4, and then execute step 106: and allocating a plurality of determined bare metal servers to the users, namely allocating the selected BMs 1, BM3 and BM4 to the users.
In this embodiment of the present invention, the cloud scheduling platform may further generate a candidate bare metal server list according to the determined BMs 1, BM2, BM3, and BM4 meeting the location configuration requirement carried in the request, and in the list, the determined bare metal servers may also be sorted according to a preset scheduling priority, where the preset scheduling priority may be flexibly set according to actual needs, for example, the scheduling priority may be set according to a RACK in which the bare metal server is located, for example, the priorities of the bare metal servers on RACK1, RACK2, RACK3, and RACK4 are sequentially decreased, and then the scheduling priority order of the plurality of bare metal servers in the generated candidate bare metal server list may be shown as the second row in the following table two:
table two:
switch-in switch All BMs of switch conforming to access Allocated BM
Management network TOR1+ TOR2 BM1、BM2、BM3、BM4 N/A
Management network TOR3+ TOR4 BM5、BM6 N/A
Service network TOR1+ TOR2 BM1、BM2、BM3、BM4 N/A
Service network TOR3+ TOR4 BM5、BM6 N/A
That is, candidate bare metal servers which meet the position configuration requirement and are arranged according to the scheduling priority are BM1, BM2, BM3 and BM4, respectively, then the cloud scheduling platform determines 3 bare metal servers with the highest priority from the list, that is, BM1, BM2 and BM3, where N in table two indicates that no BM in the row is allocated, a indicates that BM in the row is allocated, and when all BMs in a certain row are allocated, the identifier a may be selected; when all the BMs in a certain row are not allocated, the identifier N can be selected; when some BMs are allocated in a row, the allocated BMs can be displayed in the allocated BM options in table two.
After determining 3 bare metal servers BM1, BM2, BM3 meeting the position configuration requirement in the request, step 106 may be executed: and allocating the determined bare metal servers to the users, namely allocating the BM1, the BM2 and the BM3 to the users applying for use, thereby completing the scheduling of bare metal server resources.
In the embodiment of the present invention, in order to better manage each bare metal server in the resource pool, after BM1, BM2, and BM3 are allocated to the application user for use, the states of the three bare metal servers in the view may be changed from an unallocated state to an allocated state, and correspondingly, in the list of candidate bare metal servers generated in table two, the allocation state of each metal server meeting the requirements may also be displayed, and then 3 bare metal servers meeting the position configuration requirements and having the highest unallocated priority are selected from the list.
The other rows in table two indicate that the location configuration requirements carried in the request are: a plurality of bare metal services of the scheduling access management network TOR3+ TOR4 are designated, a plurality of bare metal services of the scheduling access service network TOR1+ TOR2 are designated, and a plurality of bare metal services of the scheduling access service network TOR3+ TOR4 are designated, a corresponding selected bare metal server list is generated, and then a plurality of unallocated bare metal servers which meet the position configuration requirement and have the highest priority are selected from the generated corresponding selected bare metal server list according to the mode described above, so that the description is not repeated.
In practical applications, the location configuration requirement carried in the request may also be a requirement for a RACK where the bare metal server to be scheduled is located, for example, as shown in table three, a list meeting the location requirement is generated when the location configuration requirement carried in the request is respectively specified to be located RACKs 1, RACK2, RACK3, and RACK4, for example, the location configuration requirement carried in the request specifically is: and specifying that the RACK where the scheduled bare metal server is located is 1 bare metal server of RACK2, then according to comparing the position configuration requirement with the position configuration of each bare metal server in the view, a bare metal server list meeting the position requirement shown in table three, that is, including BM3 and BM4, can be generated, and assuming that BM3 is allocated, then the bare metal server meeting the position configuration requirement, which is not allocated, and has the highest priority can be determined to be BM4 from the list, and then BM4 is allocated to the user who applies for.
Table three:
Figure BDA0001779191620000101
Figure BDA0001779191620000111
certainly, in practical applications, the location configuration requirement carried in the request may further include a combination of multiple location requirements in a rack where the scheduled bare metal server is located, a management network interactive machine accessed by the scheduled bare metal server, a service network interactive machine accessed by the scheduled bare metal server, and a power supply unit connected to the scheduled bare metal server.
For example, when the location configuration requirement carried in the request includes two BMs, the RACK in which the bare metal server to be scheduled is located is RACK1 and the power supply module is PDU1, according to the view shown in table one, the bare metal servers meeting the location configuration requirement can be determined to be BM1 and BM2, and if BM1 and BM2 are not allocated, the bare metal servers meeting the configuration requirement and not allocated can be determined to be BM1 and BM2, and BM1 and BM2 are allocated to the application user.
In practical application, after the BM1 and BM2 are allocated to the application user, it may be periodically monitored whether the BM1 and BM2 are withdrawn, and if it is monitored that the BM1 and BM2 are withdrawn, the cloud scheduling platform may change the state of the BM1 and BM2 from the allocated state to the unallocated state, so as to perform the next scheduling.
Therefore, by the method, in the embodiment of the invention, when a user applies for a request for scheduling a bare metal server from a bare metal server resource pool, and the request carries a position configuration requirement in scheduling requirement information, a plurality of bare metal servers meeting the position configuration requirement can be determined from the resource pool, and then the determined plurality of bare metal servers are allocated to the user for use, so as to meet the requirement on position configuration when the bare metal server is scheduled, further improve the scheduling accuracy of the bare metal server, and enrich the scheduling scheme of the bare metal server.
Step 104: and determining a plurality of bare metal servers meeting the position configuration requirement and the non-position configuration requirement from the resource pool.
When it is determined in step 102 that the request includes information of both a location configuration requirement and a non-location configuration requirement for the scheduled bare metal server, the cloud scheduling platform may compare the location configuration information in the view with the location configuration requirement in the request, and compare the non-location configuration information in the view with the non-location configuration requirement in the request, respectively, to determine an unallocated bare metal server list that satisfies the location configuration requirement and the non-location configuration requirement in the request.
Continuing with the view shown in table one above as an example, suppose that user B needs to apply for two bare metal servers for deploying an Oracle RAC, where the location configuration requirements carried in the request are: 2 BMs which are assigned to scheduled bare metal servers, access a service network TOR1+ TOR2 and an access management network TOR1+ TOR2 and are located in different racks; non-location configuration requirement bits carried in the request: the CPU specification of the dispatched bare metal server is 32CPU, and the Memory specification is 256 GB.
Meanwhile, assume that the CPU specification of BM1, BM2, BM3 shown in table one is 32CPU and the Memory specification is 256 GB. Then, according to the non-location configuration requirement carried in the request, it may be determined that the bare metal servers meeting the non-location configuration requirement are BM1, BM2, and BM3, and according to the location configuration requirement carried in the request, it is determined from BM1, BM2, and BM3 that the service network TOR1+ TOR2 and the access management network TOR1+ TOR2 are all accessed, and BM lists where racks are different from each other may be: the method comprises the steps of a list 1 comprising the BMs 1 and 3 and a list 2 comprising the BM2 and the BM3, and under the assumption that none of the BMs 1, BM2 and BM3 are allocated, because the list 1 and the list 2 meet the position configuration requirement and the non-position configuration requirement and only two unallocated BMs exist, a cloud scheduling platform can determine bare metal servers meeting the requirement to be the BM1 and the BM3 according to the list 1, and then execute a step 106, namely, the user application is allocated to the BM1 and the BM3 to use, and scheduling is completed; the cloud scheduling platform can also determine that the bare metal servers meeting the requirements are the BM2 and the BM3 according to the list 2, and further allocate the users applied by the BM2 and the BM3 to use, so as to complete scheduling.
Similarly, in practical applications, after the BM2 and BM3 are allocated to the application user, it may be periodically monitored whether the BM2 and the BM3 are reclaimed, and if the BM2 and the BM3 are reclaimed, the cloud scheduling platform may change the state of the BM2 and the state of the BM3 from the allocated state to the unallocated state, so as to perform the next scheduling.
Therefore, by the above method, in the embodiment of the present invention, when a user requests to schedule a bare metal server from a bare metal server resource pool and the request carries a position configuration requirement and a non-position configuration requirement in scheduling requirement information, a plurality of bare metal servers that simultaneously satisfy the position configuration requirement and the non-position configuration requirement can be determined from the resource pool, and then the determined bare metal servers are allocated to the user for use, so as to simultaneously satisfy the requirements for position configuration and non-position configuration when the bare metal server is scheduled, thereby improving the scheduling accuracy of the bare metal server, and simultaneously enriching the scheduling scheme of the bare metal server.
Step 105: and determining a plurality of bare metal servers meeting the non-position configuration requirement from the resource pool.
When it is determined in step 102 that the request only includes information of non-location configuration requirements for the scheduled bare metal servers, at this time, the cloud scheduling platform may determine, from the bare metal server resource pool, a plurality of bare metal servers meeting the non-location requirements according to the non-location configuration requirements.
For example, when the non-location configuration requirement carried in the request is 32 CPUs and the Memory specification is 256GB, assuming that the CPU specifications of the BMs 1, BM2 and BM3 shown in the table one are 32 CPUs and the Memory specification is 256GB, after comparing the non-location configuration requirement carried in the request and the non-location configuration information of each bare metal server in the view, the cloud scheduling platform can determine that the CPU specification of the non-location requirement is 32 CPUs and the bare metal servers with the Memory specification of 256GB are BM1, BM2 and BM3, and then select two bare metal servers from the BM1, BM2 and BM3 to allocate to the application user.
Similarly, the cloud scheduling platform may randomly select two bare metal servers from the BMs 1, BM2 and BM3 to allocate to the application user, or may generate a list first, and classify the BMs 1, the BMs 2 and the BM3 in the generated list according to the scheduling priorities, assuming that the scheduling priorities of the BM1, the BM2 and the BM3 are sequentially decreased, and assuming that none of the BM1, the BM2 and the BM3 is allocated, then select the BM1 and the BM2 which meet the non-location requirement and have the highest unallocated priorities, and allocate the selected BM1 and the BM2 to the application user.
In the embodiment of the present invention, according to a common network card configuration: the dual-port 1Gbe RJ45 network card (electric port for short) and the dual-port 10Gbe SFP + optical fiber network card (optical port for short), and can subdivide the position requirement on the switch accessed by the bare metal server into the position requirement on the management network switch accessed by the bare metal server and the position requirement on the service network switch accessed by the bare metal server.
Therefore, according to the method, in the embodiment of the invention, when a user applies for a request for scheduling a bare metal server from a bare metal server resource pool and the request carries a non-position configuration requirement in scheduling requirement information, a plurality of bare metal servers meeting the non-position configuration requirement can be determined from the resource pool, and then the determined bare metal servers are allocated to the user for use, so as to meet the requirement of the bare metal server for the non-position configuration during scheduling, further improve the scheduling accuracy of the bare metal server, and further enrich the scheduling scheme of the bare metal server.
Alternatively, in this embodiment of the present invention, before step 101 is executed, the configuration information of each bare metal server in the resource pool may be initialized, so as to update the location configuration information and the non-location information of each bare metal server.
The updating mode includes various modes, for example, the administrator can uniformly input the position information and the non-position information of each bare metal server, and the sources of the information are mainly obtained by offline collection and arrangement; the automatic collection of the switch information in the position information can be realized by the aid of the LLDP message of the switch, and the power supply condition of the machine can be checked by the aid of the remote management function of the PDU (protocol data unit), namely, the information of the accessed power supply module in the position information is collected.
In the embodiment of the present invention, the period of periodically and synchronously updating the configuration information of each bare metal server in the resource pool may be set, so as to periodically obtain the latest location information by querying the configuration management database CMDB of the data center, it should be noted that, in general, after the bare metal server is put on shelf, the machine is not frequently moved except for the maintenance of accessories; if the administrator adjusts the switch connection, replaces the switch or moves the machine to replace the rack, the change request can be initiated to update the corresponding information.
In an optional manner, in the embodiment of the present invention, the power supply module of each rack may be independent, and the power failure of one rack does not affect the power supply of other racks, in step 101, an access switch connected to the electrical port of the bare metal server is called a management network access switch, and a pair of two access switches are adopted to operate in a master-standby mode and may be distributed in two adjacent racks; the management network generally uses the traditional network technology, and the administrator configures the route, the subnet and the VLAN in advance; the gateway is configured on the access switch, i.e. the machines under the same pair of switches belong to one subnet. An access switch connected with an optical port of a bare metal server is called a service network access switch, a pair of two switches work in a load balancing mode and are distributed in two adjacent racks, the service network generally uses an SDN network technology, and users create dynamic networks, subnets, virtual routers and the like according to requirements.
An optional manner, in the embodiment of the present invention, in order to further facilitate scheduling of the bare metal server, the location configuration requirement may be further divided into different categories, for example, a designated category, an excluded category, a same-different group category, a strong (weak) affinity category, and an anti-parent category, and a combination of the four basic categories, so that, in step 102, if it is determined that the request carries the location configuration requirement for the resource pool where the bare metal server is located, the type to which the carried location configuration requirement belongs may be further determined, and then the bare metal server meeting the user location configuration requirement is selected from the resource pool according to the type to which the location configuration requirement belongs.
Wherein, the specified class: it is applicable that a user knows the location of a bare metal server in a data center, and can specify a rack or switch creation instance, as is common in private cloud scenarios, such as for controllable rack-by-rack allocation of resources. For example, a rack schedule is specified, and a user may specify one or more racks for scheduling. So that the end-use machines come from these racks, machines in other racks are not dispatched to, and the same is true when the switch is assigned to dispatch and assign other location configurations, and the description is not repeated here.
Class exclusion: the reservation of the underlying resources is configured by the administrator, for example, the administrator reserves machines on a plurality of racks for testing, the resources may not be used by the online service, for example, rack scheduling is excluded, and the user may exclude one or more racks from scheduling, so that the user may not use machines on the racks, switch scheduling is excluded, or other location configuration is the same, which is not repeated here.
The same group and different group: the method is suitable for creating a plurality of bare metal servers in the same batch, and requires that the distribution of the bare metal servers meet specific conditions, for example, on different racks, under the same pair of management network access switches, the same group of racks are dispatched, and a user can dispatch a group of instances to the same rack. So that the end-use machines come from the same rack and are not distributed to multiple racks. The same reason for the same group switch scheduling or the scheduling configured in other positions of the same group is not repeated here.
And in the heterogeneous rack scheduling, a user can schedule a group of instances to different racks. So that the final batch of machines used will have different racks for each two. The dispatching of the different group of switches is the same.
Strong (weak) affinity and inverse affinity: the method is suitable for creating a plurality of bare metal servers in multiple batches, and the subsequently created bare metal servers generate an incidence relation with the previously created bare metal servers. Affinity refers to a subsequently created machine to be created with a previously created machine, and anti-affinity refers to a subsequently created machine to be created separately from a previously created machine. The strong affinity is suitable for a plurality of bare metal servers applied by users and must be scheduled on the same frame or under the same (pair) access switch. Strong anti-affinity requires that these bare metal servers cannot be on the same chassis or under the same (pair) switch. Weak affinity is a requirement that the cloud platform meets the requirements of the user as much as possible when the resources are sufficient. And when resources are insufficient, the cloud platform can ignore the requirement. Weak anti-affinities are similar. And strong rack affinity scheduling, wherein a user can schedule multiple instances created in batches to the same rack. So that the end-use machines come from the same rack and are not distributed to multiple racks. Strong switch affinity scheduling is the same.
When strong affinity scheduling is used, the real-time allocation conditions of the rack and the switch side are used for quickly judging whether the number of instances requested by a user can be met. For example, user A specifies that the strong chassis affinity creates 20 instances, and that the previous instances are on RACK 1. At this time, there are 15 bare metal servers available to RACK1 and 25 bare metal servers available to RACK2, and scheduling cannot be successful even though RACK2 has enough resources. If weak RACK affinity scheduling is used, scheduling may be to RACK 2.
Strong rack anti-affinity scheduling, a user can schedule multiple instances created in batches onto different racks. So that the machines used finally are different in every two racks, and the strong switch has the same anti-affinity scheduling principle.
Combinations of the above types may include: designating a rack and a switch schedule at the same time, or excluding the rack and the switch schedule at the same time, or designating the rack and excluding the switch creation, or excluding the rack and the designated switch creation, or creating a plurality of instances under the same rack and the same switch at the same time, or creating an instance at the same time, and then creating an instance under the same rack and the same switch as the instance, or creating an instance at the same time, and then creating an instance under the same rack and a different switch as the instance, or creating a plurality of instances under the same rack and a different switch at the same time, or creating a plurality of instances under the same switch and a different rack at the same time, or creating an instance at the same time, and then creating an instance under the same rack and a different switch as the instance, or create an instance first and then create an instance that is not in the same switch and the same rack as the instance, which is not necessarily listed here.
Based on the same inventive concept, an embodiment of the present invention provides a bare metal server scheduling apparatus, and the specific implementation of the bare metal server scheduling method of the apparatus may refer to the description of the foregoing method embodiment, and repeated details are not described again, as shown in fig. 3, the apparatus includes:
an obtaining unit 10, configured to obtain a request, which is applied by a user, for scheduling a bare metal server from a bare metal server resource pool, where the request carries scheduling requirement information, and the scheduling requirement information is information of a requirement of the user on configuration of the scheduled bare metal server;
a determining unit 11, configured to determine, when the scheduling requirement information includes a location configuration requirement for a resource pool where a bare metal server is located, a plurality of bare metal servers that meet the location configuration requirement from the resource pool; and the server is used for allocating the determined bare metal servers to the user for use.
Optionally, when the scheduling requirement information further includes a non-location configuration requirement for a bare metal server, the determining unit is further configured to:
and determining a plurality of bare metal servers meeting the position configuration requirement and the non-position configuration requirement from the resource pool.
Optionally, the determining unit is further configured to:
acquiring a view comprising configuration information of each bare metal server in the resource pool, wherein the configuration information comprises the position configuration information and the non-position configuration information;
comparing the position configuration information with the position configuration requirement, comparing the non-position configuration information with the non-position configuration requirement, and determining an unallocated bare metal server list which meets the position configuration requirement and the non-position configuration requirement;
and determining a plurality of bare metal servers with the highest selection priority according to the selection priority of each bare metal server in the list.
Optionally, the position configuration requirement includes one or more of the following requirements:
the position requirement of a rack where the bare metal server is located, the position requirement of a switch accessed by the bare metal server and the position requirement of a power supply module connected with the bare metal server;
the non-positional configuration requirements include: hardware and/or software configuration requirements of the bare metal server.
Optionally, the determining is further configured to:
changing the state of the bare metal servers in the view from an unallocated state to an allocated state; and
when the condition that the bare metal servers are retracted is monitored, changing the state of the bare metal servers in the view from an allocated state to an unallocated state.
Based on the same inventive concept, an apparatus provided in the embodiment of the present invention is provided, as shown in fig. 4, including:
at least one processor 20, and
a memory 21 connected to the at least one processor 20;
wherein the memory 21 stores instructions executable by the at least one processor 20, and the at least one processor executes the bare metal server scheduling method as described above by executing the instructions stored by the memory.
Based on the same inventive concept, an embodiment of the present invention provides a computer-readable storage medium, including: the computer readable storage medium stores computer instructions that, when executed on a computer, cause the computer to perform the bare metal server scheduling method as described above.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention 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, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. 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.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.

Claims (10)

1. A bare metal server scheduling method, comprising:
obtaining a request of a user for scheduling a bare metal server from a bare metal server resource pool, wherein the request carries scheduling requirement information, and the scheduling requirement information refers to information of the user's requirement for configuration of the scheduled bare metal server;
when the scheduling requirement information comprises a position configuration requirement for a resource pool where a bare metal server is located, determining a plurality of unallocated bare metal servers meeting the position configuration requirement from the resource pool;
and allocating the determined bare metal servers to the user for use.
2. The method according to claim 1, wherein when the scheduling requirement information further includes a non-location configuration requirement for a bare metal server, the determining, from the resource pool, a plurality of unallocated bare metal servers that satisfy the location configuration requirement includes:
and determining a plurality of unallocated bare metal servers which meet the position configuration requirement and the non-position configuration requirement from the resource pool.
3. The method according to claim 2, wherein the determining, from the resource pool, a number of unallocated bare metal servers that satisfy the location configuration requirement and the non-location configuration requirement includes:
acquiring a view comprising configuration information of each bare metal server in the resource pool, wherein the configuration information comprises position configuration information and non-position configuration information;
comparing the position configuration information with the position configuration requirement, comparing the non-position configuration information with the non-position configuration requirement, and determining an unallocated bare metal server list which meets the position configuration requirement and the non-position configuration requirement;
and determining a plurality of bare metal servers with the highest selection priority according to the selection priority of each bare metal server in the list.
4. The method of claim 2, wherein the location configuration requirements include one or more of the following requirements:
the position requirement of a rack where the bare metal server is located, the position requirement of a switch accessed by the bare metal server and the position requirement of a power supply module connected with the bare metal server;
the non-positional configuration requirements include: hardware and/or software configuration requirements of the bare metal server.
5. The method of claim 3, wherein after said assigning said determined number of bare metal servers for use by said user, the method further comprises:
changing the state of the bare metal servers in the view from an unallocated state to an allocated state; and
when the condition that the bare metal servers are retracted is monitored, changing the state of the bare metal servers in the view from an allocated state to an unallocated state.
6. A bare metal server scheduling apparatus, comprising:
an obtaining unit, configured to obtain a request, which is applied by a user, for scheduling a bare metal server from a bare metal server resource pool, where the request carries scheduling requirement information, and the scheduling requirement information is information of a requirement of the user for configuration of the scheduled bare metal server;
a determining unit, configured to determine, when the scheduling requirement information includes a location configuration requirement for a resource pool where a bare metal server is located, a plurality of unallocated bare metal servers that meet the location configuration requirement from the resource pool; and the server is used for allocating the determined bare metal servers to the user for use.
7. The apparatus of claim 6, wherein when the scheduling requirement information further includes a non-location configuration requirement for a bare metal server, the determining unit is further configured to:
and determining a plurality of unallocated bare metal servers which meet the position configuration requirement and the non-position configuration requirement from the resource pool.
8. The apparatus of claim 7, wherein the determining unit is further configured to:
acquiring a view comprising configuration information of each bare metal server in the resource pool, wherein the configuration information comprises position configuration information and non-position configuration information;
comparing the position configuration information with the position configuration requirement, comparing the non-position configuration information with the non-position configuration requirement, and determining an unallocated bare metal server list which meets the position configuration requirement and the non-position configuration requirement;
and determining a plurality of bare metal servers with the highest selection priority according to the selection priority of each bare metal server in the list.
9. A bare metal server scheduling apparatus, comprising:
at least one processor, and
a memory coupled to the at least one processor;
wherein the memory stores instructions executable by the at least one processor, the at least one processor performing the method of any one of claims 1-5 by executing the instructions stored by the memory.
10. A computer-readable storage medium characterized by:
the computer readable storage medium stores computer instructions that, when executed on a computer, cause the computer to perform the method of any of claims 1-5.
CN201810983620.XA 2018-08-27 2018-08-27 Bare metal server scheduling method and device and storage medium Active CN110868435B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810983620.XA CN110868435B (en) 2018-08-27 2018-08-27 Bare metal server scheduling method and device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810983620.XA CN110868435B (en) 2018-08-27 2018-08-27 Bare metal server scheduling method and device and storage medium

Publications (2)

Publication Number Publication Date
CN110868435A CN110868435A (en) 2020-03-06
CN110868435B true CN110868435B (en) 2022-06-03

Family

ID=69651092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810983620.XA Active CN110868435B (en) 2018-08-27 2018-08-27 Bare metal server scheduling method and device and storage medium

Country Status (1)

Country Link
CN (1) CN110868435B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112437136A (en) * 2020-11-12 2021-03-02 浪潮云信息技术股份公司 Method and system for realizing cloud native load balancing service
CN113656181A (en) * 2021-08-23 2021-11-16 中国工商银行股份有限公司 Method and device for issuing real-time application cluster instance resources
CN116600014B (en) * 2023-07-17 2023-10-10 中移(苏州)软件技术有限公司 Server scheduling method and device, electronic equipment and readable storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8849970B1 (en) * 2008-02-07 2014-09-30 Netapp, Inc. Transparent redirection of clients to a surrogate payload server through the use of a proxy location server
CN103577265A (en) * 2012-07-25 2014-02-12 田文洪 Method and device of offline energy-saving dispatching in cloud computing data center
CN104767649B (en) * 2015-04-30 2018-06-15 新华三技术有限公司 Dispose the method and device of bare metal server
CN106534240A (en) * 2015-09-11 2017-03-22 中国移动通信集团公司 CDN resource scheduling method, server and client
CN106789312A (en) * 2016-12-30 2017-05-31 南京理工大学 A kind of secure resources optimizing distribution method based on cloud computing
CN107608767A (en) * 2017-10-30 2018-01-19 中国联合网络通信集团有限公司 A kind of method and apparatus of node administration

Also Published As

Publication number Publication date
CN110868435A (en) 2020-03-06

Similar Documents

Publication Publication Date Title
US20200081731A1 (en) Method, system and apparatus for creating virtual machine
US10700947B2 (en) Life cycle management method and device for network service
CN110868435B (en) Bare metal server scheduling method and device and storage medium
US20180176088A1 (en) Virtualized network function monitoring
US10686728B2 (en) Systems and methods for allocating computing resources in distributed computing
CN106663012B (en) Hardware acceleration method and related equipment
EP3442201B1 (en) Cloud platform construction method and cloud platform
US10761869B2 (en) Cloud platform construction method and cloud platform storing image files in storage backend cluster according to image file type
US20180242177A1 (en) Monitoring management method and apparatus
CN103780686A (en) Method and system for customizing application approval procedure in cloud organization
CN110278101B (en) Resource management method and equipment
JP2013125548A (en) Virtual machine allocation system and method for using the same
CN110290228B (en) Internet protocol IP address allocation method and device
CN104410511B (en) A kind of server management method and system
CN111752539B (en) BI service cluster system and construction method thereof
EP4211557A1 (en) Automatic node fungibility between compute and infrastructure nodes in edge zones
CN106878356B (en) Scheduling method and computing node
CN110868330B (en) Evaluation method, device and evaluation system for CPU resources which can be divided by cloud platform
CN108880860B (en) Policy management method and device
US20200233715A1 (en) Dynamically provisioning physical hosts in a hyperconverged infrastructure based on cluster priority
CN108400999B (en) Load balancing method and device for mirror image nodes of database cluster
US10868736B2 (en) Provisioning/deprovisioning physical hosts based on a dynamically created manifest file for clusters in a hyperconverged infrastructure
CN111045778B (en) Virtual machine creation method, device, server and storage medium
CN109327529B (en) Distributed scanning method and system
CN111221847B (en) Monitoring data storage method, device and computer readable storage medium

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