Synchronizing snapshot volumes across hosts
First Claim
Patent Images
1. A computer-readable storage medium having computer-executable instructions for causing a computer system to perform a method of synchronizing snapshots, said method comprising:
- accessing a first volume of data on a primary host, said first volume comprising a plurality of blocks of data including a first block of data;
accessing a first snapshot of said first volume, said first snapshot comprising first metadata that points to blocks of data in said first volume that are unchanged since creation of said first snapshot, wherein said first metadata is included in said first snapshot instead of including in said first snapshot copies of said blocks of data that are unchanged since said creation of said first snapshot, said first snapshot comprising only copies of blocks of data that have been overwritten in said first volume since said creation of said first snapshot;
prior to overwriting said first block of data in said first volume with changed data, writing said first block of data from said first volume to said first snapshot to produce a modified first snapshot; and
synchronizing said modified first snapshot and a second snapshot of a second volume of data on a secondary host to produce a modified second snapshot, wherein said second volume comprises a replica of said first volume, said synchronizing comprising copying only a first portion of said modified first snapshot from said first snapshot to said second snapshot, said first portion comprising said first block of data.
7 Assignments
0 Petitions
Accused Products
Abstract
Prior to overwriting a block of data in a first volume of data on a primary host, the block of data is written to a first snapshot of the first volume. Subsequently, the first snapshot can be synchronized with a snapshot of a second volume of data on a secondary host, where the second volume is a replica of the first volume. To synchronize the snapshots, only a portion of the first snapshot (e.g., the block of data that was written to the first snapshot) is sent to the secondary host.
31 Citations
19 Claims
-
1. A computer-readable storage medium having computer-executable instructions for causing a computer system to perform a method of synchronizing snapshots, said method comprising:
-
accessing a first volume of data on a primary host, said first volume comprising a plurality of blocks of data including a first block of data; accessing a first snapshot of said first volume, said first snapshot comprising first metadata that points to blocks of data in said first volume that are unchanged since creation of said first snapshot, wherein said first metadata is included in said first snapshot instead of including in said first snapshot copies of said blocks of data that are unchanged since said creation of said first snapshot, said first snapshot comprising only copies of blocks of data that have been overwritten in said first volume since said creation of said first snapshot; prior to overwriting said first block of data in said first volume with changed data, writing said first block of data from said first volume to said first snapshot to produce a modified first snapshot; and synchronizing said modified first snapshot and a second snapshot of a second volume of data on a secondary host to produce a modified second snapshot, wherein said second volume comprises a replica of said first volume, said synchronizing comprising copying only a first portion of said modified first snapshot from said first snapshot to said second snapshot, said first portion comprising said first block of data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 18, 19)
-
-
8. A computer system comprising:
-
a processor; and memory coupled to said processor and having stored therein instructions that, if executed by said computer system, cause said computer system to execute a method of synchronizing snapshots, said method comprising; accessing a first snapshot of a first volume of data, said first snapshot comprising a plurality of regions comprising valid regions and invalid regions, wherein said invalid regions comprise metadata that point to blocks of data in said first volume that are unchanged since creation of said first snapshot, wherein said metadata is included in said first snapshot instead of including in said first snapshot copies of said blocks of data that are unchanged since said creation of said first snapshot, and wherein said valid regions comprise copies of blocks of data that have been overwritten in said first volume since said creation of said first snapshot; and synchronizing said first snapshot and a second snapshot of a second volume of data, wherein said second volume comprises a replica of said first volume, said synchronizing comprising writing said valid regions but not said invalid regions from said first snapshot to said second snapshot. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer-readable storage medium having computer-executable components for managing data on a primary host device, said components comprising:
-
a virtual disk comprising a first volume of data stored in an array of physical disks, said first volume comprising a plurality of blocks of data; and a volume manager coupled to said virtual disk, said volume manager operable for; replicating said first volume of data to create a second volume of data on a secondary host; creating a first snapshot of said first volume, said first snapshot comprising metadata that points to blocks of data in said first volume that are unchanged since creation of said first snapshot, wherein said metadata is included in said first snapshot instead of including in said first snapshot said blocks of data that are unchanged since said creation of said first snapshot, said first snapshot comprising only blocks of data that have been overwritten in said first volume since said creation of said first snapshot; writing a subset of said blocks of data in said first volume to said first snapshot prior to overwriting said subset of blocks in said first volume with new data to produce a modified first snapshot; and synchronizing said modified first snapshot and a second snapshot of said second volume of data by sending only a portion of said modified first snapshot from said first snapshot to said second snapshot, said portion comprising said subset of blocks. - View Dependent Claims (14, 15, 16, 17)
-
Specification