
Chapter 1, Introduction 13
Frozen Image Overview
Copy-on-Write Snapshot
A copy-on-write snapshot is a detailed account of data as it existed at a certain moment.
Unlike a mirror, explained in the next section, a copy-on-write snapshot is not really a copy
of the data, but a particular “record” of it.
The copy-on-write snapshot process works as follows: when a frozen image is required,
any unfinished transactions or changes to the source data are allowed to complete, but
new changes are temporarily stalled. The source is momentarily idled (made quiescent),
and a snapshot driver is injected into the host operating system. Once the snapshot driver is
activated, new transactions or changes (writes) to the source data are allowed to take
place. However, the snapshot driver briefly intercepts or holds the write requests. While
holding those requests, it copies to cache any blocks that will be affected by those writes,
and keeps a record of the cached blocks. In other words, it reads each source block that is
about to change, copies the block’s current data to cache, and records the location and
identity of the cached blocks. Then the intercepted writes are allowed to take place in the
source blocks. (See figure “Copy-on-write snapshot process” on page 14.)
Comentarios a estos manuales