다음을 통해 공유


Microsoft Deployment Toolkit

MDT와 단일 인스턴스 저장소 사용

Joe Fox

우리는 상당히 오랫동안 MDT(Microsoft Deployment Toolkit)를 사용해서 사용자 지정 Microsoft Windows 운영 체제를 작성, 유지 관리 및 배포하는 작업을 해왔습니다. 아마 여러분도 Windows XP부터 Windows 7까지 보유 중인 데스크톱 이미지가 많을 것이며 Windows Server 2003, Windows Server 2008과 같은 서버 이미지도 많을 것입니다. 그리고 이러한 OS마다 이미지가 두 개 이상일 수 있습니다. 예를 들어 Windows Server 2008 Standard 및 Enterprise 이미지, 그리고 32비트 및 64비트 이미지가 있을 수 있으며 이러한 조합은 더욱 다양할 수 있습니다. 만들고 유지 관리하는 이미지가 늘어나면 배포 공유의 크기 또한 빠른 속도로 증가할 수 있습니다. 일반적으로 우리는 여러 CD 또는 DVD를 사용하여 개별 이미지를 배포합니다. 이미지를 통합하고 싶다고 생각해 본 적은 없습니까? Microsoft는 Windows Vista부터 여러 OS 설치를 DVD 하나에 넣을 수 있게 되었는데, 우리도 못할 이유가 없지 않겠습니까? 여러분의 상황도 이와 비슷하지 않습니까?

필자 역시 이러한 상황을 여러 번 경험했고 여러분과 같은 걱정과 질문을 가지고 있었습니다. 결론부터 말하자면 여러분의 사용자 지정 이미지를 통합할 수 있으며 이미지 설치 여러 개를 디스크 하나에 넣는 것도 가능합니다. 그러나 그 방법을 알아보기 전에 먼저 Windows Vista가 소개된 이후로 이미징에 대한 변화에 대해 설명하겠습니다.

WIM 형식

Microsoft WIM(Windows Imaging File) 형식은 Microsoft Windows Vista에 처음 도입되었습니다. WIM 형식은 많이 사용되는 섹터 기반 디스크 형식을 대체하기 위해 설계된 파일 기반 디스크 형식입니다. 섹터 기반 형식은 이전에 Microsoft ADS(Automated Deployment Services)와 Microsoft XPe(XP Embedded)에서 사용되었으며 대부분의 다른 상업용 이미지 솔루션에서는 현재도 널리 사용됩니다. 섹터 기반 형식은 물리적 디스크의 실제 섹터를 기반으로 캡처되는데 반해 파일 기반 형식은 디스크의 파일을 기반으로 캡처된다는 차이점이 있습니다.

Microsoft는 더 높은 유연성과 제어를 염두에 두고 WIM 형식을 개발했습니다. WIM 형식은 완벽하게 하드웨어 독립적입니다. 즉, 어떤 시스템에서든 캡처하고 배포할 수 있습니다. WIM은 오프라인으로 서비스가 가능하므로 선택적으로 파일이나 드라이버를 추가, 복사 및 삭제하거나 심지어 이미지를 다시 만들지 않고도 패치를 적용할 수 있습니다. WIM 이미지를 부팅이 가능하도록 표시하여 WIM 내의 이미지로 시스템을 시작하는 것도 가능합니다. 이미지를 캡처한 디스크의 크기에 관계없이 어떠한 크기의 파티션에도 WIM 이미지를 적용할 수 있습니다. WIM은 또한 비파괴 배포 옵션을 지원하므로 WIM을 적용하더라도 디스크의 기존 데이터가 삭제되지 않습니다. WIM 형식은 또한 한 파일 내에 여러 이미지를 저장하는 기능을 제공하며, 실제 이미지 크기를 줄이기 위한 파일 압축 기술과 파일 리소스의 단일 인스턴스 저장소를 활용합니다. WIM은 디스크 여러 장에 분리 저장할 수 있으므로 다른 저장 매체(CD 및 DVD)를 사용할 수 있습니다.

단일 인스턴스 저장소

