로그 파일

사용자 상태 마이그레이션 도구(USMT) 5.0 로그를 사용하여 마이그레이션을 모니터링하고 오류 및 실패한 마이그레이션 문제를 해결할 수 있습니다. 이 항목에서는 심각한 오류여서 마이그레이션을 중지할 오류 유형과 사소한 오류여서 마이그레이션을 계속할 수 있도록 건너뛸 유형을 구성하는 새 XML 요소 및 USMT 로그를 사용하도록 설정하는 명령줄 옵션에 대해 설명합니다.

로그 명령줄 옵션

ScanState 및 LoadState 로그

진행률 로그

파일 목록 로그

진단 로그

다음 표에서는 로그와 관련된 각 명령줄 옵션에 대해 설명하고 로그 이름 및 각 로그에 포함되는 정보 유형에 대한 설명을 제공합니다.

 

명령줄 옵션 파일 이름 설명

/l: [Path\]FileName

Scanstate.log 또는 LoadState.log

ScanState.log 또는 LoadState log의 경로와 파일 이름을 지정합니다.

/progress: [Path\]FileName

진행률 로그의 경로와 파일 이름을 지정합니다.

완료율을 기준으로 마이그레이션 상태에 대한 정보를 제공합니다.

/v: [VerbosityLevel]

해당 없음

ScanState 구문의 "모니터링 옵션" 섹션을 참조하세요.

/listfiles [Path\]FileName

Listfiles 로그의 경로와 파일 이름을 지정합니다.

마이그레이션된 파일 목록을 제공합니다.

환경 변수 MIG_ENABLE_DIAG를 XML 파일의 경로로 설정합니다.

USMTDiag.xml

진단 로그에는 자세한 시스템 환경 정보, 사용자 환경 정보, 수집되는 마이그레이션 단위(migunit) 및 해당 콘텐츠가 들어 있습니다.

note참고
StorePath에는 로그 파일을 저장할 수 없습니다. 저장하면 USMT 실행 시 로그를 덮어씁니다.

ScanState 및 LoadState 로그는 ScanState 및 LoadState 도구를 실행할 때 생성되는 텍스트 파일입니다. 이러한 로그를 사용하여 마이그레이션을 모니터링할 수 있습니다. 로그 내용은 사용된 명령줄 옵션과 지정된 자세한 표시 수준에 따라 달라집니다. 자세한 표시 수준에 대한 자세한 내용은 ScanState 구문의 모니터링 옵션을 참조하세요.

/progress 옵션을 사용하여 진행률 로그를 만들 수 있습니다. Microsoft System Center Operations Manager 2007과 같은 외부 도구는 진행률 로그를 구문 분석하여 모니터링 시스템을 업데이트할 수 있습니다. 각 줄에서 처음 세 개 필드는 다음과 같이 고정되어 있습니다.

  • Date:(날짜:) day shortNameOfTheMonth year 형식의 날짜입니다(예: 08 Jun 2006).

  • Local time:(로컬 시간:) hrs:minutes:seconds 형식의 시간으로, 24시간제를 사용합니다(예: 13:49:13).

  • Migration time:(마이그레이션 시간:) USMT가 실행된 기간으로, hrs:minutes:seconds 형식을 사용합니다(예: 오전 12:00:10).

나머지 필드는 다음 표에 나열된 키/값 쌍입니다.

 

program

ScanState.exe 또는 LoadState.exe입니다.

productVersion

USMT의 전체 제품 버전 번호입니다.

computerName

USMT가 실행된 원본 컴퓨터 또는 대상 컴퓨터의 이름입니다.

commandLine

USMT를 실행하는 데 사용된 전체 명령입니다.

PHASE

마이그레이션의 새 단계가 시작되고 있음을 보고합니다. 다음 중 하나일 수 있습니다.

  • Initializing

  • Scanning

  • Collecting

  • Saving

  • Estimating

  • Applying

detectedUser

  • ScanState 도구의 경우 USMT가 원본 컴퓨터에서 검색한, 마이그레이션될 수 있는 사용자입니다.

  • LoadState 도구의 경우 USMT가 저장소에서 검색한, 마이그레이션될 수 있는 사용자입니다.

includedInMigration

사용자 프로필/구성 요소를 마이그레이션에 포함할지 여부를 정의합니다. 유효한 값은 Yes 또는 No입니다.

forUser

다음 중 하나를 지정합니다.

  • 마이그레이션 중인 사용자 상태

  • This Computer. 사용자와 연결되지 않은 파일 및 설정을 의미합니다.

detectedComponent

USMT에서 검색되는 구성 요소를 지정합니다.

  • ScanState의 경우 원본 컴퓨터에 설치된 구성 요소 또는 응용 프로그램입니다.

  • LoadState의 경우 저장소에서 검색된 구성 요소 또는 응용 프로그램입니다.

totalSizeInMBToTransfer

마이그레이션할 파일 및 설정의 전체 크기(MB)입니다.

totalPercentageCompleted

ScanState 또는 LoadState에서 완료된 마이그레이션의 전체 백분율입니다.

