CLOUD

VMware 인스턴스 이미지 openstack으로 마이그레이션 하기

92Hoonhee 2024. 11. 5. 10:20

VMware에서 OpenStack으로 가상 머신을 마이그레이션하는 과정은 VMDK 디스크 변환, 이미지 최적화, OpenStack Glance에 업로드, 인스턴스 생성 및 테스트로 구성됩니다.


1. VMware 가상 디스크 형식 변환

OpenStack은 일반적으로 QCOW2 또는 RAW 디스크 형식을 사용하므로, VMware의 VMDK 파일을 변환해야 합니다.

1.1 VMDK 파일 추출

  • VMware에서 마이그레이션할 가상 머신을 종료합니다.
  • vSphere Client 또는 vCenter에서 해당 VM의 VMDK 파일을 다운로드합니다.

1.2 VMDK 파일 위치 확인

  • Windows: C:\Users\{사용자명}\Documents\Virtual Machines\{가상 머신 이름}\
  • Linux: ~/vmware/{가상 머신 이름}/

1.3 디스크 형식 변환

OpenStack이 설치된 환경에서 qemu-img 도구를 이용해 VMDK 파일을 QCOW2 형식으로 변환합니다.

qemu-img convert -f vmdk -O qcow2 source-disk.vmdk converted-disk.qcow2

2. 이미지 설정 최적화

OpenStack에서 정상적으로 동작하도록 몇 가지 설정을 추가해야 합니다.

2.1 클라우드 이미지 설정

  • VMware에서 사용되던 드라이버가 OpenStack에서 충돌하지 않도록 open-vm-tools를 제거합니다.
  • cloud-init을 설치하여 OpenStack 초기 구성을 자동화합니다.
sudo apt update
sudo apt install cloud-init

2.2 네트워크 설정

OpenStack과 VMware의 네트워크 인터페이스 명칭이 다를 수 있으므로, OpenStack 환경에 맞게 수정해야 합니다.


3. 이미지 Glance에 업로드

이미지를 OpenStack Glance에 업로드하여 인스턴스를 생성할 준비를 합니다.

openstack image create "VM Image Name" --file converted-disk.qcow2 --disk-format qcow2 --container-format bare --public

4. 인스턴스 생성 및 테스트

4.1 인스턴스 생성

  • OpenStack Horizon 또는 CLI를 이용하여 업로드한 이미지로 인스턴스를 생성합니다.

4.2 테스트 및 조정

  • 인스턴스가 정상적으로 부팅되는지 확인합니다.
  • 네트워크 연결과 클라우드 설정이 올바르게 작동하는지 검토합니다.

5. Cloud-Init 초기화 방지 설정

OpenStack에서 cloud-init이 원하지 않는 초기화를 수행하는 것을 방지할 수 있습니다.

5.1 이미지에 cloud-init 설정 조정 (업로드 전)

  • 가상 머신에서 /etc/cloud/cloud.cfg 파일을 편집하여 불필요한 초기화를 방지합니다.
disable_root: false
preserve_hostname: true
cloud_init_modules:
  - locale
  - set-passwords
  - update-etc-hosts
  - users-groups
  - ssh
  • 수정 후 가상 머신을 종료하고 VMDK를 QCOW2로 변환한 뒤 OpenStack에 업로드합니다.

5.2 인스턴스 생성 시 NoCloud 설정 적용 (업로드 후)

  • 인스턴스 생성 시 사용자 데이터를 설정하여 cloud-init 초기화를 제한할 수 있습니다.
#cloud-config
users: []
ssh_authorized_keys: []
openstack server create --image <이미지 이름> --flavor <플레이버 이름> --user-data <사용자 데이터 파일> <인스턴스 이름>

6. 마이그레이션 중 파일 시스템 문제 해결

마이그레이션 중 파일 시스템 오류가 발생할 수 있으며, 이를 해결하려면 다음을 수행합니다.

sudo fsck -f /dev/mapper/ubuntu--vg-ubuntu--lv
  • 이후 **재부팅(reboot)**을 수행하고, 안전모드에서 위 명령을 다시 실행한 뒤 정상 부팅을 확인합니다.

7. 요약

  • VMDK를 QCOW2로 변환하여 OpenStack에 맞게 변경
  • cloud-init 설정 조정으로 불필요한 초기화 방지
  • Glance에 이미지 업로드 후 인스턴스 생성
  • 인스턴스 설정 테스트 및 파일 시스템 문제 해결

위 단계를 수행하면 VMware에서 OpenStack으로의 마이그레이션을 원활하게 진행할 수 있습니다.