2 votes

Backup Exec "Removable Backup To Disk" avec disques rotatifs ?

Je suis en train de mettre en place un système de sauvegarde utilisant la dernière version de Backup Exec 2010 R3, et j'aimerais utiliser des disques durs USB comme support de sauvegarde. J'essaie de trouver la meilleure façon d'introduire une stratégie de rotation des disques dans Backup Exec, mais je me heurte aux problèmes suivants :

Mise en place (simplifiée pour répondre au problème posé)

  • Backup Exec 2010 R3 sur un serveur Windows 2003 R2 serveur
  • Utiliser un dossier de sauvegarde différent pour chaque jour de la semaine.
  • Rotation des disques externes en fonction du jour de la semaine

Utilisation de l'option intégrée de sauvegarde sur disque amovible

Cette option pose des problèmes, car les dossiers de sauvegarde sur disque sont basés sur les lettres de lecteur et non sur les identifiants de disque. Cela signifie que :

  • Il n'est pas possible d'attribuer plus d'une unité amovible de sauvegarde sur disque à la même lettre de lecteur.
  • Si des lettres de lecteur sont attribuées aux disques pour permettre la création de plusieurs lecteurs amovibles de sauvegarde sur disque, vous pouvez facilement utiliser toutes les lettres de lecteur disponibles lors de la création d'un système complet de sauvegarde tout au long de l'année. En outre, une configuration spéciale est nécessaire pour préparer les disques à l'utilisation (attribution d'une lettre de lecteur) à un lecteur.
  • Si l'affectation des lettres de lecteur est modifiée en raison du comportement des lecteurs USB de Windows, les lecteurs de sauvegarde ne seront pas mis en ligne.

Tout cela signifie que je ne dispose pas d'un moyen simple de relier les dossiers de sauvegarde amovibles aux disques externes.

Utilisation d'une configuration de sauvegarde sur disque

Cette configuration semblait fonctionner, au début, puisque Backup Exec trouvait des disques et les utilisait. Cependant, le système ne semble pas se soucier du disque physique à utiliser pour une sauvegarde et crée des dossiers de sauvegarde sur disque sur les lecteurs qui ont déjà été configurés avec d'autres dossiers de sauvegarde sur disque. Imaginez ce scénario :

Périphériques Backup Exec :

  • BED001
  • BED002

Appareils physiques correspondants :

  • PD001
  • PD002

PD001 et PD002 sont attachés au système pour gérer deux jours de sauvegardes. Cependant, Backup Exec utilise BED001 pour les deux sauvegardes et crée un nouveau dossier de sauvegarde sur disque sur PD001 pour gérer la sauvegarde.

La GRANDE question

La grande question est de savoir comment configurer le système pour qu'il soit facile d'identifier le disque nécessaire au cas où une opération de restauration serait nécessaire pour récupérer des données à partir d'une date spécifique.

3voto

Nash Points 1351

Autre réponse possible : Forcer la persistance des lettres de lecteur

Bien que je m'en tienne à ma première réponse, j'ai pensé ajouter une autre approche, que vous pourrez peut-être faire fonctionner avec un peu d'effort initial. Il convient toutefois de faire preuve d'une grande réserve, car je n'ai jamais essayé cette approche et, en règle générale, à moins d'utiliser Backup Exec exactement de la manière dont il a été conçu, les choses se terminent toujours par des larmes.

Forcer via USBDLM ou WMI script.

Cette approche consiste essentiellement à s'assurer que tous les disques USB de sauvegarde reçoivent la même lettre de lecteur avant l'exécution de la tâche de sauvegarde. Cela peut être fait en utilisant USBDLM, à partir de http://www.uwe-sieber.de/usbdlm_e.html . Dans le cas contraire, il s'agirait d'un script WMI script -- soit exécuté manuellement, soit programmé pour être exécuté pendant la journée, avant le travail de sauvegarde -- pour trouver un disque USB valide et connecté par ID de série/modèle/périphérique et attribuer sa lettre de lecteur à la lettre fixe de votre RB2D. Il est même possible d'exécuter cette opération dans le cadre d'une commande de pré-travail, à condition que le périphérique de sauvegarde ne soit pas déterminé avant l'exécution de la commande de pré-travail.

