RECONCILING A FILE SYSTEM TO A POINT IN TIME USING INCREMENTAL BACKUP DATA
Original Publication Date: 2000-Feb-01
Included in the Prior Art Database: 2003-Jun-20
An algorithm is described that reconciles a client file system to its state at a specified point in time using incremental backup data stored on a storage-management server. This is accomplished by restoring selected files from the server to the client and by deleting selected files from the client file system. After the algorithm has been executed, the client file system corresponds to its state at the desired point in time. In a typical embodiment, this algorithm is used in a client-server system. A storage-management server stores objects that have been backed up or archived from various client nodes. The server stores client data in a storage hierarchy consisting of various media types (e.g., disk, tape, optical) and uses a database for tracking the attributes and storage location of each client object. Traditionally, the client and server operate in the following distinct modes. In one mode of operation, the client and server cooperate to perform an incremental backup. In this operation, the client examines a file system and sends to the server a copy of each file that has not previously been backed up to the server or that has been modified since the last backup. For each file received during an incremental backup, the server stores the file in its storage hierarchy and also stores meta-data about that file in its database. Incremental backup allows each individual file to be cataloged by the server and allows any or all such files to be restored to the server. However, incremental backup and restore can be inefficient because each file must be processed individually by both the client and the server. This inefficiency can be problematic during a restore of an entire file system, since critical time may be lost as each file is restored individually. In an alternate mode of operation, the client and server may perform an image backup. In this operation, the client creates an image of the entire file system and sends this image to the server as a single object. If the entire file system must be restored to the client, the server can send the file system image and the client then processes this image to re-create the file system as it existed at the time the image was created. Image backup and restore operations are efficient because handling of individual files is greatly reduced. However, any changes to the file system after the image was created will not be reflected in the restored file system.