이미지 통합 목표를 달성하는 데 도움이 되는 기능이 단일 WIM에 여러 이미지를 저장할 수 있는 기능, 파일 압축, 그리고 SIS(단일 인스턴스 저장소)라는 것을 알 수 있을 것입니다. SIS란 정확히 무엇일까요? SIS는 단일 인스턴스 저장소라는 기술을 나타내는 용어입니다. 이 기술은 여러 Microsoft 제품에서 Microsoft Storage Server와 Microsoft Exchange를 포함하기 위해 사용되었으며 Windows 2000 Server부터 사용되었습니다. SIS는 파일 중복을 제거하여 저장소 용량을 최적화하는 기능을 제공합니다. 이미지 내의 각 파일을 판별하는 데는 SHA-1(Secure Hash Algorithm 1) 해시 값이 사용됩니다. SIS는 이 해시 값을 바탕으로 중복 파일을 식별하고 투명하게 중복 파일을 공용 저장소에 있는 파일의 단일 사본에 대한 파일 시스템 링크로 대체합니다. 비슷한 OS 이미지를 결합해 보면 분리된 이미지 파일 여러 개에 비해 60% 이상 크기가 줄어드는 경우도 흔히 볼 수 있습니다. 예를 들어 그림 1에서 W2k8.wim은 WIM 파일 세 개를 하나로 결합한 것입니다.

 

그림 1 개별 WIM 크기 및 결합된 WIM 크기 비교

 

여러 이미지로 단일 WIM 만들기

MDT에서 동일한 표준 이미지 캡처 프로세스를 통해 이미지 여러 개로 단일 WIM을 만들 수 있습니다. 이렇게 하려면 이미지 배포를 시작하고 배포 마법사까지 진행합니다. 캡처 화면이 표시되면 Capture(캡처)를 선택하고 WIM의 이름을 입력하거나 기본값을 사용한 다음 배포를 시작합니다. 배포와 캡처가 완료되면 다른 이미지 배포를 시작하고 배포 마법사까지 진행합니다. 캡처 화면이 표시되면 Capture(캡처)를 선택하고 이전 캡처와 동일한 이름과 위치를 지정합니다. 실제로 이미지 캡처를 완료하는 MDT ZTIBackup 스크립트는 WIM이 이미 있다는 것을 인식하고 새 이미지를 기존 WIM에 추가할 것입니다. 이렇게 하면 ZTIBackup 스크립트는 작업 시퀀스 ID와 드라이브 문자를 사용하여 이미지 이름을 만듭니다. WIM 내의 각 이미지에는 고유한 이미지 이름이 있어야 하므로 기본 DMT 스크립트를 사용자 지정하거나 WIM을 수동으로 수정하지 않고는 같은 작업 시퀀스로 여러 이미지를 동일한 WIM에 추가할 수 없습니다. 그러나 개별 작업 시퀀스를 사용하면 MDT에서 별도의 사용자 지정 없이 WIM에 이미지를 추가할 수 있게 됩니다.

처음 시나리오로 돌아가 보겠습니다. 이제 사용자 지정 이미지를 통합할 수 있다는 것과 MDT를 사용하여 새 이미지를 만들고 캡처할 때 이 작업이 가능하다는 것을 알게 되었지만 이미 만들어 놓은 WIM으로 이 작업을 하려면 어떻게 해야 할까요? 이미 많은 작업을 완료했기 때문에 처음부터 다시 시작해야 할까요? 사용자 지정 이미지를 모두 다시 캡처해야 할까요? 그렇지 않습니다. ImageX를 사용하면 기존 사용자 지정 이미지를 모두 통합할 수 있습니다.

ImageX는 Microsoft WAIK(Windows Automated Installation Kit)에 포함되어 있는 무료 명령줄 도구입니다. 실제로 MDT에서는 사용자 지정 이미지를 작성, 관리 및 배포하는 여러 프로세스에 ImageX를 사용하고 있습니다. MDT는 ImageX의 append 스위치를 사용하여 기존 WIM에 이미지를 추가합니다. 그러나 ImageX의 export 스위치를 사용하면 여러 이미지를 포함하는 단일 WIM을 만들 수 있습니다. export 스위치를 사용하면 WIM에서 이미지 파일을 내보내서 새 WIM을 만들 수 있습니다. 예를 들어 W2K8ENTX64.wim이라는 WIM이 있고 W2K8.wim이라는 새 WIM을 만들려고 한다고 가정해 보겠습니다. 이렇게 하려면 다음과 같이 명령을 실행할 수 있습니다.

