doc_ipasserelle:administrateurs:sauvegarde_windows

Sauvegardes des machines Windows avec BackupPC

Si BackupPC est très efficaces pour gérer la sauvegardes de machines UNIX, les choses se compliquent pour sauvegarder les machines Windows. Les problèmes rencontrés le plus souvents sont les suivants:

  • Limitation sur la taille des chemins
  • Certains caractères exotiques empêche l'accès à des fichiers
  • Les fichiers en cours d'utilisation sont verrouillés

Ces limitations existent aussi bien en utilisant la méthode SMB 1) ou rsyncd 2) .

Pour contourner les différentes limitations expliquées plus haut, il faut:

  • Utiliser rsyncd comme méthode de transfert
  • Utiliser une version récente de la dll cygwin qui supporte l'UTF-8
  • Prendre des snapshot 3) en utilisant VSS 4)

Tous ces prérequis peuvent être installés assez facilement en suivants les instructions sur cette page

Si vous utilisez WPKG pour déployer l'agent de sauvegarde, vous pouvez passer cette étape et aller directement à la configuration. Si vous installez manuellement l'agent, suivez les instructions de ce chapitre

Vous devez d'abord récupérer le fichier d'installation sur cette page: http://www.michaelstowe.com/backuppc/

Puis exécutez-le en administrateur. Après avoir accepté la licence d'utilisation, vous pourrez choisir le répertoire d'installation. Firewall Services recommande de conserver la valeur par défaut (C:\BackupPC).

L'étape suivante vous demande un identifiant et un mot de passe. Il ne s'agit pas d'un utilisateur WIndows, ni un utilisateur du domaine. C'est simplement un couple identifiant / mot de passe qui sera utilisé entre la machine Windows et le serveur BackupPC pour l'authentification. Vous pouvez mettre ce que vous voulez. Firewall Services recommande l'utilisation d'un mot de passe fort, généré aléatoirement. Vous pouvez par exemple générer un mot de passe aléatoire depuis votre iPasserelle (ou une autre machine Linux) avec la commande:

openssl rand -base64 35

Vous pourrez toujours changer l'identifiant et le mot de passe après l'installation en éditant le fichier C:\BackupPC\rsyncd.secret

Une fois l'agent installé, il faut remplacer certains fichiers fournit par défaut par des versions légèrement modifié (pour ajouter le support de plusieurs partitions)

Téléchargez les fichier suivants, et copiez les dans le répertoire C:\BackupPC\

part.cmd
REM it's possible to snapshot several partition, just use something like:
REM SET PART=c: e: f:
 
SET PART=c:
rsyncd.conf
use chroot = false
strict modes = false
pid file = rsyncd.pid
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=65536
 
[PART1] 
path = /cygdrive/B/
auth users = backup
secrets file = rsyncd.secrets
 
[PART2] 
path = /cygdrive/L/
auth users = backup
secrets file = rsyncd.secrets
 
[PART3] 
path = /cygdrive/M/
auth users = backup
secrets file = rsyncd.secrets
 
[PART4] 
path = /cygdrive/N/
auth users = backup
secrets file = rsyncd.secrets
backuppc.cmd
cd \backuppc
call part.cmd
vshadow -script=vss-setvar.cmd -exec=vsrsync.cmd %PART%
vsrsync.cmd
REM @ECHO OFF
REM *****************************************************************
REM
REM VSRSYNC.CMD - Batch file template to start your rsync command (s).
REM
REM By Michael Stowe
REM *****************************************************************
 
call vss-setvar.cmd
 
cd \BackupPC
 
SET CWRSYNCHOME=\BACKUPPC
SET CYGWIN=nontsec
SET CWOLDPATH=%PATH%
SET PATH=\BACKUPPC;%PATH%
 
dosdev B: %SHADOW_DEVICE_1%
 
