Clone backups using PowerShell cmdlets
The clone workflow includes planning, performing the clone operation, and monitoring the operation.
You must have prepared the PowerShell environment to execute the PowerShell cmdlets.
Steps
-
Initiate a connection session with the SnapCenter Server for a specified user by using the Open-SmConnection cmdlet.
Open-SmConnection -SMSbaseurl https://snapctr.demo.netapp.com:8146
-
List the backups that can be cloned by using the Get-SmBackup or Get-SmResourceGroup cmdlet.
This example displays information about all available backups:
C:\PS>PS C:\> Get-SmBackup BackupId BackupName BackupTime BackupType -------- ---------- ---------- ---------- 1 Payroll Dataset_vise-f6_08... 8/4/2015 Full Backup 11:02:32 AM 2 Payroll Dataset_vise-f6_08... 8/4/2015 11:23:17 AM
This example displays information about a specified resource group, its resources, and associated policies:
PS C:\> Get-SmResourceGroup -ListResources –ListPolicies Description : CreationTime : 8/4/2015 3:44:05 PM ModificationTime : 8/4/2015 3:44:05 PM EnableEmail : False EmailSMTPServer : EmailFrom : EmailTo : EmailSubject : EnableSysLog : False ProtectionGroupType : Backup EnableAsupOnFailure : False Policies : {FinancePolicy} HostResourceMaping : {} Configuration : SMCoreContracts.SmCloneConfiguration LastBackupStatus : VerificationServer : EmailBody : EmailNotificationPreference : Never VerificationServerInfo : SMCoreContracts.SmVerificationServerInfo SchedulerSQLInstance : CustomText : CustomSnapshotFormat : SearchResources : False ByPassCredential : False IsCustomSnapshot : MaintenanceStatus : Production PluginProtectionGroupTypes : {SMSQL} Name : Payrolldataset Type : Group Id : 1 Host : UserName : Passphrase : Deleted : False Auth : SMCoreContracts.SmAuth IsClone : False CloneLevel : 0 ApplySnapvaultUpdate : False ApplyRetention : False RetentionCount : 0 RetentionDays : 0 ApplySnapMirrorUpdate : False SnapVaultLabel : MirrorVaultUpdateRetryCount : 7 AppPolicies : {} Description : FinancePolicy PreScriptPath : PreScriptArguments : PostScriptPath : PostScriptArguments : ScriptTimeOut : 60000 DateModified : 8/4/2015 3:43:30 PM DateCreated : 8/4/2015 3:43:30 PM Schedule : SMCoreContracts.SmSchedule PolicyType : Backup PluginPolicyType : SMSQL Name : FinancePolicy Type : Id : 1 Host : UserName : Passphrase : Deleted : False Auth : SMCoreContracts.SmAuth IsClone : False CloneLevel : 0 clab-a13-13.sddev.lab.netapp.com DatabaseGUID : SQLInstance : clab-a13-13 DbStatus : AutoClosed DbAccess : eUndefined IsSystemDb : False IsSimpleRecoveryMode : False IsSelectable : True SqlDbFileGroups : {} SqlDbLogFiles : {} AppFileStorageGroups : {} LogDirectory : AgName : Version : VolumeGroupIndex : -1 IsSecondary : False Name : TEST Type : SQL Database Id : clab-a13-13\TEST Host : clab-a13-13.sddev.mycompany.com UserName : Passphrase : Deleted : False Auth : SMCoreContracts.SmAuth IsClone : False
-
Initiate a clone operation from an existing backup by using the New-SmClone cmdlet.
This example creates a clone from a specified backup with all logs:
PS C:\> New-SmClone -BackupName payroll_dataset_vise-f3_08-05-2015_15.28.28.9774 -Resources @{"Host"="vise-f3.sddev.mycompany.com"; "Type"="SQL Database";"Names"="vise-f3\SQLExpress\payroll"} -CloneToInstance vise-f3\sqlexpress -AutoAssignMountPoint -Suffix _clonefrombackup -LogRestoreType All -Policy clonefromprimary_ondemand PS C:> New-SmBackup -ResourceGroupName PayrollDataset -Policy FinancePolicy
This example creates a clone to a specified Microsoft SQL Server instance:
PS C:\> New-SmClone -BackupName "BackupDS1_NY-VM-SC-SQL_12-08-2015_09.00.24.8367" -Resources @{"host"="ny-vm-sc-sql";"Type"="SQL Database"; "Names"="ny-vm-sc-sql\AdventureWorks2012_data"} -AppPluginCode SMSQL -CloneToInstance "ny-vm-sc-sql" -Suffix _CLPOSH -AssignMountPointUnderPath "C:\SCMounts"
-
View the status of the clone job by using the Get-SmCloneReport cmdlet.
This example displays a clone report for the specified job ID:
PS C:\> Get-SmCloneReport -JobId 186 SmCloneId : 1 SmJobId : 186 StartDateTime : 8/3/2015 2:43:02 PM EndDateTime : 8/3/2015 2:44:08 PM Duration : 00:01:06.6760000 Status : Completed ProtectionGroupName : Draper SmProtectionGroupId : 4 PolicyName : OnDemand_Clone SmPolicyId : 4 BackupPolicyName : OnDemand_Full_Log SmBackupPolicyId : 1 CloneHostName : SCSPR0054212005.mycompany.com CloneHostId : 4 CloneName : Draper__clone__08-03-2015_14.43.53 SourceResources : {Don, Betty, Bobby, Sally} ClonedResources : {Don_DRAPER, Betty_DRAPER, Bobby_DRAPER, Sally_DRAPER}
The information regarding the parameters that can be used with the cmdlet and their descriptions can be obtained by running Get-Help command_name. Alternatively, you can also refer to the SnapCenter Software Cmdlet Reference Guide.