Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В следующих примерах показано, как использовать средство VShadow для выполнения наиболее распространенных задач:
- Доступ к свойствам теневого копирования из скрипта CMD
- Доступ к неперсистентным теневым копиям
- Копирование файла из теневого копирования
- Перечисление всех файлов на устройстве теневого копирования
- Импорт переносимой теневой копии
- Включение записи или компонентов
- Исключение записи или компонентов
- Критические наборы теневого копирования с помощью метода BreakSnapshotSetEx
Полный список параметров командной строки и их использования см. в статье "Средство VShadow" и "Пример".
Доступ к свойствам теневого копирования из скрипта CMD
Если при создании теневых копий используется необязательный флаг -script, VShadow создает файл скрипта CMD, содержащий переменные среды, связанные с недавно созданными теневыми копиями, например следующим образом:
- Идентификатор набора теневого копирования, который хранится в переменной среды %VSHADOW_SET_ID%
- Идентификаторы теневого копирования, которые хранятся в переменных формы %VSHADOW_ID_NNN%, где NNN представляет индекс исходного тома в командной строке VShadow
- Имена устройств теневого копирования, которые хранятся в переменных формы %VSHADOW_DEVICE_NNN%, где NNN является индексом исходного тома в командной строке VShadow
Созданный CMD-файл можно использовать для выполнения ограниченных операций управления с теневыми копиями.
Примечание.
Событие записи BackupComplete отправляется после выполнения скрипта -exec . VSS вызывает метод IVssBackupComponents::BackupComplete , чтобы сообщить записи о завершении резервной копии, и записи могут потенциально усечь журналы на этом этапе. Поэтому важно убедиться, что на самом деле выполнена теневая или резервная копия. Если сбой резервной копии, можно отменить процесс создания, возвратив код выхода ненулевого значения в выполняемом скрипте или команде. (См. документацию по команде выхода в . Справочник по командной строке Windows.) Если пользовательская команда возвращается с кодом выхода, ненулевого выхода, создание теневой копии отменяется, а IVssBackupComponents::BackupComplete не будет вызываться.
В следующем примере показано, как создать постоянную теневую копию из командной строки и использовать скрипт CMD для его предоставления.
- vshadow -p -nw -script=SETVAR1.cmd c:
- вызов SETVAR1.cmd
- C:\>vshadow -el=%VSHADOW_ID_1%,c:\directory1
Доступ к неперсистентным теневым копиям
Неперсистентные теневые копии автоматически удаляются при выходе программы, которая создает их (в данном случае VShadow). Чтобы получить доступ к содержимому этих теневых копий, VShadow позволяет выполнять скрипт после создания теневых копий, но до завершения программы VShadow.
В следующем примере показано, как использовать параметр командной строки -exec для запуска скрипта с именем enum.cmd:
vshadow -nw -exec=enum.cmd c:
В выполняемом скрипте можно также запустить созданный скрипт SETVAR в этой пользовательской команде. Это позволяет скрипту напрямую получить доступ к содержимому теневого копирования. Помните, что теневое устройство можно получить из переменной среды VSHADOW_DEVICE_NNN.
Ниже приведен пример скрипта enum.cmd:
call SETVAR1.cmd
for /R %VSHADOW_DEVICE_1%\ %%i in (*.*) do @echo %%i
Ниже приведена командная строка для выполнения скрипта enum.cmd:
vshadow -nw -exec=c:\enum.cmd -script=setvar1.cmd c:
Копирование файла из теневого копирования
В следующем примере показано, как скопировать файл из теневого копирования.
- dir > c:\somefile.txt
- vshadow -p -nw -script=SETVAR1.cmd c:
- вызов SETVAR1.cmd
- copy %VSHADOW_DEVICE_1%\somefile.txt c:\somefile_bak.txt
Перечисление всех файлов на устройстве теневого копирования
В следующем примере показано, как перечислить все файлы на устройстве теневого копирования из пакетного файла.
- dir > c:\somefile.txt
- vshadow -p -nw -script=SETVAR1.cmd c:
- вызов SETVAR1.cmd
- для /R %VSHADOW_DEVICE_1%\ %i in (*) сделайте @echo %%i
Импорт переносимой теневой копии
Чтобы создать транспортируемую копию тени на одном компьютере и импортировать ее на другой компьютер, необходимо иметь два компьютера, подключенные (с помощью конфигурации SAN) к массиву хранилища, поддерживающим теневые копии оборудования VSS. Поставщик оборудования VSS должен быть установлен на каждом компьютере.
В следующем примере показано, как создать и импортировать теневое копирование.
Создайте набор теневого копирования на компьютере A (рабочий сервер), введя следующую команду после командной строки:
vshadow -p -t=bc1.xml
Это не будет предоставлять никаких теневых устройств копирования на компьютере A.
Скопируйте документ компонентов резервного копирования (bc1.xml) с компьютера A на компьютер B.
Импортируйте теневой набор на компьютере B, введя следующую команду:
vshadow -i=bc1.xml
Кроме того, эти теневые копии можно предоставить как буквы диска или подключенные папки. Кроме того, вы можете сломать теневой набор, чтобы создать новые тома теневого копирования для чтения и записи.
Чтобы автоматизировать процесс управления теневым набором, можно использовать параметр командной строки -script для создания скрипта CMD, содержащего идентификаторы теневого копирования. Затем можно скопировать созданный скрипт вместе с компонентами резервного копирования на другой компьютер.
В следующем примере показано, как создавать, предоставлять и прерывать переносимые теневые копии с помощью скриптов CMD.
Создайте набор теневого копирования на компьютере A (рабочий сервер) из командной строки следующим образом:
vshadow -p -t=bc1.xml -script=sc1.cmd
Укажите параметр -script для создания скрипта, содержащего правильные определения переменных среды. Обратите внимание, что это не будет предоставлять устройства теневого копирования на компьютере A.
Скопируйте документ компонентов резервного копирования (bc1.xml) и созданный скрипт (sc1.cmd) с компьютера А на компьютер B.
Импортируйте теневой набор на компьютере B, введя следующую команду:
vshadow -i=bc1.xml
При этом будут отображаться созданные устройства на компьютере B.
Запустите созданный скрипт, чтобы задать переменные среды для теневой копии, введя имя файла в командной строке, как показано в следующем примере:
sc1.cmd
При этом будут заданы соответствующие переменные среды, как описано в разделе "Свойства теневого копирования access" из скрипта CMD.
Предоставляют теневые копии на компьютере B, введя следующие команды:
- rmdir /s c:\mount_point
- mkdir c:\mount_point
- vshadow -el=%VSHADOW_ID_1%,c:\mount_point
При этом будут отображаться созданные устройства теневого копирования на компьютере B.
Разорвать набор теневого копирования для записи томов, введя следующую команду:\>vshadow –bw=%VSHADOW_SET_ID%
Обратите внимание, что непереносимые теневые копии также могут быть импортированы, но они автоматически удаляются при выходе процесса -i. Чтобы импортировать теневые копии перед их удалением, необходимо использовать параметр командной строки -exec , как описано в разделе Access Nonpersistent Shadow Copies.
Включение записи или компонентов
По умолчанию все записи участвуют в создании теневого копирования. Чтобы определить, какие записи и компоненты будут включены в набор теневого копирования, используйте параметр командной строки -wm или -wm2, как описано в описании состояния записи и метаданных.
Чтобы убедиться, что включены все компоненты средства записи, используйте флаг -wi в любом из следующих форматов:
- vshadow-wiWriterName
- vshadow-wi"Строка имени записи"
- vshadow-wi{WriterID}
- vshadow-wi{InstanceID}
Чтобы убедиться, что включены определенные компоненты, используйте необязательный флаг -wi в любом из следующих форматов:
- vshadow-wiWriterName**:\LogicalPath\**ComponentName
- vshadow-wi **"Имя записи":\LogicalPath\**ComponentName
- vshadow-wi **{WriterID}:\LogicalPath\**ComponentName
- vshadow-wi **{InstanceID}:\LogicalPath\**ComponentName
В следующих примерах показано, как использовать необязательный флаг -wi .
Указание имени компонента записи:\LogicalPath\ComponentName:
vshadow -wi="Запись реестра:\Registry"
Указание {WriterID}:
vshadow -wi={BE000CBE-11FE-4426-9C58-531AA6355FC4}
Указание нескольких модулей записи или компонента:
vshadow -wi="Registry Writer:\Registry" -wi="COM+ REGDB Writer"
Исключение записи или компонентов
Чтобы исключить все записи, используйте необязательный флаг -nw при создании теневой копии.
Чтобы исключить все компоненты модуля записи, используйте необязательный флаг -wx в любом из следующих форматов:
- vshadow-wxWriterName
- vshadow-wx"Строка имени записи"
- vshadow-wx{WriterID}
- vshadow-wx{InstanceID}
Чтобы исключить определенные компоненты, используйте необязательный флаг -wx в любом из следующих форматов:
- vshadow-wxWriterName**:\LogicalPath\**ComponentName
- vshadow -wx\**
- vshadow-wx **{WriterID}:\LogicalPath\**ComponentName
- vshadow-wx **{InstanceID}:\LogicalPath\**ComponentName
В следующих примерах показано, как использовать необязательный флаг -wx .
Указание имени компонента записи:\LogicalPath\ComponentName:
vshadow -wx="Запись реестра:\Registry"
Указание {WriterID}:
vshadow -wx={BE000CBE-11FE-4426-9C58-531AA6355FC4}
Указание нескольких модулей записи или компонента:
vshadow -wx="Запись реестра:\Registry" -wx="COM+ REGDB Writer"
Критические наборы теневого копирования с помощью метода BreakSnapshotSetEx
В следующих примерах показано, как использовать параметр командной строки -bex .
Указание того, что теневая копия LUN будет маскирована из узла:
vshadow-bex-mask
Указание того, что теневая копия LUN будет предоставлена узлу в виде тома чтения и записи:
vshadow-bex-rw
Указание того, что теневая копия LUN будет предоставляться узлу в виде тома чтения и записи, и что ни одна из подписей диска в теневой копии LUN не будет возвращена к исходной LUN:
vshadow-bex-norevert