Forum Discussion

2 Replies

  • Copy on First Write?

    Whenever a write request comes to a chunk on source LUN for the first time, existing data on that chunk will be copied to reserved LUN (virtual volume) and then the write request will be processed. 


    From Wiki about CoW: The COW concept is also used in maintenance of instant snapshot on database servers like Microsoft SQL Server 2005. Instant snapshots preserve a static view of a database by storing a pre-modification copy of data when underlying data are updated. Instant snapshots are used for testing uses or moment-dependent reports and should not be used to replace backups.

  • For backup, COW means that you do not look at a volume on a file level, but on a block level. After your snapshot at the beginning of the job, every block that is the target of a write operation is copied to a cache location first, and then the update of the block is done. When a file is backed up that has changed blocks, the original blocks from the cache lacation are used to write the file as it was at the beginning of the backup job (i.e. when the snapshot was taken). This means that you can back up files that are in use during the backup - provided you use AOFO (the Advanced Open file Option). Else you get skipped files...

    This also works for VSS-aware applications like Exchange or SQL.