| Cloud computing is a model which can access to a pool of configurable computing resources that can be shared in a convenient,on-demand way through internet.These years,based on cloud computing,cloud platform has become a main platform for the deployment of enterprise applications and data storage.Due to the complexity of cloud platform architecture,and the diversity of services it provided,failure is difficult to avoid.In order to improve the reliability of the cloud platform,developers have added fault-tolerance mechanisms when designing the cloud platform,the purpose is to ensure that even there is a failure in the cloud platform,it also have a normal operation performance.However,the fault-tolerance mechanism does not guarantee that the cloud platform is completely reliable.Therefore,we also need to test the reliability of the cloud platform.Fault injection is one of the ways to test reliability of cloud platform,however,most fault injection tools,which focus on analyzing system under test,belong to white or gray box test,will take a long time due to the complexity of the cloud platform.Therefore,we propose a black box test method that does not depend on system information.We have done the following works based on the existing works.Firstly,we have collected historical cloud outage reports and analyzed the characteristics of the failure modes.We have found that the types of failures in the cloud platform are repetitive.Based on this,we thoroughly analyzed the characteristics of these failures,including the components,root causes,impacts,and methods of repair.Secondly,through the analysis of historical outage reports on cloud platforms,we have found that failure in many accidents do not occur alone,and that multiple failures are related and combined.We have deep analysised the relationships of multiple failures,and the combination relationships,based on this,in order to detect the reliability of the cloud platform as completely as possible,we propose that multiple faults must be combined and injected during the fault injection process.Thirdly,in the process of combining multiple faults,we discovered that due to the complexity of the cloud platform,the diversity of fault types,and the combination of multiple faults,the problem of combinatorial space explosion will arise.To address this issue,we have done preliminary explore and propose several reduction strategies.Fourthly,based on the above work,we propose a history-based fault combination method,using historical fault data,combined with the basic cloud platform architecture to conduct simulation experiments.The experiment results show that our proposed fault combination injection method based on historical faults is effective feasible. |