A Method for Out-of-Band BIOS Elevated and Depressed Pressure Testing of Multiple Servers
By obtaining remote login information and BIOS version information of the server cluster, optimizing thread allocation and error log processing, the problem of low efficiency of BIOS lifting and downgrading tests for multiple servers is solved, and efficient, stable and accurate BIOS stress testing is achieved.
Patent Information
- Application Number
- CN202411422182.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-12
- Publication Date
- 2025-07-04
- Estimated Expiration
- 2044-10-12
AI Technical Summary
The current multiple servers have low pressure test efficiency, frequent human operations, unreasonable thread allocation, unstable tests, and untargeted error log processing, resulting in low test efficiency.
By obtaining remote login information in the test configuration file, establishing an ssh connection, obtaining the current BIOS version information, dividing server groups by version comparison and importance coefficient, optimizing thread allocation, and hierarchical processing based on the error log set, we realize automated BIOS file upload and testing.
It improves testing efficiency, ensures testing stability and flexibility, improves BIOS file comparison efficiency, realizes targeted error handling, and improves testing accuracy and efficiency.
Smart Images

Figure CN119316315B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of server testing, and in particular to a method for testing out-of-band BIOS pressure increases and decreases of multiple servers. Background Art
[0002] BIOS (Basic Input Output System) is a set of programs that are fixed on a chip on the computer's motherboard. It stores the computer's most important basic input and output programs, self-test programs after power-on, and system self-start programs. It can read and write specific information about system settings from CMOS (Complementary Metal Oxide Semiconductor).
[0003] At present, the out-of-band BIOS upgrade and downgrade stress test mainly logs in to the BMC web interface of each server through the web (World Wide Web), then finds the web interface upgrade BIOS firmware button, uploads the BIOS file to be upgraded for flashing, and manually restarts after the flashing is completed. After waiting for the flashing to complete, enter the OS, and repeat the above steps multiple times (generally 100 times for the test) to implement the stress test of multiple upgrades and downgrades of different versions of BIOS files.
[0004] The following technical problems often occur during the existing upgrade and downgrade stress testing process:
[0005] First, you must log in to the server on the client, enter your username and password, and select different BIOS files for upgrade and downgrade testing. Each upgrade requires manual upload and waiting for the upgrade to complete. When multiple servers need to be stress tested for upgrade and downgrade at the same time, you need to log in to all servers on the client and find the BIOS upgrade button to upload the file, and perform multiple upgrade and downgrade version tests on each server. This method is not only inefficient, but also requires multiple manual operations;
[0006] Second, when using multi-threaded execution testing, if the number of servers is greater than the maximum number of threads in the pre-built thread pool, there is a lack of a reasonable way to allocate threads, resulting in instability in BIOS stress testing; multiple BIOS file groups with different stress test gradients are tested indiscriminately, making the test inflexible. At the same time, the comparison efficiency between the current BIOS file version information and the pre-configured BIOS file version information is low, resulting in low efficiency in uploading to the target server, which in turn leads to low efficiency in BIOS stress testing;
[0007] Third, during the BIOS stress test, problems are inevitable. Error logs are generated after problems occur. The client conducts undifferentiated BIOS tests on the servers with errors, lacking pertinence, resulting in inaccurate tests and low test efficiency. Summary of the Invention
[0008] This section of the summary of the invention is used to briefly introduce concepts, which will be described in detail in the following detailed implementation section. This section of the summary of the invention is not intended to identify the key features or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.
[0009] The present invention proposes a method for out-of-band BIOS step-up and step-down stress testing of multiple servers to solve one or more of the technical problems mentioned in the above background section.
[0010] The present invention provides a method for out-of-band BIOS step-up and step-down stress testing of multiple servers, including: obtaining a test configuration file corresponding to the server cluster to be tested, where the test configuration file stores the remote login information of each server in the server cluster to be tested, and receiving the number of stress test times input by the user;
[0011] Reading each remote login information in the test configuration file, using the read remote login information as the target remote login information, determining the server corresponding to the target remote login information as the target server, and performing the following test steps: establishing an ssh connection with the target server according to the target remote login information, and obtaining the current configuration information of the target server, where the current configuration information includes the current BIOS file version information; obtaining a pre-configured BIOS file group and the corresponding version information group of the BIOS file group, where the version information group includes the first version information and the second version information; comparing the current BIOS file version information with the first version information, if the current BIOS file version information is consistent with the first version information, uploading the BIOS file corresponding to the second version information to the target server; if the current BIOS file version information is inconsistent with the first version information, uploading the BIOS file corresponding to the first version information to the target server; if the BIOS file is uploaded to the target server to enable the target server to perform BIOS update according to the received BIOS file, if an error occurs during the update process, generating and outputting an error log;
[0012] If no error occurs during the update process, continue to execute the test steps until the number of stress test times is reached.
[0013] Optionally, the test configuration file further includes the architecture information of the server cluster.
[0014] Before reading each remote login information in the test configuration file, a multi-server out-of-band BIOS lift and pressure test method further includes:
[0015] Determine the number of servers in the server cluster to be tested, and determine whether the number of servers is greater than the maximum number of threads in the pre-built thread pool. If the number of servers is greater than the maximum number of threads, divide the server cluster into a target number of server groups according to the architecture information, and each server group corresponds to a server function information, where the target number is less than or equal to the maximum number of threads;
[0016] Generate an importance coefficient for each server group according to the server function information corresponding to each server group and the number of servers in the server group. If the importance coefficient is greater than the preset importance coefficient threshold, determine the corresponding server group as a first-level server group to obtain at least one first-level server group;
[0017] If the importance coefficient is less than or equal to the preset importance coefficient threshold, determine the corresponding server group as a second-level server group to obtain at least one second-level server group; for each second-level server group, divide the number of servers in the second-level server group by the server quantity benchmark value to obtain a division result, round up the division result to obtain a rounding result, and allocate a first quantity of threads to each second-level server group according to the rounding result, where the first quantity matches the rounding result.
[0018] Optionally, before reading each remote login information in the test configuration file, a multi-server out-of-band BIOS lift and pressure test method further includes:
[0019] After allocating threads to each second-level server group, count the maximum remaining number of threads in the thread pool;
[0020] Count the number of servers in each first-level server group among at least one first-level server group respectively, and determine the total number of servers corresponding to at least one first-level server group. If the total number of servers is less than or equal to the maximum remaining number of threads, allocate one thread to each server in each first-level server group;
[0021] If the total number of servers is greater than the maximum remaining number of threads, sort at least one first-level server group in descending order according to the importance coefficient to obtain a first-level server group sequence;
[0022] Select the first N first-level server groups from the first-level server group sequence in descending order according to the importance coefficient, where the total number of servers in the first N first-level server groups is less than or equal to the maximum remaining number of threads, and the total number of servers in the first N + 1 first-level server groups is greater than the maximum remaining number of threads.
[0023] Optionally, the test configuration file also includes a configured stress test gradient;
[0024] Obtain a pre-configured BIOS file group and the corresponding version information group of the BIOS file group, including:
[0025] Obtain a plurality of pre-configured BIOS file groups, each BIOS file group corresponding to a stress test gradient. According to the configured stress test gradient, select a target BIOS file group from the plurality of BIOS file groups. The number of BIOS files in the target BIOS file group matches the configured stress test gradient. Among them, each BIOS file in the target BIOS file group is configured with a version number.
[0026] Optionally, compare the current BIOS file version information with the first version information. If the current BIOS file version information is the same as the first version information, upload the BIOS file corresponding to the second version information to the target server; if the current BIOS file version information is different from the first version information, upload the BIOS file corresponding to the first version information to the target server, including:
[0027] Sort each BIOS file in the target BIOS file group in ascending order of the version number to obtain a target BIOS file sequence;
[0028] Match the current BIOS file version information with the version numbers of each BIOS file in the target BIOS file sequence, obtain the version number that matches the current BIOS file version information as the matching version number, determine the BIOS file corresponding to the matching version number as the matching BIOS file, and upload the BIOS files in the target BIOS file sequence that are ranked after the matching BIOS file to the target server.
[0029] The present invention has the following beneficial effects:
[0030] 1. By collecting the account information of the server cluster to be tested into the test configuration file, reading the information in the test configuration file, establishing an ssh connection with BMC and OS, obtaining the current configuration information of the target server, and after corresponding consistency with the pre-configured BIOS file group and the corresponding version information group of the BIOS file group, uploading the BIOS file to the target server, so that the target server updates the BIOS according to the received BIOS file. Thus, it is realized that only one collection of information is required to automatically upload and rewrite multiple times, improving the test efficiency;
[0031] 2. Divide the server cluster into a target number of server groups based on the architecture information. Each server group corresponds to a server function information. Generate the importance coefficient of each server group according to the server function information corresponding to each server group and the number of servers in the server group. Determine the server groups with importance coefficients greater than the preset importance coefficient threshold as the first-level server groups, and determine the server groups with importance coefficients less than or equal to the preset importance coefficient threshold as the second-level server groups. First, allocate threads to the second-level server groups, then count the maximum remaining number of threads in the remaining thread pool, sort the importance coefficients of the first-level server groups, and allocate threads to the first-level server groups. Thus, the way of allocating threads is optimized, and priority testing is performed for those with high importance coefficients, achieving more stable BIOS stress testing for the servers; Select the target BIOS file group according to the configured stress test gradient. Each BIOS file in the target BIOS file group is configured with a version number. Sort the version numbers of each BIOS file in the target BIOS file group to obtain the target BIOS file sequence, and compare the current BIOS file version information with the version numbers of each BIOS file in the target BIOS file sequence. Thus, when testing multiple BIOS file groups, testing is performed according to the different stress test gradients of multiple BIOS file groups, making the BIOS test more flexible. After sorting the version numbers of the BIOS files, the comparison of BIOS configuration information is carried out, improving the comparison efficiency, and the BIOS files can also be quickly uploaded to the target server, improving the test efficiency;
[0032] 3. Generate a cluster classification index value based on the server function information and the number of servers. Divide the error log set into multiple error log groups according to the cluster classification index value and the preset classification index interval. Count the average number of tested times of each log group. If the average number of tested times is less than the preset number threshold, it is determined as the secondary troubleshooting error log group, and for the secondary troubleshooting group, count the BIOS file version information to generate the verification information of the BIOS file; If the average number of tested times is greater than the preset number threshold, it is determined as the regular error log group, and for the regular log group, count the server manufacturer information to generate the test guidance information of the BIOS file. Thus, according to the error logs in different situations, targeted BIOS stress testing is performed on the error log groups, improving the test accuracy and the test efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] In combination with the accompanying drawings and with reference to the following specific embodiments, the above and other features, advantages, and aspects of the embodiments of the present invention will become more apparent. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic, and the elements and elements are not necessarily drawn to scale.
[0034] Figure 1It is a flowchart of a method for out-of-band BIOS lift pressure test of multiple servers according to the present invention. Detailed implementation manners
[0035] The present invention will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present invention are shown in the drawings, it should be understood that the present invention can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. On the contrary, these embodiments are provided to more thoroughly and completely understand the present invention. It should be understood that the drawings and embodiments of the present invention are only for exemplary purposes and are not used to limit the protection scope of the present invention.
[0036] In addition, it should be noted that for the sake of convenience of description, only the parts related to the relevant invention are shown in the drawings. Without conflict, the embodiments in the present invention and the features in the embodiments can be combined with each other.
[0037] It should be noted that the concepts such as "first" and "second" mentioned in the present invention are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence relationship of the functions performed by these devices, modules or units.
[0038] It should be noted that the modifications of "one" and "multiple" mentioned in the present invention are illustrative rather than restrictive. Those skilled in the art should understand that unless otherwise clearly stated in the context, it should be understood as "one or more".
[0039] The names of the messages or information exchanged between multiple devices of the present invention are only for illustrative purposes and are not used to limit the scope of these messages or information.
[0040] The present invention will be described in detail below with reference to the accompanying drawings and in combination with embodiments.
[0041] As Figure 1 shown, a flowchart of a method for out-of-band BIOS lift pressure test of multiple servers according to the present invention is shown, which specifically includes the following steps:
[0042] Step 101, obtain a test configuration file corresponding to the server cluster to be tested. The test configuration file stores the remote login information of each server in the server cluster to be tested, and receive the number of times of pressure test input by the user;
[0043] In some embodiments, the execution subject of a method for out-of-band BIOS lift pressure test of multiple servers according to the present invention can be a user terminal, and the user terminal can be a laptop, a desktop computer, etc.
[0044] In practice, the execution entity obtains the test configuration file corresponding to the server cluster to be tested, and this test configuration file stores the remote login information of each server in the server cluster to be tested. Among them, the remote login information is the BMC IP, BMC username, BMC password, and OS IP, OS username, OS password. The BMC (baseboard management controller) is a dedicated service processor that uses sensors to monitor the status of a computer, network server, or other hardware drive device. The OS (Operating System) is a built-in program used to coordinate various hardware of the computer to interact with the user. The IP (Internet Protocol) is a network layer protocol in the TCP / IP (Transmission Control Protocol / Internet Protocol) system. The execution entity receives the number of stress test times input by the user. The stress test is to simulate the software and hardware environment of actual applications and the system load during the user's usage process, and run the test software for a long time or with an extremely large load to test the performance, reliability, stability, etc. of the system under test.
[0045] Step 102: Read each remote login information in the test configuration file, use the read remote login information as the target remote login information, determine the server corresponding to the target remote login information as the target server, and perform the following test steps: According to the target remote login information, establish an ssh connection with the target server, and obtain the current configuration information of the target server. The current configuration information includes the current BIOS file version information; obtain the pre-configured BIOS file group and the version information group corresponding to the BIOS file group. The version information group includes the first version information and the second version information; compare the current BIOS file version information with the first version information. If the current BIOS file version information is consistent with the first version information, upload the BIOS file corresponding to the second version information to the target server; if the current BIOS file version information is inconsistent with the first version information, upload the BIOS file corresponding to the first version information to the target server; if the BIOS file is uploaded to the target server to enable the target server to perform BIOS update according to the received BIOS file, if an error occurs during the update process, generate and output an error log;
[0046] In some embodiments, the execution entity has already stored the test configuration file of the server cluster to be tested locally. On this basis, read each remote login information in the test configuration file, use the read remote login information as the target remote login information, and determine the server corresponding to the target remote login information as the target server.
[0047] After the execution entity reads the target remote login information, it establishes an ssh connection with the target server. Here, ssh (Secure Shell) is a protocol used for secure remote login and other secure network services on an insecure network. And it obtains the current configuration information of the target server, where the current configuration information includes the current BIOS file version information; obtains the pre-configured BIOS file group and the corresponding version information group of the BIOS file group, and the version information group includes the first version information and the second version information; compares the current BIOS file version information with the first version information. If the current BIOS file version information is consistent with the first version information, it uploads the BIOS file corresponding to the second version information to the target server; if the current BIOS file version information is inconsistent with the first version information, it uploads the BIOS file corresponding to the first version information to the target server; if the BIOS file is uploaded to the target server to enable the target server to perform BIOS update according to the received BIOS file, and if an error occurs during the update process, it generates and outputs an error log.
[0048] Step 103, if no error occurs during the update process, continue to execute the test steps until the number of stress tests is reached.
[0049] In some embodiments, after the BIOS file is uploaded to the target server, the target server performs BIOS update according to the received BIOS file. If an error occurs during the update process, it generates and outputs an error log; if no error occurs during the update process, continue to execute the test steps until the number of stress tests is reached.
[0050] As an example, if a user wants to perform a lifting pressure test on two servers, namely Server A and Server B, first collect the BMC IP, BMC username, BMC password, OS IP, OS username, and OS password of Server A and Server B respectively on the client side and put them into the test configuration file. At the same time, also collect two pre-configured BIOS files and the corresponding version information group of the BIOS file group. The version information group can be divided into the first version information and the second version information. Then, establish connections with these two servers by reading the remote login information in the test configuration file. After the connection, the client obtains the BIOS file version information of Server A and Server B. Compare the version information of Server A with the first version information. If they are the same, upload the BIOS file corresponding to the second version information to Server B; if the version information of Server A is inconsistent with the first version information, upload the BIOS file corresponding to the first version information to Server B. After both Server A and Server B receive the corresponding pre-configured BIOS files, update the servers according to the pre-configured BIOS files. If an error occurs during the update process, generate and output an error log. If the update is error-free, continue with the test steps until the number of pressure test times is reached.
[0051] In these embodiments, by collecting the account information of the server cluster to be tested into the test configuration file, reading the information in the test configuration file, establishing an ssh connection with the BMC and the OS, obtaining the current configuration information of the target server, and after the corresponding consistency with the pre-configured BIOS file group and the corresponding version information group of the BIOS file group, upload the BIOS file to the target server, so that the target server performs BIOS update according to the received BIOS file. Thus, it is realized that only one collection of information is required to automatically upload and flash multiple times, improving the test efficiency.
[0052] In some embodiments, in order to further solve Technical Problem 2 described in the background art section, that is, "when using multi-threading to execute tests, if the number of servers is greater than the maximum number of threads in the pre-constructed thread pool, there is a lack of a reasonable way to allocate threads, resulting in unstable BIOS pressure tests; performing undifferentiated tests on multiple BIOS file groups for different pressure test gradients makes the test inflexible. At the same time, the comparison efficiency of the current BIOS file version information with the pre-configured BIOS file version information is low, resulting in low efficiency of uploading to the target server, and thus low BIOS pressure test efficiency", in some embodiments of the present invention,
[0053] The test configuration file also includes the architecture information of the server cluster.
[0054] Before reading each remote login information in the test configuration file, a method for out-of-band BIOS lifting pressure test of multiple servers further includes:
[0055] Step 1: Determine the number of servers in the server cluster to be tested, and determine whether the number of servers is greater than the maximum number of threads in a pre-built thread pool. If the number of servers is greater than the maximum number of threads, divide the server cluster into a target number of server groups according to the architecture information, where each server group corresponds to a server function information, and the target number is less than or equal to the maximum number of threads.
[0056] In some embodiments, the execution entity determines the number of servers in the server cluster to be tested and determines whether the number of servers is greater than the maximum number of threads in a pre-built thread pool. A thread pool is a form of multithreaded processing where tasks are added to a queue during the processing and then automatically started after the threads are created. According to the architecture information, the server cluster is divided into a target number of server groups, and each server group corresponds to a server function information. In a network, the server function information includes providing network services, application services, virtualization, storage services, security services, and data analysis, etc. The target number is less than or equal to the maximum number of threads.
[0057] Step 2: Generate an importance coefficient for each server group according to the server function information corresponding to the server group and the number of servers in the server group. If the importance coefficient is greater than a preset importance coefficient threshold, determine the corresponding server group as a first-level server group to obtain at least one first-level server group.
[0058] In some embodiments, the execution entity generates an importance coefficient for each server group according to the server function information corresponding to the server group and the number of servers in the server group. The importance coefficient is a functional importance coefficient, which refers to the ratio of the function of the evaluation object in the overall function. If the importance coefficient is greater than a preset importance coefficient threshold, determine the corresponding server group as a first-level server group to obtain at least one first-level server group.
[0059] Step 3: If the importance coefficient is less than or equal to the preset importance coefficient threshold, determine the corresponding server group as a second-level server group to obtain at least one second-level server group; for each second-level server group, divide the number of servers in the second-level server group by a server quantity reference value to obtain a division result, round up the division result to obtain a rounded result, and allocate a first quantity of threads to each second-level server group according to the rounded result, where the first quantity matches the rounded result.
[0060] In some embodiments, by way of example, if the importance coefficient is less than or equal to a preset importance coefficient threshold, the corresponding server group is determined as a secondary server group, and 2 secondary server groups are obtained, which can be divided into server group c and server group d. Among them, the number of servers in server group c is 10, and the number of servers in server group d is 5. The reference value of the number of servers is 6. Divide the number of servers in the secondary server group by the reference value of the number of servers to obtain a division result, and round up the division result. The rounded-up result of server group c is 2, and the rounded-up result of server group d is 1. According to the rounded-up results, allocate the first number of threads to each secondary server group, where the first number matches the rounded-up result.
[0061] Before reading each remote login information in the test configuration file, a method for out-of-band BIOS lift pressure test of multiple servers further includes:
[0062] Step 1, after allocating threads to each secondary server group, count the maximum remaining number of threads in the thread pool;
[0063] In some embodiments, after the execution entity allocates threads to each secondary server group, the execution entity counts the maximum remaining number of threads in the thread pool according to the total size of the thread pool and the number of threads currently in use.
[0064] Step 2, respectively count the number of servers in each primary server group among at least one primary server group, and determine the total number of servers corresponding to at least one primary server group. If the total number of servers is less than or equal to the maximum remaining number of threads, allocate one thread to each server in each primary server group;
[0065] In some embodiments, by way of example, the execution entity has 2 primary server groups. The number of servers in the 2 primary server groups is counted as 10 and 8 respectively, and the total number of servers is determined to be 18. If the maximum remaining number of threads is 20 and the total number of servers is less than or equal to the maximum remaining number of threads, allocate one thread to each server in each primary server group.
[0066] Step 3, if the total number of servers is greater than the maximum remaining number of threads, sort at least one primary server group in descending order of the importance coefficient to obtain a primary server group sequence;
[0067] In some embodiments, by way of example, if the total number of servers is 20, the maximum remaining number of threads is 18, and the total number of servers is greater than the maximum remaining number of threads, sort at least one primary server group in descending order of the importance coefficient to obtain a primary server group sequence.
[0068] Step 4: Select the first N primary server groups from the primary server group sequence in descending order of the importance coefficient, where the total number of servers in the first N primary server groups is less than or equal to the maximum remaining thread count, and the total number of servers in the first N + 1 primary server groups is greater than the maximum remaining thread count.
[0069] In some embodiments, by way of example, the execution entity selects the first 5 primary server groups from the primary server group sequence according to the importance coefficient in descending order, where the total number of servers in the first 5 primary server groups is less than or equal to the maximum remaining thread count, and the total number of servers in the first 6 primary server groups is greater than the maximum remaining thread count.
[0070] Among them, the test configuration file also includes a configured stress test gradient;
[0071] On this basis, obtain the pre-configured BIOS file groups and the corresponding version information groups, including:
[0072] Obtain multiple pre-configured BIOS file groups, each BIOS file group corresponding to a stress test gradient. According to the configured stress test gradient, select the target BIOS file group from the multiple BIOS file groups. The number of BIOS files in the target BIOS file group matches the configured stress test gradient, where each BIOS file in the target BIOS file group is configured with a version number.
[0073] In some embodiments, the execution entity can obtain multiple pre-configured BIOS file groups from hardware manufacturers, professional websites, or forums, etc. Each BIOS file group corresponds to a stress test gradient, and the stress test gradient represents the difficulty of the stress test. The greater the gradient, the higher the difficulty. According to the configured stress test gradient, select the target BIOS file group from the multiple BIOS file groups. The number of BIOS files in the target BIOS file group matches the configured stress test gradient, where each BIOS file in the target BIOS file group is configured with a version number.
[0074] Compare the current BIOS file version information with the first version information. If the current BIOS file version information is the same as the first version information, upload the BIOS file corresponding to the second version information to the target server; if the current BIOS file version information is different from the first version information, upload the BIOS file corresponding to the first version information to the target server, including:
[0075] Step 1: Sort the BIOS files in the target BIOS file group in ascending order of the version number to obtain the target BIOS file sequence;
[0076] In some embodiments, the execution entity sorts each BIOS file in the target BIOS file group in ascending order of the BIOS file version number in the BIOS file group to obtain a target BIOS file sequence.
[0077] Step 2: Match the current BIOS file version information with the version numbers of each BIOS file in the target BIOS file sequence to obtain the version number that matches the current BIOS file version information as the matching version number, determine the BIOS file corresponding to the matching version number as the matching BIOS file, and upload the BIOS files in the target BIOS file sequence that are ranked after the matching BIOS file to the target server.
[0078] In some embodiments, the execution entity matches the current BIOS file version information with the version numbers of each BIOS file in the target BIOS file sequence to obtain the version number that matches the current BIOS file version information as the matching version number, determines the BIOS file corresponding to the matching version number as the matching BIOS file, and uploads the BIOS files in the target BIOS file sequence that are ranked after the matching BIOS file to the target server. As an example, the 3rd matching version number in the order of version numbers has been determined as the matching BIOS file. At this time, the matching BIOS file corresponding to the 4th matching version number is uploaded to the target server.
[0079] In these embodiments, the server cluster is divided into a target number of server groups according to architecture information. Among them, each server group corresponds to a server function information. According to the server function information corresponding to each server group and the number of servers in the server group, an importance coefficient of each server group is generated. The server groups with importance coefficients greater than a preset importance coefficient threshold are determined as first-level server groups, and the server groups with importance coefficients less than or equal to the preset importance coefficient threshold are determined as second-level server groups. First, threads are allocated to the second-level server groups, and then the maximum remaining number of threads in the remaining thread pool is counted. The importance coefficients of the first-level server groups are sorted, and threads are allocated to the first-level server groups. Thus, the way of allocating threads is optimized, and priority testing is performed for those with high importance coefficients, achieving more stable BIOS stress testing for the servers; according to the configured stress test gradient, a target BIOS file group is selected. Each BIOS file in the target BIOS file group is configured with a version number. The version numbers of each BIOS file in the target BIOS file group are sorted to obtain a target BIOS file sequence, and the current BIOS file version information is compared with the version numbers of each BIOS file in the target BIOS file sequence. Thus, when testing multiple BIOS file groups, testing is performed according to different stress test gradients of multiple BIOS file groups, making the BIOS test more flexible. After sorting the version numbers of the BIOS files, the comparison of BIOS configuration information is performed, improving the comparison efficiency. The BIOS files can also be quickly uploaded to the target server, improving the test efficiency.
[0080] In some embodiments, in order to further solve Technical Problem 3 described in the background art section, that is, "during the BIOS stress test, problems will inevitably occur. After problems occur, error logs are generated, and the client performs undifferentiated BIOS tests on the servers with errors, without pertinence, resulting in inaccurate tests and low test efficiency". In some embodiments of the present invention, a method for out-of-band BIOS up and down pressure testing of multiple servers further includes:
[0081] Step 1, obtain an error log set within a target time period. Among them, the error log includes server cluster attribute information, the number of tests already performed at the time of error reporting, the test time, server manufacturer information, and the BIOS file version information used during the test. Among them, the server cluster attribute information includes server function information and the number of servers;
[0082] In some embodiments, the executing entity can obtain the error log set within the target time period through various means, including directly accessing the server, using a log management system or platform, connecting to a remote server or cloud storage, etc. Among them, the error log includes server cluster attribute information, the number of tests already performed when an error occurs, the test time, server manufacturer information, the BIOS file version information used during the test. Among them, the server cluster attribute information includes server function information and the number of servers. Among them, the server manufacturer information includes brand name, model, serial number, hardware configuration, software version, etc.
[0083] Step 2: Generate a cluster grading index value based on the server function information and the number of servers. Divide the error log set into multiple error log groups according to the cluster grading index value and the pre-set grading index intervals. Each error log group corresponds to a grading index interval.
[0084] In some embodiments, the executing entity generates a cluster grading index value based on the server function information and the number of servers. The cluster grading index value can be used to evaluate aspects such as the performance, reliability, and scalability of the cluster. Divide the error log set into multiple error log groups according to the cluster grading index value and the pre-set grading index intervals. Each error log group corresponds to a grading index interval.
[0085] Step 3: For each error log group, count the average number of tests already performed when an error occurs corresponding to the error log group. If the average number of tests already performed when an error occurs is less than the preset number threshold, then determine this error log group as a secondary investigation error log group. For the secondary investigation error log group, count the BIOS file version information included in each error log to obtain a BIOS file version information group. Count the BIOS file version information that appears more than twice in the BIOS file version information group and determine it as the candidate BIOS file version information. Count the frequency corresponding to each candidate BIOS file version information, select the candidate BIOS file version information with the highest frequency as the target BIOS file version information, and generate verification information for the BIOS file corresponding to the target BIOS file version information.
[0086] In some embodiments, by way of example, for each error log group, the execution entity counts the average number of tests already performed when reporting an error corresponding to the error log group. If the average number of tests already performed when reporting an error is less than a preset number threshold, then the error log group is determined as a secondary investigation error log group. Among them, the average number of tests already performed of 2 error log groups is less than the preset number threshold, and they can be divided into error log group e and error log group f. Error log group e and error log group f are determined as secondary investigation groups, and the BIOS file version information used during testing included in each error log in error log group e and error log group f is counted to obtain a BIOS file version information group. The BIOS file version information that appears more than twice in the BIOS file version information group is counted and determined as candidate BIOS file version information. The frequency corresponding to each candidate BIOS file version information is counted, the candidate BIOS file version information with the highest frequency is selected as the target BIOS file version information, and verification information for the BIOS file corresponding to the target BIOS file version information is generated. Among them, the verification information for the BIOS file can be generated from channels such as the official website, professional hardware information tools, and BIOS update tools. The verification information for the BIOS file may include a detailed description of the target BIOS file version information, verification steps, etc.
[0087] Step 4, if the average number of tests already performed when reporting an error is greater than or equal to the preset number threshold, then the error log group is determined as a regular error log group; for the regular error log group, the server manufacturer information included in each error log is counted to obtain a server manufacturer information group; the server manufacturer information that appears more than twice in the server manufacturer information group is counted and determined as candidate server manufacturer information, the frequency corresponding to each candidate server manufacturer information is counted, the candidate server manufacturer information with the highest frequency is selected as the target server manufacturer information, and test guidance information for the target server manufacturer information is generated;
[0088] In some embodiments, by way of example, if the average number of tests conducted when an error is reported is greater than or equal to a preset number threshold, then the error log group is determined as a regular error log group; among them, the average number of tests conducted for 2 error log groups is greater than the preset number threshold, and they can be divided into error log group g and error log group h. Error log group g and error log group f are determined as regular error log groups, and the server manufacturer information included in each error log in error log group g and error log group f is counted to obtain a server manufacturer information group; the server manufacturer information that appears more than twice in the server manufacturer information group is counted and determined as candidate server manufacturer information, the frequency corresponding to each candidate server manufacturer information is counted, the candidate server manufacturer information with the highest frequency is selected as the target server manufacturer information, and test guidance information for the target server manufacturer information is generated. Among them, the official documents and materials can be referred to, professional test tools and frameworks can be used, and the industry standards and best practices can be combined, etc. to generate the test guidance information. The test guidance information includes the scope of the test, the test environment, the test steps, the test report, etc.
[0089] Step Five, perform a stress test on the server corresponding to the target server manufacturer information according to the test guidance information.
[0090] In some embodiments, the execution entity performs a stress test on the server corresponding to the target server manufacturer information according to the test guidance information.
[0091] In these embodiments, through the server function information and the number of servers, a cluster grading index value is generated. According to the cluster grading index value and the preset grading index interval, the error log set is divided into multiple error log groups, and the average number of tests conducted for each log group is counted. If the average number of tests conducted is less than the preset number threshold, it is determined as a secondary troubleshooting error log group, and for the secondary troubleshooting group, the BIOS file version information is counted to generate verification information for the BIOS file; if the average number of tests conducted is greater than the preset number threshold, it is determined as a regular error log group, and for the regular log group, the server manufacturer information is counted to generate test guidance information for the BIOS file. Thus, according to the error logs in different situations, the BIOS stress test is targeted at the error log groups, improving the test accuracy and the test efficiency.
[0092] The above description is only some preferred embodiments of the present invention and an explanation of the applied technical principles. Those skilled in the art should understand that the scope of the invention involved in the present invention is not limited to the technical solution formed by the specific combination of the above technical features, but also covers other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above inventive concept. For example, the technical solutions formed by mutually replacing the above features with the (but not limited to) technical features with similar functions disclosed in the present invention.
Claims
1. A method for out-of-band BIOS lift and pressure testing of multiple servers, characterized in that, Including: Receiving the number of stress test times input by the user; Determining the number of servers in the server cluster to be tested, and determining whether the number of servers is greater than the maximum number of threads in the pre-constructed thread pool. If the number of servers is greater than the maximum number of threads, then according to the architecture information, dividing the server cluster into a target number of server groups, each server group corresponding to a server function information, where the target number is less than or equal to the maximum number of threads; Generating an importance coefficient for each server group according to the server function information corresponding to each server group and the number of servers in the server group. If the importance coefficient is greater than the preset importance coefficient threshold, then determining the corresponding server group as a first-level server group to obtain at least one first-level server group; If the importance coefficient is less than or equal to the preset importance coefficient threshold, then determining the corresponding server group as a second-level server group to obtain at least one second-level server group; allocating threads to the second-level server groups, and then counting the remaining maximum number of threads in the thread pool; Determining the total number of servers in at least one first-level server group. If the total number of servers is less than or equal to the maximum remaining number of threads, then allocating one thread to each server; if the total number of servers is greater than the maximum remaining number of threads, selecting the first N first-level server groups from the first-level server group sequence according to the order of importance coefficients from large to small; allocating threads to the first-level server groups; Reading each remote login information in the test configuration file; determining the target server, and performing the following test steps: comparing the current BIOS file version information with the first version information. If the version information is the same, then uploading the BIOS file corresponding to the second version information to the target server; if the version information is different, then uploading the BIOS file corresponding to the first version information to the target server; enabling the target server to perform BIOS update according to the received BIOS file; if an error occurs during the update process, then generating and outputting an error log; if no error occurs, then continuing to execute the test steps until the number of stress test times is reached; Dividing the error log set into multiple error log groups; counting the average number of tested times of each log group. If the average number of tested times is less than the preset number threshold, determining it as a secondary troubleshooting error log group, and generating verification information for the BIOS file for the secondary troubleshooting group; if the average number of tested times is greater than the preset number threshold, determining it as a regular error log group, and generating test guidance information for the target server manufacturer information for the regular log group; performing stress test on the server according to the test guidance information.
2. The method for out-of-band BIOS lift and pressure test of multiple servers according to claim 1, wherein The test configuration file also includes the architecture information of the server cluster; Before reading each remote login information in the test configuration file, the method further includes: For each second-level server group, dividing the number of servers in the second-level server group by the server quantity reference value to obtain a division result, rounding up the division result to obtain a rounding result, and allocating the first quantity of threads to each second-level server group according to the rounding result, where the first quantity matches the rounding result.
3. The method for out-of-band BIOS lift and pressure test of multiple servers according to claim 2, wherein, Before reading each remote login information in the test configuration file, the method further includes: After allocating threads to each secondary server group, counting the maximum remaining number of threads in the thread pool; Counting the number of servers in each of the at least one primary server group respectively, and determining the total number of servers corresponding to the at least one primary server group. If the total number of servers is less than or equal to the maximum remaining number of threads, allocating one thread to each server in each primary server group; If the total number of servers is greater than the maximum remaining number of threads, sorting the at least one primary server group in descending order of importance coefficient to obtain a primary server group sequence; Selecting the first N primary server groups from the primary server group sequence in descending order of importance coefficient, where the total number of servers in the first N primary server groups is less than or equal to the maximum remaining number of threads, and the total number of servers in the first N + 1 primary server groups is greater than the maximum remaining number of threads.
4. The method for out-of-band BIOS lift pressure test of multiple servers according to claim 3, characterized in that The test configuration file further includes configuring a stress test gradient; Obtaining a pre-configured BIOS file group and the corresponding version information group, including: Obtaining a plurality of pre-configured BIOS file groups, each BIOS file group corresponding to a stress test gradient. According to the configured stress test gradient, selecting a target BIOS file group from the plurality of BIOS file groups, where the number of BIOS files in the target BIOS file group matches the configured stress test gradient. Each BIOS file in the target BIOS file group is configured with a version number.
5. The method for out-of-band BIOS lifting pressure test of multiple servers according to claim 4, wherein Comparing the current BIOS file version information with the first version information. If the current BIOS file version information is consistent with the first version information, uploading the BIOS file corresponding to the second version information to the target server; If the current BIOS file version information is inconsistent with the first version information, uploading the BIOS file corresponding to the first version information to the target server, including: Sorting each BIOS file in the target BIOS file group in ascending order of version number to obtain a target BIOS file sequence; Matching the current BIOS file version information with the version numbers of each BIOS file in the target BIOS file sequence to obtain a version number that matches the current BIOS file version information as the matching version number, determining the BIOS file corresponding to the matching version number as the matching BIOS file, and uploading the BIOS files in the target BIOS file sequence that are after the matching BIOS file to the target server.
Citation Information
Patent Citations
Automatic remote bios (basic input / output system) upgrading / degrading refresh testing method
CN107894956A
Automatic test method and device, computer equipment and storage medium
CN108804320A
Server login method and device, storage medium and electronic device
CN116980220A