사용자 지정 Windows® 이미지 만들기
사용자 정의 Windows® 기반 이미지를 생성하여 해당 사용자 정의 IBM Cloud® Virtual Private Cloud 이미지를 가져올 수 있습니다. 그런 다음 사용자 지정 이미지를 사용하여 인프라에 IBM Cloud® Virtual Private Cloud 가상 서버 또는 베어 메탈 서버를 배포할 수 있습니다.
시작하기 전에
IBM Cloud 클래식 인프라의 이미지 템플리트로 시작할 수 있습니다. 자세한 정보는 클래식 인프라에서 가상 서버 마이그레이션을 참조하십시오. 또한 가져오기 시점에 서버에 연결된 부팅 볼륨의 사용자 지정 이미지를 생성할 수도 있습니다. 자세한 정보는 볼륨에서 이미지 작성 정보을 참조하십시오. Windows® 사용자 지정 이미지는 LinuxONE (s390x 프로세서 아키텍처)에서 지원되지 않습니다.
모든 사용자 지정 이미지는 다음 요건을 충족해야 합니다:
- 단일 파일 또는 볼륨을 포함하고 있습니다.
- qcow2 또는 VHD 형식이어야 합니다.
- 용량은 250 GB를 초과하지 않습니다.
- qcow2 이미지에서 cloud-init(Linux ) 또는 cloudbase-init(Windows) 이 설치되어 있고 활성화되어 있는지 확인합니다.
- 최소 용량은 10 GB입니다. 10GB미만인 이미지의 경우 크기는 10GB로 반올림됩니다.
100 GB가 아닌 암호화된 부팅 볼륨으로는 이미지를 생성할 수 없습니다.
다음 단계에 따라 IBM Cloud VPC 인프라 환경에 배포할 Windows® 사용자 지정 이미지를 만들 수 있습니다. 프로시저에는 다음과 같은 상위 레벨 태스크가 포함됩니다.
- VirtualBox 를 사용하여 VHD 형식의 Windows® 이미지를 생성하십시오.
- virtIO 드라이버 및 Cloudbase-init를 사용하여 이미지를 사용자 정의합니다.
Windows® 사용자 지정 이미지를 만들기 전에 다음 요구 사항을 염두에 두세요.
Virtio-win 드라이버를 설치해야 합니다. Microsoft®는 라이선스가 부여된 RHEL 버전 8 또는 9 인스턴스에서 드라이버를 다운로드할 것을 권장합니다. Red Hat 마이크로소프트 인증 드라이버를 사용합니다. 권장 최소 Red Hat virtio-win 패키지 버전은 입니다 virtio-win-1.9.24. 그러나 최신 패키지를 사용하는 것이 가장 좋습니다.
Red Hat virtio-win-1.9.24 ISO에는 다음과 같은 특정 드라이버 버전이 포함되어 있습니다.
100.84.104.19500 oem10.inf \vioprot.inf_amd64_af0659efdaba9e4b\vioprot.inf
100.90.104.21400 oem11.inf \viofs.inf_amd64_c6f785e21f3f6f80\viofs.inf
100.85.104.20200 oem12.inf \viogpudo.inf_amd64_b19dcf9947e73e5a\viogpudo.inf
100.85.104.19900 oem13.inf \vioinput.inf_amd64_4505a789e17b5f89\vioinput.inf
100.81.104.17500 oem14.inf \viorng.inf_amd64_ef304eab276a3e61\viorng.inf
100.85.104.19900 oem15.inf \vioser.inf_amd64_cb4783c018c10eba\vioser.inf
100.90.104.21500 oem2.inf \vioscsi.inf_amd64_02a46a7a223648d1\vioscsi.inf
100.90.104.21500 oem3.inf \viostor.inf_amd64_520417bbc533faba\viostor.inf
100.85.104.20700 oem4.inf \balloon.inf_amd64_afa8c93081df5458\balloon.inf
100.90.104.21400 oem5.inf \netkvm.inf_amd64_0efff05c07fcee39\netkvm.inf
100.85.104.19900 oem6.inf \pvpanic.inf_amd64_b7028360ef636f8b\pvpanic.inf
10.0.0.21000 oem9.inf \qxldod.inf_amd64_6199f9ecf2339133\qxldod.inf
1. Windows® 사용자 지정 이미지 만들기
다음 단계를 따라 사용자 지정 Windows® 이미지를 생성하십시오.
-
Windows 2016, Windows 2019또는 Windows 2022 운영 체제 ISO의 평가 버전을 다운로드할 수 있습니다.
-
qemu-img유틸리티를 사용하여 Windows를 설치하려는 위치에 VHD 이미지를 만듭니다. qemu-img 유틸리티 를 다운로드하여 Windows 랩탑 클라이언트에 추출하십시오.qemu-img유틸리티를 추출한 폴더에서 VHD 이미지를 작성하십시오.qemu-img.exe create -f vpc Windows-2019.vhd 100GIBM Cloud® VHD 또는 qcow2 을 통한 사용자 지정 이미지 가져오기를 지원합니다. 하지만 VirtualBox는 qcow2 형식을 지원하지 않습니다.
-
프로비저닝 또는 IBM Cloud VPC의 기존 RHEL 서버에 액세스하여 필수 virtio-win 드라이버를 확보하십시오.
- IBM Cloud VPC의 RHEL 서버에서 다음 명령을 실행하여 virtio-win 패키지를 설치하십시오.
yum install virtio-win이 예제에서 virtio-win 패키지는 RHEL 버전 8에 설치됩니다. 반환된 출력은 다음 예시와 비슷합니다.
Installed: virtio-win-1.9.24-2.el8_5.noarch/usr/share/virtio-win디렉토리의 virtio-win ISO에 액세스하십시오.
cd /usr/share/virtio-win/-
Windows® 사용자 지정 이미지에 사용할 virtio-win ISO 파일(예:
virtio-win-1.9.24.iso)을 복사하려면 secure copy를 사용하십시오.- winSCP를 사용하여 ® 클라이언트에서 ISO 파일을 복사합니다.
- Linux 또는 macOS 클라이언트에서 SmartCloud Provisioning 을 사용하여 ISO 파일을 복사하십시오.
-
ISO 파일을 마운트하고 여십시오.
-
각 운영 체제의
virtio-win.iso파일에서 모든 관련 virtio 드라이버를 복사하고 드라이버를Drivers라는 폴더에 넣은 후Drivers폴더를 운영 체제 ISO 폴더에 복사하십시오. -
Windows Assessment and Deployment Toolkit(ADK)을 다운로드하십시오.
oscdimg.exe유틸리티를 가져오려면 배치 도구만 설치하십시오. -
oscdimg.exe명령을 사용하여Drivers폴더의 모든 virtio 드라이버를 통합하는 부트 가능한 Windows ISO를 작성하십시오.
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\x86\Oscdimg> oscdimg -m -bC:\..\..\Downloads\<extracted_ISO_folder>\boot\etfsboot.com -u2 C:\..\..\Downloads\extracted_ISO_folder C:\..\..\Downloads\win2019new.iso -
3단계에서 만든 부팅 가능한 Windows® ISO를 사용하여 2단계에서 만든 VHD 이미지로 가상 서버를 만들려면 VirtualBox를 사용하세요. 자세한 내용은 Oracle VM VirtualBox 사용자 설명서 을 참조하십시오.
VirtualBox 이외의 방법(예: VMware )을 사용하여 사용자 지정 이미지를 생성하려는 경우, 해당 하이퍼바이저 전용 드라이버를 사용자 지정 이미지에서 모두 제거해야 합니다.
-
저장소 설정에서 3단계에서 만든 Windows® 설치 부팅 가능한 ISO를 추가합니다.
-
서버를 시작하고 Windows® 설치를 시작하십시오.
-
운영 체제의 에디션(표준/데이터 센터)와 데스크톱 경험(데스크톱 경험 포함 또는 데스크톱 경험 제외)를 선택합니다.
-
드라이브 0 을 선택하고 설치를 계속하십시오.
-
설치가 완료되면 가상 서버를 종료하고 설치 ISO를 제거하십시오. ISO 설치 파일을 삭제하라는 경고는 무시해도 됩니다.
-
기본 Windows® 업데이트 프로그램을 사용하여 Windows 업데이트를 다운로드하고 설치하십시오. 사용 가능한 업데이트가 없을 때까지 업데이트 다운로드 및 설치 프로세스를 반복하십시오.
복구 이미지에서 가상 윈 드라이버를 사용 가능하게 만들기
Windows® 이미지를 생성한 후 복구 이미지에서 가상 윈 드라이버를 사용할 수 있는지 확인합니다. 이 단계에서는 복구 이미지를 사용하여 문제를 해결하거나 복구 모드에서 이미지를 사용할 수 있는지 확인합니다.
필요한 가상화 드라이버 vioscsi.inf 및 viostor.inf 를 다운로드한 후 다음 단계에 따라 복구 이미지에서 드라이버를 사용할 수 있도록 설정합니다.
-
reagentc /info명령을 사용하여 복구 이미지를 찾습니다.- 복구 이미지가 별도의 복구 파티션에 있는 경우
diskpart유틸리티를 사용하여 드라이브 문자를 할당하고 드라이브 숨기기를 해제합니다. 별도의 복구 파티션이 없는 경우에는 이러한 단계가 필요하지 않습니다. 다음 예는 드라이브가R인 파티션3의 경우이며,id=07설정을 사용합니다.
diskpart select disk 0 list part select part 3 assign letter R set id=07 exit - 복구 이미지가 별도의 복구 파티션에 있는 경우
-
복구 이미지를 수정하려면
reagentc /disable을 사용하여 복구 모드를 비활성화합니다. -
복구 이미지를 마운트할 디렉터리를 만듭니다.
md C:\mount\winre -
복구 이미지를 마운트 디렉터리에 복사합니다.
xcopy /h R:\Recovery\WindowsRE\Winre.wim C:\mount\ -
attrib -s -h -r C:\mount\Winre.wim을 사용하여 복구 이미지를 표시합니다. -
dism /Mount-Image /ImageFile:c:\mount\Winre.wim /index:1 /MountDir:c:\mount\winre을 사용하여 복구 이미지의 콘텐츠를 마운트합니다. -
vioscsi및viostor드라이버를 복구 이미지에 추가합니다. 다음 예제에서는 버티오 드라이버가 드라이브 E에 있다고 가정합니다.vioscsi및viostor드라이버에 해당하는 Windows® 버전을 선택합니다.Dism /image:c:\mount\winre /Add-Driver /Driver:"E:\vioscsi\2k19\amd64\vioscsi.inf" Dism /image:c:\mount\winre /Add-Driver /Driver:"E:\viostor\2k19\amd64\viostor.inf"보조 스토리지 볼륨은 virtio 블록 장치로 표시됩니다. 부팅 볼륨은 두 가지 경우를 제외하고는 SCSI 장치로 인식됩니다. 부팅 볼륨이 2세대 저장 볼륨은 virtio 블록 장치로 표시됩니다. 또한, 인스턴스가 보안 부팅이 활성화되어 있고 Windows Server 2022 이상 운영 체제를 실행 중인 경우, 귀하의 부팅 볼륨은 virtio 블록 장치로 표시됩니다.
-
모든 드라이버를 추가하면 복구 이미지를 만들 준비가 된 것입니다.
Dism /Image:c:\mount\winre /Cleanup-Image /StartComponentCleanup Dism /Unmount-Image /MountDir:c:\mount\winre /Commit -
복구 이미지를 최적화합니다.
Dism /Export-Image /SourceImageFile:c:\mount\WinRE.wim /SourceIndex:1 /DestinationImageFile:c:\mount\winre-optimized.wim -
1단계에서 설명한 대로 복구 이미지를 원래 속성과 함께 원래 위치에 복사합니다.
xcopy C:\mount\winre-optimized.wim R:\Recovery\WindowsRE\WinEe.wim /h /r- 복구 이미지가 별도의 복구 파티션에 있는 경우
diskpart유틸리티를 사용하여 할당된 드라이브 문자를 제거하고 드라이브를 숨깁니다. 별도의 복구 파티션이 없는 경우에는 이러한 단계가 필요하지 않습니다. 다음 예는 드라이브가3인 파티션R에 대한 예입니다.
diskpart select disk 0 list part select part 3 remove letter R set id=27 exit - 복구 이미지가 별도의 복구 파티션에 있는 경우
-
reagentc /enable을 사용하여 복구 이미지를 활성화합니다. -
reagentc /info를 사용하여 복구 모드가 활성화되어 있는지 확인하십시오.
필요한 가상화 드라이버가 포함된 복구 이미지로 이미지가 설정됩니다.
2. 가상 서버 사용자 지정
다음 단계를 완료하여 VirtualBox를 사용하여 생성한 가상 서버를 사용자 지정합니다.
-
Cloudbase-Init 설치 패키지 에서 cloudbase-init 설치 및 구성
-
다음 값과 일치하도록
cloudbase-init.conf파일 (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf) 을 수정하십시오. 파일에서 다른 컨텐츠를 제거하지 마십시오.[DEFAULT] # "cloudbase-init.conf" is used for every boot config_drive_types=vfat,iso config_drive_locations=hdd,partition activate_windows=true kms_host=kms.adn.networklayer.com:1688 mtu_use_dhcp_config=false real_time_clock_utc=false bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\ debug=true log_dir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\ log_file=cloudbase-init.log default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\ metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService, # enabled plugins - executed in order plugins=cloudbaseinit.plugins.common.mtu.MTUPlugin, cloudbaseinit.plugins.windows.ntpclient.NTPClientPlugin, cloudbaseinit.plugins.windows.licensing.WindowsLicensingPlugin, cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin, cloudbaseinit.plugins.common.userdata.UserDataPlugin, cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin사용자 정의 이미지에 대한 라이선스를 직접 포함할 계획이라면,
cloudbase-init.conf파일에서 다음 줄들을 삭제하십시오.activate_windows=true kms_host=kms.adn.networklayer.com:1688 -
다음 값과 일치하도록
cloudbase-init-unattend.conf파일 (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init-unattend.conf) 을 수정하십시오. 파일에서 다른 컨텐츠를 제거하지 마십시오.[DEFAULT] # "cloudbase-init-unattend.conf" is used during the Sysprep phase username=Administrator inject_user_password=true first_logon_behaviour=no config_drive_types=vfat config_drive_locations=hdd allow_reboot=false stop_service_on_exit=false mtu_use_dhcp_config=false bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\ debug=true log_dir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\ log_file=cloudbase-init-unattend.log default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\ metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService, # enabled plugins - executed in order plugins=cloudbaseinit.plugins.common.mtu.MTUPlugin, cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin, cloudbaseinit.plugins.windows.createuser.CreateUserPlugin, cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin, cloudbaseinit.plugins.common.setuserpassword.SetUserPasswordPlugin, cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin -
Unattend.xml파일 (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml) 을 수정하고PersistAllDeviceInstalls값을false로 설정하십시오. -
명령 프롬프트에서 다음 명령을 사용하여
Sysprep를 실행하십시오.C:\Windows\System32\Sysprep\Sysprep.exe /oobe /generalize /shutdown "/unattend:C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml" -
sysprep를 실행한 후에 가상 서버가 종료됩니다. 그런 다음 계속할 수 있습니다. 4단계 - 사용자 정의된 가상 서버의 이미지 템플릿 생성
3. 사용자 지정 이미지 업로드
다음 정보를 사용하여 사용자 정의 이미지를 IBM Cloud Object Storage에 업로드하십시오.
IBM Cloud® Object Storage 버킷의 ‘Objects’ 페이지에서 ‘Upload’를 클릭합니다. Aspera 의 고속 전송 플러그인을 사용하면 200MB보다 큰 이미지를 업로드할 수 있습니다. IBM Cloud Object Storage에 업로드에 대한 자세한 정보는 데이터 업로드를 참조하십시오.
다음 단계
Windows® 사용자 지정 이미지가 생성되어 IBM Cloud Object Storage에서 사용할 수 있게 되면 사용자 지정 이미지를 VPC로 가져오기 및 VPC용 가상 서버 이미지를 온보드 할 수 있습니다. 이미지를 가져오기 위해 IBM Cloud Object Storage 에 대한 액세스 권한을 부여 하는지 확인하십시오.
사용자 지정 이미지를 관리하기 위해 개인 카탈로그를 사용할 계획이라면, 먼저 해당 이미지를 [이미지]로 가져온 다음, 해당 이미지를 개인 IBM Cloud VPC 카탈로그에 등록해야 합니다.
사용자 정의 이미지를 가져온 후 이를 사용하여 IBM Cloud® Virtual Private Cloud 인프라에서 서버를 배치할 수 있습니다.
가져온 이미지에서 새 가상 서버를 작성한 후 가상 서버에 액세스하기 전에 가상 서버를 중지한 후 시작하십시오.
- IBM Cloud 콘솔에서 탐색 메뉴
인프라 > 인프라
> 컴퓨팅 > 가상 서버 인스턴스를 클릭합니다.
- 가상 서버 인스턴스 페이지에서 조치 아이콘
을 클릭하십시오.