Я настраиваю систему резервного копирования с использованием последней версии Backup Exec 2010 R3 и хотел бы использовать жесткие диски USB в качестве носителя для резервного копирования. Я пытаюсь найти лучший способ без проблем внедрить стратегию ротации дисков в Backup Exec, но у меня возникают следующие проблемы:
У этого варианта есть проблемы, потому что папки резервного копирования на диск основаны на буквах дисков, а не на идентификаторах дисков. Что означает, что:
Все это означает, что у меня нет простого способа связать съемные резервные копии в дисковых папках с внешними дисками.
Поначалу казалось, что такая установка работает, поскольку Backup Exec находит диски и использует их. Однако система, похоже, не заботится о том, какой физический диск использовать для резервного копирования, и создает резервную копию в дисковые папки на дисках, которые уже были настроены с другими резервными копиями в дисковые папки. Представьте себе такой сценарий:
Устройства Backup Exec:
Соответствующие физические устройства:
PD001 и PD002 подключены к системе для резервного копирования за два дня. Однако Backup Exec использует BED001 для обоих резервных копий и создает новую резервную копию в папке на диске PD001 для обработки резервного копирования.
Большой вопрос здесь заключается в том, как мне настроить систему, чтобы упростить определение того, какой диск необходим в случае, если для получения данных с определенной даты потребуется операция восстановления?
Хотя я определенно придерживаюсь своего первого ответа, я подумал, что добавлю еще один подход, который вы, возможно, сможете заставить работать с некоторыми начальными усилиями. Однако серьезный отказ от ответственности по этому поводу, поскольку я никогда не пробовал его, и, как правило, если вы не используете Backup Exec именно так, как он был задуман, это обычно заканчивается слезами.
По сути, этот подход требует, чтобы все ваши USB-диски резервного копирования имели одинаковую букву диска до запуска задания резервного копирования. Это можно сделать с помощью USBDLM из http://www.uwe-sieber.de/usbdlm_e.html. В противном случае вы бы посмотрели на сценарий WMI - запускаемый вручную или по расписанию в течение дня до задания резервного копирования - чтобы найти действительный подключенный USB-диск по серийному номеру / модели / идентификатору устройства и назначить его диск -письмо на исправленный ваш RB2D. Вы даже можете запустить это в команде перед выполнением задания, при условии, что устройство резервного копирования не было определено до выполнения предварительного задания.
Я считаю, что проблемы с этим подходом будут связаны с логикой нумерации Backup Exec для файлов IMG, которые попадают в (R) B2D. Я ожидаю, что Backup Exec потеряет информацию о том, что можно перезаписать и т. Д. Этого можно было бы избежать, если бы вы выполняли операции инвентаризации на RB2D каждый раз, когда вы его использовали. Опять же, если команда предварительного задания запускается до определения устройства резервного копирования, вы можете использовать bemcmd.exe
для запуска сохраненного задания инвентаризации после присвоения буквы диска и до запуска задания резервного копирования.
Базовый файл VBScript, который принудительно монтирует первый раздел на диске с заданной буквой диска, на основе списка разрешенных идентификаторов устройств Plug & Play выглядит следующим образом. Он должен работать на всех версиях Windows Server 2003 и выше, но на данный момент у меня под рукой только XP, поэтому я не тестировал его:
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
Удачи.
Здесь все слишком усложняют эту проблему, это намного проще и очевиднее, чем предполагалось сделать с Backup Exec.
Используйте 3 диска, один из которых является фиксированным, который не покидает территорию (подробнее об этом через секунду).
MON-1
и MON-2
. сквозь THURS-1
и THURS-2
.Friday1
сквозь Friday5
.JAN
- DEC
.Идея состоит в том, что резервное копирование будет выполняться на ОБЕИХ дисках за ночь. Вы получите сбой, так как один диск не может быть найден, но он сделает резервную копию на другом.
Каждую пятницу и месяц он выполняет резервное копирование на ваш фиксированный диск, который не покидает помещение для архивных целей.
Таким образом, ваши резервные копии должны выглядеть так (с использованием системы GFS и двух съемных USB-накопителей).
MON1
ПН2
Вт1
Вт2
СР1
СР2
ЧЕТВЕРГ1
ЧЕТВЕРГ2
ПЯТНИЦА 1
ПЯТНИЦА 2
ПЯТНИЦА 3
ПЯТНИЦА 4
ПЯТНИЦА 5
МЕСЯЦ-ЯНВАРЬ
МЕСЯЦ-ФЕВРАЛЬ
. . .
МЕСЯЦ-ДЕКАБРЬ
DAY1 относится к USB-накопителю 1
DAY2 относится к USB-накопителю 2
Это тоже работает, если вы не забываете отменять неудачные резервные копии и не переносите их.!
В зависимости от того, сколько USB-дисков вы хотите повернуть, одним из вариантов может быть монтирование всех USB-дисков, позволяющее каждому из них получить свою собственную букву диска, создание папки Removable B2D на каждом из них и добавление их всех в пул устройств. Затем ваша работа будет нацелена на пул устройств.
Теоретически, поскольку они помечены как съемные, Backup Exec будет проверять, существует ли каждая папка RB2D / находится ли она в сети, прежде чем ее использовать. А поскольку они находятся в пуле (и задание нацелено на этот пул), Backup Exec будет использовать первый онлайн-пул, который сможет найти.
Если вы намереваетесь повернуть больше USB-дисков, чем вы можете надежно назначить буквы дисков, вам придется создать несъемные папки B2D на каждом из дисков. Однако BE не будет пытаться проверить, подключены ли они к сети, прежде чем они будут использованы, поэтому вам придется перезапускать службы BE каждый раз при смене USB-диска.
KB имеет более подробную информацию: