Устранение неполадок со службой теневого копирования томов

 

Последнее изменение раздела: 2011-10-05

Резервные копии данных, основанные на службе теневого копирования томов (VSS) Microsoft Exchange, поддерживаются как для активных, так и для пассивных групп хранения и баз данных. В решении для резервного копирования пассивной копии от корпорации Майкрософт используется только служба теневого копирования томов. Это решение реализовано на основе модуля записи VSS для реплики Exchange, который входит в службу репликации. Потоковое резервное копирование поддерживается только для активных групп хранения. Интерфейсы API потокового резервного копирования нельзя использовать для резервного копирования реплики базы данных. Программу архивации VSS необходимо использовать вместе с запрашивающей стороной VSS для модуля записи Exchange.

В Microsoft Exchange Server 2003 при потоковом резервном копировании можно выполнять резервное копирование сразу для двух различных групп хранения. Однако использовать службу VSS для этого нельзя. Например с помощью службы VSS в Exchange 2003 нельзя выполнять резервное копирование второй группы хранения до тех пор, пока не будет завершено резервное копирование первой группы.

С помощью Microsoft Exchange Server 2007 можно одновременно выполнять два отдельных задания резервного копирования VSS на одном сервере Exchange Server. Кроме того, модуль записи Exchange Server 2007 позволяет восстанавливать данные Exchange в другом расположении. Модуль записи Exchange Server 2003 не позволяет восстанавливать данные в расположении, отличном от исходного пути.

Резервные копии VSS нельзя восстановить в расположении реплики с помощью модуля записи Exchange. Однако их можно восстановить в другом расположении, например в каталоге с копией реплики.

В Exchange 2007 модуль записи VSS Store.exe позволяет выполнять восстановление в любую группу хранения, включая группу хранения для восстановления. Кроме того, модуль записи VSS Store.exe позволяет выполнять восстановление баз данных в папку, которая не связана с группой хранения. В этом случае с помощью ядра СУБД Jet можно воспроизвести восстановленные журналы транзакций в базе данных, чтобы привести ее в согласованное и готовое к подключению состояние. Затем базу данных можно переместить в другое расположение.

Устранение неполадок со службой теневого копирования томов

По умолчанию служба VSS устанавливается на сервере Windows Server 2003. Она запускается вручную и выполняется, если запрашивающая сторона (программа резервного копирования) может использовать модули записи в системе. В Windows Server 2003 с пакетом обновления 2 (SP2) решен ряд проблем, которые снижали быстродействие службы VSS.

Список ошибок, которые были устранены в Windows Server 2003 с пакетом обновления 2 (SP2) см. в статье 914962 базы знаний Майкрософт List of updates in Windows Server 2003 Service Pack 2 (на английском языке).

Хотя установить можно только обновления для службы VSS, рекомендуется установить полный пакет обновления. Кроме того, статья базы знаний Майкрософт о соответствующем накопительном пакете обновления может помочь в решении некоторых проблем со снимками службы VSS в системе Windows Server 2003.

Дополнительные сведения см. в статье 940349 базы знаний Майкрософт Availability of a Volume Shadow Copy Service (VSS) update rollup package for Windows Server 2003 to resolve some VSS snapshot issues (на английском языке).

Для решения проблем, возникающих со службой VSS, можно использовать указанные ниже исправления.

Номер статьи базы знаний Название

833167

Пакет обновлений службы теневого копирования томов для Windows Server 2003

915331

The backup process may fail and a time-out error may occur in Volume Shadow Copy Service writers (на английском языке)

930800

Event ID 9840 or 9607 is logged when a VSS backup operation fails in Exchange 2007 or in Exchange 2003 (на английском языке)

910250

A snapshot backup of an Exchange Server 2003 database fails, and event ID 9607 is logged (на английском языке)

923628

The backup application stops responding when you perform a backup that uses a volume snapshot in Windows Server 2003 with SP1 (на английском языке)

933779

A snapshot copy backup of a storage group fails and Event IDs are logged in the Application log in Exchange Server 2003 (на английском языке)

Перед запуском резервного копирования модуль записи Exchange должен находиться в стабильном состоянии без ошибок. Состояние модуля записи Exchange можно определить с помощью следующей команды:

VSSadmin list writers

Эта команда выводит список всех модулей записи, зарегистрированных с помощью службы VSS. В результатах выполнения команды обратите внимание на поле State для модулей записи. Проверьте, отображается ли в нем значение, отличное от Stable. В приведенном ниже примере вывода показан модуль записи Exchange в нерабочем состоянии.

Имя модуля записи: "Microsoft Exchange Writer"

ИД модуля записи: {GUID}

ИД экземпляра модуля записи: {GUD}

Состояние: [14] Ошибка

Последняя ошибка: Повторяемая ошибка