ImageX /export W2K8STDSP2X64.wim 1 W2K8.wim "Windows Server 2008 Standard SP2 X64"

이 명령에서 "Windows Server 2008 Standard SP2 X64" 는 가져오는 이미지에 할당되는 이름을 나타냅니다. 이제 W2K8.wim에 다른 이미지를 추가하고 싶다고 가정해 보겠습니다. 이렇게 하려면 다음과 같이 명령을 실행할 수 있습니다.

ImageX /export W2K8ENTSP2X64.wim 1 W2K8.wim "Windows Server 2008 Enterprise SP2 X64"

앞에서 언급했듯이 여러 이미지를 단일 WIM으로 결합할 때 각 이미지에는 고유한 이미지 이름이 있어야 합니다. 고유한 이미지 이름 외에도 각 이미지에는 이미지 인덱스 번호가 할당됩니다. 이러한 번호는 이미지를 WIM 파일로 가져온 시간 순서대로 할당되며 수정할 수 없습니다. Windows Server 2008 Standard SP2 X64 예는 인덱스 번호가 1이고 Windows Server 2008 Enterprise SP2 X64 예는 인덱스 번호가 2입니다. 여러 이미지가 있는 단일 WIM의 이미지를 수정하거나 설치할 때는 WIM 내의 이미지를 올바르게 식별하기 위해 이미지 인덱스 번호가 필요합니다.

MDT를 사용하든 또는 명령줄에서 ImageX를 사용하든 관계없이 한 번에 한 개의 이미지만 기존 WIM에 병합할 수 있습니다. 즉, 기존 WIM에 일련의 캡처를 병합하려면 이전 배포 및 캡처 프로세스가 완료되기를 기다리고 다음 단계로 진행해야 합니다. 두 Imagex 스위치는 모두 앞에서 설명한 대로 WIM 내에 이미지를 저장할 때 파일이 중복되지 않도록 해싱 알고리즘을 사용합니다.


여러 이미지 배포

이제 여러 OS가 들어 있는 단일 WIM을 만드는 방법을 배웠는데, 이를 배포하려면 어떻게 할까요? WIM을 배포하려면 세 단계를 따라야 합니다.

  1. WIM을 MDT로 가져오기
  2. 새 작업 시퀀스 만들기 또는 기존 작업 시퀀스 수정
  3. 미디어 만들기

1단계: WIM을 MDT로 가져오기

가장 먼저 할 일은 다른 사용자 지정 OS와 마찬가지 방법으로 WIM을 OS로서 MDT로 가져오는 것입니다. 운영 체제 가져오기 마법사를 완료하고 운영 체제 폴더를 선택하면 WIM 파일 내에 있는 모든 이미지가 개별 OS로 나열되는 것을 볼 수 있습니다. 각 OS의 표시 이름은 여러분이 WIM에 이미지를 추가한 방법에 따라 다릅니다. 예를 들어 MDT를 사용하여 SIS WIM을 만든 경우, 각 고유 이미지에는 이미지를 만드는 데 작업 시퀀스 ID의 제목(W2K8STDSP2X64CDrive, W2K8ENTSP2X64CDrive 및 W2K8DATACSP2X64CDrive)이 사용되며, 이전 예에서는 Windows Server 2008 Standard SP2 x64, Windows Server 2008 Enterprise SP2 x64 및 Windows Server 2008 Datacenter SP2 x64를 볼 수 있습니다. MDT 내의 표시 이름은 운영 체제 폴더로 가져온 후에 MDT 콘솔에서 직접 업데이트할 수도 있습니다.

2단계: 새 작업 시퀀스 만들기 또는 기존 작업 시퀀스 수정

