CN109947535A - The direct fault location external member of Virtual machine - Google Patents
The direct fault location external member of Virtual machine Download PDFInfo
- Publication number
- CN109947535A CN109947535A CN201910222899.4A CN201910222899A CN109947535A CN 109947535 A CN109947535 A CN 109947535A CN 201910222899 A CN201910222899 A CN 201910222899A CN 109947535 A CN109947535 A CN 109947535A
- Authority
- CN
- China
- Prior art keywords
- fault location
- direct fault
- failure
- injection
- tool
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
The direct fault location external member of Virtual machine, it is related to field of computer technology, it is thicker in the presence of injection granularity to solve existing virtual-machine fail implantation tool, the single problem of simulated failure, the present invention includes: user interaction unit, Database Unit, load management unit, FI tool injection management unit, SSH telecommunication unit and FI tool set, virtual-machine fail implantation tool designed by the present invention being capable of the fine-grained register to virtual machine, the many levels such as memory and network carry out direct fault location, support failure-frequency, the selection of the fault parameters such as abort situation, support the combination of various faults type.The present invention can be widely applied to computer glitch injection field.
Description
Technical field
The present invention relates to field of computer technology, and in particular to a kind of direct fault location external member.
Background technique
Direct fault location refers to that according to selected fault model, method manually generates failure consciously and is applied to spy
In fixed goal systems, to accelerate the mistake of the system and the generation of failure, while reaction of the acquisition system to injected failure
Information, and recycling information is analyzed, to provide the process in relation to result.
There is more research for the direct fault location of physical machine, traditional physical machine direct fault location is wrong when there is system
It mistakes, can only be repaired by refitting system by restarting repair system, and for grave error, it is very big in this way
Influence fault injection experiment efficiency, therefore, virtual-machine fail injection generates therewith.
Existing virtual-machine fail implantation tool is to pass through modification memory or content of registers according to certain fault model
Come the generation of analog hardware or software fault, such virtual-machine fail implantation tool relatively thick, simulated failure in the presence of injection granularity
Single disadvantage.
Summary of the invention
The purpose of the present invention is: relatively thick, the simulated failure list for existing virtual-machine fail implantation tool presence injection granularity
One the shortcomings that, provides a kind of direct fault location external member of virtual machine.
The present invention adopts the following technical scheme that realization: the direct fault location external member of Virtual machine, comprising: user's interaction is single
Member, Database Unit, load management unit, FI tool injection management unit, SSH telecommunication unit and FI tool set;
The user interaction unit uses B/S framework, as the interactive interface of user and system, is responsible for receiving the defeated of user
Enter information and shows direct fault location information;
The Database Unit is responsible for the information and the relevant letter of direct fault location for the goal systems that storage and management to be injected
Breath;
The load management unit is responsible for the generation and generation of load, the true fortune of simulated target system in a production environment
Market condition;
The FI tool management unit be responsible for managing various direct fault location tools and to the process of direct fault location tool into
Row control;
The SSH telecommunication unit be responsible for remotely with the communication of destination node;
The FI tool set includes register direct fault location tool, memory failure implantation tool and network failure injection work
Tool;
The register direct fault location tool by the general Ptrace system of linux kernel call modification system process and
The content of CPU register in application process implementation procedure carries out direct fault location;
The memory failure implantation tool is by the physical address content at modification virtual machine particular memory address, to change
Become the run-time memory data of system process or application process to realize direct fault location;
The delay for the flow controller analogue data packet that the network failure implantation tool is provided by linux kernel is lost
Damage become estranged to carry out direct fault location.
The invention has the following beneficial effects: the virtual-machine fail implantation tools designed by the present invention can be fine-grained right
The many levels such as register, memory and the network of virtual machine carry out direct fault location, support the failures such as failure-frequency, abort situation ginseng
The combination of various faults type is supported in several selections.
Detailed description of the invention
Fig. 1 is virtual-machine fail injection integrated stand composition of the invention.
Fig. 2 is external member general frame figure of the present invention.
Fig. 3 is the operation principle schematic diagram of Ptrace of the present invention.
Fig. 4 is the specific flow chart of register direct fault location of the present invention.
Fig. 5 is application process memory failure injection flow chart of the present invention.
Fig. 6 is the flow chart of setInjection () of the present invention.
Fig. 7 is the flow chart of injectFault of the present invention.
Fig. 8 is inventive flow controller working principle diagram.
Fig. 9 is inventive network direct fault location tool flow figure.
Specific embodiment
Present embodiment is illustrated below with reference to Fig. 1 and Fig. 2.Present embodiment, the direct fault location set of Virtual machine
Part, comprising: user interaction unit, Database Unit, load management unit, FI tool injection management unit, SSH telecommunication list
Member and FI tool set,
The user interaction unit uses B/S framework, as the interactive interface of user and system, is responsible for receiving the defeated of user
Enter information and show direct fault location information, including control information, direct fault location parameter information input and intermediary operation information,
The displaying of result information;
The Database Unit is responsible for the information and the related letter of direct fault location for the goal systems that storage and management to be injected
Breath, including test case information and corresponding result information;
The load management unit is responsible for the generation and generation of load, the true fortune of simulated target system in a production environment
Market condition;
The FI tool management unit be responsible for managing various direct fault location tools and to the process of direct fault location tool into
Row control;
The SSH telecommunication unit is responsible for remotely including transmitting commands to corresponding failure with the communication of destination node
Implantation tool and the result information for collecting direct fault location;
The FI tool set includes register direct fault location tool, memory failure implantation tool and network failure injection work
Tool;
The register direct fault location tool by the general Ptrace system of linux kernel call modification system process and
The content of CPU register in application process implementation procedure carries out direct fault location;
The memory failure implantation tool is by the physical address content at modification virtual machine particular memory address, to change
Become the run-time memory data of system process or application process to realize direct fault location;
The delay for the flow controller analogue data packet that the network failure implantation tool is provided by linux kernel is lost
Damage become estranged to carry out direct fault location.
Principle explanation:
One, register
Using the means of software, pass through the content of the CPU register in modification system process and application process implementation procedure
It simulates the generation of register failure, further monitors goal systems for the reaction result of such failure, mesh is evaluated and tested with this
The fault-tolerant ability of mark system.
Register direct fault location be in software view, by the content of modification process CPU register in the process of implementation,
Simulate the generation of register failure, and further monitoring objective system for the reacting phenomenon of such failure and as a result, with this
To evaluate and test goal systems for the fault-tolerant ability of failure.
It generally should not be allowed to direct communication between the process of (SuSE) Linux OS and obtain mutual status information, because
This for security reasons, each process has oneself independent address space, and can not access mutually mutually
Location space.The means of tracking and the control of a kind of pair of process are the entitled Ptrace for relying on linux kernel earlier version and just having
System call.The data flow of Ptrace and system process has to the inspection by kernel, when the state of target process is repaired
After changing, other users and process are not interfered with.The operation principle schematic diagram of Ptrace is as shown in Figure 3.
Host process calls the PTRACE_ATTACH provided to operate using Ptrace system, can track specified process.
If the process allows to be tracked, a series of host process can suspend it, continues and terminate etc. operation controls
System.Recycle PTRACE_POKEUSER or PTRACE_SETREGS operation to modify the interior of each register needed for target process
Hold, realizes register direct fault location.After injecting failure to target process, the signaling mechanism of linux system can use, receive
Collect the running state of a process information, recovery failure injection as a result, and being counted, being analyzed and being evaluated to result.
Virtual machine register direct fault location relies on the general Ptrace system of linux kernel and calls, Lai Jinhang direct fault location,
Clocked flip and single step triggering two ways can be divided into.The direct fault location tool by module division can be divided mainly into initialization, always
5 modules such as control, trigger, injection control, monitoring.Initialization module is used for read failure description script, constructs bug list number
Group;Top control module makes them be in controllable state for tracking executable program or process;Igniter module is for realizing specific
Triggering mode, single step triggering and timers trigger two ways can be divided into;Control module is injected to be used to touch in igniter module
Specific direct fault location operation is executed after hair breakpoint;Monitoring is for collecting process exception information.Register direct fault location it is specific
Process is as shown in Figure 4.
The step of register direct fault location device malfunction is injected are as follows:
Step 1: initialization module initializes bug list;
Step 2: opening top control module, if injection target is executable program, three are entered step, if injection target refers to
The process for determining process number, jumps to step 5;
Step 3: top control module host process calls fork () to generate subprocess, and wait () is called, detects subprocess
Stopping or final state;
Step 4: subprocess calls exec () performance objective executable program, it is arranged to traceable state PTRACE_
TRACEME.Jump to step 6;
Step 5:, so that specified process is in the state of being tracked, entering step six using the attach function of Ptrace;
Step 6: igniter module breakpoint is triggered, monitoring module detects the halted state of target process;
Step 7: injection control module injects failure, restore the execution of target process;
Step 8: monitoring module collects process exception information;
Step 9: generating direct fault location test result.
This direct fault location tool can be directed to the process or executable program of VME operating system, by tracking and modifying
The value of its register, Lai Jinhang register direct fault location, and further monitor, obtain and analyze such failure generate the phenomenon that and
As a result, fault-tolerant ability of the evaluation and test virtual machine for register failure.
Two, memory
The memory failure implantation tool realized using software approach carries out event in system process layer and application process layer respectively
Barrier injection, abort situation divide code segment, data segment and stack segment, and fault type has a random words perseverance 0/1, random 1 bit flipping, and random 1
For perseverance 0/1 etc..The state and process status of object to be measured system after observation direct fault location, carry out the fault-tolerance of goal systems
Analysis.
Memory failure injection is mainly by the physical address at modification particular memory address, to change system process or answer
With the runtime data of process, direct fault location is realized.The major design module of tool has, and obtains progress information pcb, obtains virtual
Address obtains physical address, and the conversion between virtual address physical address obtains signal, obtains control information etc..
Application process direct fault location tool is broadly divided into three parts, and injector is responsible for part user's interaction and failure
The overall flow of injection, by memoryFault, memoryEngine, memoryInjector and memoryInjectorTool
Four submodule compositions.MemoryInjectorTool is directly interacted with user, and the order for obtaining order line input and parameter are simultaneously
Call memoryInjector.MemoryInjector is responsible for integrated injection and enters process.MemoryFault is responsible for setting injection class
Type, for example whether being random injection, injection phase is code segment or data segment, modification type are one page 0 or a bit reversal.
MemoryEngine is the bottom layer realization module for obtaining physical address, modifying this generic operation of the content of memory specific position.
The part engine is the specific implementation of memoryEngine.By ctl, pid, taskInfo, signal and tools etc.
Component is constituted.This part is eventually compiled into .ko file, is loaded into system in the form of system module, to injector
The demand that part generates carries out reply process.
The part tools is mainly the realization of some basic functions.By getpinfo, readpa, writepa, v2p and
The components such as iskthread are constituted, and function is to obtain progress information, the content for reading physical address, write to physical address, virtually respectively
Address conversion is physical address and judges whether it is kernel process.
Technical difficult points (i.e. the part engine be discussed in detail) are the conversion methods of virtual address and physical address are as follows:
MemoryEngine submodule is compiled into .ko file, is loaded into system with insmod order.Detailed process is as shown in Figure 5.
The part Injector is memoryInjector in figure to/proc/memoryEngine/ctl file write-in ground
Location convert requests REQUEST_V2P, memoryEngine submodule is read under/the path proc/memoryEngine/ctl works as
Preceding demand, for example, REQUEST_V2P represents the conversion of demand virtual address to physical address, REQUEST_TASK_INFO is then
Represent the memory mapping information that demand obtains task.When being the discovery that REQUEST_V2P, the v2p in the part tools is called
To convert address.It, can be with since the memory headroom that kernel code section is loaded is map section one by one if it is kernel code
Directly pass through the _ macro conversion for carrying out kernel linear address and physical address of _ pa ();If it is the code of user's space, Linux
Memory management carrys out the conversion of managing process linear address and physical address using page table, can be by process by inquiring page table
Virtual linear address conversion is physical address.
After obtaining physical address, memoryEngine submodule continues physical address that/proc/ is written
In memoryEngine/physicalAddr file, and ACK_ is added in/proc/memoryEngine/signal file
V2P address conversion completes signal.
Injector part be figure in memoryInjector see/proc/memoryEngine/signal file in
ACK_V2P after, read physical address from/proc/memoryEngine/physicalAddr file.
MemoryInjectorTool is directly interacted with user, obtains the order and parameter of order line input, parameter is passed
To memoryInjector, and call startInjection () method of memoryInjector.MemoryInjector tune
It is initialized with memoryFault, memoryFault is known as direct fault location table, each of these record in this project
The content of parameter (injection phase, type etc.) of this injection.The flow chart of startInjection () is as shown in Figure 6.
StartInjection () method is the method for the entire injection process of real control, i.e., " starting to inject " in figure.
First according to the process pid to be injected, call the iskthread function of the part tools, check the process whether be kernel into
Journey is injected if it is, calling directly injectFault, if it is not, then continuing to judge, whether which has transported
Row.If it is the process being currently running, then ptraceAttach function is called, this process is interrupted, continues to call
InjectFault is injected.If the process in operation (not in process pid≤0 of operation), does not use fork () letter
Number creates subprocess, calls injectFault function to inject subprocess in parent process, injectFault () method
Shown in flow chart 7.
InjectFault () method is responsible for the method injected to the process of a specific pid.First
InjectFault checks the content of memoryFault, injects and requires to each of them, is individually injected respectively.For
Certain injection, process are broadly divided into two big steps and first obtain the physical address for the memory block to be injected, then root as shown above
According to 4 kinds of different modification types, modify.
The detailed process for obtaining physical address has three steps, first acquisition progress information pcb, further according in pcb structural body
Content finds out the start-stop address of code segment (or data segment or heap section or stack segment), is physical address by start-stop address conversion.Its
In, process pcb can be obtained from/proc/memoryEngine/taskInfo, and memoryEngine is in design principle
The function for the part engine mentioned.For giving pid, we can be from/proc/memoryEngine/physicalAddr
The physical address of acquisition process, this is also to rely on the function of engine, in addition, first to access letter before obtaining physical address
Number signal, when signal is ACK_V2P, just reading physical address.
Three, network
The failure that can be occurred using the network of the method simulation virtual machine of software, the fault type of realization includes that data packet is prolonged
Slow failure, data-bag lost failure and data packet damage failure, and object observing system is fault-tolerant in the case where network failure situation occurs
Ability.
Each virtual machine node is communicated by network, and the performance of network environment will have a direct impact on system performance.It makes
Have much at the reason of network failure, common are broadcast storm, ddos attack, ARP attack, worm-type virus, network loop,
DNS deception etc..After all, the final of these network failures shows as that network delay increases, network packet loss rate increases, network
The diversified forms such as data packet order of arrival confusion and network interruption.
For the above-mentioned different network failure form of expression, this Subject Design simultaneously realizes network level direct fault location tool.
The tool is intended to simulate common network failure using software, evaluates and tests fault-tolerant ability of the virtual machine in complex network environment, with
And system availability and failover capability when network failure.
Network failure implantation tool relies on the flow controller that linux kernel provides, and Fig. 8 is flow controller working principle
Figure, input demultplexer (Input Demultiplexing) in dotted line frame in figure, transponder (Forwarding) and defeated
Dequeue (Output Queuing) collectively forms flow controller.The data message of inlet flow is consigned to input interface by network interface card
(Input Interface) can then carry out data message according to the input policing (Ingress Policing) configured
Matching filtering abandons the data message for being unsatisfactory for limiting policy, and input multichannel point can be flowed into the data message of matching strategy
Orchestration.Input demultplexer can be filtered according to the Target IP of data message, if the Target IP of data message is the machine,
Notebook data message can be consigned to upper-layer protocol (agreements such as TCP, UDP);Otherwise notebook data message is delivered to transponder, by turning
Hair device, which is forwarded and determined, determines notebook data message routing information.Meanwhile upper-layer protocol (Upper Layers) also can be by application layer
The data packet that agreement generates is delivered to transponder.The data message for reaching transponder will be delivered to output queue (Output
Queuing it), and in output queue is ranked up, so as to output interface (Output Interface) output.
Flow controller mainly has following function: shaping (Shaping), scheduling (Scheduling), classification
(Classifying), tactful (Policing), discarding (Dropping) and flow mark (Marking) etc..We pass through control
Queue discipline (Queueing Discipline, QDisc), classification (Class) and the filter provided in flow controller processed
(Filter) above-mentioned function is completed.In flow controller, we can flow in input direction and outbound course simultaneously
Amount control.However, we can only use the limited Ingress QDisc of a function on input direction, and in outbound course
We can complete complicated flow control operation using multiple and different queue disciplines according to different needs.Therefore, when making
When carrying out flow control with flow controller, the general method using control output flow without controlling input flow rate.
Linux kernel can be each one outbound course of network equipments configuration QDisc, when have data message needs pass through
The network equipment send when, data message is delivered in the queue of the network equipment by kernel, and according to the QDisc configured into
Row is sent.The parameters such as maximum rate, packet loss, spoilage can be set in QDisc.If it is intended to more data message point
If careful, then classifying type QDisc (such as CBQ, HTB, PRIO) can be used.It can be defined further below in classifying type QDisc
It can be with recursive definition more QDisc and Class below multiple Class, Class.Data message is filtered using Filter
To different Class or QDisc in the following, being divided to default point if data message is unsatisfactory for the rule of Filter formulation
In class.
Network analog functional module (Network Emulator, NetEm) is a kind of QDisc of flow controller, is used
NetEm, which can achieve the data message for being forced out Output Queuing, to be had the characteristics that delay, repeats, damage.Network event
Hinder implantation tool combination flow controller and NetEm by output queues targetedly different to specific Network card setup, reaches
The purpose of Common Network Fault in simulated production environment.
Network failure implantation tool can be divided mainly into three modules according to module division: main control module, direct fault location control
Module, failure remove recovery module.
Main control module: netInjector is used to read the network failure injection parameter of user configuration, including fault type,
Direct fault location position (network equipment number), injection scale parameter etc., analyze direct fault location information.If addition failure, then transfer
Inject control module processing;If failure is removed, then transfers failure and remove recovery module processing.Receive and handles other modules
Feedback information, and processed feedback information is returned into user.
Direct fault location control module: for executing delay fault implant operation.When main control module judges that user executes failure
When implant operation, then parameter needed for direct fault location is provided, the direct fault location function for transferring response is handled, and processing result will be returned
Back to main control module.
Failure removes recovery module: delFault () removes operation for executing failure, when main control module judges that user holds
When row removes operation, then the network equipment number for needing to remove failure is provided, the function is transferred and is handled, processing result will return
To main control module.
The implementation process of network failure implantation tool is as shown in Figure 9:
It is as follows that network failure injects main working process:
(1) main control module is according to user's needs, config failure injection parameter (type, injection phase including network failure,
Time, ratio), wherein injection phase refers to the network equipment number of test machine, and ratio is the degree of network failure, if data
Packet delay is then millisecond (ms), is then percentage (%) if data-bag lost or data packet damage.
(2) injection control module calls direct fault location function to execute specified failure classes according to the fault type of user configuration
The injection of type and fault degree.
(3) direct fault location function is arranged QDisc using the netEm tool in TC accordingly, simulates data packet
The various corresponding network failures such as delay, loss, damage.
(4) workload is run under conditions of injection network failure, the network state of virtual machine is monitored, analyzed
The information of monitoring, it was therefore concluded that.
(5) failure removes recovery module and removes failure, restores network environment or prepares for direct fault location next time.
This direct fault location tool can be directed to network environment, carry out network failure injection, and in the environment of tape jam, fortune
Row workload, fault-tolerant ability of the evaluation and test virtual machine for network failure.
Virtual machine injection external member of the invention has the advantages that
1, existing virtual-machine fail implantation tool injection granularity is compared with thick, simulated failure is single, and void designed by the present invention
Quasi- machine direct fault location tool fine-grained can carry out failure note to many levels such as the registers, memory and network of virtual machine
Enter, support the selection of the fault parameters such as failure-frequency, abort situation, supports the combination of various faults type.
Virtual-machine fail implantation tool before is that entire virtual machine system is allowed entirely to collapse a bit, some are can be to deposit
Device, memory etc. carry out direct fault location, and granularity is thicker, many fault parameters can not flexible choice, virtual machine that the present invention designs therefore
Barrier injection external member, can fine granularity by register direct fault location tool, memory failure implantation tool and network failure implantation tool
Control abort situation, defect content, failure-frequency, the number of stoppages etc., such as register direct fault location, user is to select to infuse
Enter which specific register, the content of injecting register also can control, the frequency injected and number can also be selected independently
It selects.
2, existing virtual-machine fail implantation tool needs are manually injected into and manual recovery failure is as a result, and set by the present invention
The virtual-machine fail implantation tool of meter can carry out visual and automation direct fault location and management, branch in conjunction with web interface
Concurrent fault injection and random fault injection are held, supports that direct fault location can greatly be improved to the real time monitoring of examining system
Efficiency.
3, existing virtual-machine fail implantation tool needs to rely on specific operation system, and virtual machine designed by the present invention
Direct fault location tool usability with higher and portability, be suitable for the general-purpose operating systems such as CentOS, Ubuntu and
The domestic operating systems such as acceptance of the bid kylin, milky way kylin, farsighted think of.
It should be noted that specific embodiment is only the explanation and illustration to technical solution of the present invention, it cannot be with this
Limit rights protection scope.What all claims according to the present invention and specification were made is only locally to change, Reng Yingluo
Enter in protection scope of the present invention.
Claims (10)
1. the direct fault location external member of Virtual machine, characterized by comprising: user interaction unit, Database Unit, load pipe
Manage unit, FI tool injection management unit, SSH telecommunication unit and FI tool set;
The user interaction unit uses B/S framework, as the interactive interface of user and system, is responsible for receiving the input letter of user
Breath and displaying direct fault location information;
The Database Unit is responsible for the information and the relevant information of direct fault location for the goal systems that storage and management to be injected;
The load management unit is responsible for the generation and generation of load, the true operation feelings of simulated target system in a production environment
Condition;
The FI tool management unit is responsible for managing various direct fault location tools and be controlled to the process of direct fault location tool
System;
The SSH telecommunication unit be responsible for remotely with the communication of destination node;
The FI tool set includes register direct fault location tool, memory failure implantation tool and network failure implantation tool;
The register direct fault location tool calls modification system process and application by the general Ptrace system of linux kernel
The content of CPU register in process implementation procedure carries out direct fault location;
The memory failure implantation tool is by the physical address content at modification virtual machine particular memory address, to change and be
The run-time memory data of system process or application process realize direct fault location;
The delay of the flow controller analogue data packet that the network failure implantation tool is provided by linux kernel, lose and
Damage is to carry out direct fault location.
2. the direct fault location external member of Virtual machine according to claim 1, it is characterised in that: the register failure note
Entering tool includes initialization module, top control module, igniter module, monitoring module and injection control module, the initialization mould
Block is used for read failure description script, constructs bug list array;
The top control module makes them be in controllable state for tracking executable program or process;
The igniter module can be divided into single step triggering and timers trigger two ways for realizing specific triggering mode;
The injection control module is used to after igniter module triggers breakpoint execute specific direct fault location operation;
The monitoring module is for collecting process exception information.
3. the direct fault location external member of Virtual machine according to claim 2, which is characterized in that the register failure note
The step of entering device malfunction injection are as follows:
Step 1: initialization module initializes bug list;
Step 2: open top control module, if injection target be executable program, enter step three, if injection target be specify into
The process of journey number, jumps to step 5;
Step 3: top control module host process calls fork () to generate subprocess, and wait () is called, detects stopping for subprocess
Only or final state;
Step 4: subprocess calls exec () performance objective executable program, it is arranged to traceable state PTRACE_TRACEME.
Jump to step 6;
Step 5:, so that specified process is in the state of being tracked, entering step six using the attach function of Ptrace;
Step 6: igniter module breakpoint is triggered, monitoring module detects the halted state of target process;
Step 7: injection control module injects failure, restore the execution of target process;
Step 8: monitoring module collects process exception information;
Step 9: generating direct fault location test result.
4. the direct fault location external member of Virtual machine according to claim 1, it is characterised in that: the memory failure injection
The fault filling method of tool is as follows: first according to the process pid to be injected, the iskthread function of the part tools is called,
Check whether the process is kernel process, is injected if it is, calling directly injectFault, if it is not, then continuing
Whether judgement, the process have run;
If it is the process being currently running, then ptraceAttach function is called, this process is interrupted, continues to call
InjectFault is injected, if the process is not being run, uses fork () function creation subprocess, right in parent process
Subprocess calls injectFault function to be injected.
5. the direct fault location external member of Virtual machine according to claim 4, which is characterized in that the injectFault
Specific step is as follows: injectFault first checks the content of memoryFault, to each of them inject require, respectively into
Row individually injection;For injecting every time, process is broadly divided into two big steps, first obtains the memory block to be injected physically
It modifies further according to 4 kinds of different modification types location.
6. the direct fault location external member of Virtual machine according to claim 5, which is characterized in that the physical address obtains
Take that steps are as follows:
Step 1: obtaining progress information pcb;
Step 2: according to the content in pcb structural body, with finding out the start-stop of any one of code segment, data segment, heap section or stack segment
Location;
Step 3: being physical address by start-stop address conversion.
7. the direct fault location external member of Virtual machine according to claim 1, it is characterised in that: the network failure injection
Tool includes: that main control module, direct fault location control module and failure remove recovery module, and the main control module is for reading user
Network failure injection parameter of configuration, including fault type, direct fault location position, injection scale parameter etc., analyze direct fault location
Information;
Direct fault location control module is for executing delay fault implant operation;
Failure removes recovery module and removes operation for executing failure.
8. the direct fault location external member of Virtual machine according to claim 7, it is characterised in that: the network failure injection
The step of device malfunction is injected are as follows:
Step 1: main control module is according to user's needs, config failure injection parameter;
Step 2: fault type of the direct fault location control module according to user configuration, calls direct fault location function to execute specified event
Hinder the injection of type and fault degree;
Step 3: direct fault location function is arranged QDisc using the netEm tool in TC accordingly, data packet is simulated
The various corresponding network failures such as delay, loss, damage;
Step 4: running workload under conditions of injection network failure, the network state of virtual machine is monitored, is analyzed
The information of monitoring, it was therefore concluded that;
Failure is removed Step 5: failure removes recovery module, restore network environment or is prepared for direct fault location next time.
9. the direct fault location external member of Virtual machine according to claim 8, it is characterised in that: the config failure injection
Parameter includes type, injection phase, time and the ratio of network failure, and wherein injection phase is the network equipment number of test machine,
Ratio is the degree of network failure.
10. the direct fault location external member of Virtual machine according to claim 1, it is characterised in that: the direct fault location letter
Breath includes the input and intermediary operation information, result information of control information, direct fault location parameter information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910222899.4A CN109947535A (en) | 2019-03-22 | 2019-03-22 | The direct fault location external member of Virtual machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910222899.4A CN109947535A (en) | 2019-03-22 | 2019-03-22 | The direct fault location external member of Virtual machine |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109947535A true CN109947535A (en) | 2019-06-28 |
Family
ID=67010675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910222899.4A Pending CN109947535A (en) | 2019-03-22 | 2019-03-22 | The direct fault location external member of Virtual machine |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947535A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413398A (en) * | 2019-08-06 | 2019-11-05 | 中国工商银行股份有限公司 | Method for scheduling task, device, computer equipment and storage medium |
CN111400182A (en) * | 2020-03-16 | 2020-07-10 | 腾讯科技(深圳)有限公司 | Fault injection method, device, server and computer readable storage medium |
CN113094148A (en) * | 2020-01-08 | 2021-07-09 | 伊莱比特汽车有限责任公司 | Authentication of device drivers for devices |
CN113535532A (en) * | 2020-04-14 | 2021-10-22 | 中国移动通信集团浙江有限公司 | Fault injection system, method and device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6477666B1 (en) * | 1999-11-22 | 2002-11-05 | International Business Machines Corporation | Automatic fault injection into a JAVA virtual machine (JVM) |
CN101872323A (en) * | 2009-04-22 | 2010-10-27 | 曾凡平 | Method for fault-injection test based on virtual machine |
CN103019921A (en) * | 2011-09-20 | 2013-04-03 | 中国人民解放军63928部队 | Operating system fault tolerance testing system and method based on fault injection |
CN104461865A (en) * | 2014-11-04 | 2015-03-25 | 哈尔滨工业大学 | Cloud environment distributed file system reliability test suite |
US20150161025A1 (en) * | 2013-12-05 | 2015-06-11 | International Business Machines Corporation | Injecting Faults at Select Execution Points of Distributed Applications |
-
2019
- 2019-03-22 CN CN201910222899.4A patent/CN109947535A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6477666B1 (en) * | 1999-11-22 | 2002-11-05 | International Business Machines Corporation | Automatic fault injection into a JAVA virtual machine (JVM) |
CN101872323A (en) * | 2009-04-22 | 2010-10-27 | 曾凡平 | Method for fault-injection test based on virtual machine |
CN103019921A (en) * | 2011-09-20 | 2013-04-03 | 中国人民解放军63928部队 | Operating system fault tolerance testing system and method based on fault injection |
US20150161025A1 (en) * | 2013-12-05 | 2015-06-11 | International Business Machines Corporation | Injecting Faults at Select Execution Points of Distributed Applications |
CN104461865A (en) * | 2014-11-04 | 2015-03-25 | 哈尔滨工业大学 | Cloud environment distributed file system reliability test suite |
Non-Patent Citations (4)
Title |
---|
王帅: "HBase 数据库评测关键技术的研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
王波: "高端容错计算机故障注入工具的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
赵伟博: "云平台容错能力测试套件的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
麻彦东: "面向虚拟化系统的故障注入平台的研究与设计", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413398A (en) * | 2019-08-06 | 2019-11-05 | 中国工商银行股份有限公司 | Method for scheduling task, device, computer equipment and storage medium |
CN113094148A (en) * | 2020-01-08 | 2021-07-09 | 伊莱比特汽车有限责任公司 | Authentication of device drivers for devices |
CN111400182A (en) * | 2020-03-16 | 2020-07-10 | 腾讯科技(深圳)有限公司 | Fault injection method, device, server and computer readable storage medium |
CN113535532A (en) * | 2020-04-14 | 2021-10-22 | 中国移动通信集团浙江有限公司 | Fault injection system, method and device |
CN113535532B (en) * | 2020-04-14 | 2023-11-10 | 中国移动通信集团浙江有限公司 | Fault injection system, method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947535A (en) | The direct fault location external member of Virtual machine | |
CN103235756B (en) | A kind of emulation test method of embedded system subregion application software | |
CN102354298A (en) | Software testing automation framework (STAF)-based fault injection automation testing platform and method for high-end fault-tolerant computer | |
CN103544103A (en) | Method and system for test, simulation and concurrence of software performance | |
CN104331324A (en) | MapReduce fault injection external member | |
CN108156181A (en) | A kind of vulnerability detection method and its vulnerability scanning system based on the association asynchronous IO of journey | |
EP2839375A1 (en) | Testing system for an integrated software system | |
US20090248390A1 (en) | Trace debugging in a hardware emulation environment | |
Kuzniar et al. | OFTEN testing OpenFlow networks | |
US7380168B2 (en) | System development tool | |
CN111813671A (en) | IMA software simulation test system | |
Stott et al. | Dependability analysis of a high-speed network using software-implemented fault injection and simulated fault injection | |
Braberman et al. | Verification of real-time designs: Combining scheduling theory with automatic formal verification | |
Alvarez et al. | Centralized failure injection for distributed, fault-tolerant protocol testing | |
Shin et al. | A distributed real-time operating system | |
Hoara et al. | A language-driven tool for fault injection in distributed systems | |
Larsen et al. | Online testing of real-time systems using uppaal: Status and future work | |
Balasubramanian et al. | A rapid testing framework for a mobile cloud | |
Hasanain et al. | Automated state-based online testing real-time embedded software with RTEdge | |
Dawson et al. | A software fault injection tool on real-time Mach | |
Jebbar et al. | Architecture for the automation of live testing of cloud systems | |
Peleska et al. | Formal methods for the international space station ISS | |
Feiler et al. | Architecture-led diagnosis and verification of a stepper motor controller | |
King | A self-testing approach for autonomic software | |
Coyne et al. | A methodology for unit testing actors in proprietary discrete event based simulations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190628 |