Installation et configuration des sauvegardes Windows Server sur 2008 R2

Envoyer

 

Sommaire

 

 

Introduction

Windows Backup Server a été introduit avec Windows Vista puis Windows 2008 et est le remplaçant de NTBackup. En effet, l’arrivée de Windows Backup Server annonce le glas du fameux NTBackup utilisé dans de nombreuses structures (à tort d’ailleurs). Ces produits restent des outils basiques et d’appoint mais peuvent s’avérer très utiles lorsque l’on n’a pas le budget pour l’acquisition des logiciels de sauvegardes souvent couteux et fastidieux à déployer.

ATTENTION !!! Il y a des différences notables entre la version 2008 et 2008 R2 (voir ici). Cet article se base sur la version R2.

 

Les avantages et nouveautés de Windows Server Backup

Des sauvegardes plus rapide et plus efficace grâce à la technique de sauvegarde au niveau bloc et l’utilisation du Volume Shadow Copy.

Des restaurations simplifiées avec un système de versioning intégré aux sauvegardes. Depuis un unique support, vous pouvez obtenir différents points de restauration.  Le fait que les sauvegardes soient réalisées sous forme d’image facilite également la restauration système.

Une administration à distance est désormais possible grâce à une MMC dédiée à Windows Backup Server. Il est également possible d’utiliser l’outil en ligne de commande (wbadmin).

Les systèmes optiques tel qu’un les graveurs DVD sont pris en charge désormais et palie en partie à la disparition du support des bandes.

 

Pour utiliser Windows Server Backup, il vous faudra des disques dédiés (sauvegarde de l’intégralité des volumes) et au format NTFS.

Il n’y aucune compatibilité entre NTBackup et Windows Server Backup. Dans le cas où vous voudriez restaurer des données depuis de vieux fichiers BKP (format NTBackup) Microsoft propose l’outil « NT Backup Restore Utility » que vous trouverez ici. Attention que la restauration de bande n’est plus possible avec Windows 7 et Windows 2008 R2 car le service de stockage amovible n’existe plus (RSM).

 

Les principales limites de Windows Backup Server

- Pas de prise en charge des bandes

- Pas de possibilité de créer plusieurs tâches planifiées

- La planification des tâches est limitée à une ou plusieurs exécutions quotidiennes

- Pas du support de l’incrémentiel depuis un stockage réseau de type NAS

 

Les nouveautés de Windows Backup sur la version 2008 R2

- La prise en charge depuis l’assistant des sauvegardes réseau et des états système

- Des sauvegardes fichiers

- L’intégration d’un Environnement de restauration (WinRE) pour faciliter une restauration système avec Windows Backup

 

Installation de Windows Backup Server

Ouvrir « Gestionnaire de serveur », développer « Fonctionnalités »  puis sélectionner « Ajouter des fonctionnalités ».

 

 

 

 

 

 

 

Lors de la sélection des fonctionnalités, développer « Fonctionnalités de la Sauvegarde de Windows Server » et cocher les deux composants « Sauvegarde de Windows Server » et « Outils en ligne de commande ». Cliquer « Suivant » et sur « Installer ». 

 

 

 

 

 

 

 

Vous pouvez également utiliser les commandes PowerShell pour installer simplement l'ensemble des fonctionnalités. Pour cela ouvrez dans un premier temps une console PowerShell. Saisissez la commande « Import-module Servermanager » et ensuite « Add-WindowsFeature backup-features -IncludeAllSubFeature ».

 

 

 

 

 

Création d’une tâche avec l’assistant

La fonctionnalité étant installée, nous allons démarrer la mmc « Sauvegarde de Windows Server » depuis « outils d’administration ». 

 

 

 

 

 

Une fois la console lancée, depuis le menu de droite « Actions », choisir « Planification de sauvegarde ».

 

 

 

 

 

 

 

L’assistant de planification démarre et propose de sauvegarder l’intégralité du serveur ou le choix des volumes à sauvegarder. Nous allons opter pour une sauvegarde intégrale. Nous allons ensuite sélectionner la fréquence de sauvegarde. Nous nous rendons compte que la fréquence ne peut être que quotidienne.

 

 

 

 

 

 

 

 

Nous devons spécifier le type de support à disposition. A noter que le stockage sur un lecteur réseau aura pour contrainte de ne garder qu’une seule version et d’écraser la précédente sauvegarde. Nous choisissons « Sauvegarder vers un disque dur dédié aux sauvegardes ». L’assistant nous propose de sélectionner le(s) disque(s) de destination. Lorsque la sélection est validée, un message d’avertissement nous prévient que les disques sélectionnés seront formatés et ne seront plus accessible depuis l’explorateur.

 

 

 

 

 

 

 

 

La tâche est désormais créée et il est possible de la lancer manuellement en sélectionnant « Sauvegarde unique » depuis le menu « Actions ». L’assistant nous propose d’utiliser les options de la sauvegarde planifiée ce qui revient donc à lancer manuellement la sauvegarde planifiée. 

 

 

 

 

 

 

 

 