Если модуль записи Exchange находится в нерабочем состоянии, перезапустите службу банка сообщений Microsoft Exchange, а затем выполните команду VSSadmin list writers, чтобы определить, не вернулся ли модуль записи в стабильное состояние. В приведенном ниже примере вывода показан модуль записи Exchange в стабильном состоянии.

Имя модуля записи: "Microsoft Exchange Writer"

ИД модуля записи: {GUID}

ИД экземпляра модуля записи: {GUD}

Состояние: [1] Стабильный

Последняя ошибка: Нет ошибок

Если команда VSSadmin list writers не вывела никаких данных, возможно в реестре есть ошибки, из-за которых операционная система не может обнаружить и отобразить сведения о модуле записи. Дополнительные сведения о том, как исправить эту проблему и повторно создать список модулей записи VSS, см. в статье 940184 базы знаний Майкрософт Error message when you run the "vssadmin list writers" command on a Windows Server 2003-based computer: "Error: 0x8000FFFF" (на английском языке).

Команда VSSadmin list providers выводит список поставщиков теневого копирования томов, зарегистрированных на компьютере. Обычно при выполнении этой команды в качестве одного из поставщиков или единственного поставщика выводится поставщик "Microsoft Software Shadow Copy provider 1.0". В программах резервного копирования сторонних компаний могут использоваться другие поставщики. В приведенном ниже примере вывода показан результат выполнения команды VSSadmin list providers.

vssadmin 1.1 - инструмент командной строки теневого копирования тома

(C) Корпорация Майкрософт, 2001.

Имя поставщика: "Microsoft Software Shadow Copy provider 1.0"

Тип поставщика: Система

ИД поставщика: {GUID}

Версия: 1.0.0.7

Для успешного резервного копирования убедитесь, что поставщик (или поставщики) присутствует в списке и что модуль записи Exchange находится в стабильном состоянии. Для получения дополнительных сведений о других проверках, которые можно выполнить, введите в командной строке команду VSSadmin /?.

Трассировка службы теневого копирования томов

Если не удается устранить проблемы с резервным копированием, следует включить трассировку VSS. Дополнительные сведения о том, как включить трассировку, см. в статье 887013 базы знаний Майкрософт How to enable the Volume Shadow Copy service's debug tracing features in Microsoft Windows Server 2003 (на английском языке).

Можно создать пакетный файл, задающий необходимые значения в реестре, как описано в статье 887013. Для этого введите или скопируйте в текстовый файл приведенный ниже текст. Затем сохраните файл с именем "EnableVSSTracing.bat". Этот пакетный файл сохраняет данные трассировки в файле с именем C:\trace.txt.

net stop swprv 
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Debug\Tracing /v TraceFile /t REG_SZ /d C:\trace.txt /f 
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Debug\Tracing /v TraceLevel /t REG_DWORD /d 0xffffffff /f 
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Debug\Tracing /v TraceEnterExit /t REG_DWORD /d 1 /f 
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Debug\Tracing /v TraceToFile /t REG_DWORD /d 1 /f 
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Debug\Tracing /v TraceToDebugger /t REG_DWORD /d 1 /f 
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Debug\Tracing /v TraceFileLineInfo /t REG_DWORD /d 1 /f 
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Debug\Tracing /v TraceForceFlush /t REG_DWORD /d 0 /f

Чтобы выполнить трассировку VSS, выполните указанные ниже действия.

  1. Внесите изменения в реестр Windows, чтобы включить трассировку. Для этого выполните указания, приведенные в статье 887013, или запустите созданный ранее файл EnableVSSTracing.bat.

  2. Воспроизведите ошибку VSS.

  3. После возникновения ошибки VSS, которую необходимо устранить, остановите службы VSS. Для этого выполните следующие команды:

    net stop VSS
    net stop SWPRV
    
  4. Отключите трассировку VSS. Для этого выполните следующую команду:

    reg delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Debug\Tracing /f
    
  5. Просмотрите созданный файл трассировки.

Трассировка модуля записи Exchange

Модуль записи Exchange встроен в службу теневого копирования томов и поставляется вместе с банком данных Microsoft Exchange. Он выполняется в процессе Store.exe. Модуль записи Exchange используется, когда запрашивающая сторона VSS (программа резервного копирования VSS) запрашивает резервную копию VSS из активной базы данных. Как и другие компоненты Exchange Server 2007, записи трассировки создаются в файле журнала трассировки событий (ETL).

Банк данных предоставляет для модуля записи Exchange указанный ниже тег.

Тег Описание

TagVSS