MDT에서 OS를 준비한 다음에는 이러한 이미지를 배포하는 배포 작업 시퀀스를 만들 수 있습니다. 기존 작업 시퀀스를 업데이트하려는 경우 다소 까다롭지만 가능합니다. 가장 먼저 작업 시퀀스의 속성으로 이동해야 합니다. Windows Vista 및 이보다 새로운 Microsoft OS의 경우 새로운 WIM 및 적용할 이미지의 이미지 인덱스 번호를 반영하도록 Unattend.xml file 파일을 수정해야 합니다. 기존 작업 시퀀스 속성 창에서 OS Info(OS 정보) 탭을 선택하고 edit unattend.xml file(unattend.xml 파일 편집) 단추를 선택하여 Unattend.xml 파일을 업데이트할 수 있습니다. 그러면 그림 2에 나오는 것처럼 WSIM(Windows System Image Manager) 응용 프로그램이 열립니다. WSIM 내에서 새 WIM 파일과 이미지 인덱스 번호를 반영하도록 다음 항목을 수정하십시오.

Unattend | Components | 1 windowsPE | Microsoft-Windows-Setup |ImageInstall | OSImage | InstallFrom |Path:      .\Operating Systems\<WIMFile>Unattend | Components | 1 windowsPE | Microsoft-Windows-Setup |ImageInstall | OSImage | InstallFrom | Path |MetaData[Key="/image/index"] |Value:    1

 

그림 2 Unattend.xml을 표시하는 WSIM(Windows System Image Manager) 응용 프로그램

값 1은 이미지 인덱스 번호를 나타냅니다. MDT에서 OS 속성의 General(일반) 탭을 보면 이미지 인덱스 번호를 확인할 수 있습니다(그림 3 참조).

 

그림 3 MDT의 운영 체제 속성

Unattend.xml 파일을 업데이트한 후에는 작업 시퀀스 속성의 작업 시퀀스 탭에서 운영 체제 설치 단계를 찾고 설치할 새 운영 체제를 선택합니다. Windows Vista 이전 운영 체제에서는 Unattend.xml을 수정할 필요가 없습니다. 운영 체제 설치 단계만 업데이트하면 됩니다.

3단계: 미디어 만들기

이제 사용자 지정 이미지를 모두 포함하는 새로운 WIM을 만들었고, 이 WIM에서 이미지를 배포하기 위해 기존 작업 시퀀스를 업데이트하거나 새로운 작업 시퀀스를 만들었습니다. 다음 단계는 CD 또는 DVD 하나에서 새로운 WIM의 모든 OS를 배포하는 것입니다. 첫째, 사용 중인 MDT 버전에 따라 새로운 미디어 배포 지점(MDT 2008) 또는 선택 프로필(MDT 2010)을 만듭니다. 미디어 배포 지점 또는 선택 프로필의 속성에서 WIM에 포함될 모든 배포 작업 시퀀스, 배포 작업 시퀀스에 필요한 드라이버, 그리고 배포에 필요한 모든 응용 프로그램을 선택합니다. 미디어 지점을 위한 적절한 속성을 모두 선택한 후에는 업데이트를 선택하여 새로운 ISO를 생성합니다.

MDT 2010 버전부터는 32비트 및 64비트 미디어를 모두 생성하도록 선택하면 WINPE 부팅 프로세스 중에 새로운 메시지가 제공됩니다(그림 4 참조). 이 메시지에서 32비트 및 64비트 기반 WINPE 환경을 선택할 수 있으므로 32비트 및 64비트 환경을 모두 지원하여 미디어 기반 배포의 통합 수준을 더욱 높일 수 있습니다. 이제 미디어 배포를 위해 LiteTouch_x86 및 LiteTouch_x64 ISO를 분리할 필요가 없습니다.

 

그림 4 WINPE 부팅 옵션

32비트 및 64비트 이미지를 포함하는 단일 WIM 배포

