2011-08-03 2 views
1

J'implémente une sauvegarde des machines virtuelles Hyper V à l'aide de l'ombre à disque basée sur Windows VSS (Volume Shadow Copy Service).Hyper-V Sauvegarde avec diskshadow - quand appeler "end backup"?

La mise en œuvre est à peu près comme décrit dans DiskShadow/Xcopy BACKUP of Hyper-V, où le script diskshadow est comme ce qui suit:


set context persistent 
set metadata C:\backup.cab 
set verbose on 
begin backup 
    add volume C: alias ConfigVolume 
    #The GUID of the Hyper-V Writer 
    writer verify {66841cd4-6ded-4f4b-8f17-fd23f8ddc3de} 
    create 
    EXPOSE %ConfigVolume% Y: 
EXEC HyperVBackup.cmd 
    UNEXPOSE Y: 
end backup  
 

En HyperVBackup.cmd la copie réelle des copies d'ombre sur un lecteur de sauvegarde est effectuée à l'aide xcopy. C'est la partie la plus fastidieuse du processus de sauvegarde.

Les commandes begin backup et end backup envoient des événements à des auteurs vss pour leur permettre de se préparer à la création de clichés instantanés et de réagir à la fin de la sauvegarde.

  • Est-ce une bonne idée d'appeler end backup APRÈS EXEC HyperVBackup.cmd? Cela ne forcerait-il pas les écrivains à rester dans un état intermédiaire tant que dure la longue partie de la xcopie?
  • Ne serait-il pas approprié d'appeler end backup AVANT la ligne EXEC HyperVBackup.cmd?

En fait, je ne sais pas ce que font généralement les auteurs vss lorsqu'ils reçoivent l'événement envoyé par end backup.

Merci, nang.

Répondre

0

end backup signale fondamentalement à tous les auteurs vss qu'une sauvegarde réussie s'est produite. Vous ne voulez probablement pas le faire avant que toutes les données aient été déplacées avec succès vers un emplacement sûr. Dans votre cas, vous ne voudrez pas signaler une sauvegarde terminée tant que le script HyperVBackup.cmd n'aura pas abouti et que xcopy se sera terminé sans erreurs.

La raison en est que certains auteurs, tels qu'Exchange ou SQL Server videront les journaux de transactions lorsqu'ils sont signalés par end backup. Vous ne voulez pas que les journaux de transactions soient vidés avant d'avoir été sauvegardés avec succès et dans un endroit sûr.

Le begin backup ne doit pas contenir quoi que ce soit dans un état intermédiaire. Il dit juste aux auteurs de vss "hé s'il y a une maintenance qui doit être faite près d'une fenêtre de sauvegarde, faites-le maintenant". Je ne connais pas les détails des auteurs vss, mais je pourrais aussi voir begin backup être utilisé pour définir un marqueur, donc quand end backup est signalé, il peut dire "les données jusqu'à ce point sont bonnes et vous pouvez maintenant courir avec lui. " Par exemple, vous ne voulez pas vider les journaux au moment de la commande end backup, mais la commande end backup va vider les journaux jusqu'au moment de la commande begin backup.

Le seul "état intermédiaire" qui se produit est lors du gel du système de fichiers. Le gel se produit au cours de la commande create et est automatiquement décongelé à la fin de la commande create.

2

comme une alternative à diskshadow vous pouvez également consulter la solution open source de sauvegarde Hyper-V suivant supportant CSV et comprenant un outil de ligne de commande:

http://hypervbackup.codeplex.com/