Continuous Data Protection(CDP)

Overview

Continuous Data Protection (CDP) provides second-level and fine-grained continuous backups for important business systems in VM instances, allowing users to restore VM data to a specific time state, and retrieve files without restoring the system. ZStack Cloud provides automated solutions on resuming all applications if a hardware or operating system failure occurs.

The Continuous Data Protection (CDP) service is a separate feature module. To use this service, purchase both the Base License and the Plus License of Continuous Data Protection (CDP). The Plus License cannot be used independently.

Concepts

  • CDP task: You can create a CDP task to continuously back up your VM data to a specified backup server to achieve continuous data protection and recovery.
  • Recovery task: A recovery task helps you quickly restore data by specifying a CDP task and recovery point, and allows you to view the recovery progress and logs in a more friendly way.
  • CDP data: The backup data generated from continuous data protection on VM instances is stored in local backup servers.
  • Recovery point: A recovery point is a data point generated during continuous data protection. A recovery point corresponds to a data record within the recovery point interval specified by the user.
  • Locked recovery point: You can lock or unlock a recovery point as needed. After a recovery point is locked, data of the recovery point will not be automatically cleared or deleted.

How CDP Works

ZStack Cloud provides block-level continuous data protection. You can restore CDP data according to a specified time point.

  • CDP backup

    After continuous data protection is performed on a VM instance, the CDP server first performs a full copy of the VM data, continuously captures I/O data changes, and timestamps, and saves the I/O data of each change, thereby achieving continuous data backup.

    Figure 1. CDP Backup


  • CDP recovery

    When data recovery is performed, the CDP server exposes the CDP data as a block device and then restores the I/O data at a specified time to the disk or file system of a primary storage.

    Figure 2. CDP recovery


Advantages

  • Simple:
    • The software-defined solution we provide is hardware-independent and scalable.
    • You can preview the backup files without restoring the system. Supported file formats: pictures (.png, .jpg, .bmp, .gif, etc.), PDF files, and text files (equal to or smaller than 10 MB).
    • When you create a CDP task for the first time, the Cloud intelligently recommends the desired capacity required by a CDP task based on an algorithm, helping you to plan the backup space reasonably.
    • You can restore data through a wizard-style process.
  • Strong:
    • Agentless backup: To use the CDP service, you do not need to install agents for your VM instances or couple with other applications. This helps reduce the configuration complexity, lower the VM performance loss, and guarantee the business security.
    • Second-level RPO: Provides second-level fine-grained continuous data protection for VM instances.
    • Instant recovery: Supports instant recovery with the RTO in seconds, which helps to ensure the business continuity.
    • Primary storage support: The CDP service applies to VM instances in different primary storage scenarios, including local, NFS, SharedBlock, and Ceph primary storages.
  • Flexible:
    • Flexible RPO settings: Provides second/minute-level RPO settings.
    • Multiple recovery levels: Supports entire recovery and file-level recovery.
      • Entire recovery: You can restore data to the original VM instance or to a newly-created VM instance.
      • File-level recovery: You can retrieve files without restoring the system. Both Windows and Linux file system formats are supported.
    • Flexible data display and search:
      • The CDP data page displays hourly data changes of a VM instance, which provides a reference for backup capacity planning.
      • The CDP data page also provides a recovery point calendar, which identifies the dates with recovery points with colors. This helps you locate a recovery point quickly.
  • Reliable:
    • Unified O&M: You can view the critical CDP information on the CDP overview page, including the CDP task status, recovery task status, backup server usage, and unread CDP alarms.
    • You can restore CDP data to the original VM instance by creating a volume for the VM instance. All of the volumes before recovery can be retained and attached to the VM instance again, which ensures the data security to the maximum extent and facilitates post-fault analysis.
    • The "Create VM instance" recovery policy allows you to create a new VM instance from the selected recovery point without affecting the original VM instance. You can finish the recovery after you confirm that the data is correct. This helps to meet the recovery drill requirements.
    • You can mark and lock recovery points to retain the recovery point data in long term.
    • The Cloud provides a list of recovery tasks, allowing you to view the recovery records and progress in a more friendly way.
    • The RPO latency policy and alarm help to effectively relieve data transmission pressure of backup servers in heavy I/O scenarios.

Scenarios