Contexte

Je pense que les problèmes de cette approche seront dus à la logique de numérotation de Backup Exec pour les fichiers IMG qui se retrouvent sur un (R)B2D. Je m'attends à ce que Backup Exec perde la trace de ce qui peut être écrasé, etc. Cela pourrait être évité si vous effectuiez des opérations d'inventaire sur le RB2D chaque fois que vous l'utilisez. Encore une fois, si la commande pre-job s'exécute avant que le périphérique de sauvegarde ne soit déterminé, vous pourriez utiliser bemcmd.exe pour exécuter une tâche d'inventaire sauvegardée, après l'attribution de la lettre de lecteur et avant l'exécution de la tâche de sauvegarde.

Exemple de VBScript pour l'interface avec WMI

Voici un fichier VBScript de base qui force la première partition d'un disque à être montée avec une lettre de lecteur donnée, sur la base d'une liste d'identifiants de périphériques Plug & Play autorisés. Il devrait fonctionner sur tout Windows Server 2003 et supérieur, mais je n'ai que XP sous la main pour le moment et je ne l'ai donc pas testé moi-même :

Option Explicit

Const DRIVE_LETTER = "Q:"

Dim validDisks : validDisks = Array( _
    "USBSTOR\\DISK&VEN_KINGSTON&PROD_DATATRAVELER_2.0&REV_PMAP\\001D0F0C73C8B91123110031&0", _
    "USBSTOR\\DISK&VEN_TDKMEDIA&PROD_TF_150_DRIVE&REV_PMAP\\07AA0207B128CA8E&0", _
    "pnpdeviceid_of_disk_3", _
    "pnpdeviceid_of_disk_4" _
) 'REMEMBER TO ESCAPE ANY \ WITH \\

Dim wmiService : Set wmiService = GetObject("winmgmts:{impersonationLevel=Impersonate}!//.")

Dim wqlQuery : wqlQuery = "SELECT * FROM Win32_DiskDrive WHERE InterfaceType = 'USB' AND (PNPDeviceID = '" _
                         & Join(validDisks, "' OR PNPDeviceID = '") _
                         & "')"

Dim diskDrives : Set diskDrives = wmiService.ExecQuery(wqlQuery, , 48)

