CN109947535A - The direct fault location external member of Virtual machine - Google Patents

The direct fault location external member of Virtual machine Download PDF

Info

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
Application number
CN201910222899.4A
Other languages
Chinese (zh)
Inventor
张展
左德承
李文浩
封威
陈思远
冯懿
刘宏伟
董剑
温东新
罗丹彦
舒燕君
陈新昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201910222899.4A priority Critical patent/CN109947535A/en
Publication of CN109947535A publication Critical patent/CN109947535A/en
Pending legal-status Critical Current

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

The direct fault location external member of Virtual machine
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.
CN201910222899.4A 2019-03-22 2019-03-22 The direct fault location external member of Virtual machine Pending CN109947535A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
王帅: "HBase 数据库评测关键技术的研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
王波: "高端容错计算机故障注入工具的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
赵伟博: "云平台容错能力测试套件的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
麻彦东: "面向虚拟化系统的故障注入平台的研究与设计", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
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