Proactive detection of data inconsistencies in a storage system point-in-time copy of data
AssigneeInternational Business Machines Corporation
InventorsNagapramod S. Mandagere, Ramani R. Routray, Sandeep M. Uttamchandani, Pin Zhou
Life of this patent
Estimating the term…
Abstract
Embodiments of the invention relate to testing a storage system point-in-time copy of data for consistency. An aspect of the invention includes receiving system and application event information from systems and applications associated with point-in-time copies of data. The system and application event information is associated with each of point-in-time copies of data. At least one point-in-time copy of data is selected for testing. The system and application event information is compared with inconsistency classes to determine tests for testing the point-in-time copy of data. The point-in-time copy of data is tested.
Claims10
A method of detecting a data inconsistency in a point-in-time copy of data, comprising:
- receiving event information from systems and applications associated with a plurality of point-in-time copies of data, each of said copies being a data image of a storage volume's state at a particular time;
- correlating events from the event information with at least one said copies;
- determining that at least event is associated with a data inconsistency, said determining being based on a probability that there is a data inconsistency with the occurrence of a particular event where the probability is based on an association of the particular event with a previously encountered data inconsistency;
- and
- determining that at least one event is associated with a data inconsistency, including:
- identifying, at least one of said copies correlated with an event determined to be associated with a data inconsistency as a candidate point-in-time copy of data, for testing for a data inconsistency;
- selecting, particular tests for testing said candidate to determine whether said candidate has a data inconsistency, the selecting being based on a correlation between the event associated with the data inconsistency and a probability that each of the tests will detect the data inconsistency;
- scheduling testing of said candidate using said tests, the scheduling includes prioritizing each of the selected tests based on an estimated run time;
- testing said candidate with at least one of the tests selected to determine if said candidate has a data inconsistency;
- determining that the testing results with at least one data inconsistency, and correcting the at least one inconsistency and providing the corrected point-in-time copy of data;
- monitoring performance of the tests and a production application associated with said point-in-time copy of data;
- and
- if performance of the production application is below a pre-determined threshold, throttling the tests to reduce performance impact on the production application.
A system for detecting a data inconsistency in a point-in-time copy of data, comprising:
- a computer-readable medium having computer program instructions;
- and
- a processor executing the computer program instructions to:
- receive event information from systems and applications associated with a plurality of point-in-time copies of data, each of said copies being a data image of a storage volume's state at a particular time;
- correlate events from the event information with at least one said copies;
- determine that at least event is associated with a data inconsistency, said determine being based on a probability that there is a data inconsistency with the occurrence of a particular event where the probability is based on an association of the particular event with a previously encountered data inconsistency;
- and
- determine that at least one event is associated with a data inconsistency, including:
- identify, at least one of said copies correlated with an event determined to be associated with a data inconsistency as a candidate point-in-time copy of data, for testing for a data inconsistency;
- select, particular tests for testing said candidate to determine whether said candidate has a data inconsistency, the selecting being based on a correlation between the event associated with the data inconsistency and a probability that each of the tests will detect the data inconsistency;
- schedule testing of said candidate using said tests, the scheduling includes prioritizing each of the selected tests based on an estimated run time;
- test said candidate with at least one of the tests selected to determine if said candidate has a data inconsistency;
- determine that the testing results with at least one data inconsistency, and correct the at least one data inconsistency and provide the corrected point-in-time copy of data;
- monitor performance of the tests and a production application associated with said point-in-time copy of data;
- and
- if performance of the production application is below a pre-determined threshold, the tests are throttled to reduce performance impact on the production application.
A computer program product for detecting a data inconsistency in a point-in-time copy of data, the computer program product comprising a non-transitory computer readable storage medium having computer readable program code embodied therewith, said program code being executable by a processor to:
- receive event information from systems and applications associated with a plurality of point-in-time copies of data, each of said copies being a data image of a storage volume's state at a particular time;
- correlate each event from the event information with at least one said copies;
- determine that at least event is associated with a data inconsistency, said determining by using probability that there is a data inconsistency with the occurrence of a particular event where the probability is based on an association of the particular event with a previously encountered data inconsistency;
- and
- determine that at least one event is associated with a data inconsistency, including:
- identify, at least one of said copies correlated with an event determined to be associated with a data inconsistency as a candidate point-in-time copy of data, for testing for a data inconsistency;
- select, particular tests for testing said candidate to determine whether said candidate has a data inconsistency, the selecting being based on a correlation between the event associated with the data inconsistency and a probability that each of the tests will detect the data inconsistency;
- schedule testing of said candidate using said tests, the scheduling includes prioritizing each of the selected tests based on an estimated run time;
- test said candidate with at least one of the tests selected to determine if said candidate has a data inconsistency;
- determine that the testing results with at least one data inconsistency, and correct the at least one inconsistency and provide the corrected point-in-time copy of data;
- monitor performance of the tests and a production application associated with said point-in-time copy of data;
- and
- if performance of the production application is below a pre-determined threshold, the tests are throttled to reduce performance impact on the production application.
Dependencies are inferred from the claim text.