32비트 및 64비트 WIM을 별도로 만들었는데 더 통합할 수는 없을까요? 32비트 및 64비트 이미지를 포함하는 단일 WIM을 만들면 장점이 있을까요? 모든 Microsoft 64비트 OS에는 64비트 OS에서 32비트 응용 프로그램을 실행하는 기능을 제공하는 OS 하위 시스템인 WoW64가 포함되어 있습니다. WoW64 하위 시스템은 OS 32비트 버전과 동일한 파일을 많이 공유하므로 SIS를 활용하면 이러한 두 아키텍처를 결합하는 장점을 얻을 수 있습니다. 그런데 MDT는 기본적으로 32비트 및 64비트 이미지를 포함하는 단일 WIM 배포를 지원하지 않는다는 문제가 있습니다. MDT에서 지원하지 않는다면 알아볼 필요도 없다고 생각할 수 있겠지만 기본적으로 지원되지 않는 이유부터 살펴보겠습니다.

Windows Vista 이상 Microsoft OS 이미지를 MDT를 사용하여 배포할 때는 원래 설치 바이너리가 배포를 완료해야 합니다. 이러한 설치 바이너리는 32비트와 64비트 버전이 다른데 OS를 MDT로 가져올 때는 설치 바이너리 버전을 한 가지만 포함할 수 있습니다. 배포 중에 MDT는 배포에 대한 OS 폴더에서 설치 바이너리를 찾습니다. MDT가 설치 바이너리를 찾지 못하면 프로세서 아키텍처가 일치하는 사용 가능한 다른 OS에서 찾기를 계속합니다.

즉, 우리의 시나리오에서는 설치 바이너리의 두 버전을 모두 단일 OS 폴더에 넣어야 합니다. 이렇게 하려면 단일 WIM을 MDT에 OS로 가져오고 설치 파일을 포함하지 않는 옵션을 선택합니다. 가져오기가 완료되면 배포 공유에서 WIM 폴더 위치로 이동하고 x86 및 x64라는 새 폴더 두 개를 만듭니다. 각 폴더 내에서 32비트용 OEM 설치 미디어를 x86 폴더로 복사하고 64비트용은 x64 폴더로 복사합니다. 이 과정을 완료한 후에는 X86\Sources 및 X64\Sources 폴더에서 install.wim을 제거합니다.

이제 두 버전의 설치 바이너리를 OS에 넣었고, 이러한 폴더를 검색하도록 MDT를 수정하는 일이 남았습니다. 배포 공유에서 LTIApply.wsf를열고 텍스트 편집기로 LTIApply.wsf 파일을 엽니다. LTIApply.wsf 내에서 ApplySetup() 함수를 찾고 검은색으로 강조된 부분을 추가합니다(그림 5그림 6 참조).

 

그림 5 LTIApply- ApplySetup() 수정 1

 

그림 6 LTIApply- ApplySetup() 수정 2

이렇게 수정하면 이제 MDT는 원래 검색 위치 외에도 배포 프로세서 아키텍처를 바탕으로 x86 및 x64 폴더도 검색합니다. MDT 2008의 경우 여전히 32비트 및 64비트 이미지용 WIM을 별도로 유지 관리해야 하므로 단일 WIM에서 32비트 및 64비트 OS를 모두 배포하는 기능은 MDT 2010에서만 지원됩니다. 기본 MDT 스크립트를 수정하는 경우 MDT를 업그레이드하면 변경 내용이 덮어써진다는 것을 기억하십시오.

제한 없는 사용자 지정

WIM 형식의 개발과 MDT를 통한 배포는 OS 이미징과 배포에 상당히 중대한 발전을 가져다주었습니다. 이 기사에서는 이러한 두 가지 기술을 통해 활용 가능한 여러 기법 중 하나를 검토해 보았습니다. MDT는 제한 없는 사용자 지정을 가능할 뿐만 아니라 현재 이미징 프로세스를 향상하고 간소화할 수 있는 강력한 무료 도구입니다. 또한 Microsoft 이미징 프로세스에 익숙해지고 Microsoft System Center Configuration Manager 운영 체제 배포를 사용하는 다음 단계를 준비할 수 있는 훌륭한 방법이기도 합니다.

 

Joe Fox는 Microsoft Consulting Services의 컨설턴트이며 서버 및 데스크톱 배포 및 유지 관리를 전문적으로 담당하고 있습니다. 문의 사항이 있으면 Joe.Fox@microsoft.com으로 연락하십시오.

 

관련 콘텐츠