Summary of the invention
In view of above problem, the object of the present invention is to provide a kind of system firmware update method and the server system that uses it, use under the situation of the operational paradigm of avoiding influencing server system, server system is finished required firmware upgrade.
A kind of system firmware update method of the present invention, be suitable for a server system, this server system has a plurality of nodes, for example is i.e. service (Infrastructure as a Service, counter formula (Container) data center (Data Center) IaaS) of providing infrastructures.This system firmware update method comprises the following steps.Receive firmware and upgrade encapsulation of data.Upgrade encapsulation of data and each self-corresponding nodal information of aforementioned a plurality of node according to firmware, hunt out the node that needs renewal in the mode of tabling look-up.According to upgrading order policies, arrange each self-corresponding priority of egress, and set up the renewal tabulation with priority.Foundation renewal tabulation is carried out firmware to node in regular turn and is upgraded, and more new node nodal information and the renewal tabulation of correspondence separately.
In one embodiment, aforementionedly in regular turn node is carried out the firmware updating steps and comprise the following steps.According to upgrading tabulation, by selecting more new node of the highest node conduct of priority in a plurality of nodes.New node is more upgraded, and upgrade the more corresponding nodal information of new node, more new node removes by upgrading in the tabulation.According to upgrading tabulation, detect all nodes and whether upgrade and finish.If all nodes of detection upgrade do not finish, whether the quantity that decision node is upgraded reaches critical value.Renewal quantity as if decision node does not reach critical value, then gets back to according to upgrading tabulation, by selecting the more step of new node of the highest node conduct of priority in the node.If the renewal quantity of decision node reaches critical value, the wait schedule time, return according to upgrading tabulation, by selecting the more step of new node of the highest node conduct of priority in the node.
In one embodiment, aforementioned system firmware update.Judge more whether the charge capacity of new node surpasses preset value.Surpass preset value if judge the charge capacity of new node more, then get back to according to upgrading tabulation, by selecting the highest node of priority as the step of new node more in the node.Surpass preset value if judge the charge capacity of new node more, then enter new node is more carried out updating steps.
In one embodiment, aforementionedly new node is more carried out updating steps comprise the following steps.Judge more whether operation system of new node.If judge more new node operation system, utilize firmware that firmware upgrades encapsulation of data more new data carry out online member updating, so that new node is more upgraded.If judge more new node off-duty operating system, utilize firmware to upgrade the image file open operation system of encapsulation of data, more newly arrive new node is more upgraded to carry out the off-line firmware.
A kind of server system of the present invention comprises a plurality of nodes, database and update module.Aforementioned a plurality of node has nodal information separately.Database is used for storing aforementioned nodes information.Update module couples aforementioned a plurality of node and database, upgrade encapsulation of data in order to receive firmware, and according to firmware renewal encapsulation of data and nodal information, hunt out the node that needs renewal in the mode of tabling look-up, again according to upgrading order policies, arrange each self-corresponding priority of egress, and set up to upgrade tabulation with priority, and will upgrade tabulation and be stored in database, and tabulate according to upgrading, in regular turn node is carried out firmware and upgrade, and upgrade nodal information and upgrade tabulation.
In one embodiment, aforementioned update module is more according to upgrading tabulation, by selecting more new node of the highest node conduct of priority in the node, so that new node is more upgraded, and upgrade the more corresponding nodal information of new node and more new node remove by upgrading in the tabulation, and update module is again according to upgrading tabulation, whether detect all nodes upgrades and finishes, wherein if upgrading, do not finish all nodes of detection, whether the update module then quantity of decision node renewal reaches critical value, renewal quantity as if decision node does not reach critical value, and update module is then again according to upgrading tabulation, by selecting more new node of the highest node conduct of priority in the node, so that new node is more upgraded, till all node updates are finished, and when if the renewal quantity of decision node reaches critical value, update module is waited for the schedule time, again according to upgrading tabulation, by selecting the highest node of priority as new node more in the node, so that new node is more upgraded, till all node updates are finished.
In one embodiment, aforementioned update module judges more whether the charge capacity of new node surpasses preset value, if judge that more the charge capacity of new node surpasses preset value, update module is again according to upgrading tabulation, by selecting more new node of the highest node conduct of priority in the node, and if judge when the charge capacity of new node more surpasses preset value, then update module is upgraded new node more.
In one embodiment, aforementioned update module is judged more whether operation system of new node, if judge more new node operation system, update module utilize firmware that firmware upgrades encapsulation of data more new data carry out online member updating, so that new node is more upgraded, and if when judging more new node off-duty operating system, update module utilizes firmware to upgrade the image file open operation system of encapsulation of data, more newly arrives new node is more upgraded to carry out the off-line firmware.
The server system of a kind of system firmware update method of the present invention and this method of use, upload firmware renewal encapsulation of data by receiving the user, and hunt out the more new sequences that needs the node that upgrades and arrange out this node according to this, to upgrade on the line of finishing node automatically or the off-line renewal.Thus, can effectively increase the ease of use of server system.In addition, also can according to the charge capacity of new node more and finished renewal node quantity and determine whether upgrade, to avoid influencing the operational effectiveness of server system.
Describe the present invention below in conjunction with the drawings and specific embodiments, but not as a limitation of the invention.
Embodiment
Below in conjunction with accompanying drawing structural principle of the present invention and principle of work are done concrete description:
Please refer to shown in Figure 1ly, it is the block scheme of server system of the present invention.Server system 100 comprises a plurality of node 110_1~110_N, database 120 and update module 130, and wherein N is the positive integer greater than 1.Server system 100 for example is i.e. service (Infrastructure as a Service, counter formula (Container) data center (Data Center) IaaS) of providing infrastructures.
Node 110_1~110_N has nodal information separately.Wherein, nodal information for example comprises the production code member of node, general unique identifier (Universally Unique Identifier for example, UUID), the Basic Input or Output System (BIOS) of node (Basic Input Output System, BIOS) firmware version and the baseboard management controller of node (Baseboard Management Controller, firmware version BMC).For instance, for example with " 110_1, version 1, version 2 " expression, all the other node 110_2~110_N then analogize the nodal information of node 110_1.
Database 120 is used for the nodal information of storage node 110_1~110_N.In the present embodiment, for example can obtain the nodal information of each node 110_1~110_N by baseboard management controller, and each nodal information is stored in database 120.Update module 130 couples node 110_1~110_N and database 120, upgrades encapsulation of data in order to receive firmware.Wherein, firmware upgrades encapsulation of data can be uploaded to the update module of server system 100 by network by client, server system 100 is carried out firmware upgrades so that update module can utilize firmware to upgrade encapsulation of data.
Then, update module 130 can be upgraded encapsulation of data and aforementioned nodes information according to firmware, hunts out the node that needs renewal in the mode of tabling look-up.Wherein, firmware upgrades encapsulation of data and for example has the renewal data list, and upgrades production code member and its firmware version of the node that includes the desire renewal in the data list.Therefore, update module then can be according to aforesaid renewal data list and nodal information, needs the node that upgrades and hunt out.For convenience of description, needing the node of renewal is example with node 110_1,110_2 and 110_3.
After finding the node that need to upgrade, update module 130 is arranged each self-corresponding priority of egress 110_1~110_3 according to upgrading order policies, and sets up to upgrade tabulation and will upgrade to tabulate with priority and be stored in database 120.In the present embodiment, node 110_1~110_N can be divided into service node (Service Node), compute node (Computing Node) and storage node (Storage Node), wherein service node is in order to provide related service and data to client, compute node is in order to carry out data operation, and storage node is in order to storage data.
For instance, aforesaid renewal order policies for example is service node, storage node and computing node in regular turn, and node 110_1 for example is storage node, and node 110_2 for example is compute node, and node 110_3 for example is service node.Therefore, by above-mentioned renewal order policies, the more new sequences that update module 130 is arranged out is node 110_3,110_1 and 110_2, and with this more new sequences build on and upgrade in the tabulation.
Afterwards, update module 130 according to upgrading tabulation, is carried out firmware to node 110_3,110_1 and 110_2 in regular turn and is upgraded again, and more new node 110_3,110_1 tabulate with nodal information and the renewal of 110_2.Thus, the server system 100 of present embodiment can be under the less situation of effectiveness affects, automatically needs is carried out node that firmware upgrades and finishes firmware and upgrade.
Below, the update module 130 that further specifies present embodiment is carried out the detail operations that firmware upgrades.
At first, update module 130 can be according to upgrading tabulation, by selecting the highest node of priority as new node more among node 110_1~110_3, so that new node is more upgraded.Because the priority of node 110_3 is for the highest, so update module 130 can preferentially be selected more new node of node 110_3 conduct, so that new node 110_3 is more upgraded.And after the firmware renewal was finished, update module 130 is the nodal information of new node 110_3, for example " 110_3, version 1, version 3 " more.And, will be more new node 110_3 remove by upgrading in the tabulation, therefore, upgrade in the tabulation only surplus node 110_1,110_2.
Whether then, update module 130 is according to upgrading tabulation, detect all nodes and upgrade and finish.Still have node 110_1,110_2 owing to upgrade in the tabulation, so update module 130 can detect all nodes and do not upgrade and finish, then whether the quantity can further decision node upgraded of update module 130 reaches critical value.Because when node carries out the firmware renewal, more new node isolates from the running of server system 100, and after the firmware renewal is finished, incite somebody to action the more running of new node adding server system again, so may reduce the operational paradigm of server system 100.Hence one can see that, and the firmware that carries out node in a large number upgrades, and may significantly reduce the operational paradigm of server system 100.Therefore, the user can set the quantity (being critical value) of the node of each firmware renewal, uses the operational paradigm of avoiding influencing server system 100.
Suppose that critical value setting is 2, be limited to 2 on the quantity of the node that every this firmware of expression upgrades, but the present invention is not as limit.Because the aforementioned firmware that only carries out node 110_3 upgrades, so the renewal quantity of update module 130 meeting decision node does not reach critical value.Then, update module 130 is again according to upgrading tabulation, by selecting more new node of the highest node conduct of priority among node 110_1~110_2.Owing to upgrade in the tabulation only surplus node 110_1,110_2, and the priority of node 110_1 is higher than node 110_2, so update module 130 can select node 110_1 as new node more, so that node 110_1 is upgraded.
Afterwards, update module 110 is understood the more nodal information of new node 110_1, for example " 110_1, version 1, version 3 ".Afterwards, update module 130 can continue according to upgrading tabulation, and the highest node of priority in the node of selecting to need to upgrade upgrades to carry out firmware, till all node updates are finished.
On the other hand, when update module 130 had been upgraded node 110_3,110_1, then the node quantity of finishing renewal had reached 2.At this moment, the renewal quantity that update module 130 can be judged node reaches critical value, so update module 130 can be waited for the schedule time, again according to upgrading tabulation, by selecting more new node of the highest node conduct of priority in the node, so that new node is more upgraded, till all node updates are finished.Wherein, the aforementioned schedule time can be adjusted voluntarily by the user, for example 6 hours, half a day or one day, uses the firmware of avoiding carrying out node in a large number and upgrades and the operational paradigm of reduction server system 100.
Update module 130 can judge more whether the charge capacity of new node surpasses preset value.Wherein, aforementioned preset value for example is set at 60% of node full load amount.That is to say that more the charge capacity of new node will be lower than 60% of its full load amount, update module 130 gives that just new node is more carried out firmware and upgrades, and then reduces the influence to the operational paradigm of server system 100.
If judge that more the charge capacity of new node surpasses preset value, represent that this node is in the computing of carrying out mass data or transmission.In order not influence the operational paradigm of server system 100, so update module 130 is again according to upgrading tabulation, continues by selecting the highest node of priority as new node more in the node.On the other hand, surpass preset value if judge the charge capacity of new node more, then update module 130 just can be upgraded new node more.Thus, can avoid node under the situation of high capacity, to carry out firmware and upgrade, and the operational paradigm of reduction server system 100.
In addition, new node is more being carried out firmware when upgrading, update module 130 more can be judged more whether operation system (OS) of new node, judges namely that also more new node is the normal operation pattern or is standby mode.If judge more new node operation system, represent that more new node is the normal operation pattern, update module 130 utilize firmware that firmware upgrades encapsulation of data more new data carry out online member updating, so that new node is more upgraded.
For instance, update module 130 also can further be judged the kind of the version that upgrades firmware, and for example the firmware of Basic Input or Output System (BIOS) or baseboard management controller upgrades.If judging the kind of firmware renewal is Basic Input or Output System (BIOS) or baseboard management controller, update module 130 can be upgraded firmware encapsulation of data and unties and be firmware data new tool more, in order to the firmware of Basic Input or Output System (BIOS) or baseboard management controller is upgraded Data Update to new node more.And, in firmware upgrade finish after, more new node restarts (Reboot), and (Reset) baseboard management controller of resetting, so that more the Basic Input or Output System (BIOS) of new node or the new firmware of baseboard management controller utilization operate.In addition, after updating BIOS is finished, can transmit intelligent platform supervision interface (Intelligent Platform Management Interface, IPMI) instruction gives baseboard management controller to inform its update mode, in order to upgrade more nodal information and the renewal tabulation of new node.
If judging the kind of firmware renewal is baseboard management controller, update module 130 can be upgraded the firmware new data more that takes out baseboard management controller in the encapsulation of data by firmware, and the firmware that the instruction of recycling intelligent platform supervision interface goes to carry out baseboard management controller upgrades.And after the firmware renewal was finished, the more baseboard management controller of new node of resetting was so that more the baseboard management controller of new node uses new firmware to operate.
On the other hand, if judge more new node off-duty operating system, represent that more new node is standby mode, this moment, update module utilized firmware to upgrade image file (ISO file) the open operation system of encapsulation of data, more newly arrives new node is more upgraded to carry out the off-line firmware.Wherein, aforementioned image file can comprise the operating system of can starting shooting (Bootable OS) and automatically perform file, and more new node can move the aforementioned operation system.
For instance, update module 130 more can further be judged the kind of the version that upgrades firmware, and for example the firmware of Basic Input or Output System (BIOS) or baseboard management controller upgrades.If judging the kind of firmware renewal is Basic Input or Output System (BIOS), update module 130 meeting carry firmwares upgrade the image file of encapsulation of data and give more new node, to carry out more new node image file start thus, and in the process of start, carry out the aforementioned file that automatically performs, with the firmware that upgrades Basic Input or Output System (BIOS) or baseboard management controller (with regard to real the work, for example, update module 130 can be by new node more baseboard management controller image file that firmware is upgraded encapsulation of data be set as the CD sheet of the virtual CD machine of making baseboard management controller, and by the baseboard management controller of new node more make more new node thus virtual CD machine start the operating system, but not as limit).
And, in firmware upgrade finish after, more new node restarts (Reboot), and (Reset) baseboard management controller of resetting, so that more the Basic Input or Output System (BIOS) of new node or the new firmware of baseboard management controller utilization operate.In addition, after updating BIOS is finished, can transmit intelligent platform supervision interface and instruct to baseboard management controller to inform its update mode, in order to upgrade more nodal information and the renewal tabulation of new node.
If judging the kind of firmware renewal is baseboard management controller, update module 130 can be upgraded the firmware new data more that takes out baseboard management controller in the encapsulation of data by firmware, and the firmware that the instruction of recycling intelligent platform supervision interface goes to carry out baseboard management controller upgrades.And after the firmware renewal was finished, the more baseboard management controller of new node of resetting was so that more the baseboard management controller of new node uses new firmware to operate.
Please refer to shown in Figure 2ly, it is the process flow diagram of system firmware update method of the present invention.The system firmware update method of present embodiment is suitable for a server system, and this server system has a plurality of nodes.In step S210, receive firmware and upgrade encapsulation of data.In step S220, upgrade encapsulation of data and each self-corresponding nodal information of a plurality of node according to firmware, hunt out a plurality of nodes that need renewal in the mode of tabling look-up.In step S230, according to upgrading order policies, arrange out each self-corresponding priority of a plurality of nodes, and set up the renewal tabulation with priority.In step S240, according to upgrading tabulation, in regular turn a plurality of nodes are carried out firmware and upgrade, and upgrade each self-corresponding nodal information of a plurality of nodes and upgrade tabulation.
Please refer to shown in Figure 3ly, it is the process flow diagram of another system firmware update method of the present invention.The system firmware update method of present embodiment is suitable for a server system, and this server system has a plurality of nodes.In step S302, receive firmware and upgrade encapsulation of data.In step S304, upgrade encapsulation of data and each self-corresponding nodal information of a plurality of node according to firmware, hunt out a plurality of nodes that need renewal in the mode of tabling look-up.In step S306, according to upgrading order policies, arrange out each self-corresponding priority of a plurality of nodes, and set up the renewal tabulation with priority.
In step S308, according to upgrading tabulation, by selecting more new node of the highest node conduct of priority in a plurality of nodes.In step S310, judge more whether the charge capacity of new node surpasses preset value.If judge that more the charge capacity of new node surpasses preset value, then get back to step S308, till judging that more the charge capacity of new node does not surpass preset value.
On the other hand, surpass preset value if judge the charge capacity of new node more, then enter step S312, new node is more upgraded.At step S314, upgrade the more corresponding nodal information of new node, more new node removes by upgrading in the tabulation.In step S316, according to upgrading tabulation, detect all nodes and whether upgrade and finish.If all nodes of detection have all upgraded finish, then finish the flow process that this system firmware upgrades.
On the other hand, if all nodes of detection upgrade do not finish, then enter step S318, whether the quantity that decision node is upgraded reaches critical value.If the renewal quantity of decision node does not reach critical value, then get back to step S308.If the renewal quantity of decision node reaches this critical value, then enter among the step S320, wait for the schedule time.Then, return step S308.
In addition, at step S312 new node is more upgraded and also comprise the following steps S322~S326.In step S322, judge more whether operation system of new node.If judge more new node operation system, then enter step S324, utilize firmware that firmware upgrades encapsulation of data more new data carry out online member updating, so that new node is more upgraded.If judge more new node off-duty operating system, then enter step S326, utilize firmware to upgrade the image file open operation system of encapsulation of data, more newly arrive new node is more upgraded to carry out the off-line firmware.
The server system of the system firmware update method of embodiments of the invention and this method of use, it is uploaded firmware and upgrades encapsulation of data (image file with data updated and off-line renewal on the line) by receiving the user, and hunt out the more new sequences that needs the node that upgrades and arrange out this node according to this, to upgrade on the line of finishing node automatically or the off-line renewal.Thus, can effectively increase the ease of use of server system.In addition, also can according to the charge capacity of new node more and finished renewal node quantity and determine whether upgrade, to avoid influencing the operational effectiveness of server system.
Certainly; the present invention also can have other various embodiments; under the situation that does not deviate from spirit of the present invention and essence thereof; those of ordinary skill in the art work as can make various corresponding changes and distortion according to the present invention, but these corresponding changes and distortion all should belong to the protection domain of the appended claim of the present invention.