Snapshots (read-only point in time copies) and clones (writable point in time copies) are table stakes features for enterprise storage for many years. Many of the storage solutions out in the market implement snapshots and clones, but not all snapshot and clone technologies are created equal. Especially in virtualized environments, snapshots and clones must be scalable and manageable to enable customers to leverage their full potential. Snapshots and clones support multiple use cases in the virtual data center. In this blog, we will discuss the following two use cases:

      • Short term data protection

      • Test and development

Short term data protection

The key requirements to support this use case are:

      • Streamlined recovery from snapshots

      • Support a large number of snapshots (in the 1000s or more)

      • Efficiently and rapidly (in seconds) create snapshots

Streamlined recovery from snapshots: Data protecion is all about streamlining data recoverability. Rapid recovery of VMs from snapshots is vital for an organization. Recovery that takes hours will leave the organization without access to data for hours causing loss of revenue. Ideally, the recovery time from snapshots should be in seconds. It is also important to have the ability to recover at the granularity of a VM to make it simple and fast.

Support a large number of Snapshots: In a virtual environment with many VMs, the number of snapshots required for short term data protection policy that minimzes data loss (good Recovery Point Objective – RPO) adds up very quickly. In a scenario where a snapshot is taken every 4 hours and the requirement is to retain the snapshot for 7 days for 200 VMs, the storage has to support 8,400 snapshots (200*6*7 = 8,400).

Effeciently and rapidly create snapshots: Due to the large number of snapshots, it is very important to minimize the overall resource consumption required to create each snapshot and provide the ability to rapidly create snapshots. Ideally, snapshot creation should be a sub-second operation. It is also important to ensure that snapshot creation doesn’t impose performance degradation to the base VM or any other snapshot or clone.

Test and Development

Clones provide an effective way to deliver point-in-time copies of the latest production data and accelerate time-to-market of applications. Additionally, having the ability to manage these point-in-time copies by the test and development team is icing on the cake.

The key requirements to support this use case are:

      • Rapidly create many clones without performance degradation

      • Ability to create and manage the clones by the test and development teams

Similar to snapshots, the number of clone creations quickly adds up. For example, if there are 20 team members and each of them need at least 10 different environments, the system should have the ability to create 200 clones. It is extremely important to maintain the performance of these clones as well as the base VMs so that the team members can effectively use them.

Clone creation shouldn’t require knowledge of storage constructs such as volumes/LUNs/filesystems and how various VMs are mapped to storage constructs. The ability to clone at the granularity of a VM is very improtant for simplifing clone creation and enabling test and development teams to leverage clones independently from the IT or storage team.

Maxta’s snapshots and clones address all of the above requirements. Maxta delivers an unlimited number of time, performance, and capacity efficient VM level snapshots and zero-copy clones. Maxta leverages a log based layout approach for data placement and metadata for mapping data blocks to their storage locations. Therefore, once updated, the new image of a data block is not stored “in-place” to the same storage location that contains the previous image of the data block. Instead, the new image of the data block is written to a new storage location and the metadata is updated to reflect the change in the storage location of the data block. With this approach, the creation of a snapshot/clone is merely the creation of metadata for the snapshot/clone that initially points to the same data blocks as the source. Once a data block is updated for a VM or clone, the metadata for the respective VM/clone is updated to reflect the storage location of the new data image while the metadata of all snapshots and clones of that VM/clone are kept unchanged. The source for a snapshot or clone can be a VM, another snapshot, or another clone.

It takes less than a second to create a snapshot or a clone independent of the capacity of the source. There is no upfront space reservation when creating snapshots or clones and they do not consume any capacity unless data is modified. Creating snapshots and clones does not impact the performance of VMs or other snapshots/clones either.

In summary, Maxta snapshots and clones effectively and efficiently support short term data protection and test and development use cases. Next time when considering storage needs for either of the above use cases, make sure to ask the right questions about the solution under consideration!