The CDP service can be applied in the following scenarios:
  • Continuous protection of critical business data

    You can use the CDP service to continuously back up and protect critical business data, such as banking system data and financial transaction data, minimizing data loss and ensuring your business continuity.

  • Anti-virus and data recovery

    In case of virus invasion, such as a ransomware attack, you can use CDP to restore data to any point in time to reduce the loss caused by the virus.

Limits

Currently, if a VM instance has volumes not stored on the Ceph primary storage, you could not clone the VM instance or create snapshots or images for the VM instance during CDP.

Inventory

CDP Policy Inventory

Name Description Optional Valid Value Starting Version
uuid The UUID. For more information, see Resource Property. 4.5.0
name The name. For more information, see Resource Property. 4.5.0
description The description. For more information, see Resource Property. Yes 4.5.0
retentionTimePerDay The retention period of the recovery point. 4.5.0
recoveryPointPerSecond The time interval between two recovery points. 4.5.0
state The state of the CDP policy. 4.5.0
createDate The user tags. For more information, see Resource Property. 4.5.0
lastOpDate The creation date. For more information, see Resource Property. 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

Sample

{
    "inventories": [
        {
            "createDate": "Nov 3, 2022 1:04:37 PM",
            "dailyRpSinceDay": 7,
            "description": "",
            "expireTimeInDay": 0,
            "fullBackupIntervalInDay": 7,
            "hourlyRpSinceDay": 3,
            "lastOpDate": "Nov 3, 2022 1:04:37 PM",
            "name": "1",
            "recoveryPointPerSecond": 3,
            "retentionTimePerDay": 3,
            "state": "Enabled",
            "uuid": "0e3dbdafcc2f43b9ad26cd4bb74529f3"
        },
        {
            "createDate": "Nov 15, 2022 1:40:26 PM",
            "dailyRpSinceDay": 7,
            "expireTimeInDay": 30,
            "fullBackupIntervalInDay": 2,
            "hourlyRpSinceDay": 3,
            "lastOpDate": "Nov 15, 2022 1:40:26 PM",
            "name": "MyCdpPolicyName",
            "recoveryPointPerSecond": 5,
            "retentionTimePerDay": 3,
            "state": "Enabled",
            "uuid": "38ccf86778c34e2984f9e71fe602e772"
        }
    ],
    "success": true
}

CDP Task Inventory

Name Description Optional Valid Value Starting Version
uuid The UUID. For more information, see Resource Property. 4.5.0
name The name. For more information, see Resource Property. 4.5.0
description The description. For more information, see Resource Property. Yes 4.5.0
policyUuid The permission policy UUID. 4.5.0
backupStorageUuid The backup storage UUID. 4.5.0
backupBandwidth The rate of backing up a volume. 4.5.0
maxCapacity The capacity planned for the CDP task. 4.5.0
usedCapacity The CDP capacity used. 4.5.0
status The CDP task status. 4.5.0
state The running state of the CDP task. 4.5.0
taskType VM instance. 4.5.0

Sample

{
    "inventories": [
        {
            "backupBandwidth": 104857600,
            "backupStorageUuid": "fa482b997b8749b8b86356f22469fdcd",
            "createDate": "Nov 15, 2022 1:45:43 PM",
            "lastLatency": 0,
            "lastOpDate": "Nov 15, 2022 5:01:09 PM",
            "maxCapacity": 107374182400,
            "maxLatency": 107374182400,
            "name": "MyCdpTask",
            "policyUuid": "38ccf86778c34e2984f9e71fe602e772",
            "resourceRefs": [
                {
                    "createDate": "Nov 15, 2022 1:45:43 PM",
                    "lastOpDate": "Nov 15, 2022 1:45:43 PM",
                    "resourceType": "VmInstanceVO",
                    "resourceUuid": "0ce61252ccc5439d81cf629c85044601",
                    "taskUuid": "36cd872743b54e64bc806c2cd26e0726"
                }
            ],
            "state": "Enabled",
            "status": "Running",
            "taskType": "VM",
            "usedCapacity": 27574272,
            "uuid": "36cd872743b54e64bc806c2cd26e0726"
        }
    ],
    "success": true
}

resourceRefs Inventory

Name Description Optional Valid Values Starting Version
taskUuid The CDP task UUID. 4.5.0
resourceUuid The resource UUID. 4.5.0
resourceType The resource list. 4.5.0
createDate See Resource Property. 4.5.0
lastOpDate See Resource Property. 4.5.0

Sample

