A guest post by Alan NG Following part 1 where we discussed about PowerFlex native data protection using replication, part 2 will be focusing on another feature using snapshots. Snapshots Beside […]
A guest post by Alan NG
Following part 1 where we discussed about PowerFlex native data protection using replication, part 2 will be focusing on another feature using snapshots.
Beside replication, another key features of PowerFlex native data protection are its ability to create snapshots of volumes and consistency groups. Snapshots are point-in-time copies of data that can be used for backup, recovery, testing, and cloning purposes.
What is snapshot?
In its simplest term, a snapshot is just a set of reference markers or pointers for data at a specific point in time. It is like a detailed catalog, providing users with an accessible copy of the data they can roll back to.
What are the various type of snapshots?
There are many different ways of implementing snapshots. Some of the more popular techniques used in storage snapshot technology include Copy-on-write (COW), Redirect-on-write (ROW), Clone or split-mirror, Copy-on-write (COW) with background copy, Incremental and Continuous data protection (CDP).
Out of the few mentioned, there are only two strong contenders, namely COW and ROW.
Copy-on-write (COW): This technique requires storage capacity to be provisioned for snapshots like snapshot reserve pool. The snapshot stores only the metadata about where the original data is located and doesn’t copy the actual data at the initial creation. As blocks change, the original data is copied into the reserved storage capacity set aside for the snapshot prior to the original data being overwritten. This process ensures snapshot data is consistent with the exact time the snapshot was taken.
Redirect-on-write (ROW): This technique is similar to COW but instead of copying the original data before it is overwritten, it redirects the write to a new location and updates the metadata to point to the new location. This reduces the overhead of copying data and can improve performance.
In this example, a storage resource contains four blocks of data: A, B, C, and D. A snapshot is taken of the storage resource to preserve this point-in-time, and points to blocks A, B, C, and D. When a write request is directed to B, A and D, the data originally associated with B, A and D remains in place. The new data is written to different location on the disk B’, A’ and D’. After the write request is completed and acknowledged, the original data B, A and D is associated with the snapshot and the newly written data B’, A’ and D’ is associated with the master volume B, A and D.
PowerFlex has adopted the Copy-on-Write (COW) technique for its snapshot feature due to its simplicity in understanding and managing. Users do not need to spend a significant amount of time comprehending the underlying mechanism. All they need to know is that they can begin manipulating the snapshot volume once it is generated, as each new snapshot volume will appear as a new and unmapped volume in the system. Users can immediately mount the snapshot volume for tasks such as rolling back to a previous point in time for testing, performing frequent backups without impacting the production system, and more.
Another advantage of adopting COW is that since PowerFlex organizes snapshots into a volume tree hierarchical structure, snapshots can have relationships across different V-trees. Snapshots taken in this manner automatically form a Consistency Group, guaranteeing that they are from precisely the same point in time. This is particularly useful for crash-consistent snapshot-based backups across multiple volumes. Additionally, snapshots created in this way can be deleted with a simple single delete action, which will be further described in the section below.
However, for users who prioritize performance and seek a more space-efficient option, they can choose to use the FG snapshots native to PowerFlex. FG snapshots leverage a nature of space allocation at 4KB and inline data compression, offering better performance and greater space efficiency.
These snapshots can be initiated and managed manually through various clients such as PFxM, CLI, or REST API.
How PowerFlex Snapshots Work
A Volume Tree (V-Tree) is used to organize snapshots, which can contain up to 126 items and includes the root volume and all descendant snapshots. This means that the V-Tree not only includes snapshots of the root volume taken at different times but also snapshots of snapshots. The flexible merge and removal capabilities of PowerFlex snapshots allow for efficient data management and capacity optimization, even allowing for the removal of a snapshot’s parent while keeping the snapshot intact. In this way, the parent snapshot is merged into a child snapshot.
PowerFlex snapshot consistency groups
Snapshots in PowerFlex can have relationships across different V-Trees as shown, and when taking a snapshot, multiple volumes can be selected simultaneously. These snapshots taken together form a Consistency Group, which guarantees that all snapshots are from precisely the same point in time. Consistency Groups can be used to capture a crash-consistent snapshot-based backup across multiple volumes.
In a Consistency Group, the snapshots have a contextual relationship and can be manipulated together as a set. For example, the entire Consistency Group can be deleted as a single action, providing greater ease and efficiency in data management.
In PowerFlex Manager, select the checkbox next to the volumes you want to create a snapshot, click More Actions, and click Create Snapshot.
Once created, all the members of the consistency group will appear in the Details for any single member. Simply select the volume of type Snapshot and the View Details button.
Or Select all to delete all corresponding snapshots within the consistency group.
PowerFlex does not rigidly enforce the parent-child relationships in a V-Tree. It is possible to overwrite the contents of one snapshot with the contents from any other snapshot. In the following example, we have a root volume, a snapshot of the root volume, and a snapshot of the snapshot.
We can remove the root (or source) volume and choose whether we want to delete the descendent snapshots.
Alternatively, we might choose to overwrite the contents of the root volume with the contents of a child or ‘grandchild’ snapshot. Select the root volume as our target.
Then select the volume whose contents you want to use for the overwrite. You can select the time range in which to search for the snapshot you want. In this case, we will use the snapshot of a snapshot.
Click the Overwrite Content button to start the overwrite process. PowerFlex Manager will warn of the destructiveness of the process.
In general, there are few if any limits on the possible manipulations of members of a V-Tree. This sort of flexibility is useful in development scenarios wherein a gold copy might be used to develop and test many iterations and versions.
Snapshot policies in PowerFlex operate on a time retention mechanism and are organized hierarchically. For example, an organization may want to retain hourly snapshots for a day (24), daily snapshots for a week (7), and weekly snapshots for half a year (26). To put this policy into practice, a basic cadence is established, and the number of snapshots to keep at each level is determined. The number of snapshots to retain is equal to the frequency of moving the snapshot to the next level. This approach streamlines the implementation process and guarantees that the appropriate number of snapshots is preserved at each level. In PowerFlex, snapshot policies can have a maximum of 6 retention levels, and up to 60 snapshots can be kept under a policy.
For example, set the base interval to 60 minutes and another retention level to keep one snapshot for 7 days will result in keeping one daily copy for a week.
If we set another retention level to keep one of the daily copies for 4 weeks, we ensure that the system maintains (on a rotating basis):
Hourly snapshots for a day (24)
A daily snapshot for a week (7)
And a weekly snapshot for a month (4)
Customers have expressed a need for data immutability due to regulatory requirements such as Sarbanes-Oxley. To address this need, PowerFlex has implemented a snapshot policy that includes a date attachment. The Secure Snapshot policy ensures that data is unchangeable and cannot be deleted until the expiration date has been reached. In the event of an accidental creation of a Secure Snapshot, a business process involving two executive signatures and Dell Technologies support is necessary to delete it. Furthermore, PowerFlex 3.5.x introduces read-only snapshots that are useful for preserving templates or filesystem versions for various purposes. When a snapshot is created with the Secure Snapshot option, it is protected until the expiration time is reached, and there can be no data change, snapshot deletion, refresh, or restore/overwrite. Only expired Secure Snapshots can be deleted manually. It is worth noting that a new type of snapshot has been added, the Read-Only snapshot, which is always read-only.
Benefits of Using PowerFlex Snapshots
PowerFlex snapshots offer several benefits for data protection and management. Some of these benefits are:
– Snapshots provide a fast and easy way to backup and restore data in case of accidental deletion, corruption, or ransomware attacks. Snapshots can be restored to the original source or to a new volume or consistency group in minutes.
– Snapshots enable testing and development scenarios without affecting the production data. Snapshots can be mounted to different hosts or clusters and used for testing new applications, patches, or configurations. Snapshots can also be cloned to create writable copies of data for further testing or development.
– Snapshots support application-consistent backups and restores for various applications such as Microsoft SQL Server, Oracle Database, VMware vSphere, and Kubernetes. PowerFlex integrates with application-specific APIs and tools to ensure that the snapshots capture a consistent state of the application data.
– Snapshots can be scheduled and automated using policies and rules in PowerFlex Manager or using scripts and commands in the REST API. Snapshots can be created at regular intervals. Snapshots can also be automatically deleted or retained according to predefined retention policies.
How to Manage PowerFlex Snapshots
PowerFlex provides two ways to manage snapshots: using the PowerFlex Manager GUI or using the REST API.
The PowerFlex Manager GUI is a web-based interface that allows users to perform various operations on volumes, consistency groups, and snapshots. Users can create, overwrite, set limit, lock, unlock, and remove snapshots using simple clicks and menus. Users can also configure snapshot policies and rules to automate snapshot creation and deletion.
The REST API is a programmatic interface that allows users to interact with PowerFlex using HTTP requests and responses. Users can use any programming language or tool that supports RESTful web services to perform operations on volumes, consistency groups, and snapshots. Users can also use scripts and commands to automate snapshot management tasks.
PowerFlex snapshots are a powerful feature that enables users to protect and manage their data efficiently and effectively. PowerFlex snapshots leverage a copy-on-write mechanism that minimizes the storage space and performance impact of creating and maintaining snapshots. PowerFlex snapshots offer several benefits such as fast backup and recovery, testing and development support, application-consistent protection, and automation capabilities. PowerFlex snapshots can be easily managed using the PowerFlex Manager GUI or the REST API.
To learn more about PowerFlex snapshots and other features of PowerFlex, please visit our website or contact us today.