Dim diskDrive : For Each diskDrive In diskDrives
    WScript.Echo "Found disk: " & diskDrive.Caption 
    Dim deviceID : deviceID =  Replace(diskDrive.DeviceID, "\", "\\")

    wqlQuery = "ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" & deviceID & """} WHERE AssocClass = Win32_DiskDriveToDiskPartition"
    Dim partitions : Set partitions = wmiService.ExecQuery(wqlQuery, , 48)

    Dim partition : For Each partition In partitions
        WScript.Echo "Found partition: " & partition.Caption 

        wqlQuery = "ASSOCIATORS OF {Win32_DiskPartition.DeviceID=""" & partition.DeviceID & """} WHERE AssocClass = Win32_LogicalDiskToPartition"
        Dim logicalDisks : Set logicalDisks = wmiService.ExecQuery(wqlQuery, , 48)

        Dim logicalDisk : For Each logicalDisk In logicalDisks
            WScript.Echo "Found logical disk: " & logicalDisk.DeviceID 

            If UCase(Trim(logicalDisk.DeviceID)) <> UCase(DRIVE_LETTER) Then
                wqlQuery = "SELECT * FROM Win32_Volume WHERE Name = '" & logicalDisk.DeviceID & "\\'"
                Dim volumes : Set volumes = wmiService.ExecQuery(wqlQuery, , 48)

                Dim volume : For Each volume in volumes
                    WScript.Echo "Found volume: " & volume.Name
                    volume.DriveLetter = DRIVE_LETTER
                    volume.Put_
                    WScript.Echo "Changed USB disk drive letter to " & DRIVE_LETTER & "."
                    Exit For    'ONLY DO THIS TO THE FIRST ONE FOUND
                Next
            Else 
                WScript.Echo "USB disk drive letter is already " & DRIVE_LETTER & ".  No change required"
            End If

            Exit For    'ONLY DO THIS TO THE FIRST ONE FOUND
        Next

        Set logicalDisks = Nothing
        Exit For    'ONLY DO THIS TO THE FIRST ONE FOUND
    Next

    Set partitions = Nothing
    Exit For    'ONLY DO THIS TO THE FIRST ONE FOUND
Next

Set diskDrives = Nothing
Set wmiService = Nothing

Bonne chance.

2voto

TryTryAgain Points 215

Tout le monde complique à l'excès ce problème, qui est bien plus facile et plus évident qu'on ne le pense à faire avec Backup Exec.

Essayez d'utiliser 3 lecteurs

Utilisez trois disques, dont un disque fixe qui ne quitte pas les locaux (nous y reviendrons dans un instant).

  • Vous créez 2 sauvegardes par jour : MON-1 y MON-2 . jusqu'à THURS-1 y THURS-2 .
  • Dans ce cas Friday1 jusqu'à Friday5 .
  • Enfin JAN - DEC .

Sauvegardes pour LUN, MAR, MER, JEUDI

L'idée est que la sauvegarde s'exécute sur les DEUX lecteurs pendant la nuit. Vous obtiendrez un échec car l'un des disques ne sera pas trouvé, mais la sauvegarde s'effectuera sur l'autre.

Sauvegardes pour les VENDREDI et les MOIS

Tous les vendredis et tous les mois, il effectue une sauvegarde sur votre disque fixe qui ne quitte pas les locaux à des fins d'archivage.

Vue d'ensemble

Vos sauvegardes devraient donc ressembler à ceci (en utilisant le système GFS et deux lecteurs amovibles USB).

MON1
MON2
MARS1
MARS2
WEDS1
WEDS2
JEUDI1
JEUDI2
VENDREDI1
VENDREDI2
VENDREDI3
VENDREDI4
VENDREDI5
MOIS-JAN
MOIS-FEB
. . .
MONTH-DEC

DAY1 concerne la clé USB 1
DAY2 concerne la clé USB 2

Cela fonctionne également très bien, tant que vous n'oubliez pas d'annuler les sauvegardes qui ont échoué et de ne pas les reprogrammer !

0voto

Nash Points 1351

Essayez une lettre de lecteur par dossier

En fonction du nombre de disques USB que vous souhaitez faire tourner, une option pourrait consister à monter tous les disques USB, en leur donnant à chacun leur propre lettre de lecteur, à créer un dossier B2D amovible sur chacun d'entre eux et à les ajouter à un groupe de périphériques. Votre tâche ciblerait alors le pool de périphériques.

BE vérifiera les dossiers amovibles de RB2D

En théorie, parce qu'ils sont marqués comme amovibles, Backup Exec vérifiera si chaque dossier RB2D existe/est en ligne avant de l'utiliser. Et, comme ils se trouvent dans un pool (et que le travail cible ce pool), Backup Exec utilisera le premier dossier en ligne qu'il trouvera.

BE ne vérifiera PAS les dossiers B2D fixes

Si vous avez l'intention de faire pivoter plus de disques USB que vous ne pouvez en assigner de manière fiable, vous devrez créer des dossiers B2D inamovibles sur chacun des disques. Cependant, BE n'essaiera pas de vérifier s'ils sont en ligne avant de les utiliser, de sorte que vous devrez redémarrer les services BE à chaque fois que le disque USB est changé.

KB a plus de détails :

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X