[
                {
                    "createDate": "Nov 15, 2022 1:45:43 PM",
                    "lastOpDate": "Nov 15, 2022 1:45:43 PM",
                    "resourceType": "VmInstanceVO",
                    "resourceUuid": "0ce61252ccc5439d81cf629c85044601",
                    "taskUuid": "36cd872743b54e64bc806c2cd26e0726"
                }
            ]

Operations

CreateCdpPolicy

Creates a CDP policy. For example,
CreateCdpPolicy name=MyCdpPolicyName hourlyRpSinceDay=3 dailyRpSinceDay=7 expireTimeInDay=30 fullBackupIntervalInDay=2 recoveryPointPerSecond=5

Parameters

Name Description Optional Valid Value Starting Version
name The resource name. 4.5.0
description The detailed description of the resource. Yes 4.5.0
retentionTimePerDay The retention time of a recovery point. 4.5.0
recoveryPointPerSecond The interval between recovery points. 4.5.0
hourlyRpSinceDay A date from which the system retains a recovery point per hour. 4.5.0
dailyRpSinceDay A date from which the system retains a recovery point per day. 4.5.0
expireTimeInDay The expiration date of the backup data. 4.5.0
fullBackupIntervalInDay The interval of creating full backups. 4.5.0
resourceUuid The resource UUID. Yes 4.5.0
tagUuids The UUID tag list. Yes 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

DeleteCdpPolicy

Deletes a CDP policy. For example,
DeleteCdpPolicy uuid=b9cecd11b0e54347819fde74e8ae787c

Parameters

Name Description Optional Valid Value Starting Version
uuid The resource UUID. 4.5.0
deleteMode The deletion mode. Yes
  • Permissive
  • Enforcing
  • Permissive
4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

QueryCdpPolicy

Queries a CDP policy. For example,
QueryCdpPolicy uuid=b9cecd11b0e54347819fde74e8ae787c

Primitive Fields of Query

See CDP Policy Inventory.

UpdateCdpPolicy

Updates a CDP policy. For example,
UpdateCdpPolicy name=changename hourlyRpSinceDay=3 dailyRpSinceDay=7 expireTimeInDay=30 fullBackupIntervalInDay=2 recoveryPointPerSecond=3 uuid=b9cecd11b0e54347819fde74e8ae787c

Parameters

Name Description Optional Valid Value Starting Version
uuid The resource UUID. 4.5.0
name The resource name. Yes 4.5.0
description The detailed description of the resource. Yes 4.5.0
retentionTimePerDay The retention time of a recovery point. Yes 4.5.0
recoveryPointPerSecond The time interval between two recovery points. Yes 4.5.0
hourlyRpSinceDay The date from which the system retains a recovery point per hour. 4.5.0
dailyRpSinceDay The date from which the system retains a recovery point per day. 4.5.0
expireTimeInDay The expiration date of backup data. 4.5.0
fullBackupIntervalInDay The time interval of creating full backups. 4.5.0
resourceUuid The resource UUID. Yes 4.5.0
tagUuids The UUID Tag list. Yes 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

CreateCdpTask

Creates a CDP task. For example,
CreateCdpTask name=MyCdpTestTask taskType=VM backupStorageUuid=fa482b997b8749b8b86356f22469fdcd backupBandwidth=104857600 maxCapacity=107374182400 maxLatency=107374182400 resourceUuids=0ce61252ccc5439d81cf629c85044601 policyUuid=38ccf86778c34e2984f9e71fe602e772

Parameters

Name Description Optional Valid Value Starting Version
name The resource name. 4.5.0
description The detailed description of the resource. Yes 4.5.0
taskType The CDP task type. 4.5.0
policyUuid The permission policy UUID. 4.5.0
backupStorageUuid The backup storage UUID. 4.5.0
resourceUuids The list of backed up resources. 4.5.0
backupBandwidth The backup rate per volume. Yes 4.5.0
maxCapacity The capacity planned for the CDP task. Yes 4.5.0
maxLatency The maximum RPO latency of the CDP task. Yes 4.5.0
resourceUuid The resource UUID. Yes 4.5.0
tagUuids The tag UUID list. Yes 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

DeleteCdpTask

Deletes a CDP task. For example,
DeleteCdpTask uuid=7d5bc45ac2994a598b2449c48d81246a

Parameters

Name Description Optional Valid Value Starting Version
uuid The resource UUID. 4.5.0
deleteMode The deletion mode. Yes
  • Permissive/Enforcing
  • Permissive
4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

QueryCdpTask