Nous découvrons que la création d’une tâche planifiée supplémentaire n’est pas possible. Nous lançons l’assistant « Planification de sauvegarde » et il nous propose soit de modifier soit d’arrêter la planification de la sauvegarde mais nullement la création d’une nouvelle tâche. 

 

 

 

 

 

 

 

 

L’assistant de la console Windows Backup Server ne nous propose pas beaucoup de choix concernant la stratégie de rotation et de planification. Comme nous l’avons vu précédemment, il n’est pas possible par exemple de définir les jours où les sauvegardes s’effectueront (jours ouvrés) ou de définir une tâche de sauvegarde mensuelle. La contrainte supplémentaire est qu’il n’est pas possible d’avoir de rotation à destination d’un stockage réseau par exemple. La sauvegarde du jour écrase la précédente car seule des sauvegardes complètes seront réalisées et non des incrémentielles.

Heureusement, nous avons une solution pour palier à ce problème qui est l’utilitaire en ligne de commande WBADMIN qui permet de surpasser certaines des ces contraintes. En effet, WBADMIN va nous offrir la possibilité de lancer une sauvegarde en ligne de commande et donc de créer des scripts qui seront pilotés par le planificateur de tâches et de gérer des destinations différentes celon des critères définis. Conclusion, nous aurons une planification adaptée et un système de rotation à destination d’un emplacement réseau. A noter que NTBackup fonctionnait exactement de la même façon cependant un assistant permettait de créer plus aisément une planification.

Exemple d’une commande WBADMIN: wbadmin start backup -backuptarget:\\NAS\repertoire_sauvegarde -vssfull –allcritical

Détails des commandes WBADMIN ici.

 

Utilisation et création d’une tâche avec WBADMIN

Imaginons que nous voulons créer une tâche sur 5 jours ouvrés (cas pour 90% des entreprises) et avec pour destination un NAS. Il sera nécessaire de créer un script qui sera exécuté par le planificateur de tâches Windows les jours voulus et d’utiliser une variable lors de la génération de la tâche permettant de définir un sous-répertoire sur le réseau différent pour chaque jour. Le script sera réalisé sous Powershell.

Exemple de script (backup_daily.ps1). Le script sauvegarde sur une un répertoire partagé l’ensemble des données critiques du système :

$day = (Get-Date).dayofweek

wbadmin start backup -backuptarget:\\NAS\$day -vssfull -allcritical –quiet

 

 

 

 

Autre exemple, une sauvegarde d’un répertoire sur C: vers un volume local:

wbadmin start backup –backuptarget:”\\?\volume{c31ade12-8da4-11df-9786-000c2975def1}” -include:c:\users -vssfull -quiet

Remarque: pour obtenir le nom du volume il est possible d’utiliser la commande mountvol.exe ou de faire un clic droit sur le volume concerné depuis gestionnaire disque et de choisir l’onglet « sécurité ».

 

 

 

 

 

 

 

 

 

Il sera sans doute nécessaire d’autoriser l’exécution de script PowerShell en local sur le serveur. Pour cela taper la commande suivante depuis la console PowerShell : Set-ExecutionPolicy RemoteSigned

 

 

 

 

Remarque : il est possible de supprimer le catalogue existant avec la commande  « wbadmin delete catalog ».

 

Nous allons maintenant créer la tâche planifiée. Pour cela il faut lancer le planificateur de tâche depuis « Démarrer | Tous les programmes | Accessoires |Outils système ». Faire un clic doit sur « Planificateur de tâches » et choisir « Créer une tâche ». 

 

 

 

 

 

 

 

Une fois la fenêtre « Créer une tâche » apparait et il faudra saisir le nom de la tâche, ses occurrences et le programme à exécuter. 

 

 

 

 

 

 

 

 

Sauvegarde de l'état système avec WBADMIN

WBADMIN permet également de sauvegarder l'état système comme le faisait antérieurement NTBackup.

Exemple de la commande pour réaliser la sauvegarde de l'état système:

wbadmin start systemstatebackup -backuptarget:”\\?\volume{c31ade12-8da4-11df-9786-000c2975def1}”

Il sera nécessaire d'inclure cette commande dans votre script de sauvegarde afin de disposer d'un état système. A noter cependant que l'option -allcritical permet de sauvegarder l'état système en plus des volumes considérés comme critiques par l'outil de sauvegarde.

 

 

Script PowerShell (Nas, Rotation et Notification par email)

Windows Backup Server dispose également d'un ensemble de cmdlets PowerShell (Using Windows Server Backup Cmdlets) qui rendent plus pertinente la gestion des sauvegardes par script et en étendent les possibilités. Nous vous proposons donc un script afin de pouvoir gérer les rotations de sauvegardes, sauvegarder l'ensemble des volumes et permettre la restauration BareMetal. Bien entendu, vous pourrez vous appuyer sur ce script pour l'adapter à vos besoins.

 
#requires -version 2.0
 
 
<#
Gestion des sauvegardes via Windows Backup Server:
- prise en charge de la rotation via $MaxBackup
- prise en charge de la notification par mail (cf function EmailNotification())
Auteur: Augagneur Alexandre
Date de création: 11/06/2011
 