В Exchange Server 2007 для модуля записи Exchange доступен только один тег — TagVSS. В этом теге объединены все теги VSS, доступные в Exchange Server 2003, включая следующие:

  • Exchange VSS Snapshot Initialize;

  • Exchange VSS Snapshot OnIdentify;

  • Exchange VSS Snapshot OnPrepareBackup;

  • Exchange VSS Snapshot OnThaw;

  • Exchange VSS Snapshot OnPostSnapshot;

  • Exchange VSS Snapshot OnBackupComplete;

  • Exchange VSS Snapshot OnPreRestore;

  • Exchange VSS Snapshot EcAddComponents;

  • Exchange VSS EcPrepareJetInitBackup;

  • Exchange VSS Snapshot EcBuildSGArrayFromWriteComp.

noteПримечание.
Время ожидания заморозки для модуля записи Exchange по умолчанию составляет 20 секунд.

Трассировка модуля записи реплики

Модуль записи реплики кластера Exchange встроен в службу теневого копирования томов и поставляется вместе со службой репликации. Он выполняется в процессе M.E.Cluster.Replay.exe. Модуль записи реплики кластера Exchange используется, когда запрашивающая сторона VSS (программа резервного копирования VSS) запрашивает резервную копию VSS из базы данных копий. Как и другие компоненты Exchange Server 2007, записи трассировки создаются в формате ETL.

Поставщики службы репликации предоставляют для модуля записи реплики кластера Exchange указанный ниже тег.

Тег Описание

ReplicaVssWriterInterop

  • Эта трассировка содержит сведения о взаимодействии между модулем записи VSS и службой репликации.

Использование программы Extra.exe для трассировка модуля записи реплики

Для трассировки модуля записи VSS Exchange можно также использовать помощника по устранению неполадок Microsoft Exchange (Extra.exe). Для этого выполните указанные ниже действия.

  1. Выполните в командной консоли Exchange следующую команду:

    Set-EventLogLevel "MSExchange Repl\Exchange VSS Writer" -level expert
    
  2. Нажмите кнопку Пуск, выберите пункт Выполнить, введите команду extra.exe и нажмите кнопку ОК.

  3. Нажмите кнопку Перейти в окно приветствия, а затем — Выбрать задачу.

  4. Щелкните элемент Управление трассировкой и нажмите кнопку ОК, если будет получено сообщение о том, что в Exchange нет модуля для интерпретации данных трассировки.

  5. Укажите расположение для сохранения файла трассировки и задайте для файла размер 200 мегабайт (МБ).

  6. Нажмите кнопку Задать теги трассировки вручную и установите флажки напротив указанных ниже типов трассировки.

    • PFD

    • Неустранимая

    • Ошибка

    • Предупреждение

    • Сведения

    • Отладка

  7. В списке Компоненты для трассировки установите флажок Cluster.Replay.

    noteПримечание.
    Этот флажок применяется только к кластерной среде Exchange.
  8. В списке Теги трассировки установите указанные ниже флажки.

    • ReplicaInstance

    • ReplicaVssWriterInterop

  9. В списке Компоненты для трассировки установите флажок Store.

  10. В списке Теги трассировки установите указанные ниже флажки.

    • tagVSS

    • tagMostError

  11. Нажмите кнопку Начать трассировку.

  12. Запустите резервное копирование службы теневого копирования томов Exchange. Если при копировании возникнет ошибка, нажмите кнопку Остановить трассировку в помощнике по устранению неполадок Microsoft Exchange.

Использование средства BETest

BETest — это запрашивающая сторона VSS, которая тестирует расширенные операции резервного копирования и восстановления. Это средство можно использовать для тестирования использования сложных функций VSS в приложении, таких как следующие:

  • добавочное и разностное резервное копирование;

  • сложные варианты восстановления, например принудительное восстановление;

  • варианты наката.

Средство BETest можно использовать для получения резервной копии VSS группы хранения Exchange и последующего тестирования модуля записи VSS Exchange. Оно может выполнять большинство операций, выполняемых запрашивающей стороной VSS. Кроме того, средство BETest можно использовать для получения моментального снимка VSS активной и реплицированной базы данных на сервере Exchange 2007.

Средство BETest доступно в пакете SDK 7.2 для службы теневого копирования томов. Инструкции по загрузке пакета SDK см. в статье Центра загрузки Майкрософт Volume Shadow Copy Service SDK 7.2 (на английском языке).

В версии средства BETest из пакета SDK используется текстовая версия файла Components (Components.txt). Версия средства BETest, в которой используется XML-версия файла Components.txt, доступна в пакете Windows SDK. Дополнительные сведения о том, как получить и использовать версию средства BETest из пакета Windows SDK, см. на веб-странице BETest Tool (на английском языке).

noteПримечание.
В инструкциях, приведенных в этом разделе, используется текстовая версия файла Components для средства BETest.

