Файлы журналов
Вы можете использовать журнал средства миграции пользовательской среды (USMT) 10.0, чтобы отслеживать выполнение миграции и диагностировать возникающие ошибки и сбои миграции. В этом разделе описаны доступные параметры командной строки, необходимые для использования журналов USMT, а также новые XML-элементы, с помощью которых можно указать, какие типы ошибок являются неустранимыми и должны привести к остановке миграции, а какие устранимы и должны быть пропущены, чтобы продолжить миграцию.
Параметры командной строки журнала
Журналы ScanState и LoadState
Журнал выполнения
Журнал файлов
Журнал диагностики
Параметры командной строки журнала
Ниже в таблице приводятся определения всех параметров командной строки для работы с журналами, указывается имя каждого журнала и описывается содержащийся в нем тип информации.
Параметр командной строки | Имя файла | Описание |
---|---|---|
/l[Path\]FileName |
Scanstate.log или LoadState.log |
Задает путь и имя файла для журнала ScanState.log или LoadState.log. |
/progress[Path\]FileName |
Задает путь и имя файла для журнала хода выполнения. |
Содержит информацию о состоянии миграции (процент выполнения). |
/v[VerbosityLevel] |
Неприменимо |
См. раздел "Параметры наблюдения" в материале Синтаксис ScanState. |
/listfiles[Path\]FileName |
Задает путь и имя файла для журнала Listfiles log. |
Содержит список перенесенных файлов. |
Установите значение переменной среды MIG_ENABLE_DIAG, указав путь к XML-файлу. |
USMTDiag.xml |
Журнал диагностики содержит подробную информацию о системной среде, пользовательской среде, о собираемых объектах миграции (migunits) и их содержимом. |
Примечание
Файлы журнала нельзя сохранять в каталоге StorePath. Если вы это сделаете, журнал будет перезаписан при запуске USMT.
Журналы ScanState и LoadState
Журналы ScanState и LoadState представляют собой текстовые файлы, создаваемые при работе средств ScanState и LoadState. Эти журналы помогают следить за ходом миграции. Содержимое журнала зависит от параметров командной строки и заданного уровня детализации. Подробнее об уровнях детализации см. в разделе "Параметры наблюдения" материала Синтаксис ScanState.
Журнал выполнения
Можно создать журнал выполнения, воспользовавшись параметром /progress. Внешние средства, например Microsoft System Center Operations Manager 2007, способны анализировать журнал выполнения и обновлять данные систем мониторинга. Первые три поля в каждой строке зафиксированы. Это поля:
Дата: дата в формате day shortNameOfTheMonth year. Например: 08 июня 2006.
Местное время: время в формате hrs:minutes:seconds (используется 24-часовое представление времени). Например: 13:49:13.
Время миграции: срок, в течение которого было запущено USMT, выраженное в формате hrs:minutes:seconds. Например: 0:00:10.
Остальные поля представляют собой пары "ключ-значение" (см. таблицу ниже).
Ключ | Значение |
---|---|
program |
ScanState.exe или LoadState.exe. |
рroductVersion |
Полный номер версии USMT. |
computerName |
Имя исходного или целевого компьютера, на котором запущено средство USMT. |
commandLine |
Полная команда, используемая для запуска USMT. |
PHASE |
Извещает о начале нового этапа миграции. Возможные значения:
|
detectedUser |
|
includedInMigration |
Определяет, включен ли в миграцию профиль или компонент пользователя. Допустимые значения: Yes (да) или No (нет). |
forUser |
Задает одно из следующих значений.
|
detectedComponent |
Задание компонента, обнаруженного средством миграции пользовательской среды.
|
totalSizeInMBToTransfer |
Указывает общий размер переносимых файлов и параметров в мегабайтах (МБ). |
totalPercentageCompleted |
Указывает общий процент миграции, выполненной средством ScanState или LoadState. |
collectingUser |
Указывает пользователя, для которого ScanState собирает файлы и параметры. |
totalMinutesRemaining |
Указывает примерное время завершения миграции в минутах. |
error |
Указывает тип возникшей некритической ошибки. Возможные значения:
|
objectName |
Указывает имя файла или параметра, вызвавшего некритическую ошибку. |
action |
Действие, предпринимаемое USMT при возникновении ошибки, которая не является неустранимой. Возможные значения:
|
Код ошибки |
Указывает код ошибки или возвращаемое значение. |
numberOfIgnoredErrors |
Общее количество некритических ошибок, пропущенных средством USMT. |
message |
Указывает сообщение, соответствующее коду ошибки. |
Журнал файлов
Журнал файлов (Listfiles.txt) содержит список перенесенных файлов. Этот список можно использовать для диагностики проблем с XML-файлом или сохранить как перечень файлов, собранных в хранилище миграции. Журнал файлов доступен только при использовании ScanState.exe.
Журнал диагностики
Журнал диагностики можно сформировать, указав для переменной среды MIG_ENABLE_DIAG путь к XML-файлу.
Журнал диагностики содержит:
Подробные сведения о системной среде
Подробные сведения о пользовательской среде
Сведения о собираемых объектах миграции (migunits) и их содержимом
Использование журнала диагностики
Журнал диагностики по существу является отчетом обо всех объектах миграции, включенных в миграцию. Объект миграции — это коллекция данных, определяемая соответствующим ей компонентом XML-файла. Хранилище миграции образуют все включенные в миграцию объекты миграции. Журнал диагностики позволяет проверить, какие объекты миграции включены в миграцию, и устранить ошибки при создании XML-файлов миграции.
Далее в примерах описаны типичные сценарии, в которых можно использовать журнал диагностики.
Почему не выполняется миграция файла, если для него было создано правило включения?
Предположим, что имеется следующая структура каталогов и в миграцию нужно включить каталог data и файл "Новый текстовый документ.txt" из папки "Новая папка". Каталог C\data содержит:
01/21/2009 10:08 PM <DIR> .
01/21/2009 10:08 PM <DIR> ..
01/21/2009 10:08 PM <DIR> New Folder
01/21/2009 09:19 PM 13 test (1).txt
01/21/2009 09:19 PM 13 test.txt
2 File(s) 26 bytes
Каталог C\data\Новая папка содержит:
01/21/2009 10:08 PM <DIR> .
01/21/2009 10:08 PM <DIR> ..
01/21/2009 10:08 PM 0 New Text Document.txt
1 File(s) 0 bytes
Для миграции этих файлов создается следующий XML-файл миграции:
<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="https://www.microsoft.com/migration/1.0/TestSuite_BUGFIX">
<component context="System" type="Application">
<displayName>DATA1</displayName>
<role role="Data">
<rules>
<include>
<objectSet>
<pattern type="File">c:\data\ [*]</pattern>
</objectSet>
</include>
</rules>
</role>
</component>
</migration>
Однако при проверке миграции вы замечаете, что файл "Новый текстовый документ.txt" не включен в миграцию. Для диагностики этого сбоя можно повторить миграцию, задав для переменной среды MIG_ENABLE_DIAG параметр, обеспечивающий создание журнала диагностики. При поиске компонента "DATA1" в журнале диагностики обнаруживается следующий XML-раздел:
<MigUnitList>
<MigUnit Name="<System>\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
<Patterns Type="Include">
<Pattern Type="File" Path="C:\data [*]"/>
</Patterns>
</MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
<MigUnit Name="<System>\DATA1 (CMXEAgent)">
<Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test (1).txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test.txt]" SimObj="false" Success="true"/>
</MigUnit>
</Perform>
Анализе этого XML-раздела показывает, что при обработке правила миграции был создан объект миграции. Раздел <Perform> содержит сведения о файлах, запланированных для сбора, и результаты операции сбора. Этот раздел не содержит файл "Новый текстовый документ.txt", и таким образом подтверждается, что правило миграции было создано неверно.
При анализе раздела руководства по XML-элементам выясняется, что тег <pattern> нужно изменить следующим образом:
<pattern type="File">c:\data\* [*]</pattern>
При повторном выполнении миграции после изменения тега в журнале диагностики обнаруживаются следующие сведения:
<MigUnitList>
<MigUnit Name="<System>\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
<Patterns Type="Include">
<Pattern Type="File" Path="C:\data\* [*]"/>
</Patterns>
</MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
<MigUnit Name="<System>\DATA1 (CMXEAgent)">
<Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test (1).txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test.txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder [New Text Document.txt]" SimObj="false" Success="true"/>
</MigUnit>
</Perform>
Журнал диагностики подтверждает, что измененное значение тега <pattern> обеспечило миграцию файла.
Почему переносится файл, если для него было создано правило исключения?
В этом сценарии имеется следующая структура каталогов и требуется перенести все файлы каталога data, за исключением текстовых. Папка C\Data содержит:
Directory of C:\Data
01/21/2009 10:08 PM <DIR> .
01/21/2009 10:08 PM <DIR> ..
01/21/2009 10:08 PM <DIR> New Folder
01/21/2009 09:19 PM 13 test (1).txt
01/21/2009 09:19 PM 13 test.txt
2 File(s) 26 bytes
Папка C\Data\Новая папка содержит:
01/21/2009 10:08 PM <DIR> .
01/21/2009 10:08 PM <DIR> ..
01/21/2009 10:08 PM 0 New Text Document.txt
1 File(s) 0 bytes
Создается следующий XML-файл миграции:
<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="https://www.microsoft.com/migration/1.0/TestSuite_BUGFIX">
<component context="System" type="Application">
<displayName>DATA1</displayName>
<role role="Data">
<rules>
<include>
<objectSet>
<pattern type="File">c:\data\* [*]</pattern>
</objectSet>
</include>
</rules>
<rules>
<exclude>
<objectSet>
<pattern type="File">c:\* [*.txt]</pattern>
</objectSet>
</exclude>
</rules>
</role>
</component>
Однако при проверке миграции оказывается, что в миграцию включены все текстовые файлы. Для диагностики этой проблемы можно выполнить миграцию, задав для переменной среды MIG_ENABLE_DIAG параметр, обеспечивающий создание журнала диагностики. При поиске компонента "DATA1" в журнале диагностики обнаруживается следующий XML-раздел:
<MigUnitList>
<MigUnit Name="<System>\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
<Patterns Type="Include">
<Pattern Type="File" Path="C:\data\* [*]"/>
</Patterns>
<Patterns Type="Exclude">
<Pattern Type="File" Path="C:\* [*.txt]"/>
</Patterns>
</MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
<MigUnit Name="<System>\DATA1 (CMXEAgent)">
<Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test (1).txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test.docx]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test.txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder [New Text Document.txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder [test.docx]" SimObj="false" Success="true"/>
</MigUnit>
</Perform>
При анализе журнала диагностики подтверждается, что файлы по-прежнему переносятся и что проблема связана с созданным XML-правилом миграции. Для XML-скрипта миграции создается следующее обновление:
<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="https://www.microsoft.com/migration/1.0/TestSuite_BUGFIX">
<component context="System" type="Application">
<displayName>DATA1</displayName>
<role role="Data">
<rules>
<include>
<objectSet>
<pattern type="File">c:\data\* [*]</pattern>
</objectSet>
</include>
</rules>
<rules>
<exclude>
<objectSet>
<pattern type="File">c:\data\* [*.txt]</pattern>
</objectSet>
</exclude>
</rules>
</role>
</component>
</migration>
Измененный XML-скрипт миграции позволяет исключить требуемые файлы из миграции, что подтверждает журнал диагностики:
<MigUnitList>
<MigUnit Name="<System>\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
<Patterns Type="Include">
<Pattern Type="File" Path="C:\data\* [*]"/>
</Patterns>
<Patterns Type="Exclude">
<Pattern Type="File" Path="C:\data\* [*.txt]"/>
</Patterns>
</MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
<MigUnit Name="<System>\DATA1 (CMXEAgent)">
<Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test.docx]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder [test.docx]" SimObj="false" Success="true"/>
</MigUnit>
</Perform>