if "%SHADOW_DEVICE_2%" NEQ "" dosdev L: %SHADOW_DEVICE_2%
if "%SHADOW_DEVICE_3%" NEQ "" dosdev M: %SHADOW_DEVICE_3%
if "%SHADOW_DEVICE_4%" NEQ "" dosdev N: %SHADOW_DEVICE_4%
 REM Go into daemon mode, we'll kill it once we're done
rsync -v -v --daemon --config=rsyncd.conf --no-detach --log-file=diagnostic.txt
dosdev -r -d B:
 
if "%SHADOW_DEVICE_2%" NEQ "" dosdev -r -d L:
if "%SHADOW_DEVICE_3%" NEQ "" dosdev -r -d M:
if "%SHADOW_DEVICE_4%" NEQ "" dosdev -r -d N:

Deux réglages sont nécessaires pour que le serveur BackupPC puisse sauvegarder votre machine Windows:

  • Le port utilisé par rysncd soit être accessible. Il s'agit du port TCP 873 par défaut. On peut aussi autoriser le binaire C:\BackupPC\rsync.exe au lieu de préciser un port
  • Le port 445 doit être accessible. Il est utilisé par BackupPC pour demander la prise des snapshots avant la sauvegarde

Ces réglages peuvent être fait en ligne de commande:

set BACKUP_SERVER_IP=192.168.7.1
netsh firewall delete allowedprogram "%SYSTEMDRIVE%\BackupPC\rsync.exe
netsh firewall add allowedprogram "%SYSTEMDRIVE%\BackupPC\rsync.exe" "Agent BackupPC" enable custom "%BACKUP_SERVER_IP%"
netsh firewall add portopening TCP 445 "remote admin" enable custom "%BACKUP_SERVER_IP%"

Pour pouvoir prendre des snapshots et vous assurer que tout puisse être sauvegardé sans problème d'accès, il faut que toutes ces opérations soient exécutées par un utilisateur membre du groupe local Administrateur. L'utilisateur lui-même peut être du domaine (c'est même conseillé de déclarer un utilisateur sur votre iPasserelle). Vous n'avez qu'à ajouter l'utilisateur voulu dans le groupe Administrateurs. Par exemple, si votre domaine NT est FIREWALL.LOCAL et que votre utilisateur est backup:

net localgroup Administrateurs FIREWALL.LOCAL\backup /add

Sur le poste Windows, vous devez maintenant éditer le fichier C:\BackupPC\part.cmd pour indiquer quelles partitions doivent être sauvegardées, par exemple:

REM it's possible to snapshot several partition, just use something like:
REM SET PART=c: e: f:
 
SET PART=c: e: f:

La limite est de 4 partitions

Il ne vous reste plus qu'à déclarer une nouvelle machine à sauvegarder sur l'interface de BackupPC, vous pouvez utiliser ce fichier comme point de départ, et l'adapter à vos besoin:

windows.pl
$Conf{BackupFilesOnly} = {
  'PART1' => [
    'Users'
  ]
};
$Conf{ClientNameAlias} = '192.168.7.12';
$Conf{DumpPostUserCmd} = '/usr/bin/win-post-backup $host $xferOK';
$Conf{DumpPreUserCmd} = '/usr/bin/win-pre-backup $host';
$Conf{RsyncShareName} = [
  'PART1',
  'PART2'
];
$Conf{RsyncdPasswd} = 'mot_de_passe';
$Conf{RsyncdUserName} = 'backuppv';
$Conf{XferMethod} = 'rsyncd';
$Conf{UserCmdCheckStatus} = '1';

1)
S ervice M essage B lock, c'est à dire le partage de fichier standard de Windows
2)
rsyncd est un outils de synchronisation de fichiers très efficace. Écrit pour les systèmes UNIX, il est possible de le faire tourner sous Windows grâce à Cygwin
3)
Un snapshot, aussi appelé instantané permet de conserver une vue stable et cohérente d'un système de fichier à un instant donné
4)
Volume Snapshot Service
  • doc_ipasserelle/administrateurs/sauvegarde_windows.txt
  • Dernière modification: 03/09/2012 14:42
  • de dani