Queries a CDP task. For example,
QueryCdpTask uuid=36cd872743b54e64bc806c2cd26e0726

Primitive Fields of Query

See CDP Task Inventory

Nested And Expanded Fields of Query

Name Description Optional Valid Value Starting Version
resourceRefs See resourceRefs Inventory. 4.5.0

UpdateCdpTask

Updates a CDP task. For example,
UpdateCdpTask name=MyCdpTask uuid=36cd872743b54e64bc806c2cd26e0726

Parameters

Name Description Optional Valid Value Starting Version
uuid The resource UUID. 4.5.0
name The resource name. Yes 4.5.0
description The detailed description of the resource. Yes 4.5.0
backupBandwidth The backup rate per volume. Yes 4.5.0
maxCapacity The capacity planned for the CDP task. Yes 4.5.0
maxLatency The maximum RPO latency of the CDP task. Yes 4.5.0
resourceUuid The resource UUID. Yes 4.5.0
tagUuids The UUID tag list. Yes 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

EnableCdpTask

Enables a CDP task. For example,
EnableCdpTask uuid=36cd872743b54e64bc806c2cd26e0726

Parameters

Name Description Optional Valid Value Starting Version
uuid The Resource UUID. 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

DisableCdpTask

Disables a CDP task. For example,
DisableCdpTask uuid=7d5bc45ac2994a598b2449c48d81246a

Parameters

Name Description Optional Valid Value Starting Version
uuid The Resource UUID. 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

MergeDataOnBackupStorage

Merges CDP data on a backup storage. For example,
MergeDataOnBackupStorage backupStorageUuid=0530283e6a5b3a66836d5965c0ee644e

Parameters

Name Description Optional Valid Value Starting Version
backupStorageUuid The backup storage UUID. 4.8.10
userTags The user tags. For more information, see CreateUserTag. Yes 4.8.10
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.8.10

ProtectVmInstanceRecoveryPoint

Protects a VM recovery point. For example,
ProtectVmInstanceRecoveryPoint vmInstanceUuid=0ce61252ccc5439d81cf629c85044601 groupId=116

Parameters

Name Description Optional Valid Value Starting Version
vmInstanceUuid The VM instance UUID. 4.5.0
groupId The recovery point ID. 4.5.0
description The detailed description of the resource. Yes 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

GetVmInstanceProtectedRecoveryPoints

Gets a VM recovery point. For example,
GetVmInstanceProtectedRecoveryPoints uuid=0ce61252ccc5439d81cf629c85044601
Name Description Optional Valid Value Starting Version
uuid The resource UUID. 4.5.0
limit The maximum number of records returned. Yes 4.5.0
start The starting position. Yes 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

UnprotectVmInstanceRecoveryPoint

Unprotects a VM recovery point. For example,
UnprotectVmInstanceRecoveryPoint vmInstanceUuid=0ce61252ccc5439d81cf629c85044601 groupId=116

Parameters

Name Description Optional Valid Value Starting Version
vmInstanceUuid The VM instance UUID. 4.5.0
groupId The recovery point ID. 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

CreateVmFromCdpBackup

Creates a VM Instance based on a CDP recovery point. For example,
CreateVmFromCdpBackup name=CDP-create groupId=623 cdpTaskUuid=36cd872743b54e64bc806c2cd26e0726 instanceOfferingUuid=b55b9f0ecbb2483eabeac132de7f01a6 l3NetworkUuids=07965f453e2048d381fd0f30dca4b36b clusterUuid=2a1cbeab44f54c58952a47c7a487fd4d recoverBandwidth=0 systemTags=vmSystemSerialNumber::97e8900b-f9c8-4144-86ae-ca6238ead4a4

Parameters

Name Description Optional Valid Value Starting Version
name The resource name. 4.5.0
groupId The recovery point ID. 4.5.0
cdpTaskUuid The CDP task UUID. 4.5.0
instanceOfferingUuid The UUID of the instance offering . 4.5.0
defaultL3NetworkUuid The UUID of the default L3 network. Yes 4.5.0
l3NetworkUuids The L3 network UUID list. 4.5.0
type The VM instance type. Yes
  • UserVm
  • ApplianceVm