28/10/2011:
- correction du filtre sur l'obtention des volumes non-critiques
- verification que la variable $Volumes ne soit pas null
#>

#Initilialiser les cmdlets Powershell
if ( (Get-PSSnapin -Name Windows.ServerBackup -ErrorAction SilentlyContinue) -eq $null )
{
 Add-PsSnapin Windows.ServerBackup
}
 
#Serveur de destination
$Nas = "\\FSVM001"

#Dossier parent
$HomeBkpDir = ($Nas+"\backup")

#Dossier de sauvegarde
$Filename = Get-Date -Format MMddyyyy_hhmmss

#Nombre de sauvegardes à conserver: valeur 0 désactive la rotation 
$MaxBackup = 1

#Liste des volumes non-critiques à rajouter
$Volumes = Get-WBVolume -AllVolumes | Where-Object { $_.Property -notlike "Critical*" }

#------------------------------------------------------------------ 
#Fonction comparant le nombre de dossiers à conserver par rapport 
#à la valeur $MaxBackup (n'est pas appelé si la valeur est à 0) 
#------------------------------------------------------------------ 
function Rotation()
{ 
 #Liste des dossiers de sauvegardes
 $Backups = @(Get-ChildItem -Path $HomeBkpDir\*)

 #Nombre des dossiers de sauvegardes
 $NbrBackups = $Backups.count

 $i = 0
 
 #Supprime le(s) dossier(s) le(s) plus ancien(s)
 while ($NbrBackups -ge $MaxBackup)
 {
 $Backups[$i] | Remove-Item -Force -Recurse -Confirm:$false
 $NbrBackups -= 1
 $i++
 }
}
 
#------------------------------------------------------------------ 
#Envoi du rapport de sauvegarde par mail (Résumé)
#------------------------------------------------------------------ 
function EmailNotification()
{
 #Adresse de l'expéditeur
 $Expediteur = "sender.at.corpnet.net"

 #Adresse du destinataire
 $Destinataire = "receipt.at.contoso.com"

 #Serveur SMTP
 $Serveur = "smtp.corpnet.net"
#Objet du message
 $Objet = $env:computername+": Rapport de sauvegarde du "+(Get-Date)
#Corps du message
 $Corps = Get-WBJob -Previous 1 | ConvertTo-Html -As List | Out-String
 
 $SMTPclient = new-object System.Net.Mail.SmtpClient $Serveur
 
 #Spécifier le port SMTP si nécessaire
 #$SMTPClient.port = 587
 
 #Activer la fonction SSL si nécessaire
 #$SMTPclient.EnableSsl = $true
 
 #Préciser les informations d'authentification si nécessaire
 #$SMTPAuthUsername = "login"
 #$SMTPAuthPassword = "password"
 #$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($SMTPAuthUsername, $SMTPAuthPassword)
 
$Message = new-object System.Net.Mail.MailMessage $Expediteur, $Destinataire, $Objet, $Corps
 $Message.IsBodyHtml = $true;
 $SMTPclient.Send($Message)
}

#Appel la fonction Rotation si activée
if ($MaxBackup -ne 0)
{
 Rotation
}
 
#Création du dossier de sauvegarde
New-Item ($HomeBkpDir+"\"+$Filename)  -Type Directory | Out-Null
 
$WBPolicy = New-WBPolicy
 
#Activation de la fonctionnalité "récupération complète" (Inclu l'état système)
Add-WBBareMetalRecovery -Policy $WBPolicy | Out-Null
 
#Ajout de la destination à la stratégie de sauvegarde
$BackupLocation = New-WBBackupTarget -network ($HomeBkpDir+"\"+$Filename)
Add-WBBackupTarget -Policy $WBPolicy -Target $BackupLocation -force | Out-Null
 
#Ajout des volumes non-critiques à la sauvegarde
if ($Volumes -ne $null)
{
 Add-WBVolume -Policy $WBPolicy -Volume $Volumes | Out-null
}
 
$WBPolicy | Out-Null
Start-WBBackup -Policy $WBPolicy
 
#Appel de la fonction de notification par mail
EmailNotification
 

 

Maintenant, si vous voulez un script plus complet, je vous encourage vivement à consulter l'article Réaliser une restauration complète « BareMetal » avec Windows Server Backup (2008R2 / 2012).

 

 

Conclusion

Windows Backup Server n’est certainement pas la solution de sauvegarde miracle et de toute façon n’est pas offert comme tel. C’est un outil d’appoint qui à ses faiblesses mais qui offre cependant de réelles possibilités pour la restauration système grâce à ses fonctions de type Bare-metal. Nous avons vu comment créer une tâche et comment palier à quelques petits manques. Nous vous conseillons maintenant de consulter notre article Restauration des sauvegardes Windows Server sur 2008 R2.

 

 

Mise à jour le Lundi, 23 Décembre 2013 22:08