collectingUser

ScanState에서 파일과 설정을 수집할 사용자를 지정합니다.

totalMinutesRemaining

마이그레이션이 완료될 예상 시간(분)입니다.

error

발생한 사소한 오류 유형입니다. 다음 중 하나일 수 있습니다.

  • UnableToCopy: 저장소가 있는 디스크가 꽉 찼기 때문에 저장소로 복사할 수 없습니다.

  • UnableToOpen: 다른 응용 프로그램이나 서비스에서 비공유 모드로 파일이 열려 있기 때문에 마이그레이션을 위해 파일을 열 수 없습니다.

  • UnableToCopyCatalog: 저장소가 손상되었기 때문에 복사할 수 없습니다.

  • UnableToAccessDevice: 장치에 액세스할 수 없습니다.

  • UnableToApply: 대상 컴퓨터에 설정을 적용할 수 없습니다.

objectName

사소한 오류를 발생시키는 파일 또는 설정의 이름입니다.

action

사소한 오류에 대해 USMT에서 수행한 조치입니다. 값은 다음과 같습니다.

  • Ignore: 명령줄에서 /c 옵션을 지정했기 때문에 사소한 오류가 무시되고 마이그레이션이 계속되었습니다.

  • Abort: /c 옵션을 지정하지 않았기 때문에 마이그레이션이 중지되었습니다.

errorCode

errorCode 또는 반환 값입니다.

numberOfIgnoredErrors

USMT에서 무시한 사소한 오류의 총수입니다.

message

errorCode에 해당하는 메시지입니다.

파일 목록 로그(Listfiles.txt)는 마이그레이션된 파일 목록을 제공합니다. 이 목록을 사용하여 XML 문제를 해결할 수도 있고, 마이그레이션 저장소로 수집된 파일 레코드로 목록을 유지할 수도 있습니다. 파일 목록 로그는 ScanState.exe에만 사용할 수 있습니다.

환경 변수 MIG_ENABLE_DIAG를 XML 파일의 경로로 설정하여 진단 로그를 가져올 수 있습니다.

진단 로그에는 다음 정보가 포함됩니다.

  • 자세한 시스템 환경 정보

  • 자세한 사용자 환경 정보

  • 수집되는 마이그레이션 단위(migunit) 및 해당 콘텐츠에 대한 정보

기본적으로 진단 로그는 마이그레이션에 포함된 모든 마이그레이션 단위(migunit)에 대한 보고서입니다. migunit는 XML 파일에서 마이그레이션과 연결된 구성 요소로 식별된 데이터 컬렉션입니다. 마이그레이션 저장소는 마이그레이션에 포함된 모든 migunit로 구성됩니다. 진단 로그를 사용하여 마이그레이션에 포함된 migunit를 확인하고 마이그레이션 XML 파일을 작성하는 동안 문제를 해결할 수 있습니다.

다음 예에서는 진단 로그를 사용할 수 있는 일반적인 시나리오에 대해 설명합니다.

이 파일에 대해 "포함" 규칙을 작성했는데 파일이 마이그레이션되지 않는 것은 무엇 때문입니까?

다음과 같은 디렉터리 구조가 있고 "New Folder"의 "New Text Document.txt" 파일과 함께 "data" 디렉터리를 마이그레이션에 포함하려는 경우를 가정해 보세요. 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\New Folder 디렉터리에는 다음 항목이 들어 있습니다.

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="http://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>

그러나 마이그레이션을 테스트하면 "New Text Document.txt" 파일이 마이그레이션에 포함되지 않습니다. 이 문제를 해결하기 위해 진단 로그가 생성되도록 환경 변수 MIG_ENABLE_DIAG를 설정하여 마이그레이션을 반복할 수 있습니다. 진단 로그에서 "DATA1" 구성 요소를 검색하면 다음 XML 섹션이 검색됩니다.

<MigUnitList>
<MigUnit Name="&lt;System&gt;\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="&lt;System&gt;\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 섹션을 분석하면 마이그레이션 규칙을 처리할 때 생성된 migunit를 알 수 있습니다. <Perform> 섹션에는 수집하도록 예약된 실제 파일과 수집 작업의 결과가 자세히 표시됩니다. 이 섹션에 "New Text Document.txt" 파일이 표시되지 않으므로 마이그레이션 규칙이 올바르게 작성되지 않은 것입니다.

XML 요소 참조 항목을 분석하면 <pattern> 태그를 다음과 같이 수정해야 함을 알 수 있습니다.

<pattern type="File">c:\data\* [*]</pattern>

수정된 태그를 사용하여 마이그레이션을 다시 수행하면 진단 로그에 다음 내용이 표시됩니다.

<MigUnitList>
<MigUnit Name="&lt;System&gt;\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="&lt;System&gt;\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\New Folder 폴더에는 다음 항목이 들어 있습니다.

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="http://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="&lt;System&gt;\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="&lt;System&gt;\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="http://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="&lt;System&gt;\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="&lt;System&gt;\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>

표시: