HP Matrix 7.2 KVM Private Cloud Backup and Restore
Table Of Contents
- Abstract
 - Matrix Operating Environment with Matrix KVM Private Cloud Overview
 - Backup and restore strategy for Matrix OE with Matrix KVM Private Cloud
 - Matrix KVM Private Cloud backup and restore
 - Matrix KVM Private Cloud Images repository backup and restore
 - Matrix KVM Private Cloud High Availability (HA) cluster configuration backup and restore
 - Appendix A: KVM Private Cloud restore resynchronization actions
 - Appendix B: Images repository restore resynchronization actions
 - Appendix C: Alerts and Audit messages
 - Appendix D: HA Cluster details
 - Appendix E: Backup and Restore REST API
 - Appendix F: Sample Backup Script
 - Appendix G: Sample Restore Script
 - References
 - For more information
 

 The authorized sessionID obtained from login. 
 .PARAMETER hostname 
 The appliance to connect to. 
 .PARAMETER uploadResponse 
 The response body from the upload request. Contains the backup URI needed for 
restore call. 
 .INPUTS 
 None, does not accept piping 
 .OUTPUTS 
 Outputs the response body from the POST restore call. 
 .EXAMPLE 
 $restoreResponse = start-restore $sessionID $hostname $uploadResponse 
  #> 
 # append the appropriate URI to the IP address of the Appliance  
 $backupUri = $uploadResponse.uri 
 $restoreUri = "/restore/rest/resources" 
 $fullRestoreUri = $hostname + $restoreURI 
 $body = @{ type = "RESTORE"; uriOfBackupToRestore = $backupUri } | convertTo-json 
 # create a new webrequest and add the proper headers 
 try 
 { 
 $rawRestoreResponse = setup-request -uri $fullRestoreUri -method "POST" -accept 
"application/json" -contentType "application/json" -authValue $authinfo -Body $body 
 $restoreResponse = $rawRestoreResponse | convertFrom-Json 
 return $restoreResponse 
 } 
 catch [Net.WebException] 
 { 
 Write-Host $_.Exception.message 
 } 
} 
##### Check for the status of ongoing restore ##### 
function restore-status ([string]$authinfo = 
"foo",[string]$hostname,[object]$restoreResponse,[string]$recoveredUri = "") 
{ 
 <# 
 .DESCRIPTION 
 Uses GET requests to check the status of the restore process. 
 .PARAMETER authinfo 
 **to be removed once no longer a required header** 
 .PARAMETER hostname 
 The appliance to connect to 
 .PARAMETER restoreResponse 
 The response body from the restore initiation request. 
 .PARAMETER recoveredUri 
 In case of a interruption in the script or connection, the Uri for status is 
instead obtained through this parameter. 
 .INPUTS 
 None, does not accept piping 
 .OUTPUTS 
 None, end of script upon completion or fail. 
 .EXAMPLE 
 restore-status *$authinfo* -hostname $hostname -restoreResponse $restoreResponse 
 or  
 restore-status -hostname $hostname -recoveredUri $recoveredUri 
 #> 
 # append the appropriate URI to the IP address of the Appliance  
 if ($recoveredUri -ne "") 
 { 
 $fullStatusUri = $hostname + $recoveredUri 
  write-host $fullStatusUri 
 } 
 else 
 { 










