Method and apparatus for testing operating mode of multi-controller storage device
By conducting multiple rounds of IO stress tests on multi-controller storage devices, the resource usage of each controller is obtained, solving the problem of difficulty in determining the working mode of storage devices and achieving fast and accurate mode recognition.
Patent Information
- Application Number
- CN202111458050.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-02
- Publication Date
- 2025-11-28
- Estimated Expiration
- 2041-12-02
AI Technical Summary
In existing technologies, it is difficult to determine the actual working mode of multi-controller storage devices, and it is difficult to distinguish them. Existing equipment or business testing methods require long-term observation of product business performance.
By conducting multiple rounds of I/O stress tests on the logical storage units (LUNs) of the storage device under test, the resource usage of each controller is obtained. By comprehensively considering the stress test values and resource usage, the operating mode of the storage device is determined.
It enables accurate and rapid differentiation of the working modes of storage devices, improving testing efficiency and accuracy.
Smart Images

Figure CN116225861B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of communication technology, in particular to a working mode testing method and testing device for a multi-controller storage device. BACKGROUND
[0002] For a storage array or storage product with two or more controllers, it can be configured in an A-A (Active / Active) mode, an ALUA (Asymmetric Logical Unit Access) mode or an A / P (Active / Passive) mode to achieve load balancing and fault redundancy of the controllers, wherein the A-A mode has better load balancing performance and redundancy reliability.
[0003] Due to the black box characteristics of the technical principles, architecture and hardware configuration of the product, the above-mentioned several modes have small external performance differences and are difficult to distinguish in actual use; the existing device or service testing method usually needs to confirm the design principles, product architecture with the product manufacturer or distinguish and determine the actual working mode of the storage device by observing the product service performance for a long time. SUMMARY
[0004] The present application aims to provide a working mode testing method and testing device for a multi-controller storage device to solve the problem that the actual working mode of the multi-controller storage device is difficult to determine in the prior art.
[0005] To solve the above problems, the present application provides a working mode testing method for a multi-controller storage device, comprising:
[0006] Performing multi-round IO stress testing on the logical storage unit LUN of the storage device to be tested to obtain a stress testing value;
[0007] Obtaining the resource usage of each controller of the storage device to be tested corresponding to each round of IO stress testing;
[0008] Determining the working mode of the storage device to be tested according to the stress testing value and the resource usage of each controller of the storage device to be tested; the working mode is an active-active mode, an active-passive mode, a first asymmetric logical unit access mode or a second asymmetric logical unit access mode.
[0009] The resource usage of each controller includes at least one of the following:
[0010] Traffic information of the front-end interface of each controller;
[0011] flow information of a back-end interface of each controller;
[0012] CPU usage of each controller;
[0013] memory usage of each controller;
[0014] hard disk usage of each controller.
[0015] The method comprises:
[0016] In a case where the stress test value and the resource usage of each controller of the to-be-tested storage device satisfy a first condition, the working mode of the to-be-tested storage device is determined as an active-passive mode.
[0017] The first condition comprises at least one of the following:
[0018] In the same round of IO stress test, the flow difference of the front-end interface of each controller is greater than a first threshold;
[0019] In different IO stress test rounds, the CPU usage difference of each controller is greater than a second threshold;
[0020] In different IO stress test rounds, the flow difference of the back-end interface of each controller is greater than a third threshold;
[0021] In different IO stress test rounds, the stress test value difference is smaller than a fourth threshold when the number of LUNs is the same.
[0022] The method comprises:
[0023] In a case where the stress test value and the resource usage of each controller of the to-be-tested storage device satisfy a second condition, the working mode of the to-be-tested storage device is determined as a second asynchronous logical unit access mode.
[0024] The second condition comprises at least one of the following:
[0025] In the same round of IO stress test, the flow difference of the front-end interface of each controller is smaller than a fifth threshold;
[0026] In the same round of IO stress test, the flow difference of the back-end interface of each controller is greater than a sixth threshold;
[0027] In different IO stress test rounds, the CPU usage difference of each controller is greater than a seventh threshold;
[0028] In different IO stress test rounds, the stress test values differed more than the eighth threshold when the number of LUNs was the same.
[0029] The step of determining the operating mode of the storage device under test based on the stress test values and the resource usage of each controller of the storage device under test includes:
[0030] If the stress test value and the resource usage of each controller of the storage device under test meet the third condition, the working mode of the storage device under test is determined to be the first asynchronous logical unit access mode.
[0031] The third condition includes at least one of the following:
[0032] In the same round of IO stress testing, the traffic difference of the front-end interfaces of each controller was less than the ninth threshold;
[0033] In the same round of IO stress testing, the traffic difference of the back-end interfaces of each controller was less than the tenth threshold;
[0034] In the same round of IO stress testing, the CPU utilization of each controller differed by more than the eleventh threshold;
[0035] In different IO stress test rounds, the stress test values differed more than the twelfth threshold when the number of LUNs was the same.
[0036] The step of determining the operating mode of the storage device under test based on the stress test values and the resource usage of each controller of the storage device under test includes:
[0037] If the stress test value and the resource usage of each controller of the storage device under test meet the fourth condition, the operating mode of the storage device under test is determined to be active-active mode.
[0038] The fourth condition includes at least one of the following:
[0039] In the same round of IO stress testing, the traffic difference of the front-end interfaces of each controller was less than the thirteenth threshold;
[0040] In the same round of IO stress testing, the traffic difference of the back-end interfaces of each controller was less than the fourteenth threshold;
[0041] In the same round of IO stress testing, the difference in CPU utilization among the controllers was less than the fifteenth threshold;
[0042] In different IO stress test rounds, the stress test values differ less than the sixteenth threshold when the number of LUNs is the same.
[0043] The logical storage unit LUN of the to-be-tested storage device is subjected to multiple rounds of IO stress tests, and stress test values are obtained, including:
[0044] The to-be-tested storage device is divided into multiple LUNs;
[0045] The to-be-tested storage device is configured with operation parameters of multiple rounds of IO stress tests;
[0046] The first round of IO stress tests is performed on all LUNs according to the operation parameters, and multiple rounds of IO stress tests are performed on part of the LUNs; wherein the part of LUNs corresponding to each round of IO stress tests is completely different or partially different;
[0047] The stress test values obtained by each round of IO stress test are obtained.
[0048] The embodiment of the application also provides a working mode testing device for a storage device with multiple controllers, comprising:
[0049] The test module is configured to perform multiple rounds of IO stress tests on the logical storage unit LUN of the to-be-tested storage device, and obtain stress test values;
[0050] The acquisition module is configured to acquire resource usage of each controller of the to-be-tested storage device corresponding to each round of IO stress test;
[0051] The mode determination module is configured to determine the working mode of the to-be-tested storage device according to the stress test values and the resource usage of each controller of the to-be-tested storage device; the working mode is: active-active mode, active-passive mode, first asynchronous logical unit access mode, or second asynchronous logical unit access mode.
[0052] The embodiment of the application also provides a testing device, comprising a processor and a transceiver, wherein the transceiver receives and transmits data under the control of the processor, and the processor is configured to perform the following operations:
[0053] The logical storage unit LUN of the to-be-tested storage device is subjected to multiple rounds of IO stress tests, and stress test values are obtained;
[0054] The acquisition module is configured to acquire resource usage of each controller of the to-be-tested storage device corresponding to each round of IO stress test;
[0055] The mode determination module is configured to determine the working mode of the to-be-tested storage device according to the stress test values and the resource usage of each controller of the to-be-tested storage device; the working mode is: active-active mode, active-passive mode, first asynchronous logical unit access mode, or second asynchronous logical unit access mode.
[0056] The resource usage of each controller includes at least one of the following:
[0057] flow information of a front-end interface of each controller;
[0058] flow information of a back-end interface of each controller;
[0059] CPU usage of each controller;
[0060] memory usage of each controller;
[0061] hard disk usage of each controller.
[0062] The processor is further configured to perform the following operations:
[0063] determine that the working mode of the storage device under test is an active-passive mode when the stress test value and resource usage of each controller of the storage device under test satisfy a first condition;
[0064] The first condition includes at least one of the following:
[0065] a difference in flow of a front-end interface of each controller in the same round of IO stress test is greater than a first threshold;
[0066] a difference in CPU usage of each controller in different IO stress test rounds is greater than a second threshold;
[0067] a difference in flow of a back-end interface of each controller in different IO stress test rounds is greater than a third threshold;
[0068] a difference in stress test value in different IO stress test rounds is less than a fourth threshold when the number of LUNs is the same.
[0069] The processor is further configured to perform the following operations:
[0070] determine that the working mode of the storage device under test is a second asynchronous logical unit access mode when the stress test value and resource usage of each controller of the storage device under test satisfy a second condition;
[0071] The second condition includes at least one of the following:
[0072] a difference in flow of a front-end interface of each controller in the same round of IO stress test is less than a fifth threshold;
[0073] a difference in flow of a back-end interface of each controller in the same round of IO stress test is greater than a sixth threshold;
[0074] a difference in CPU usage of each controller in different IO stress test rounds is greater than a seventh threshold;
[0075] In different IO stress test rounds, the stress test value difference of the same LUN quantity is greater than an eighth threshold.
[0076] The processor is further configured to perform the following operations:
[0077] In a case where the stress test value and resource usage of each controller of the to-be-tested storage device satisfy a third condition, determining that a working mode of the to-be-tested storage device is a first asynchronous logical unit access mode.
[0078] The third condition includes at least one of the following:
[0079] In the same round of IO stress test, the flow difference of the front-end interface of each controller is less than a ninth threshold.
[0080] In the same round of IO stress test, the flow difference of the back-end interface of each controller is less than a tenth threshold.
[0081] In the same round of IO stress test, the CPU usage rate difference of each controller is greater than an eleventh threshold.
[0082] In different IO stress test rounds, the stress test value difference of the same LUN quantity is greater than a twelfth threshold.
[0083] The processor is further configured to perform the following operations:
[0084] In a case where the stress test value and resource usage of each controller of the to-be-tested storage device satisfy a fourth condition, determining that a working mode of the to-be-tested storage device is an active-active mode.
[0085] The fourth condition includes at least one of the following:
[0086] In the same round of IO stress test, the flow difference of the front-end interface of each controller is less than a thirteenth threshold.
[0087] In the same round of IO stress test, the flow difference of the back-end interface of each controller is less than a fourteenth threshold.
[0088] In the same round of IO stress test, the CUP usage rate difference of each controller is less than a fifteenth threshold.
[0089] In different IO stress test rounds, the stress test value difference of the same LUN quantity is less than a sixteenth threshold.
[0090] The processor is further configured to perform the following operations:
[0091] Dividing the to-be-tested storage device into a plurality of LUNs.
[0092] configuring running parameters of multiple rounds of IO stress tests for the to-be-tested storage device;
[0093] performing a first round of IO stress test on all LUNs according to the running parameters, and performing multiple rounds of IO stress tests on part of the LUNs; wherein the part of LUNs corresponding to each round of IO stress test is completely different or partially different;
[0094] obtaining stress test values obtained by each round of IO stress test.
[0095] The embodiment of the present application also provides a test device, comprising a memory, a processor and a program stored in the memory and executable on the processor, and the processor implements the working mode test method of the multi-controller storage device as described above when executing the program.
[0096] The embodiment of the present application also provides a computer readable storage medium, which stores a computer program, and the program is executed by a processor to implement the steps in the working mode test method of the multi-controller storage device as described above.
[0097] The above technical solutions of the present application have at least the following beneficial effects:
[0098] In the working mode test method of the multi-controller storage device and the test device, multiple rounds of IO stress tests are performed on the LUNs of the to-be-tested storage device, and the working mode used by the to-be-tested storage device is distinguished by comprehensively considering the stress test results and the resource usage of the to-be-tested storage device, so that the working mode used by the storage device can be accurately and quickly distinguished. BRIEF DESCRIPTION OF DRAWINGS
[0099] Figure 1 A step flow chart of the working mode test method of the multi-controller storage device provided by the embodiment of the present application is shown;
[0100] Figure 2 A structure schematic diagram of a test device adapted to the working mode test method of the multi-controller storage device provided by the embodiment of the present application is shown;
[0101] Figure 3 An example diagram of the working mode test method of the multi-controller storage device provided by the embodiment of the present application is shown;
[0102] Figure 4 A structure schematic diagram of the working mode test device of the multi-controller storage device provided by the embodiment of the present application is shown;
[0103] Figure 5 A structure schematic diagram of the test device provided by the embodiment of the present application is shown. DETAILED DESCRIPTION
[0104] In order to make the technical problems, technical solutions and advantages of the present application clearer, specific embodiments will be described in detail below with reference to the drawings.
[0105] As shown in Figure 1 The embodiment of the present application provides a working mode test method of a multi-controller storage device, which comprises the following steps:
[0106] In step 101, multi-round IO stress tests are performed on logical storage units LUNs of the storage device to be tested, and stress test values are obtained.
[0107] In step 102, the resource usage of each controller of the storage device to be tested corresponding to each round of IO stress test is obtained.
[0108] In step 103, the working mode of the storage device to be tested is determined according to the stress test values and the resource usage of each controller of the storage device to be tested; the working mode is an active-active (A-A) mode, an active-passive (A-P) mode, a first asynchronous logical unit access (ALUA-1) mode, or a second asynchronous logical unit access (ALUA-2) mode.
[0109] Optionally, the storage device comprising multiple controllers uniformly manages all hard disks, divides LUNs (Logical Unit Number, logical storage units, usually referring to virtual disks generated at the hardware level) mapped to business systems (hosts) on the basis of a hard disk pool, and provides storage services to the business systems.
[0110] The A-A mode has the following characteristics: global automatic load balancing, global Cache, no LUN ownership, balanced IO reception by each controller, and almost identical time delay and CPU utilization.
[0111] The A-P mode has the following characteristics: no load balancing; LUN ownership; IO processing by only one controller; if the A controller fails and is taken over by the B controller, the back-end interface can be processed by one or more controllers.
[0112] The ALUA-1 mode has the following characteristics: non-automatic load balancing; LUN ownership; IO processing by the ownership controller after being forwarded by the front-end interface; and the back-end interface can be processed by one or more controllers.
[0113] The ALUA-2 mode has the following characteristics: non-automatic load balancing; LUN ownership; IO processing by the ownership controller after being forwarded by the front-end interface; and the back-end interface can be processed by only one controller.
[0114] For example, the storage device includes an A controller and a B controller, both of which are normally working in the ALUA-1 mode, and for a certain LUN, IOs of a host are read and written through front-end interfaces (also referred to as front-end cards) of the two controllers to the two controllers, wherein IOs received by the A controller front-end interface can only reach the A controller, the A controller processes the IOs and writes the processed IOs to a disk through a back-end interface (also referred to as a back-end card) of the A controller; IOs received by the B controller front-end interface can only reach the B controller, the B controller does not process the IOs but sends the IOs to the A controller, and the A controller writes the processed IOs to the disk.
[0115] In at least one embodiment of the present application, the resource usage of each controller includes at least one of the following:
[0116] Traffic information of the front-end interface of each controller;
[0117] Traffic information of the back-end interface of each controller;
[0118] CPU usage of each controller;
[0119] Memory usage of each controller;
[0120] Hard disk usage of each controller.
[0121] In the embodiments of the present application, since the performance of the storage device (indicated by the stress test value) and the resource usage of the controller are different in different working modes, the embodiments of the present application comprehensively consider the stress test result and the device indexes such as the front-end interface traffic, the back-end interface traffic, the CPU usage, the hard disk usage, and the like of the controller to distinguish the working mode used by the to-be-tested storage device, so that the working mode used by the storage device can be accurately and quickly distinguished.
[0122] In at least one embodiment of the present application, step 101 includes:
[0123] Dividing the to-be-tested storage device into a plurality of LUNs;
[0124] Configuring running parameters of a plurality of rounds of IO stress tests for the to-be-tested storage device;
[0125] Performing a first round of IO stress tests on all LUNs and performing a plurality of rounds of IO stress tests on part of the LUNs according to the running parameters; wherein the part of the LUNs corresponding to each round of IO stress tests are completely different or partially different;
[0126] Obtaining stress test values obtained by each round of IO stress tests.
[0127] In the embodiment of the present application, different IO stress test running parameters are set, different LUNs are tested by multiple rounds of testing, the burstiness and randomness of the load are realized, and whether the LUN has a home controller can be distinguished.
[0128] As shown in Figure 2 The device performing the working mode test method provided by the embodiment of the present application can be referred to as a test device, and the test device mainly includes three modules: a control module, a stress module, and a monitoring module. The three modules are logically divided, and can be combined or separated physically, or can be split or logically combined, without specific limitation.
[0129] The control module is responsible for stress configuration and information processing: it can be custom configuration or pre-defined configuration of the tester, and analyzes and judges the test results in combination with the stress test value and the monitored resource usage;
[0130] The stress module receives the control information and stress configuration (i.e., the IO stress test running parameters) sent by the control module, and generates IO stress to the storage device to be tested, and returns the stress test value to the control module.
[0131] The monitoring module is responsible for monitoring the controller, front-end interface, back-end interface, CPU resource, and hard disk resource usage of the storage device, and feeding back to the control module.
[0132] Based on the above modules, the test method provided by the embodiment of the present application includes:
[0133] The storage device to be tested is divided into a plurality of LUNs of a certain capacity, and is mapped to a stress machine (host). Optionally, the LUNs during the test can be re-allocated or not re-allocated;
[0134] The control module sets the IO stress running parameters as needed, and the stress module performs several rounds of IO stress tests on the device;
[0135] In the first round of IO stress test, the maximum read-write capability of the device is tested. Generally, regardless of any IO model, the IO read-write capability that the device can provide is limited, while the IO stress generated by the host or the stress tool can be unlimited;
[0136] In each subsequent round of IO stress test, only part of the LUNs are tested for maximum read-write capability, and the number of LUNs is arbitrary (the LUNs can be random or selective, and the number does not exceed half of the total number of LUNs). Each round of IO stress test can update the LUNs;
[0137] The stress module returns the real-time stress test value to the control module; and the monitoring module returns the usage of the front-end interface, back-end interface, CPU, memory, etc. to the control module in real time;
[0138] The control module distinguishes the working mode of the storage device by comparing and analyzing the pressure test value and the data returned by the monitoring module.
[0139] In at least one embodiment of the present application, in order to accurately determine the working mode of the to-be-tested storage device, the following factors need to be considered: front-end port fluctuation, CPU fluctuation, back-end port fluctuation, and memory fluctuation, wherein the above-mentioned fluctuation includes whether there is fluctuation between different pressure test rounds and whether there is fluctuation between multiple controllers in the same pressure test round; since the front-end port, the back-end port, and the hard disk of the storage device do not have an owner, whether the pressure performance, the hard disk usage rate, and the stress machine usage rate fluctuate in different pressure test rounds needs to be comprehensively considered.
[0140] In at least one optional embodiment of the present application, step 103 comprises:
[0141] In a case where the pressure test value and the resource usage of each controller of the to-be-tested storage device satisfy a first condition, it is determined that the working mode of the to-be-tested storage device is an active-passive (A-P) mode.
[0142] The first condition comprises at least one of the following:
[0143] In the same IO pressure test round, the flow difference of the front-end interface of each controller is greater than a first threshold.
[0144] In different IO pressure test rounds, the CPU usage rate difference of each controller is greater than a second threshold.
[0145] In different IO pressure test rounds, the flow difference of the back-end interface of each controller is greater than a third threshold.
[0146] In different IO pressure test rounds, the pressure test value difference is less than a fourth threshold when the number of LUNs is the same.
[0147] In a case where the to-be-tested storage device is normally working, the A-P mode has only one controller working, and only the front-end port of the controller receives the IO pressure from the stress machine or the test device. In the same IO pressure test round, the flow difference of the front-end port of multiple controllers is large. In different IO pressure test rounds, the CPU usage rate difference of multiple controllers is large, the back-end interface flow difference is large, and the pressure test value basically remains the same when the number of LUNs is the same.
[0148] In at least one optional embodiment of the present application, step 103:
[0149] In a case where the pressure test value and the resource usage of each controller of the to-be-tested storage device satisfy a second condition, it is determined that the working mode of the to-be-tested storage device is a second asynchronous logical unit access (ALUA-2) mode.
[0150] The second condition comprises at least one of the following:
[0151] In the same IO stress test round, the flow difference of the front-end interfaces of the controllers is less than a fifth threshold;
[0152] In the same IO stress test round, the flow difference of the back-end interfaces of the controllers is greater than a sixth threshold;
[0153] In different IO stress test rounds, the CPU usage rate difference of the controllers is greater than a seventh threshold;
[0154] In different IO stress test rounds, the stress test value difference when the number of LUNs is equivalent is greater than an eighth threshold.
[0155] In the normal working condition of the storage device to be tested, the ALUA-2 mode multiple controllers participate in IO processing, and when multiple IO stress test rounds are run, because the LUNs receiving IOs are random or selected, the multiple controllers cannot completely divide the LUNs, two controllers can receive IOs sent by the stress machine or the test device, and only the owner controller can realize IO landing. In the same IO stress test round: the flow difference of the front-end interfaces is small, and the flow difference of the back-end interfaces is large; in different IO stress test rounds: the CPU usage rate difference of the multiple controllers is large, and the stress test value difference when the number of LUNs is equivalent is large.
[0156] In at least one optional embodiment of the present application, step 103:
[0157] When the stress test value and the resource usage of each controller of the storage device to be tested satisfy a third condition, the working mode of the storage device to be tested is determined as a first asynchronous logical unit access (ALUA-1) mode;
[0158] The third condition comprises at least one of the following:
[0159] In the same IO stress test round, the flow difference of the front-end interfaces of the controllers is less than a ninth threshold;
[0160] In the same IO stress test round, the flow difference of the back-end interfaces of the controllers is less than a tenth threshold;
[0161] In the same IO stress test round, the CPU usage rate difference of the controllers is greater than an eleventh threshold;
[0162] In different IO stress test rounds, the stress test value difference when the number of LUNs is equivalent is greater than a twelfth threshold.
[0163] In the normal working condition of the storage device to be tested, the multiple controllers in the ALUA-1 mode participate in IO processing, when multiple rounds of IO stress tests are run, since the LUNs receiving IOs are random or selective, the two controllers cannot completely divide the LUNs, both the two controllers can receive IOs sent by the stress machine, and both the two controllers can realize IO disk landing from the back end, in the same round of IO stress test: the front end port flow difference is small, the back end port flow difference is small, and the CPU usage rate difference of the two controllers is large; in different IO stress test rounds: when the LUN quantity is equal, the stress test value difference is large.
[0164] In at least one optional embodiment of the present application, step 103:
[0165] In the case where the stress test value and the resource usage of each controller of the storage device to be tested satisfy a fourth condition, it is determined that the working mode of the storage device to be tested is an active-active (A-A) mode;
[0166] The fourth condition includes at least one of the following:
[0167] In the same round of IO stress test, the flow difference of the front end interface of each controller is less than a thirteenth threshold;
[0168] In the same round of IO stress test, the flow difference of the back end interface of each controller is less than a fourteenth threshold;
[0169] In the same round of IO stress test, the CPU usage rate difference of each controller is less than a fifteenth threshold;
[0170] In different IO stress test rounds, when the LUN quantity is equal, the stress test value difference is less than a sixteenth threshold.
[0171] In the normal working condition of the storage device to be tested, the multiple controllers in the A-A mode participate in IO processing, when multiple rounds of stress tests are run, both the two controllers participate in processing each LUN, both the two controllers can receive IOs sent by the stress machine, and both the two controllers can realize IO disk landing from the back end, in the same round of IO stress test: the front end port flow difference is small, the back end port flow difference is small, and the CPU usage rate difference of the two controllers is small; in different IO stress test rounds: when the LUN quantity is equal, the stress test value difference is small.
[0172] Please refer to Figure 3 , Figure 3 A typical test process of the test method provided by the embodiments of the present application is provided.
[0173] First, maximum IO read and write tests are performed on all LUNs, then maximum IO read and write tests are performed on part of the LUNs, after each round of test, the LUNs are updated and the next round of IO read and write test is performed.
[0174] determining whether the front-end interface of the to-be-tested storage device fluctuates, if the front-end interface fluctuates, determining that the working mode of the to-be-tested storage device is A-P mode; if the front-end interface does not fluctuate, further determining whether the back-end interface of the to-be-tested storage device fluctuates, if the back-end interface fluctuates, determining that the working mode of the to-be-tested storage device is ALUA-2 mode; if the back-end interface does not fluctuate, further determining whether the CPU of the to-be-tested storage device fluctuates, if the CPU fluctuates, the working mode of the to-be-tested storage device is ALUA-1 mode; if the CPU does not fluctuate, determining that the working mode of the to-be-tested storage device is A-A mode.
[0175] In summary, the embodiment of the present application comprehensively considers the pressure test result and the device indexes such as the front-end interface flow, the back-end interface flow, the CPU usage, the hard disk usage and the like of the controller to distinguish the working mode used by the to-be-tested storage device, so that the working mode used by the storage device can be accurately and quickly distinguished.
[0176] As shown in Figure 4 the embodiment of the present application further provides a working mode testing device of a multi-controller storage device, comprising:
[0177] a testing module 401, configured to perform multi-round IO pressure test on a logical storage unit LUN of a to-be-tested storage device to obtain a pressure test value;
[0178] an acquisition module 402, configured to acquire resource usage of each controller of the to-be-tested storage device corresponding to each round of IO pressure test;
[0179] a mode determining module 403, configured to determine a working mode of the to-be-tested storage device according to the pressure test value and the resource usage of each controller of the to-be-tested storage device; the working mode is one of the following: active-active mode, active-passive mode, first asynchronous logical unit access mode, or second asynchronous logical unit access mode.
[0180] As an optional embodiment, the resource usage of each controller comprises at least one of the following:
[0181] flow information of a front-end interface of each controller;
[0182] flow information of a back-end interface of each controller;
[0183] CPU usage of each controller;
[0184] memory usage of each controller;
[0185] hard disk usage of each controller.
[0186] As an optional embodiment, the mode determining module comprises:
[0187] a first determining sub-module, configured to determine that the working mode of the storage device under test is an active-passive mode when the stress test value and resource usage of each controller of the storage device under test satisfy a first condition;
[0188] The first condition includes at least one of the following:
[0189] In the same round of IO stress test, the flow difference of the front-end interface of each controller is greater than a first threshold;
[0190] In different IO stress test rounds, the CPU usage rate difference of each controller is greater than a second threshold;
[0191] In different IO stress test rounds, the flow difference of the back-end interface of each controller is greater than a third threshold;
[0192] In different IO stress test rounds, the stress test value difference of the same LUN quantity is less than a fourth threshold.
[0193] As an optional embodiment, the mode determining module includes:
[0194] a second determining sub-module, configured to determine that the working mode of the storage device under test is a second asynchronous logical unit access mode when the stress test value and resource usage of each controller of the storage device under test satisfy a second condition;
[0195] The second condition includes at least one of the following:
[0196] In the same round of IO stress test, the flow difference of the front-end interface of each controller is less than a fifth threshold;
[0197] In the same round of IO stress test, the flow difference of the back-end interface of each controller is greater than a sixth threshold;
[0198] In different IO stress test rounds, the CPU usage rate difference of each controller is greater than a seventh threshold;
[0199] In different IO stress test rounds, the stress test value difference of the same LUN quantity is greater than an eighth threshold.
[0200] As an optional embodiment, the mode determining module includes:
[0201] a third determining sub-module, configured to determine that the working mode of the storage device under test is a first asynchronous logical unit access mode when the stress test value and resource usage of each controller of the storage device under test satisfy a third condition;
[0202] The third condition comprises at least one of the following:
[0203] In the same round of IO stress test, the flow difference of the front-end interfaces of the controllers is less than a ninth threshold;
[0204] In the same round of IO stress test, the flow difference of the back-end interfaces of the controllers is less than a tenth threshold;
[0205] In the same round of IO stress test, the CPU usage difference of the controllers is greater than an eleventh threshold;
[0206] In different rounds of IO stress test, the stress test value difference of the same number of LUNs is greater than a twelfth threshold.
[0207] As an optional embodiment, the mode determining module comprises:
[0208] The fourth determining sub-module is configured to determine that the working mode of the storage device under test is the active-active mode when the stress test value and the resource usage of each controller of the storage device under test satisfy a fourth condition;
[0209] The fourth condition comprises at least one of the following:
[0210] In the same round of IO stress test, the flow difference of the front-end interfaces of the controllers is less than a thirteenth threshold;
[0211] In the same round of IO stress test, the flow difference of the back-end interfaces of the controllers is less than a fourteenth threshold;
[0212] In the same round of IO stress test, the CPU usage difference of the controllers is less than a fifteenth threshold;
[0213] In different rounds of IO stress test, the stress test value difference of the same number of LUNs is less than a sixteenth threshold.
[0214] As an optional embodiment, the test module comprises:
[0215] The first sub-module is configured to divide the storage device under test into a plurality of LUNs;
[0216] The second sub-module is configured to configure the running parameters of a plurality of rounds of IO stress test for the storage device under test;
[0217] The third sub-module is configured to perform a first round of IO stress test on all LUNs and perform a plurality of rounds of IO stress test on part of the LUNs according to the running parameters; wherein the part of LUNs corresponding to each round of IO stress test is completely different or partially different;
[0218] The fourth sub-module is configured to obtain the stress test value obtained by each round of IO stress test.
[0219] In the embodiment of the present application, the LUN of the to-be-tested storage device is subjected to multi-round IO stress testing, and the working mode of the to-be-tested storage device is distinguished by comprehensively considering the stress testing result and the resource usage of the to-be-tested storage device, so that the working mode of the storage device can be accurately and quickly distinguished.
[0220] It should be noted that the working mode testing device of the multi-controller storage device provided by the embodiment of the present application is a device capable of executing the working mode testing method of the multi-controller storage device, and all the embodiments of the working mode testing method of the multi-controller storage device are applicable to the device, and can achieve the same or similar beneficial effects.
[0221] As shown in Figure 5 The embodiment of the present application also provides a testing device, which comprises a processor 500 and a transceiver 510, the transceiver 510 receives and sends data under the control of the processor 500, and the processor 500 is used for executing the following operations:
[0222] The logical storage unit LUN of the to-be-tested storage device is subjected to multi-round IO stress testing to obtain a stress testing value;
[0223] The resource usage of each controller of the to-be-tested storage device corresponding to each round of IO stress testing is obtained;
[0224] The working mode of the to-be-tested storage device is determined according to the stress testing value and the resource usage of each controller of the to-be-tested storage device; the working mode is: active-active mode, active-passive mode, first asynchronous logical unit access mode, or second asynchronous logical unit access mode.
[0225] As an optional embodiment, the resource usage of each controller comprises at least one of the following:
[0226] Traffic information of a front-end interface of each controller;
[0227] Traffic information of a back-end interface of each controller;
[0228] CPU usage of each controller;
[0229] Memory usage of each controller;
[0230] Hard disk usage of each controller.
[0231] As an optional embodiment, the processor is further used for executing the following operations:
[0232] determine, in a case where the stress test value and resource usage of each controller of the storage device to be tested satisfy a first condition, a working mode of the storage device to be tested as an active-passive mode;
[0233] The first condition includes at least one of the following:
[0234] In the same round of IO stress test, the flow difference of the front-end interface of each controller is greater than a first threshold;
[0235] In different IO stress test rounds, the CPU usage rate difference of each controller is greater than a second threshold;
[0236] In different IO stress test rounds, the flow difference of the back-end interface of each controller is greater than a third threshold;
[0237] In different IO stress test rounds, the stress test value difference is less than a fourth threshold when the number of LUNs is the same.
[0238] As an optional embodiment, the processor is further configured to perform the following operation:
[0239] determine, in a case where the stress test value and resource usage of each controller of the storage device to be tested satisfy a second condition, a working mode of the storage device to be tested as a second asynchronous logical unit access mode;
[0240] The second condition includes at least one of the following:
[0241] In the same round of IO stress test, the flow difference of the front-end interface of each controller is less than a fifth threshold;
[0242] In the same round of IO stress test, the flow difference of the back-end interface of each controller is greater than a sixth threshold;
[0243] In different IO stress test rounds, the CPU usage rate difference of each controller is greater than a seventh threshold;
[0244] In different IO stress test rounds, the stress test value difference is greater than an eighth threshold when the number of LUNs is the same.
[0245] As an optional embodiment, the processor is further configured to perform the following operation:
[0246] determine, in a case where the stress test value and resource usage of each controller of the storage device to be tested satisfy a third condition, a working mode of the storage device to be tested as a first asynchronous logical unit access mode;
[0247] The third condition includes at least one of the following:
[0248] In the same round of IO stress test, the flow difference of the front-end interface of each controller is less than a ninth threshold;
[0249] In the same round of IO stress test, the flow difference of the back-end interface of each controller is less than a tenth threshold;
[0250] In the same round of IO stress test, the CPU usage rate difference of each controller is greater than an eleventh threshold;
[0251] In different rounds of IO stress test, when the number of LUNs is the same, the stress test value difference is greater than a twelfth threshold.
[0252] As an optional embodiment, the processor is further configured to perform the following operations:
[0253] When the stress test value and the resource usage of each controller of the to-be-tested storage device satisfy a fourth condition, determining that the working mode of the to-be-tested storage device is an active-active mode;
[0254] The fourth condition includes at least one of the following:
[0255] In the same round of IO stress test, the flow difference of the front-end interface of each controller is less than a thirteenth threshold;
[0256] In the same round of IO stress test, the flow difference of the back-end interface of each controller is less than a fourteenth threshold;
[0257] In the same round of IO stress test, the CPU usage rate difference of each controller is less than a fifteenth threshold;
[0258] In different rounds of IO stress test, when the number of LUNs is the same, the stress test value difference is less than a sixteenth threshold.
[0259] As an optional embodiment, the processor is further configured to perform the following operations:
[0260] Dividing the to-be-tested storage device into a plurality of LUNs;
[0261] Configuring the to-be-tested storage device with running parameters of multiple rounds of IO stress test;
[0262] Performing a first round of IO stress test on all LUNs and multiple rounds of IO stress test on part of the LUNs according to the running parameters, wherein the part of LUNs corresponding to each round of IO stress test is completely different or partially different;
[0263] Obtaining a stress test value obtained by each round of IO stress test.
[0264] In the embodiment of the present application, the LUN of the to-be-tested storage device is subjected to multi-round IO stress testing, and the working mode of the to-be-tested storage device is distinguished by comprehensively considering the stress testing result and the resource usage of the to-be-tested storage device, so that the working mode of the storage device can be accurately and quickly distinguished.
[0265] It should be noted that the test device provided by the embodiment of the present application is a test device capable of performing the working mode test method of the multi-controller storage device, and all the embodiments of the working mode test method of the multi-controller storage device are applicable to the test device, and can achieve the same or similar beneficial effects.
[0266] The embodiment of the present application also provides a test device, which comprises a memory, a processor and a computer program stored in the memory and executable on the processor, and the processor implements each process in the working mode test method embodiment of the multi-controller storage device when executing the program, and can achieve the same technical effects. To avoid repetition, it will not be repeated here.
[0267] The embodiment of the present application also provides a computer readable storage medium, which stores a computer program, and the program is executed by a processor to implement each process in the working mode test method embodiment of the multi-controller storage device as described above, and can achieve the same technical effects. To avoid repetition, it will not be repeated here. The computer readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0268] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system or a computer program product. Therefore, the present application can be in the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware aspects. Moreover, the present application can be in the form of a computer program product implemented on one or more computer readable storage media (including but not limited to disk storage and optical storage) containing computer usable program code.
[0269] The present application is described with reference to the flowcharts and / or block diagrams according to the method, device (system) and computer program product of the embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of the flows and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a machine that implements the functions described in the flowcharts and / or block diagrams.Figure 1 apparatus for performing the functions specified in the process flow or flows and / or the function specified in the block or blocks.
[0270] These computer program instructions can also be stored in a computer readable storage medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable storage medium produce an article of manufacture including instructions which implement the Figure 1 apparatus for performing the functions specified in the process flow or flows and / or the function specified in the block or blocks. Figure 1 apparatus for performing the functions specified in the process flow or flows and / or the function specified in the block or blocks.
[0271] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the Figure 1 apparatus for performing the functions specified in the process flow or flows and / or the function specified in the block or blocks. Figure 1 apparatus for performing the functions specified in the process flow or flows and / or the function specified in the block or blocks.
[0272] The preferred embodiments of the present application have been described above with the understanding that variations and modifications will occur to those skilled in the art in light of the foregoing description, and it is to be understood that, within the scope of the claims and their equivalents, the application can be practiced otherwise than as specifically described.
Claims
1. A method for testing the operating modes of a multi-controller storage device, characterized in that, include: Multiple rounds of I / O stress tests were performed on the logical storage unit (LUN) of the storage device under test to obtain stress test values. Obtain the resource usage of each controller of the storage device under test for each round of IO stress test; Based on the stress test values and the resource usage of each controller of the storage device under test, the operating mode of the storage device under test is determined; the operating mode is: active-active mode, active-passive mode, first asynchronous logical unit access mode, or second asynchronous logical unit access mode. The resource usage of each controller includes at least one of the following: Traffic information of the front-end interfaces of each controller; Traffic information of the backend interfaces of each controller; CPU utilization of each controller; Memory usage of each controller; Hard drive usage of each controller; The step of determining the operating mode of the storage device under test based on the stress test values and the resource usage of each controller of the storage device under test includes: If the stress test value and the resource usage of each controller of the storage device under test meet the second condition, the operating mode of the storage device under test is determined to be the second asynchronous logical unit access mode. The second condition includes at least one of the following: In the same round of IO stress testing, the traffic difference of the front-end interfaces of each controller was less than the fifth threshold; In the same round of IO stress testing, the traffic difference of the back-end interfaces of each controller was greater than the sixth threshold; In different rounds of IO stress testing, the CPU utilization of each controller differed more than the seventh threshold; In different IO stress test rounds, the stress test values differed more than the eighth threshold when the number of LUNs was the same; Alternatively, determining the operating mode of the storage device under test based on the stress test values and the resource usage of each controller of the storage device under test includes: If the stress test value and the resource usage of each controller of the storage device under test meet the third condition, the working mode of the storage device under test is determined to be the first asynchronous logical unit access mode. The third condition includes at least one of the following: In the same round of IO stress testing, the traffic difference of the front-end interfaces of each controller was less than the ninth threshold; In the same round of IO stress testing, the traffic difference of the back-end interfaces of each controller was less than the tenth threshold; In the same round of IO stress testing, the CPU utilization of each controller differed by more than the eleventh threshold; In different IO stress test rounds, the stress test values differed more than the twelfth threshold when the number of LUNs was the same.
2. The method according to claim 1, characterized in that, The step of determining the operating mode of the storage device under test based on the stress test values and the resource usage of each controller of the storage device under test includes: If the stress test value and the resource usage of each controller of the storage device under test meet the first condition, the operating mode of the storage device under test is determined to be active-passive mode. The first condition includes at least one of the following: In the same round of IO stress testing, the traffic difference of the front-end interfaces of each controller is greater than the first threshold; In different rounds of IO stress testing, the CPU utilization of each controller differed more than the second threshold; In different rounds of IO stress testing, the traffic differences of the back-end interfaces of each controller are greater than the third threshold; In different IO stress test rounds, the stress test values differ less than the fourth threshold when the number of LUNs is the same.
3. The method according to claim 1, characterized in that, The step of determining the operating mode of the storage device under test based on the stress test values and the resource usage of each controller of the storage device under test includes: If the stress test value and the resource usage of each controller of the storage device under test meet the fourth condition, the operating mode of the storage device under test is determined to be active-active mode. The fourth condition includes at least one of the following: In the same round of IO stress testing, the traffic difference of the front-end interfaces of each controller was less than the thirteenth threshold; In the same round of IO stress testing, the traffic difference of the back-end interfaces of each controller was less than the fourteenth threshold; In the same round of IO stress testing, the difference in CPU utilization among the controllers was less than the fifteenth threshold; In different IO stress test rounds, the stress test values differ less than the sixteenth threshold when the number of LUNs is the same.
4. The method according to claim 1, characterized in that, Multiple rounds of I / O stress testing were performed on the logical storage unit (LUN) of the storage device under test to obtain stress test values, including: Divide the storage device under test into multiple LUNs; Configure the operating parameters for multiple rounds of I / O stress testing for the storage device under test; The first round of I / O stress testing was performed on all LUNs based on the operating parameters, and multiple rounds of I / O stress testing were performed on some LUNs; among them, the LUNs corresponding to each round of I / O stress testing were completely different or partially different. Obtain the stress test values obtained from each round of IO stress testing.
5. A testing device for the operating mode of a multi-controller storage device, characterized in that, include: The testing module is used to perform multiple rounds of I / O stress tests on the logical storage units (LUNs) of the storage device under test and obtain stress test values. The acquisition module is used to acquire the resource usage of each controller of the storage device under test for each round of IO stress test; The mode determination module is used to determine the operating mode of the storage device under test based on the stress test value and the resource usage of each controller of the storage device under test; the operating mode is: active-active mode, active-passive mode, first asynchronous logic unit access mode, or second asynchronous logic unit access mode; The resource usage of each controller includes at least one of the following: Traffic information of the front-end interfaces of each controller; Traffic information of the backend interfaces of each controller; CPU utilization of each controller; Memory usage of each controller; Hard drive usage of each controller; The mode determination module includes: The second determining submodule is used to determine the working mode of the storage device under test as the second asynchronous logical unit access mode when the stress test value and the resource usage of each controller of the storage device under test meet the second condition. The second condition includes at least one of the following: In the same round of IO stress testing, the traffic difference of the front-end interfaces of each controller was less than the fifth threshold; In the same round of IO stress testing, the traffic difference of the back-end interfaces of each controller was greater than the sixth threshold; In different rounds of IO stress testing, the CPU utilization of each controller differed more than the seventh threshold; In different IO stress test rounds, the stress test values differed more than the eighth threshold when the number of LUNs was the same; Alternatively, the pattern determination module may include: The third determining submodule is used to determine the working mode of the storage device under test as the first asynchronous logical unit access mode when the stress test value and the resource usage of each controller of the storage device under test meet the third condition. The third condition includes at least one of the following: In the same round of IO stress testing, the traffic difference of the front-end interfaces of each controller was less than the ninth threshold; In the same round of IO stress testing, the traffic difference of the back-end interfaces of each controller was less than the tenth threshold; In the same round of IO stress testing, the CPU utilization of each controller differed by more than the eleventh threshold; In different IO stress test rounds, the stress test values differed more than the twelfth threshold when the number of LUNs was the same.
6. A testing device, comprising a processor and a transceiver, wherein the transceiver receives and transmits data under the control of the processor, characterized in that, The processor is used to perform the following operations: Multiple rounds of I / O stress tests were performed on the logical storage unit (LUN) of the storage device under test to obtain stress test values. Obtain the resource usage of each controller of the storage device under test for each round of IO stress test; Based on the stress test values and the resource usage of each controller of the storage device under test, the operating mode of the storage device under test is determined; the operating mode is: active-active mode, active-passive mode, first asynchronous logical unit access mode, or second asynchronous logical unit access mode. The resource usage of each controller includes at least one of the following: Traffic information of the front-end interfaces of each controller; Traffic information of the backend interfaces of each controller; CPU utilization of each controller; Memory usage of each controller; Hard drive usage of each controller; The processor is also used to perform the following operations: If the stress test value and the resource usage of each controller of the storage device under test meet the second condition, the operating mode of the storage device under test is determined to be the second asynchronous logical unit access mode. The second condition includes at least one of the following: In the same round of IO stress testing, the traffic difference of the front-end interfaces of each controller was less than the fifth threshold; In the same round of IO stress testing, the traffic difference of the back-end interfaces of each controller was greater than the sixth threshold; In different rounds of IO stress testing, the CPU utilization of each controller differed more than the seventh threshold; In different IO stress test rounds, the stress test values differed more than the eighth threshold when the number of LUNs was the same; Alternatively, the processor may also be configured to perform the following operations: If the stress test value and the resource usage of each controller of the storage device under test meet the third condition, the working mode of the storage device under test is determined to be the first asynchronous logical unit access mode. The third condition includes at least one of the following: In the same round of IO stress testing, the traffic difference of the front-end interfaces of each controller was less than the ninth threshold; In the same round of IO stress testing, the traffic difference of the back-end interfaces of each controller was less than the tenth threshold; In the same round of IO stress testing, the CPU utilization of each controller differed by more than the eleventh threshold; In different IO stress test rounds, the stress test values differed more than the twelfth threshold when the number of LUNs was the same.
7. The testing equipment according to claim 6, characterized in that, The processor is also used to perform the following operations: If the stress test value and the resource usage of each controller of the storage device under test meet the first condition, the operating mode of the storage device under test is determined to be active-passive mode. The first condition includes at least one of the following: In the same round of IO stress testing, the traffic difference of the front-end interfaces of each controller is greater than the first threshold; In different rounds of IO stress testing, the CPU utilization of each controller differed more than the second threshold; In different rounds of IO stress testing, the traffic differences of the back-end interfaces of each controller are greater than the third threshold; In different IO stress test rounds, the stress test values differ less than the fourth threshold when the number of LUNs is the same.
8. The testing equipment according to claim 6, characterized in that, The processor is also used to perform the following operations: If the stress test value and the resource usage of each controller of the storage device under test meet the fourth condition, the operating mode of the storage device under test is determined to be active-active mode. The fourth condition includes at least one of the following: In the same round of IO stress testing, the traffic difference of the front-end interfaces of each controller was less than the thirteenth threshold; In the same round of IO stress testing, the traffic difference of the back-end interfaces of each controller was less than the fourteenth threshold; In the same round of IO stress testing, the difference in CPU utilization among the controllers was less than the fifteenth threshold; In different IO stress test rounds, the stress test values differ less than the sixteenth threshold when the number of LUNs is the same.
9. The testing equipment according to claim 6, characterized in that, The processor is also used to perform the following operations: Divide the storage device under test into multiple LUNs; Configure the operating parameters for multiple rounds of I / O stress testing for the storage device under test; The first round of I / O stress testing was performed on all LUNs based on the operating parameters, and multiple rounds of I / O stress testing were performed on some LUNs; among them, the LUNs corresponding to each round of I / O stress testing were completely different or partially different. Obtain the stress test values obtained from each round of IO stress testing.
10. A testing device, comprising a memory, a processor, and a program stored in the memory and executable on the processor; characterized in that, When the processor executes the program, it implements the operating mode test method for a multi-controller storage device as described in any one of claims 1 to 4.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by the processor, the program implements the steps in the operating mode test method for a multi-controller storage device as described in any one of claims 1 to 4.
Citation Information
Patent Citations
Testing system and method
CN102033796A
Dynamic load balancing system based on multi-controller storage
CN105430103A