Can an image based backup potentially corrupt data?
        Posted  
        
            by 
                ServerAdminGuy45
            
        on Server Fault
        
        See other posts from Server Fault
        
            or by ServerAdminGuy45
        
        
        
        Published on 2013-10-24T02:41:36Z
        Indexed on 
            2013/10/24
            3:57 UTC
        
        
        Read the original article
        Hit count: 585
        
I'm considering doing image based backups (Acronis) on production Windows systems during non-peak hours. I'm just wondering if they can potentially lead to application data corruption. Lets say that I have a database that is getting hit pretty hard. Could I potentially have the beginning blocks of the database be commit ed to the image, data inserted into the db (which changes the beginning blocks of the DB on the server but not the image), then the blocks of data committed to the image (leading to an inconsistent state).
Here's an example of what I'm trying to illustrate. Imagine a simple data structure which has a number in the front which represents the number of "a"s in a file. The number and data are delimited by a "-". For example:
 4-ajjjjjjjajuuuuuuuaoffffa
If an "a" is changed, the datastructure resets the number in the begining of the file such as:
 3-ajjjjjjjajuuuuuuuboffffa
I assume acronis writes block by block being a straight up image so here is what i'm invisioning happening with my database
 t0: 4-ajjjjjjjajuuuuuuuaoffffa
     ^pointer is here
 t1: 4-ajjjjjjjajuuuuuuuaoffffa
               ^pointer is here (all data before this is comitted to the image)
 t2: 4-ajjjjjjjajuuuuuuuboffffa
                 ^pointer is here (all data before this is comitted to the image)
     Also notice how one of the "a"s change to a b.  There are only 3 "a"s now
 t3: 4-ajjjjjjjajuuuuuuuboffffa
                               ^pointer is here (all data before this is comitted to the image)
The final image now reads "4-ajjjjjjjajuuuuuuuboffffa", while the true data is "3-ajjjjjjjajuuuuuuuboffffa" leading to a corrupt "database".
Basically changes further down the blockchain could be reflected in the image, while important header and synchronization could already be committed. The out of date header information doesn't accurately reflect the structure of the blocks to come.
© Server Fault or respective owner