Чтобы использовать средство BETest, выполните указанные ниже действия.

  1. Загрузите и установите средство BETest. По умолчанию версия средства для компьютеров с архитектурой i386 устанавливается в следующей папке:

    C:\Program Files(x86)\Microsoft\VSSSDK72\TestApps\betest\obj\i386

    noteПримечание.
    Также доступна версия средства BETest для архитектуры AMD64. Перед запуском средства BETest необходимо перейти в каталог с его версией для соответствующей операционной системы.
  2. Выполните следующую команду, чтобы получить список доступных модулей записи:

    betest.exe > AvailableWriters.txt
    
  3. Создайте файл Components.txt, чтобы указать компоненты VSS для средства BETest. В файле Components используется следующий формат указания параметров:

    "<WriterId>": "<component-logical-path>" {"target" # "new target", ...}, ..."<component-logical-path>" : '"<subcomponent-logical-path>,...";
    
  4. Узнайте значение записи WriterId, чтобы его можно было использовать в файле Components.txt. Для этого выполните указанные ниже действия.

    1. Откройте файл AvailableWriters.txt в текстовом редакторе, например в Блокноте.

    2. Найдите следующий текст:

      Microsoft Exchange Writer

    3. Запишите значение поля WriterId, например 76fe1ac4-15f7-4bcd-987e-8e1acb462fb7.

  5. Определите путь для заполнителя <логический_путь_к_компоненту> в файле Components.txt. Этот путь можно указать в одном из следующих форматов:

    • <логический_путь;>

    • <логический_путь>\<имя_компонента>;

    • <имя_компонента> (если логический путь не существует);

    Пример: Microsoft Exchange Server\Microsoft Information Store\<имя_сервера>\<GUID_группы_хранения>.

  6. Добавьте значения в файл Components.txt, а затем сохраните изменения в файле. Ниже приведен пример содержимого файла Components.txt.

    1. "{76fe1ac4-15f7-4bcd-987e-8e1acb462fb7}":"Microsoft Exchange Server\Microsoft Information Store\<имя_сервера>\68e5b198-468e-4328-8e8d-8d5276b8e355 ";

    В данном примере первый идентификатор представляет модуль записи Exchange. Второй идентификатор GUID определяет группу хранения. Средство BETest можно запускать для одной или нескольких групп хранения. Чтобы получить идентификатор GUID конкретной группы хранения, можно воспользоваться средством LDP.exe или командлетом Get-StorageGroup. Если используется средство LDP, найдите следующий объект и запомните значение objectGUID на панели сведений:

    CN=First Storage Group,CN=InformationStore,CN=<имя_сервера>,CN=Servers,CN=First Administrative Group,CN=Administrative Groups,CN=First Organization,CN=Organizations,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=fourthcoffee,DC=com

    noteПримечание.
    Этот путь содержит имена по умолчанию организации и административной группы. Измените этот путь в соответствии с данными своей организации.

    Чтобы получить идентификатор GUID группы хранения из командной строки, выполните следующую команду в командной консоли Exchange:

    Get-StorageGroup  <SG name> |fl Guid
    

    Потоковое резервное копирование поддерживается только для активных групп хранения. Для резервного копирования пассивной копии базы данных необходимо использовать службу теневого копирования томов. Если база данных является базой данных кластерной непрерывной репликации или используется локальная непрерывная репликация, файл Components.txt будет иметь указанный ниже формат.

    Для копии реплики кластера с непрерывной репликацией:

    1. "{76fe1ac4-15f7-4bcd-987e-8e1acb462fb7}":"Microsoft Exchange Server\Microsoft Information Store\Replica\<имя_кластерного_сервера_почтовых_ящиков>\<GUID_группы_хранения> ";

    Для копии реплики с локальной непрерывной репликацией:

    1. "{76fe1ac4-15f7-4bcd-987e-8e1acb462fb7}":"Microsoft Exchange Server\Microsoft Information Store\Replica\<имя_сервера>\68e5b198-468e-4328-8e8d-8d5276b8e355 ";

    noteПримечание.
    Успешное или неудачное выполнение потокового резервного копирования ничего не говорит о работоспособности модуля записи VSS Exchange.
  7. После сохранения файла Components.txt выполните следующую команду для запуска средства BETest:

    BETEST.exe /B /E /T 1 /S output.XML /C components.txt /D c:\betest > Output.txt
    

    Эта команда создает резервную копию в каталоге C:\BETest.

    noteПримечание.
    Эту команду можно также выполнить без параметра /E.
  8. При неудачном завершении резервного копирования изучите сообщения об ошибках в файле Output.txt.

Дополнительные сведения

Пакет обновления 1 (SP1) для сервера Exchange Server 2007 и различные накопительные пакеты обновления для Exchange Server содержат исправления для службы теневого копирования томов. Рекомендуется установить последний пакет обновления и последний накопительный пакет обновления для Exchange 2007. Дополнительные сведения см. в разделе Инструкции по получению последнего пакета обновления или накопительного пакета обновления для Exchange 2007.