4.5.0
zoneUuid The zone UUID. Yes 4.5.0
clusterUuid The cluster UUID. Yes 4.5.0
hostUuid The host UUID. Yes 4.5.0
primaryStorageUuidForRootVolume The UUID of the primary storage where the VM root volume resides. Yes 4.5.0
primaryStorageUuidForDataVolume The UUID of the primary storage where VM data volumes reside. Yes 4.5.0
recoverBandwidth The recovery bandwidth. Yes 4.5.0
description The detailed description of the resource. Yes 4.5.0
rootVolumeSystemTags The root volume system tags. Yes 4.5.0
dataVolumeSystemTags The data volume system tags. Yes 4.5.0
resourceUuid The resource UUID. Yes 4.5.0
tagUuids The UUID tags. Yes 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0
Note: The systemTags. For more information, seeQuerySystemTag

RevertVmFromCdpBackup

Reverts a VM Instance based on a CDP recovery point. For example,
RevertVmFromCdpBackup vmInstanceUuid=0ce61252ccc5439d81cf629c85044601 groupId=623 backupStorageUuid=fa482b997b8749b8b86356f22469fdcd recoverBandwidth=0 systemTags=vmSystemSerialNumber::97e8900b-f9c8-4144-86ae-ca6238ead4a4 useExistingVolume=true

Parameters

Name Description Optional Valid Value Starting Version
vmInstanceUuid The VM instance UUID. 4.5.0
backupStorageUuid The backup storage UUID. 4.5.0
groupId The recovery point ID. 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
primaryStorageUuidForRootVolume The UUID of the primary storage where the VM root volume resides. Yes 4.5.0
primaryStorageUuidForDataVolume The UUID of the primary storage where VM data volumes reside. Yes 4.5.0
hostUuid The host UUID. Yes 4.5.0
useExistingVolume Whether make the original VM volumes overridden by the backup data. Yes 4.5.0
recoverBandwidth The recovery bandwidth. Yes

DeleteCdpTaskData

Deletes a CDP task data. For example,
DeleteCdpTaskData uuid=7d5bc45ac2994a598b2449c48d81246a

Parameters

Name Description Optional Valid Value Starting Version
uuid The resource UUID. 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

GetVmInstanceRecoveryPoints

Finds a CDP recovery point. For example,
GetVmInstanceRecoveryPoints uuid=0ce61252ccc5439d81cf629c85044601

Primitive Fields of Query

Name Description Optional Valid Value Starting Version
uuid The resource UUID. 4.5.0
startTime The start time of the finding. Yes 4.5.0
endTime The end time of the finding. Yes 4.5.0
scale Time unit of the finding. Yes
  • minute
  • hour
  • day
4.5.0
limit Maximum number of records returned. Yes 4.5.0
start Starting position of the finding. Yes 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

MountVmInstanceRecoveryPoint

Mounts a recovery point. For example,
MountVmInstanceRecoveryPoint vmUuid=0ce61252ccc5439d81cf629c85044601 groupId=116

Primitive Fields of Query

Name Description Optional Valid Value Starting Version
vmUuid The VM instance UUID. 4.5.0
groupId The recovery point ID. 4.5.0
https Enable or disable https. Yes 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

UnmountVmInstanceRecoveryPoint

Unmounts a recovery point. For example,
UnmountVmInstanceRecoveryPoint vmUuid=0ce61252ccc5439d81cf629c85044601 groupId=116
Name Description Optional Valid Value Starting Version
vmUuid The VM instance UUID. 4.5.0
groupId The recovery point ID. 4.5.0
userTags The user tags. For more information, see CreateUserTag. Yes 4.5.0
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.5.0

GetCdpBackupStorageRequirement

Gets the CDP backup storage requirements. For example,
GetCdpBackupStorageRequirement backupStorageUuid=ce44cb9ea12c354495fc6b4313fc90de
Name Description Optional Valid Value Starting Version
backupStorageUuid The backup storage UUID. 4.8.10
limit Yes 4.8.10
start Yes 4.8.10
userTags The user tags. For more information, see CreateUserTag. Yes 4.8.10
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.8.10

UpgradeBackupStorageCdpTasks

Upgrades the CDP tasks on the backup storage. For example,
UpgradeBackupStorageCdpTasks backupStorageUuid=618da5c98de33bb0bc2434a80f0ab889
Name Description Optional Valid Value Starting Version
backupStorageUuid The backup storage UUID. 4.8.10
userTags The user tags. For more information, see CreateUserTag. Yes 4.8.10
systemTags The system tags. For more information, see CreateSystemTag. Yes 4.8.10
CLI Command Manual | 4.8.38 | ZStack Cloud · ZCF | ZStack Resource Center