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
$ glance image-create --file /root/win2012r2.qcow2 --disk-format qcow2 --container-format bare --name win2012r2 --is-public True --progress [=============================>] 100%
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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
# ironic node-create -d fake_pxe -p cpus=1 -p memory_mb=1024 -p local_gb=15 -p cpu_arch=amd64
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 노드의 UUID를 검색합니다.
ironic node-list
# ironic node-list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 물리적 Windows 노드의 MAC 주소와 일치하는 노드의 포트를 만듭니다.
ironic port-create -n [NODE_UUID] -a [NIC_MAC]
# ironic port-create -n [NODE_UUID] -a [NIC_MAC]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
ironic port-create -n 3b3d3fd4-4621-427f-a78d-054a1ef17a0a -a 52:54:00:85:76:53
# ironic port-create -n 3b3d3fd4-4621-427f-a78d-054a1ef17a0a -a 52:54:00:85:76:53
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 노드를 유지보수 모드로 설정합니다.
ironic node-set-maintenance [NODE_UUID] true ironic node-set-provision-state [NODE_UUID] manage
# ironic node-set-maintenance [NODE_UUID] true # ironic node-set-provision-state [NODE_UUID] manage
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 노드의 인트로스펙션을 수행합니다.
openstack baremetal introspection start [NODE_UUID] --discoverd-url http://[KEYSTONE_URL]:5050
# openstack baremetal introspection start [NODE_UUID] --discoverd-url http://[KEYSTONE_URL]:5050
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [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
# ironic node-set-maintenance [NODE UUID] false # ironic node-set-provision-state [NODE UUID] provide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인스턴스에 대한 인증을 위한 키 쌍을 만듭니다.
nova keypair-add --pub_key ~/.ssh/id_rsa.pub [KEY_NAME]
# nova keypair-add --pub_key ~/.ssh/id_rsa.pub [KEY_NAME]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 노드의 로컬 부팅을 활성화합니다.
ironic node-update [NODE_UUID] add properties/capabilities="boot_option:local"
# ironic node-update [NODE_UUID] add properties/capabilities="boot_option:local"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nova 를 사용하여 노드를 부팅합니다.
nova boot --nic net-id=[NETWORK_UUID] --flavor [FLAVOR_NAME] --image [IMAGE_UUID/IMAGE_NAME] --keyname [INSTANCE_NAME]
# nova boot --nic net-id=[NETWORK_UUID] --flavor [FLAVOR_NAME] --image [IMAGE_UUID/IMAGE_NAME] --keyname [INSTANCE_NAME]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 값을 바꿉니다.
-
[NETWORK_UUID]
를 Bare Metal Provisioning과 함께 사용하기 위해 생성된 네트워크의 고유 식별자로 바꿉니다. -
[FLAVOR_NAME]
을 노드에 대해 생성된 플레이버의 이름으로 교체합니다. -
[IMAGE_UUID]
를 이미지 서비스에 업로드된 디스크 이미지의 고유 식별자로 바꿉니다. -
[INSTANCE_NAME]
을 베어 메탈 인스턴스의 이름으로 바꿉니다.
-
인스턴스 암호를 검색합니다.
nova get-password [INSTANCE_NAME] /path/to/your/keypairs/private/key
# nova get-password [INSTANCE_NAME] /path/to/your/keypairs/private/key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인스턴스 상태를 검토합니다.
nova list
# nova list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
대시보드의 콘솔을 사용하여 인스턴스에 액세스하여 추가로 테스트할 수 있습니다.
3.3.2. 원격 데스크탑 액세스 활성화 링크 복사링크가 클립보드에 복사되었습니다!
-
TCP/UDP 3389
에서 원격 데스크탑 트래픽을 허용하는 보안 그룹 규칙을 추가합니다. nova 명령을 사용하여 보안 키를 검색합니다.
nova get-password [INSTANCE_NAME] /path/to/your/keypairs/private/key
# nova get-password [INSTANCE_NAME] /path/to/your/keypairs/private/key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
[INSTANCE_NAME]
을 베어 메탈 인스턴스의 이름으로 바꿉니다.
-