본문 바로가기
Tech/Openstack

오픈스택에서 Glance로 윈도우 이미지 생성하기

by 타이호 2017. 12. 22.
반응형

Openstack Image들 중에 Ubuntu, CentOS의 경우는 그냥 ISO를 받아서 다운하면 바로 glance로 이미지를 생성 할 수 있다.

하지만 윈도우의 경우는 윈도우 서버만 Cloud Base에서 제공해주는 듯 하고, 윈도우 7 같은 이미지는 직접 만들어야 한다.

그래서 만드는 방법을 정리를 해 본다.

  1. windows iso, virtio iso 파일이 필요 (/var/lib/libvirt/images 에 복사해둔다)
  2. Ubuntu 에서 KVM으로 VM 생성 (virt-manager 사용)
  3. 생성할 때 network type은 virtio 로 구성하고 윈도우 인스톨
  4. 설치 후 네트워크 드라이버가 안잡히는 경우가 많으니 위에 2개의 iso를 cdrom으로 만들어서 수행해야 한다. 방법은 윈도우 VM만들 때 Add Hardware에 CDROM을 추가 하고 아래 링크에 있는 iso를 attach 시킨다.
  5. https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
  6. 그리고 나서 보통 윈도우 설치 하듯이 설치를 하고 나서 재부팅이 되는데, 그럼 역시 네트워크가 인식이 되지 않는다
  7. 위에서 cdrom에 넣은 디렉토리안에 드라이버를 이용하여 네트워크 드라이브나 다른 pci 드라이브를 설치하고 vm의 cdrom을 제거하기 위해 shutdown 한다.
  8. Glance에 이미지를 등록하고 nova에서 vm을 생성하게 되면 disk가 virtio로 생성이 되는데, 위에서 생성한 이미지에 virtio scsi 드라이버가 있어야지 VM이 생성된다. 그래서 윈도우 설치할 때 virtio scsi 드라이버를 설치 해주 던지, 아니면 virtio disk를 하나 생성해서 attach 시키고, 작업관리자에서 virtio 드라이버를 설치 해준다(위의 virtio-win.iso는 여전히 attach)
  9. 기본 windows 7의 익스플로러가 버전이 낮기 때문에 ie11로 설치 해둔다 ( https://www.microsoft.com/ko-kr/download/Internet-Explorer-11-for-Windows-7-details.aspx )
  10. 그리고 나서 cdrom, 추가로 붙인 virtio disk를 detach 시키고 vm을 reboot 시킨다
  11. 나중에 RDP로 붙어야 하기 때문에 원격설정을 미리 해둔다
  12. 이제 cloudbase-init을 실행한다. default로 수행하고, 끝날때 sysrep 항목에 둘다 체크 하고 종료한다.
  13. 12번까지 수행하면 윈도우 이미지는 /var/lib/libvirt/images 아래에 qcow2로 생성이 되어 있고, qcow2 이미지 이기 때문에 바로 glance로 image를 등록한다. glance image-create 어짜고 저짜고...
  14. VM 생성 확인

결론은 네트워크, 디스크의 virtio driver를 미리 vm에 설치해두는게 윈도우 VM 생성의 가장 큰 작업이다

반응형