3.3. Windows 이미지 만들기
이 절차에서는 Windows Server 2012에 대한 배포 이미지를 생성합니다. Red Hat Enterprise Linux 시스템에서 다음 단계를 수행합니다.
virtio-win 드라이버를 다운로드합니다. 필요한 단계는 Red Hat 고객 포털을 참조하십시오.
결과적으로 virtio-win .iso 파일이 /usr/share/virtio-win/ 로 다운로드됩니다. 예: /usr/share/virtio-win/virtio-win-1.8.0.iso
virt-manager 를 사용하여 Windows Server 2012 템플릿 VM을 생성합니다.
- Windows 템플릿의 가상 하드웨어 요구 사항을 확인합니다. 이 예에서는 1 x CPU, 4GB RAM, 10GB HDD, 2 x NIC 및 2 x 가상 CD-ROM 드라이브를 사용합니다.
- qcow2 파일로 디스크를 생성합니다.
-
가상 HDD 및 NIC 드라이버를
virtio
로 설정합니다. - Windows Server 2012 R2 .iso 파일 및 virtio-win-1.8.0 .iso 파일에 마운트된 2x 가상 CD-ROM 드라이브를 연결합니다. Windows 설치 프로세스 중에 virtio-win 드라이버를 설치하려면 두 개의 가상 CD-ROM이 필요합니다.
ISO 이미지에서 수동으로 Windows를 설치합니다.
- Windows Server 2012 R2의 평가 .iso 이미지에서 Windows 설치를 시작합니다.
- HDD 드라이버를 선택할 수 있는 경우 virtio-win-1.8.0.iso 파일이 포함된 두 번째 가상 CD-ROM에서 드라이버를 선택합니다.
설치 후 Windows 검사를 수행합니다.
장치 관리자를 열고 모든 장치가 올바르게 인식되고 물음표 경고가 없는지 확인합니다. 특히 NIC, 직렬 및 balloon 드라이버가 VirtIO 드라이버를 사용하고 있는지 확인합니다. 장치가 올바르게 인식되지 않으면 virtio-win 드라이버 디스크에서 드라이버를 적용합니다.
sysprep 실행 :
sysprep을 사용하면 Windows 설치가 일반화되어 이전에 수행된 단일 설치와 관련된 설치 정보가 제거됩니다. 이를 통해 VM의 가상 하드 디스크를 다른 시스템에 여러 번 설치하기 위한 템플릿으로 사용할 수 있습니다.
- C:\Windows\System32\sysprep\sysprep.exe에서 Sysprep 을 실행합니다.
Sysprep 툴에 다음 정보를 입력합니다.
- 시스템 정리 작업 의 경우 Enter System Out-of-Box-Experience (ECDHEBE)를 선택합니다.
- Generalize 확인란을 선택합니다.
- 에서 Options.를 선택합니다.
- OK 를 클릭하여 sysprep 프로세스를 완료합니다. 완료되면 가상 머신이 자동으로 종료됩니다.
Image 서비스(glance)에 Windows 이미지를 등록합니다. 이 단계는 Windows 설치의 qcow2 HDD를 한눈에 등록합니다. 이 예에서는 디스크 파일
/root/win2012r2.qcow2
를 사용합니다.$ glance image-create --file /root/win2012r2.qcow2 --disk-format qcow2 --container-format bare --name win2012r2 --is-public True --progress [=============================>] 100%
3.3.1. 물리적 서버에 Windows 배포
하드웨어 구성 요소를 지정하여 ironic에 물리적 노드를 등록합니다. 예를 들면 다음과 같습니다.
# ironic node-create -d fake_pxe -p cpus=1 -p memory_mb=1024 -p local_gb=15 -p cpu_arch=amd64
새 노드의 UUID를 검색합니다.
# ironic node-list
물리적 Windows 노드의 MAC 주소와 일치하는 노드의 포트를 만듭니다.
# ironic port-create -n [NODE_UUID] -a [NIC_MAC]
예를 들면 다음과 같습니다.
# ironic port-create -n 3b3d3fd4-4621-427f-a78d-054a1ef17a0a -a 52:54:00:85:76:53
노드를 유지보수 모드로 설정합니다.
# ironic node-set-maintenance [NODE_UUID] true # ironic node-set-provision-state [NODE_UUID] manage
새 노드의 인트로스펙션을 수행합니다.
# openstack baremetal introspection start [NODE_UUID] --discoverd-url http://[KEYSTONE_URL]:5050
[KEYSTONE_URL]
을 keystone 서비스의 IP 주소로 바꿉니다.참고: CryostatKE_PXE 드라이버를 사용하는 경우 ironic node-list 상태가 이동되어
wait-callback을 배포
할 때 노드의 전원을 수동으로 켭니다.
인트로스펙션이 완료되면 유지보수 모드를 끕니다.
# ironic node-set-maintenance [NODE UUID] false # ironic node-set-provision-state [NODE UUID] provide
인스턴스에 대한 인증을 위한 키 쌍을 만듭니다.
# nova keypair-add --pub_key ~/.ssh/id_rsa.pub [KEY_NAME]
노드의 로컬 부팅을 활성화합니다.
# ironic node-update [NODE_UUID] add properties/capabilities="boot_option:local"
nova 를 사용하여 노드를 부팅합니다.
# nova boot --nic net-id=[NETWORK_UUID] --flavor [FLAVOR_NAME] --image [IMAGE_UUID/IMAGE_NAME] --keyname [INSTANCE_NAME]
다음 값을 바꿉니다.
-
[NETWORK_UUID]
를 Bare Metal Provisioning과 함께 사용하기 위해 생성된 네트워크의 고유 식별자로 바꿉니다. -
[FLAVOR_NAME]
을 노드에 대해 생성된 플레이버의 이름으로 교체합니다. -
[IMAGE_UUID]
를 이미지 서비스에 업로드된 디스크 이미지의 고유 식별자로 바꿉니다. -
[INSTANCE_NAME]
을 베어 메탈 인스턴스의 이름으로 바꿉니다.
-
인스턴스 암호를 검색합니다.
# nova get-password [INSTANCE_NAME] /path/to/your/keypairs/private/key
인스턴스 상태를 검토합니다.
# nova list
대시보드의 콘솔을 사용하여 인스턴스에 액세스하여 추가로 테스트할 수 있습니다.
3.3.2. 원격 데스크탑 액세스 활성화
-
TCP/UDP 3389
에서 원격 데스크탑 트래픽을 허용하는 보안 그룹 규칙을 추가합니다. nova 명령을 사용하여 보안 키를 검색합니다.
# nova get-password [INSTANCE_NAME] /path/to/your/keypairs/private/key
-
[INSTANCE_NAME]
을 베어 메탈 인스턴스의 이름으로 바꿉니다.
-