Server starting control method and device
By deploying the first controller and the second controller in the server, and using these controllers to predict and call system files in the memory, the problem of inefficient server startup in the prior art is solved, and faster server startup is achieved.
Patent Information
- Application Number
- CN202412000180.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-30
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2044-12-30
AI Technical Summary
In the prior art, the startup efficiency of the server is low, mainly because the master and slave memory needs to wait for the file to be restored successfully at startup, resulting in a long startup waiting time.
By deploying the first controller, the second controller and a plurality of memories, when the first controller detects the startup operation, predicts file information based on the storage information in the reference time period of the memory, generates call information and sends it to the second controller, and the second controller calls the system file in the memory according to the call information.
It reduces the probability that the server calls the abnormal system file at startup, avoids startup waiting problems caused by restoring the abnormal system file, and thus improves the server's startup efficiency.
Smart Images

Figure CN119917345A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computers, and in particular, to a method and device for controlling startup of a server. Background Art
[0002] With the rapid development of information technology, the availability and reliability of servers have become important indicators for measuring their performance. As a key component for server health monitoring and remote management, the integrity and security of the configuration files of the controller are crucial to the normal startup of the server. In related technologies, the controller is connected to two memories for storing system configuration files to achieve redundant storage of configuration files. These memories are defined in a master-slave relationship when in use, where the main memory is responsible for storing the configuration files to be used by the controller, and the slave memory is responsible for storing the backup files of the main memory. When the server system is started, the controller calls the configuration file from the main memory to start the server, and uses the backup file in the slave memory to back up and restore the configuration file in the main memory when the configuration file in the main memory is abnormal. At this time, the system needs to wait for the file in the main memory to be successfully restored before starting, resulting in a long waiting time for system startup, which in turn leads to low startup efficiency of the server. Summary of the invention
[0003] The embodiments of the present application provide a method and device for controlling the startup of a server, so as to at least solve the problem of low startup efficiency of the server in the related art.
[0004] According to an embodiment of the present application, a startup control system of a server is provided, comprising:
[0005] A first controller, a second controller and a plurality of memories, wherein the second controller is respectively connected to each of the memories and the first controller;
[0006] The plurality of memories are used to redundantly store a plurality of system files of the server system, wherein each of the system files is used to indicate a startup mode of a corresponding startup phase during the startup process of the server system;
[0007] The first controller is used to predict the file information of the storage according to the storage information of the plurality of storages in a reference time period before the current moment when detecting a triggering operation of starting the server system, wherein the storage information is used to indicate an abnormality of the system files stored in each of the storages in the reference time period, and the file information is used to indicate the accuracy of each of the system files currently stored in the corresponding storage; generate calling information of the plurality of storages according to the file information, wherein the calling information is used to indicate a calling sequence of calling the system files in the plurality of storages; and send the calling information to the second controller;
[0008] The second controller is used to call the system files stored in the plurality of memories according to the calling information to start the server system.
[0009] Optionally, each of the memories is configured with a plurality of storage areas, the storage areas are arranged in one-to-one correspondence with the system files, and the storage areas are used to store the corresponding system files;
[0010] The first controller is used to filter out a target storage from the multiple storages according to the file information of the system file, wherein the probability of a failure occurring when the server system is started using the system file stored in the target storage is lower than a target probability value; and generate a target call timing for the multiple storage areas configured for the target storage according to the storage area information of the target storage, wherein the call information includes the target call timing, and the storage area information is used to indicate the system file storage status of the multiple storage areas of the target storage.
[0011] Optionally, the first controller is further configured to, when it is detected that the second controller calls the system file stored in the target memory to successfully start the server system, screen out a candidate memory from a reference memory, wherein the reference memory is a memory other than the target memory among the multiple memories, and a startup failure occurs when the second controller calls the system file currently stored in the candidate memory to start the server system; send a target backup instruction to the second controller;
[0012] The second controller is further used to respond to the target backup instruction, locate the first storage area where the system file of each startup phase is located in the target storage and the second storage area where the system file is located in the candidate storage; match the first system file in the first storage area with the second system file in the second storage area; and use the first system file to update the second system file stored in the second storage area when the first system file and the second system file do not match each other.
[0013] Optionally, the first controller is further used to obtain a target failure frequency of each memory within the reference time period, wherein the failure frequency is used to indicate a failure frequency when the server system is started using the system file stored in the memory within the reference time period, and the memory information includes the target failure frequency;
[0014] A target failure probability corresponding to the target failure frequency is determined from failure frequencies and failure probabilities having a corresponding relationship, wherein the target failure probability is used to indicate the probability of a failure occurring when the server system is started using the system file stored in the memory at the current moment, and the file information includes the target failure probability.
[0015] Optionally, the system further includes a connection controller, wherein the connection controller is respectively connected to the first controller, the second controller and the plurality of memories;
[0016] The first controller is further configured to send a target connection instruction to the connection controller when a target memory to be called is screened out for the second controller, wherein the target connection instruction is used to instruct the connection controller to adjust the access relationship between the second controller and the plurality of memories;
[0017] The connection controller is used to control the connection link between the second controller and the target memory to be in an on state, and to control the connection link between the second controller and the reference memory to be in an off state, wherein the reference memory is a memory other than the target memory among the multiple memories.
[0018] Optionally, the first controller is further used to detect the first startup stage currently in which the server system is located; in the process of the second controller calling the system file stored in the target memory to perform the startup operation of the first startup stage of the server system, obtain a third system file corresponding to the second startup stage stored in the target memory, and a fourth system file corresponding to the second startup stage stored in a plurality of reference memories, wherein the second startup stage is a startup stage located after the first startup stage among the plurality of startup stages; perform file matching on the third system file and the plurality of fourth system files to obtain a matching result; and in the case where the matching result is used to indicate that the third system file is an abnormal system file, send a data recovery instruction to the second controller, wherein the data recovery instruction is used to instruct file recovery of the third system file;
[0019] The second controller is used to send an access request to the connection controller in response to the data recovery instruction to access the reference memory;
[0020] The connection controller is used to control the connection link between the second controller and the reference memory to be in a connection state in response to the access request;
[0021] The second controller is used to read the fourth system file from the reference memory when the connection link between the second controller and the reference memory is in a connected state; and use the fourth system file to perform file recovery on the third system file stored in the target memory during the startup operation of the first startup phase on the server system.
[0022] According to an embodiment of the present application, a method for starting up a server is provided. The method is applied to a first controller in the server, and the method includes:
[0023] In the case of detecting that a startup operation of a server system is triggered, predicting file information of the storage according to storage information of the multiple storages in a reference time period before a current moment, wherein the first controller, the second controller and the multiple storages are deployed in the server, the second controller is connected to each storage and the first controller respectively, the multiple storages are used to redundantly store multiple system files of the server system, each system file is used to indicate a startup mode of a corresponding startup phase during the startup process of the server system, the storage information is used to indicate an abnormality of the system file stored in each storage within the reference time period, and the file information is used to indicate the accuracy of each system file currently stored in the corresponding storage;
[0024] Generate calling information for the plurality of memories according to the file information, wherein the calling information is used to indicate a calling sequence of calling the system files in the plurality of memories;
[0025] The calling information is sent to the second controller, wherein the second controller is used to call the system files stored in the memory according to the calling information to start the server system.
[0026] According to another embodiment of the present application, a startup control device of a server is provided, comprising:
[0027] A prediction module, configured to predict file information of a plurality of memories according to storage information of the plurality of memories in a reference time period before a current moment when a startup operation of a server system is triggered is detected, wherein the first controller, the second controller and the plurality of memories are deployed in the server, the second controller is connected to each of the memories and the first controller respectively, the plurality of memories are used to redundantly store a plurality of system files of the server system, each of the system files is used to indicate a startup mode of a corresponding startup phase during the startup process of the server system, the storage information is used to indicate an abnormality of the system files stored in each of the memories in the reference time period, and the file information is used to indicate the accuracy of each of the system files currently stored in the corresponding memories;
[0028] A generating module, used for generating calling information for the plurality of memories according to the file information, wherein the calling information is used for indicating a calling sequence of calling the system files in the plurality of memories;
[0029] A sending module is used to send the calling information to the second controller, wherein the second controller is used to call the system files stored in the plurality of memories to start the server system according to the calling information.
[0030] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.
[0031] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0032] According to another embodiment of the present application, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.
[0033] Through the present application, by deploying a first controller, a second controller and a plurality of memories for redundantly storing a plurality of system files of a server system, and connecting the second controller to each memory and the first controller respectively, the first controller can predict the file information indicating the accuracy of each system file currently stored in the corresponding memory according to the abnormality of the system files stored in each memory in the reference time period before the current moment when detecting the triggering operation of starting the server system, and can generate the calling information for indicating the calling sequence of calling the system files in the plurality of memories for the second controller according to the file information, that is, in the present application, the second controller can access and call the system files stored in the current memory in each memory of the plurality of memories, and the calling information used by the second controller to call the system files stored in the plurality of memories is generated by the first controller according to the memory information of each memory, and can avoid the loss or damage of the system files required by the server system on the one hand, and can reduce the probability of the second controller calling the abnormal system files when the system is started, and avoid the startup waiting problem caused by the recovery of the abnormal system files when the system is started. Therefore, the problem of low startup efficiency of the server in the related art can be solved, and the effect of improving the startup efficiency of the server can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 A hardware connection of a server startup control system according to an embodiment of the present application Figure 1 ;
[0035] Figure 2 is a structural diagram of a memory according to an embodiment of the present application;
[0036] Figure 3 A hardware connection of a server startup control system according to an embodiment of the present application Figure 2 ;
[0037] Figure 4 It is a hardware structure block diagram of a server device of a server startup control method according to an embodiment of the present application;
[0038] Figure 5 is a flow chart of a method for starting up a server according to an embodiment of the present application;
[0039] Figure 6It is a hardware connection diagram of a method for backing up and restoring server BMC data according to an embodiment of the present application;
[0040] Figure 7 It is a processing flow chart of a CPLD of a method for backing up and restoring server BMC data according to an embodiment of the present application;
[0041] Figure 8 It is a processing flow chart of a method for backing up and restoring server BMC data according to an embodiment of the present application;
[0042] Fig. 9 It is a structural block diagram of a startup control device of a server according to an embodiment of the present application. DETAILED DESCRIPTION
[0043] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0044] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0045] In this embodiment, a server startup control system is provided. Figure 1 A hardware connection of a server startup control system according to an embodiment of the present application Figure 1 ,like Figure 1 As shown, the system includes:
[0046] A first controller, a second controller and a plurality of memories, wherein the second controller is respectively connected to each of the memories and the first controller;
[0047] The plurality of memories are used to redundantly store a plurality of system files of the server system, wherein each of the system files is used to indicate a startup mode of a corresponding startup phase during the startup process of the server system;
[0048] The first controller is used to predict the file information of the storage according to the storage information of the plurality of storages in a reference time period before the current moment when detecting a triggering operation of starting the server system, wherein the storage information is used to indicate an abnormality of the system files stored in each of the storages in the reference time period, and the file information is used to indicate the accuracy of each of the system files currently stored in the corresponding storage; generate calling information of the plurality of storages according to the file information, wherein the calling information is used to indicate a calling sequence of calling the system files in the plurality of storages; and send the calling information to the second controller;
[0049] The second controller is used to call the system files stored in the plurality of memories according to the calling information to start the server system.
[0050] Through the above content, by deploying a first controller, a second controller and a plurality of memories for redundantly storing a plurality of system files of a server system, and connecting the second controller to each memory and the first controller respectively, the first controller can predict the file information indicating the accuracy of each system file currently stored in the corresponding memory according to the abnormality of the system files stored in each memory in the reference time period before the current moment when detecting the triggering of the startup operation of the server system, and can generate the calling information indicating the calling sequence of calling the system files in the plurality of memories for the second controller according to the file information, that is, in the present application, the second controller can access and call the system files stored in the current memory in each memory of the plurality of memories, and the calling information used by the second controller to call the system files stored in the plurality of memories is generated by the first controller according to the memory information of each memory, so that on the one hand, the loss or damage of the system files required by the server system can be avoided, and on the other hand, the probability of the second controller calling the abnormal system files when the system is started can be reduced, so as to avoid the startup waiting problem caused by the recovery of the abnormal system files when the system is started. Therefore, the problem of low startup efficiency of the server in the related art can be solved, and the effect of improving the startup efficiency of the server can be achieved.
[0051] Optionally, in the embodiments of the present application, Figure 1 As shown, the startup control system of the server includes a first controller, a second controller and a plurality of memories, wherein the second controller is connected to each memory and the first controller respectively.
[0052] Optionally, in an embodiment of the present application, multiple memories are used to redundantly store multiple system files of the server system. The memories may be, but are not limited to, FLASH (flash memory), SSD (solid state drive), RAID (redundant array of independent disks), etc. This solution does not limit this.
[0053] Optionally, in an embodiment of the present application, the server will load and use different types of files at different startup stages to ensure the smooth progress of hardware initialization, operating system loading and system service configuration. The system files are files used by the server at different startup stages during the startup process. For example, in the hardware self-test stage, the system files may be BIOS / UEFI firmware; in the system configuration stage, the system files may be initialization scripts (Init Scripts), configuration files (Configuration Files), etc.; in the system initialization stage, the system files may be image files, fault recovery script files, etc.; in the server operation stage, the system files may be log records, operation data, etc., and this solution does not limit this.
[0054] Optionally, in an embodiment of the present application, the first controller is used to predict the accuracy of each of the system files currently stored in each memory according to the memory information of the multiple memories when a startup operation of the server system is triggered, and generate call information for the multiple memories. The first controller may include, but is not limited to, CPLD (Complex Programmable Logic Device), FPGA (Field-Programmable Gate Array), ASIC (Application-Specific Integrated Circuit), etc., and this solution does not limit this.
[0055] Optionally, in an embodiment of the present application, memory information is used to indicate abnormal conditions of system files stored in each memory within a reference time period before the current moment. For example, the memory information may include, but is not limited to, the number of failures that occurred in the memory within the reference time period, the frequency of failures, the probability of failures, etc. This solution does not limit this.
[0056] Optionally, in an embodiment of the present application, the file information is used to indicate the accuracy of each system file currently stored in the corresponding memory. For example, the file information may be the failure frequency and failure probability of each system file currently stored in the corresponding memory at different startup stages, or an accuracy score used to characterize the accuracy of the system files currently stored in the corresponding memory, etc. This solution does not limit this.
[0057] Optionally, in an embodiment of the present application, predicting file information of multiple memories based on memory information within a reference time period before the current moment may be performed by collecting multiple operation information of each memory within the reference time period, wherein the multiple operation information is used to characterize the calling status of system files stored in the memory within the reference time period from multiple different dimensions, and the operation information includes but is not limited to the number of times the memory is called, the number of failures of the memory, the health status of the memory (such as bad block information, number of erases, wear rate, etc.), etc.; obtaining a weight parameter corresponding to each operation information, wherein the weight parameter is used to indicate the degree of influence of the corresponding operation information on the server startup result; using the weight parameter to perform weighted sum calculation on the corresponding operation information to obtain an accurate score corresponding to each memory, wherein the accurate score is used to characterize the accuracy of the system files currently stored in the corresponding memory, and the file information includes the accurate score.
[0058] Optionally, in an embodiment of the present application, the file information of the current stage can also be determined based on the call record when the server was last started, which can be: searching the historical storage corresponding to the current startup stage from the historical startup information of the server, wherein the historical startup information is used to indicate the calling of multiple storage devices at different startup stages during the last startup of the server; and determining the startup result of the server calling the historical storage for startup as the file information.
[0059] Optionally, in an embodiment of the present application, the file information of the current stage can also be determined based on the frequency of failures of multiple memories within a reference time period, which can be: extracting abnormal information of the system file from the storage information of the multiple memories, wherein the abnormal information is used to indicate the number of failures of the system file within the reference time period; calculating a first abnormal score based on the abnormal information and a fault mapping table, wherein the fault mapping table records a mapping relationship between the number of failures indicated by the abnormal information and the abnormal score, the first abnormal score is used to characterize the degree of abnormality of the system file stored in the corresponding memory in the current startup stage, and the file information includes the first abnormal score.
[0060] Optionally, in an embodiment of the present application, the system file is a file used by the server system at different startup stages during the startup process. When starting the server system, the second controller can call all the system files stored in a single memory to perform system startup, that is, the call information is information used to indicate the call timing of the system files in a single memory, that is, the system files called by the second controller at different startup stages when starting the server system are from the same memory. Therefore, the method of generating call information based on file information can be: searching for an alternative memory whose accuracy of the system file in the first startup stage is greater than a preset accuracy from the file information of multiple memories; when the number of the alternative memories is multiple, comparing the accuracy of the system files of the multiple alternative memories in the second startup stage; when it is detected that the accuracy of the system file of one and only one alternative memory in the second startup stage is greater than the preset accuracy, the alternative memory is determined as the target memory. For example, if the file information predicted based on multiple memory information shows that the accuracy of the system files in memory one is higher than the preset accuracy at various stages of the server system startup, then the system files required for the server system startup can be searched for in memory one at the corresponding startup stage according to the system file types required for the server system startup. For example, in the first stage of the server system startup, the file data in area A of memory one is called, and in the second stage of the server system startup, the file data in area B of memory one is called.
[0061] Optionally, in an embodiment of the present application, the system file is a file used by the server system in different startup stages during the startup process, and thus in actual applications there may be a situation where the system files on each of the multiple memories have some abnormalities. Therefore, the second controller can extract the system files required for different startup stages from multiple different memories. Therefore, the call information can also be used to indicate the call timing of different storage areas on multiple different memories. Therefore, generating call information for multiple memories based on the file information can be: searching for the first memory corresponding to the server system in each startup stage according to the file information, wherein the first memory is used to indicate a memory whose accuracy of the system files corresponding to the current startup stage stored in multiple memories is higher than a preset accuracy; sorting the multiple first memories according to the file requirements of the server system in the corresponding startup stage to obtain the first call information, wherein the call information includes the first call information. For example, from the predicted file information of the memory, it can be known that in the first stage of the server system startup, the file accuracy of storage area A of memory one is the highest, and in the second stage of the server system startup, the file accuracy of storage area B of memory two is the highest. That is, the system file data of storage area A of memory one can be called in the first stage of the server startup, and the system file data of storage area B of memory two can be called in the second stage of the server startup, thereby reducing the probability of failure of the system files called during the server startup process.Furthermore, in an embodiment of the present application, when multiple system files stored in each of the multiple memories have some abnormalities, the abnormal system files in each memory can be restored according to the call timing indicated by the call information. When the target memory is multiple memories, when the second controller reads the system files of the target memory in the current startup phase of the server system, the first controller can be called to update the system files of the reference startup phase after the current startup phase and / or before the current startup phase, thereby restoring the abnormal system files in other memories that have not been called without affecting the system startup progress of the corresponding startup phase. It can be: detecting the current target startup phase of the server system; calling the system files stored in the target memory by the second controller to execute the call to the server system During the startup operation of the target startup phase, a first reference system file corresponding to the reference startup phase stored in the target memory and a second reference system file corresponding to the reference startup phase stored in multiple second memories are obtained, wherein the reference startup phase is used to indicate the startup phase of the server system before the target startup phase, and the server system uses the second reference system file stored in the second memory to start up without failure in the reference startup phase; the first reference system file is matched with the second reference system file to obtain a matching result; when the matching result indicates that the first reference system file is an abnormal system file, a data update instruction is sent to the first controller, and the data update instruction is used to instruct to update the first reference system file. In the above manner, the first controller can update the abnormal system file in the memory under the premise of ensuring the normal startup of the server system, and at the same time reduce the load pressure of the second controller, thereby reducing the probability of the server system calling the abnormal system file when the server is started next time, and improving the startup efficiency of the server.
[0062] Optionally, in an embodiment of the present application, the second controller is used to call the system files stored in multiple memories to start the server system according to the calling information sent by the first controller. The second controller can be but is not limited to BMC (Baseboard Management Controller), IPMI Controller (Intelligent Platform Management Interface Controller), EC (Embedded Controller), etc., and this solution does not limit this.
[0063] As an optional embodiment, each of the memories is configured with a plurality of storage areas, the storage areas are arranged in one-to-one correspondence with the system files, and the storage areas are used to store the corresponding system files;
[0064] The first controller is used to filter out a target storage from the multiple storages according to the file information of the system file, wherein the probability of a failure occurring when the server system is started using the system file stored in the target storage is lower than a target probability value; and generate a target call timing for the multiple storage areas configured for the target storage according to the storage area information of the target storage, wherein the call information includes the target call timing, and the storage area information is used to indicate the system file storage status of the multiple storage areas of the target storage.
[0065] Optionally, in the embodiments of the present application, Figure 2 is a structural diagram of a memory according to an embodiment of the present application, such as Figure 2 As shown, the memory is configured with a program area and a data area. The data area stores configuration files, logs during operation and other data. The program area is read-only during operation and stores data such as image files used during startup.
[0066] Optionally, in an embodiment of the present application, the system files used by the second controller in multiple startup stages of starting the server system may be from the same target storage device, or from multiple target storage devices. For example, when some system files are abnormal in each storage device, system files with file accuracy higher than a preset accuracy in each startup stage may be searched from multiple storage devices, so that the system files used to start the server come from multiple target storage devices. Therefore, in an embodiment of the present application, the file information is information indicating the current accuracy of the system file, and the method for filtering the target storage device according to the file information may be: searching from multiple storage devices as a target storage device in which the accuracy of each system file stored is higher than the target accuracy; searching from multiple storage devices as a target storage device in which the accuracy of the system file in the first startup stage is greater than the preset accuracy; searching from multiple storage devices as a target storage device in which the accuracy of the system file in each startup stage is greater than the preset accuracy.
[0067] Optionally, in an embodiment of the present application, the memory information is used to indicate the system file storage status of multiple storage areas of the target memory. For example, storage area A of the target memory stores program files (such as image files), and storage area B of the target memory stores data files (such as configuration files and logs during operation). Then, the calling sequence of the target memory is to first call the file data stored in storage area A of the target memory to start the server, and then call the file data stored in storage area B of the target memory to run the server.
[0068] Through the above content, the system can intelligently screen multiple storages based on the file information of the system files, and select the target storage with the highest reliability for server startup, thereby reducing the probability of server startup failure.
[0069] As an optional embodiment, the first controller is further configured to, when detecting that the second controller successfully starts the server system by calling the system file stored in the target memory, select a candidate memory from the reference memory, wherein the reference memory is a memory other than the target memory among the multiple memories, and a startup failure occurs when the second controller calls the system file currently stored in the candidate memory to start the server system; send a target backup instruction to the second controller;
[0070] The second controller is further used to respond to the target backup instruction, locate the first storage area where the system file of each startup phase is located in the target storage and the second storage area where the system file is located in the candidate storage; match the first system file in the first storage area with the second system file in the second storage area; and use the first system file to update the second system file stored in the second storage area when the first system file and the second system file do not match each other.
[0071] Optionally, in an embodiment of the present application, when the first controller detects that the second controller calls the system file stored in the target memory to successfully start the server system, it will screen out a candidate memory from the memory other than the target memory, that is, the memory where a startup failure occurred when the second controller called the currently stored system file to start the server system, and then the first controller sends a target backup instruction to the second controller to back up and update the system file stored in the candidate memory.
[0072] Optionally, in an embodiment of the present application, the second controller locates the first storage area in the target memory and the second storage area in the candidate memory of the system files in each startup phase according to the target backup instruction, and matches the system files in the first storage area in the target memory with the system files in the second storage area in the candidate memory. Whether the files are consistent can be determined by calculating the hash value of the file data. If the files match consistently, it indicates that the data integrity and consistency are good, and the system does not need to perform further operations. If the match is inconsistent, it indicates that there is a data inconsistency or corruption problem, and the second controller uses the correct system files in the first storage area in the target memory to update the files in the second storage area in the candidate memory.
[0073] Through the above content, the consistency of system files on all storage devices can be ensured, the probability of startup failure can be reduced, and the stability and data security of the server can be improved.
[0074] As an optional embodiment, the first controller is further used to obtain a target failure frequency of each memory within the reference time period, wherein the failure frequency is used to indicate a failure frequency when the server system is started using the system file stored in the memory within the reference time period, and the memory information includes the target failure frequency;
[0075] A target failure probability corresponding to the target failure frequency is determined from failure frequencies and failure probabilities having a corresponding relationship, wherein the target failure probability is used to indicate the probability of a failure occurring when the server system is started using the system file stored in the memory at the current moment, and the file information includes the target failure probability.
[0076] Optionally, in an embodiment of the present application, the frequency of failures when using each memory to start the server system within a reference time period can be found from the historical startup information of the server system; a mapping relationship table between failure frequency and failure probability is established to convert the failure frequency of each memory into a failure probability; the first controller determines the target failure probability corresponding to the target failure frequency by querying the mapping relationship table, and then before the server is started, the second controller can select the memory with the lowest target failure probability to read the system file according to the file information.
[0077] Through the above content, the system can predict the target failure probability based on the historical failure conditions of the storage, so as to select the target storage with the lowest failure probability for startup before startup, reducing the risk of server startup failure.
[0078] As an optional embodiment, the system further includes a connection controller, wherein the connection controller is respectively connected to the first controller, the second controller and the plurality of memories;
[0079] The first controller is further configured to send a target connection instruction to the connection controller when a target memory to be called is screened out for the second controller, wherein the target connection instruction is used to instruct the connection controller to adjust the access relationship between the second controller and the plurality of memories;
[0080] The connection controller is used to control the connection link between the second controller and the target memory to be in an on state, and to control the connection link between the second controller and the reference memory to be in an off state, wherein the reference memory is a memory other than the target memory among the multiple memories.
[0081] Optionally, in the embodiments of the present application, Figure 3 A hardware connection of a server startup control system according to an embodiment of the present application Figure 2 ,like Figure 3 As shown, the startup control system of the server also includes a connection controller, and the connection controller is connected to the first controller, the second controller and the multiple memories respectively.
[0082] Optionally, in an embodiment of the present application, a connection controller is used to control the connection status between the second controller and multiple memories. The connection controller can be but is not limited to an MCU (Microcontroller Unit), an FPGA (Field-Programmable Gate Array), etc., and this solution does not limit this.
[0083] Optionally, in an embodiment of the present application, when the second controller screens out the target memory to be called, the first controller sends a target connection instruction to the connection controller, where the target connection instruction carries the identifier of the target memory and the expected connection status. After receiving the target connection instruction, the connection controller immediately controls the connection link between the second controller and the target memory, and at the same time, sets the connection link between the reference memory (i.e., other memory except the target memory) and the second controller to an open circuit state to prevent the second controller from mistakenly accessing these potentially unstable or faulty memories.
[0084] Optionally, in an embodiment of the present application, the connection controller can continuously monitor the status of the target storage. Once it detects that the target storage fails during the startup process, the connection controller immediately sends a fault signal to the first controller and disconnects the connection link between the second controller and the target storage. After receiving the fault signal, the first controller will re-screen a new target storage and send a target connection instruction to the connection controller again to switch to another healthy storage to ensure that the server can start stably.
[0085] Through the above content, the system can realize intelligent adjustment of the second controller to multiple memory accesses by connecting the controller, ensuring that the target memory with high reliability can be preferentially selected when the server starts, while avoiding access to the reference memory with potential faults, thereby significantly improving the server startup efficiency and data security.
[0086] As an optional embodiment, the first controller is further used to detect the first startup stage currently in which the server system is located; in the process of the second controller calling the system file stored in the target memory to perform the startup operation of the first startup stage of the server system, obtain a third system file corresponding to the second startup stage stored in the target memory, and a fourth system file corresponding to the second startup stage stored in a plurality of reference memories, wherein the second startup stage is a startup stage located after the first startup stage among the plurality of startup stages; perform file matching on the third system file and the plurality of fourth system files to obtain a matching result; and in the case where the matching result indicates that the third system file is an abnormal system file, send a data recovery instruction to the second controller, wherein the data recovery instruction is used to instruct file recovery of the third system file;
[0087] The second controller is used to send an access request to the connection controller in response to the data recovery instruction to access the reference memory;
[0088] The connection controller is used to control the connection link between the second controller and the reference memory to be in a connection state in response to the access request;
[0089] The second controller is used to read the fourth system file from the reference memory when the connection link between the second controller and the reference memory is in a connected state; and use the fourth system file to perform file recovery on the third system file stored in the target memory during the startup operation of the first startup phase on the server system.
[0090] Optionally, in an embodiment of the present application, during the process of the second controller calling the system file stored in the target memory to perform the startup operation of the first startup phase of the server system, the correctness of the third system file corresponding to the second startup phase stored in the target memory can be detected in advance, so that the server can minimize the probability of switching memories in the middle of the startup process. It can be to obtain the third system file corresponding to the second startup phase stored in the target memory, and at the same time collect the fourth system files of the same type stored in multiple reference memories, compare the content of the third system file with each fourth system file, calculate the checksum (such as MD5, SHA-1, etc.) to identify the difference or damage of the file, if the matching result shows that the third system file is abnormal (such as content difference, file damage, etc.), the first controller immediately sends a data recovery instruction to the second controller, instructing to restore the third system file. Then, after receiving the data recovery instruction, the second controller sends an access request to the connection controller requesting access to the reference memory to obtain healthy system files; the connection controller responds to the access request, controls the connection link between the second controller and the reference memory to switch to a pass state, and when the connection link between the second controller and the reference memory is in a pass state, the second controller reads the fourth system file from the reference memory to perform data recovery on the third system file, and the second controller uses the fourth system file read from the reference memory to replace the abnormal third system file in the target memory, thereby ensuring the integrity and correctness of the system files required for the second startup phase.
[0091] Through the above method, the system can promptly detect and correct potential system file anomalies during the startup process, reduce startup failures or service interruptions caused by file damage or inconsistency, and improve the startup efficiency of the server.
[0092] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 4 1 is a hardware structure block diagram of a server device of a server startup control method according to an embodiment of the present application. Figure 4 As shown, the server device may include one or more ( Figure 4 Only one is shown in the figure) a processor 402 (the processor 402 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 404 for storing data, wherein the above-mentioned server device may also include a transmission device 406 and an input and output device 408 for communication functions. It can be understood by those skilled in the art that Figure 4 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 4 More or fewer components as shown, or with Figure 4 Different configurations are shown.
[0093] The memory 404 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the startup control method of the server in the embodiment of the present application. The processor 402 executes various functional applications and data processing by running the computer program stored in the memory 404, that is, to implement the above method. The memory 404 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 404 may further include a memory remotely arranged relative to the processor 402, and these remote memories may be connected to the server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0094] The transmission device 406 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the server device. In one example, the transmission device 406 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 406 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0095] Optionally, in the embodiments of the present application, Figure 5 is a flow chart of a server startup control method according to an embodiment of the present application, which is applied to a first controller in the server, such as Figure 5 As shown, it includes at least the following contents:
[0096] S502, in the case of detecting that a startup operation of a server system is triggered, predicting file information of the storage according to storage information of multiple storages in a reference time period before a current moment, wherein the first controller, the second controller and the multiple storages are deployed in the server, the second controller is connected to each storage and the first controller respectively, the multiple storages are used to redundantly store multiple system files of the server system, each system file is used to indicate a startup mode of a corresponding startup stage during the startup process of the server system, the storage information is used to indicate an abnormality of the system file stored in each storage within the reference time period, and the file information is used to indicate the accuracy of each system file currently stored in the corresponding storage;
[0097] S504, generating calling information for the plurality of memories according to the file information, wherein the calling information is used to indicate a calling sequence of calling the system files in the plurality of memories;
[0098] S506: Send the calling information to the second controller, wherein the second controller is used to call the system files stored in the plurality of memories according to the calling information to start the server system.
[0099] Through the above content, by deploying a first controller, a second controller and a plurality of memories for redundantly storing a plurality of system files of a server system, and connecting the second controller to each memory and the first controller respectively, the first controller can predict the file information indicating the accuracy of each system file currently stored in the corresponding memory according to the abnormality of the system files stored in each memory in the reference time period before the current moment when detecting the triggering of the startup operation of the server system, and can generate the calling information indicating the calling sequence of calling the system files in the plurality of memories for the second controller according to the file information, that is, in the present application, the second controller can access and call the system files stored in the current memory in each memory of the plurality of memories, and the calling information used by the second controller to call the system files stored in the plurality of memories is generated by the first controller according to the memory information of each memory, so that on the one hand, the loss or damage of the system files required by the server system can be avoided, and on the other hand, the probability of the second controller calling the abnormal system files when the system is started can be reduced, so as to avoid the startup waiting problem caused by the recovery of the abnormal system files when the system is started. Therefore, the problem of low startup efficiency of the server in the related art can be solved, and the effect of improving the startup efficiency of the server can be achieved.
[0100] Optionally, in an embodiment of the present application, a method for backing up and restoring BMC data is also provided. This solution uses a BMC chip (second controller) to connect two Flash (memory). The two flashes are used as backup for each other, and no one flash is fixed as the main flash. Each flash stores image files, configuration files, logs and other data. Modifications to the configuration files are saved in real time to active-flash and noactive-flash. Image files and some data are backed up and restored after recovery occurs. One purpose of this solution is to solve the problem of backup and recovery of image files, configuration files, logs and other data, and optimize the startup time.
[0101] This solution proposes a method for backing up and restoring server BMC data. The BMC chip is connected to two flashes. The structure of each flash is the same, divided into a data area and a program area. The BMC starts from the active flash and mounts the no-active to the BMC file system. When backing up data, the two flashes can be accessed synchronously.
[0102] This solution proposes a method for backing up and restoring data such as image files, configuration files, logs, etc. The method includes: CPLD (first controller), BMC (second controller), dual flash (memory), backup module, MCU control unit (connection controller).
[0103] The CPLD component records and controls the MCU, decides which flash to enable as the active flash, controls the timing, and controls the startup of the BMC. It interacts with the BMC through message flows.
[0104] The BMC flash component stores image files, configuration data, logs, and other data.
[0105] The BMC backup module determines whether the two flash images are inconsistent and restores the image files, and synchronously saves configuration files and other data to the flash.
[0106] The MCU control unit is controlled by the CPLD and selects flash0 or flash1 to connect to the BMC.
[0107] 1. The specific description is as follows:
[0108] 1. Figure 6 This is a hardware connection diagram of a method for backing up and restoring server BMC data according to an embodiment of the present application. The overall structure is as follows Figure 6 As shown in the figure, the CPLD controls the MCU and records the current control status of the MCU. We call the flash currently started by the BMC the active flash. The other flash is called the no-active flash.
[0109] The backup and restore of BMC image files are as follows:
[0110] The CPLD controls the MCU, and each time the BMC chip starts from the flash that was successfully started last time. When the BMC cannot start normally, the CPLD will detect the failure of the BMC startup and control the MCU to switch to another flash path to start the BMC. If the BMC starts normally, the current flash is the active flash, and the other flash becomes the no-active flash. The startup recovery mechanism restores the no-active flash. If the BMC fails to start, it means that both flashes are faulty and the BMC cannot start.
[0111] The backup and recovery of configuration files and other data are as follows:
[0112] After BMC starts normally, the BMC configuration data and running data are recorded in the active flash. The no-active flash will be mounted in the BMC file system, and the configuration data and running data will be synchronously backed up to the no-active flash.
[0113] 2. BMC dual flash:
[0114] BMC has two SPI flashes, and the same BMC Image needs to be burned into these two flashes before leaving the factory. Which flash is currently booted from by BMC and which is the active flash. Unlike other solutions, flash0 is not used as the active flash. This optimization saves the startup time of recovery.
[0115] like Figure 2 The structure of each flash is the same as shown in the memory structure diagram. The data area stores configuration files, logs during operation and other data. The program area is read-only during operation and stores BMC image files. BMC reads data (image files, configuration data, etc.) from the connected flash (i.e. activeflash) to start.
[0116] 3. CPLD components:
[0117] The CPLD component detects whether the BMC is started normally. If it is not started normally, the control MCU is connected to another flash to the BMC and attempts to restart. If the startup is successful, the current MCU control result is recorded as the MCU control when the BMC is started next time, that is, the current active flash is used for the next startup.
[0118] If the startup fails, the CPLD will control the MCU to try to activate another flash and restart.
[0119] The CPLD records the flash that is not started normally, and notifies the BMC backup module after the BMC switches to flash to start successfully.
[0120] 4. MCU control unit:
[0121] The MCU connects the BMC and two flashes, but is controlled by the CPLD, so only one flash can be connected to the BMC at the same time. The BMC starts using the connected flash.
[0122] 5. BMC backup module:
[0123] After the BMC starts normally, mount the no-active flash to the BMC file system.
[0124] After BMC starts normally, if it receives a notification from CPLD, it will perform image file recovery operations: calculate the hash values of the data in the no-active flash and active flash program areas, and if they are inconsistent, copy the image file saved in the active flash to the program area of the no-active flash. At the same time, synchronize some data in the data area of the no-active flash, such as copying the log to the corresponding place in the active flash data area.
[0125] During normal operation of the BMC, the backup of the configuration file is synchronized in real time to the specified file in the data area of the no-active flash.
[0126] 6. Startup flow chart:
[0127] Figure 7 is a processing flow chart of a CPLD of a method for backing up and restoring server BMC data according to an embodiment of the present application, such as Figure 7 As shown in the figure, CPLD processes the timing to start BMC. The response waiting mechanism is used to detect whether BMC is successfully started. If it fails, it will try to restart BMC N times (N is the data defined by the system itself, and it is recommended to be less than 3 times). When all attempts to start fail, CPL controls MCU, connects another flash to BMC, and restarts BMC. Monitor whether BMC is successfully started. If successful, it will send a message to BMC to notify it that image file recovery operations are required.
[0128] Traditional solution: Regardless of whether flash0 is faulty, flash0 is always used as the main flash. If the startup from flash0 fails and the critical value is reached, it will switch to startup from flash1. However, this solution records the flash link that was successfully started last time and directly starts from the last flash, saving BMC startup time*number of attempts. At the same time, the frequency of using flash0 is reduced.
[0129] Figure 8 is a processing flow chart of a method for backing up and restoring server BMC data according to an embodiment of the present application, such as Figure 8 As shown in the figure, in order to reduce the startup time and optimize the performance, the timing of data backup is very important. The configuration file is the key to each function of the BMC. The configuration needs to take effect directly when the BMC image file is started. Therefore, when the BMC is officially started successfully, the no-active flash will be actively mounted to the BMC file system. Configuration changes during the BMC's official operation are synchronized to the appropriate area of the no-active flash in real time.
[0130] After the BMC is successfully started, the recovery operation is performed according to the message of the CPLD: the image file of the active flash is copied to the program area of the no-active flash, and the running data such as the log is copied to the data area of the no-active flash.
[0131] Reduce the number of configuration files and data backed up before starting the BMC, which affects the startup time.
[0132] This method is different from the industry method. Active flash is flexible and not fixed, which reduces the flash failure rate (reduces reading and writing to always be performed on the main flash). Ensure that the BMC is started first to provide business needs (save startup time), and then back up, in order to prevent failures in the next startup. When the BMC is running in real time, the configuration file does not need to be backed up again at startup, saving startup time. BMC mirror failure recovery and configuration file and other data recovery issues reduce the original BMC fault detection and startup time by about 6% (backup time for configuration files and other data, startup time of the faulty chip * number of attempts).
[0133] This solution optimizes the backup and recovery of the image files and data of the server BMC by backing up data at the right time and not fixing a certain flash as the main flash, thereby reducing the failure rate, reducing the startup time, and reducing the loss of the fixed main flash.
[0134] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0135] In this embodiment, a startup control device for a server is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0136] Fig. 9 is a structural block diagram of a startup control device of a server according to an embodiment of the present application, such as Fig. 9 As shown, the device comprises:
[0137] A prediction module 92 is used to predict the file information of the storage according to the storage information of the multiple storages in a reference time period before the current moment when a startup operation of the server system is triggered. The first controller, the second controller and the multiple storages are deployed in the server, the second controller is connected to each storage and the first controller respectively, the multiple storages are used to redundantly store multiple system files of the server system, each system file is used to indicate the startup mode of the corresponding startup stage during the startup process of the server system, the storage information is used to indicate the abnormal situation of the system files stored in each storage within the reference time period, and the file information is used to indicate the accuracy of each system file currently stored in the corresponding storage;
[0138] A generating module 94, configured to generate calling information for the plurality of memories according to the file information, wherein the calling information is used to indicate a calling sequence of calling the system files in the plurality of memories;
[0139] The sending module 96 is used to send the calling information to the second controller, wherein the second controller is used to call the system files stored in the plurality of memories to start the server system according to the calling information.
[0140] Through the above device, by deploying a first controller, a second controller and a plurality of memories for redundantly storing a plurality of system files of a server system, and connecting the second controller to each memory and the first controller respectively, the first controller can predict the file information indicating the accuracy of each system file currently stored in the corresponding memory according to the abnormality of the system files stored in each memory in the reference time period before the current moment when detecting the triggering operation of starting the server system, and can generate the calling information indicating the calling sequence of calling the system files in the plurality of memories for the second controller according to the file information, that is, in the present application, the second controller can access and call the system files stored in the current memory in each memory of the plurality of memories, and the calling information used by the second controller to call the system files stored in the plurality of memories is generated by the first controller according to the memory information of each memory, and can avoid the loss or damage of the system files required by the server system on the one hand, and can reduce the probability of the second controller calling the abnormal system files when the system is started, and avoid the startup waiting problem caused by the recovery of the abnormal system files when the system is started. Therefore, the problem of low startup efficiency of the server in the related art can be solved, and the effect of improving the startup efficiency of the server can be achieved.
[0141] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0142] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0143] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0144] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0145] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0146] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.
[0147] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.
[0148] The embodiments of the present application also provide a computer program, which includes computer instructions, which are stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the steps in any one of the above method embodiments.
[0149] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.
[0150] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.
[0151] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.
Claims
1. A server startup control system, It is characterized in that include: A first controller, a second controller and a plurality of memories, wherein the second controller is respectively connected to each of the memories and the first controller; The plurality of memories are used to redundantly store a plurality of system files of the server system, wherein each of the system files is used to indicate a startup mode of a corresponding startup phase during the startup process of the server system; The first controller is used to predict the file information of the storage according to the storage information of the plurality of storages in a reference time period before the current moment when detecting a triggering operation of starting the server system, wherein the storage information is used to indicate an abnormality of the system files stored in each of the storages in the reference time period, and the file information is used to indicate the accuracy of each of the system files currently stored in the corresponding storage; generate calling information of the plurality of storages according to the file information, wherein the calling information is used to indicate a calling sequence of calling the system files in the plurality of storages; and send the calling information to the second controller; The second controller is used to call the system files stored in the plurality of memories according to the calling information to start the server system.
2. The system according to claim 1, characterized in that Each of the memories is configured with a plurality of storage areas, the storage areas are arranged in one-to-one correspondence with the system files, and the storage areas are used to store the corresponding system files; The first controller is used to filter out a target storage from the multiple storages according to the file information of the system file, wherein the probability of a failure occurring when the server system is started using the system file stored in the target storage is lower than a target probability value; and generate a target call timing for the multiple storage areas configured for the target storage according to the storage area information of the target storage, wherein the call information includes the target call timing, and the storage area information is used to indicate the system file storage status of the multiple storage areas of the target storage.
3. The system according to claim 2, characterized in that The first controller is further configured to, when it is detected that the second controller successfully starts the server system by calling the system file stored in the target memory, select a candidate memory from the reference memory, wherein the reference memory is a memory other than the target memory among the multiple memories, and a startup failure occurs when the second controller calls the system file currently stored in the candidate memory to start the server system; send a target backup instruction to the second controller; The second controller is further used to respond to the target backup instruction, locate the first storage area where the system file of each startup phase is located in the target storage and the second storage area where the system file is located in the candidate storage; match the first system file in the first storage area with the second system file in the second storage area; and use the first system file to update the second system file stored in the second storage area when the first system file and the second system file do not match each other.
4. The system according to claim 1, characterized in that The first controller is further used to obtain a target failure frequency of each of the memories within the reference time period, wherein the failure frequency is used to indicate the frequency of failures occurring when the server system is started using the system file stored in the memory within the reference time period, and the memory information includes the target failure frequency; determine a target failure probability corresponding to the target failure frequency from failure frequencies and failure probabilities having a corresponding relationship, wherein the target failure probability is used to indicate the probability of a failure occurring when the server system is started using the system file stored in the memory at a current moment, and the file information includes the target failure probability.
5. The system according to claim 1, characterized in that The system further includes a connection controller, wherein the connection controller is connected to the first controller, the second controller and the plurality of memories respectively; The first controller is further configured to send a target connection instruction to the connection controller when a target memory to be called is screened out for the second controller, wherein the target connection instruction is used to instruct the connection controller to adjust the access relationship between the second controller and the plurality of memories; The connection controller is used to control the connection link between the second controller and the target memory to be in an on state, and to control the connection link between the second controller and the reference memory to be in an off state, wherein the reference memory is a memory other than the target memory among the multiple memories.
6. The system according to claim 5, characterized in that The first controller is further used to detect the first startup stage currently in which the server system is located; in the process of the second controller calling the system file stored in the target memory to perform the startup operation of the first startup stage of the server system, obtain a third system file corresponding to the second startup stage stored in the target memory, and a fourth system file corresponding to the second startup stage stored in a plurality of reference memories, wherein the second startup stage is a startup stage located after the first startup stage in the plurality of startup stages; perform file matching on the third system file and the plurality of fourth system files to obtain a matching result; and in the case where the matching result is used to indicate that the third system file is an abnormal system file, send a data recovery instruction to the second controller, wherein the data recovery instruction is used to instruct file recovery of the third system file; The second controller is used to send an access request to the connection controller in response to the data recovery instruction to access the reference memory; The connection controller is used to control the connection link between the second controller and the reference memory to be in a connection state in response to the access request; The second controller is used to read the fourth system file from the reference memory when the connection link between the second controller and the reference memory is in a connected state; and use the fourth system file to perform file recovery on the third system file stored in the target memory during the startup operation of the first startup phase on the server system.
7. A method for controlling the startup of a server, characterized in that: The method is applied to a first controller in a server, and the method comprises: In the case of detecting that a startup operation of a server system is triggered, predicting file information of the storage according to storage information of the multiple storages in a reference time period before a current moment, wherein the first controller, the second controller and the multiple storages are deployed in the server, the second controller is connected to each storage and the first controller respectively, the multiple storages are used to redundantly store multiple system files of the server system, each system file is used to indicate a startup mode of a corresponding startup phase during the startup process of the server system, the storage information is used to indicate an abnormality of the system file stored in each storage within the reference time period, and the file information is used to indicate the accuracy of each system file currently stored in the corresponding storage; Generate calling information for the plurality of memories according to the file information, wherein the calling information is used to indicate a calling sequence of calling the system files in the plurality of memories; The calling information is sent to the second controller, wherein the second controller is used to call the system files stored in the memory according to the calling information to start the server system.
8. A server startup control device, characterized in that: include: A prediction module, configured to predict file information of a plurality of memories according to storage information of the plurality of memories in a reference time period before a current moment when a startup operation of a server system is triggered is detected, wherein the first controller, the second controller and the plurality of memories are deployed in the server, the second controller is connected to each of the memories and the first controller respectively, the plurality of memories are used to redundantly store a plurality of system files of the server system, each of the system files is used to indicate a startup mode of a corresponding startup phase during the startup process of the server system, the storage information is used to indicate an abnormality of the system files stored in each of the memories in the reference time period, and the file information is used to indicate the accuracy of each of the system files currently stored in the corresponding memories; A generating module, used for generating calling information for the plurality of memories according to the file information, wherein the calling information is used for indicating a calling sequence of calling the system files in the plurality of memories; A sending module is used to send the calling information to the second controller, wherein the second controller is used to call the system files stored in the plurality of memories to start the server system according to the calling information.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in claim 7 when executed by a processor.
10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method described in claim 7 are implemented.
Citation Information
Patent Citations
Recovery method and device of operating system, storage medium and server management chip
CN117033086A
Intelligent operation and maintenance system fault prediction method and device, equipment and storage medium
CN118113503A
System starting method, system updating method, repeater system, equipment and medium
CN118295713A
Server and hardware fault prediction method thereof, program product and storage medium
CN118535424A
Remote backup restoration method and system for firmware
CN118585382A