VMware : Automatiser la sauvegarde de la Base de données vCSA 6.5
VMware : Automatiser la sauvegarde de la Base de données VCSA 6.5
Parmi les nouvelles fonctionnalités qui ont été introduites avec la version 6.5 la possibilité de faire la sauvegarde et la restauration de la base de données de votre vCenter.
Il s’agit d’une fonctionnalité intégrée disponible dans l’interface d’administration VCSA VAMI (Virtual Appliance Management Interface) à partir du lien https://VCSA:5480.
Après la connexion à l’interface d’administration, cliquer sur le bouton sauvegarde disponible au coin supérieur droit
Sélectionner maintenant le protocole que vous souhaitez utiliser pour la sauvegarde (HTTPS, HTTP, SCP, FTPS ou FTP), puis entrer l’adresse de votre serveur et les différents paramètres.
Vous pouvez également chiffrer les fichiers sauvegardés par un mot.
Ensuite, cliquer sur suivant
Sélectionner les parties de votre VMware VCSA que vous souhaitez sauvegarder, puis cliquez sur suivant, puis sur Terminer.
Et le processus de sauvegarde démarre.
Une fois le job terminé vous trouverez dans votre serveur FTP les fichiers nécessaires pour restaurer votre VCSA ou le PSC en cas de besoin.
Si vous souhaitez automatiser le lancement de sauvegarde de votre VCSA nous avons développé pour vous un Script pour vous faciliter la tâche.
Notre serveur FTP est un Windows donc avec la configuration d’une tache planifiée nous avons la tête tranquille par rapport à la sauvegarde VCSA le temps que VMware intègre la planification automatique dans les prochaines versions j’espère!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# DataInput $VC_Server = "VCSA IP" $Username = "VCSA User" $Password = 'VCSA Password' $location_type = "FTP" $FTP_user = "FTP User" $FTP_password = "FTP Password" $FTP_server = "FTP Server IP " $MailSender = "vcsa@company.com" $MailDestination = "xyz@company.com" $SMTPServer = "SMTP server" $parts = @("common","seat") ############################################ DO NOT MODIFY ################################################################## #Connect to API/SDK Connect-CIsServer -Server $VC_Server -User $Username -Password $Password #Convert Password to Secure String $password = ConvertTo-SecureString 'Pa$$w0rd' -AsPlainText -Force #Create Crendentials $Credential = New-Object System.Management.Automation.PSCredential ($Username, $password) #Basic Authorization $auth = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($Credential.Username+':'+$Credential.GetNetworkCredential().Password)) $head = @{'Authorization' = "Basic $auth"} #Get Session/Token $invokesession = Invoke-WebRequest -Uri https://$VC_Server/rest/com/vmware/cis/session -Method Post -Headers $head $token = (ConvertFrom-Json $invokesession.Content).value $session = @{'vmware-api-session-id' = $token} #Create the Body for request $FTP_dir = "$FTP_server/vcsabackup-$((Get-Date).ToString('yyyy-MM-dd'))" $Comment = "Backup-vCSA" $Body = @{ 'piece' = @{ 'comment' = $comment 'parts' = $parts 'location_type' = $location_type 'location_user' = $FTP_user 'location_password' = $FTP_password 'location' = $FTP_dir } } $body = $body | ConvertTo-Json #Invoke the Request and start the job $ContentType = "application/json" $backup = Invoke-WebRequest -Uri https://$VC_Server/rest/appliance/recovery/backup/job -ContentType $ContentType -Method Post -Headers $session -Body $Body #statut du job de sauvegarde $BackupAPI = Get-CisService com.vmware.appliance.recovery.backup.job $currentbackup = $BackupAPI.list() | select -first 1 do { $BackupAPI.get("$currentbackup") | select id, progress, state $progress = ($BackupAPI.get("$currentbackup").progress) start-sleep -seconds 30 } until ($BackupAPI.get("$currentbackup)").progress -eq 100 -or $BackupAPI.get("$currentbackup").state -ne "INPROGRESS") #Envoie du rapport par mail $EmailSubject = "Report DB Backup $VC_Server" $Bodyemail= "bonjour La sauvegarde de la base vcenter " + $VC_Server +" est terminee. Satus= "+ $BackupAPI.get("$currentbackup").state +" Start time= "+ $BackupAPI.get("$currentbackup").start_time +" End time= "+ $BackupAPI.get("$currentbackup").end_time +" Location = "+ $FTP_dir +" Cordialement," send-Mailmessage -To $MailDestination -From $MailSender -Subject $EmailSubject -SmtpServer $SMTPServer -Body $Bodyemail |