운영

[openstack] Windows QCOW2 이미지 생성법

KidAnt 2024. 1. 12. 11:30

사전에 필요한 항목

  • Ubuntu 22.04 등의 리눅스 환경
  • windows ISO 파일
  • VirtIO 드라이브 파일
  • KVM

과정

windows를 저장할 qcow2 타입의 이미지를 생성

qemu-img create -f qcow2 winxxxx.qcow2 15G

#xxxx 는 해당하는 windows 서버의 버전을 적으시면 됩니다.

KVM에서 windows vm을 생성

virt-install --connect qemu:///system \
  --name (vm이름) --ram 2048 --vcpus 2 \
  --network network=default,model=virtio \
  --disk path=winxxxx.qcow2,format=qcow2,device=disk,bus=virtio \
  --cdrom (해당 windows server의 ISO 파일 위치) \
  --disk path=(VirtIO파일의 위치),device=cdrom \
  --vnc --os-type windows --os-variant (OS 버전) \
  
  #이하 예시
  #virt-install --connect qemu:///system \
  #--name ws2012 --ram 2048 --vcpus 2 \
  #--network network=default,model=virtio \
  #--disk path=ws2012.qcow2,format=qcow2,device=disk,bus=virtio \
  #--cdrom /path/to/en_windows_server_2012_x64_dvd.iso \
  #--disk path=/path/to/virtio-win-0.1-XX.iso,device=cdrom \
  #--vnc --os-type windows --os-variant win2k12 \

설치 진행

제품 키가 없음 선택
데스크톱 환경 선택
고급 선택
드라이버 로드 선택
경고창 닫고 → 찾아보기 클릭
윈도우 버전에 맞게 E:\viostor\2k(windows 버전)\amd64 선택 → 확인 → 드라이브 다운
윈도우 버전에 맞게 E:\NETKVM\2k(wiodws 버전)\amd64 선택 → 확인 → 드라이브 다운

  • 이후 윈도우 파티션 설정 후 → 윈도우 설치 진행 및 관리자 비밀번호 설정

설치 완료 후 파워 쉘 입력

Set-ExecutionPolicy Unrestricted
#인스턴스 부팅 중 스크립트 허용

Invoke-WebRequest -UseBasicParsing https://cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi -OutFile cloudbaseinit.msi
.\cloudbaseinit.msi
#Cloudbase-Init 설치 및 실행
  • 받은 Cloudbase-Init 설치
    • 설치 마법사 진행
    • Cloudbase-Init 설정 마법사 완료 창에서 체크박스 두개다 체크 (일반화 및 mv 끄는 옵션)

마무리 작업

  • QCOW2파일을 Openstack에 이동
  • 이동 후 openstack 서버에 이미지 등록
openstack image create --disk-format qcow2 --file winxxxx.qcow2 (등록할 이미지 명)