카테고리 없음

Migration From VMWare VM: 제약조건, 구성법

seongduck 2025. 8. 11. 12:53

Migration From VMware VM: 제약조건, 구성법

VMware 환경에서 운영 중인 가상머신(VM)을 다른 클라우드 또는 가상화 환경으로 마이그레이션 하는 과정은 단순한 이미지 변환 이상의 복합적인 작업입니다.
마이그레이션을 성공적으로 수행하기 위해서는 **제약조건(Constraints)**과 **구성법(Configuration)**을 명확히 이해하고 접근해야 합니다.


1. 마이그레이션 개요

VMware VM 마이그레이션은 기존 VMware 기반의 가상머신(예: vSphere, ESXi)에서 다른 플랫폼(AWS, Azure, GCP, Hyper-V 등)으로 이전하는 작업입니다.
목표는 다운타임 최소화, 서비스 안정성 유지, 그리고 대상 플랫폼에서의 최적화입니다.


2. 마이그레이션 제약조건 (Constraints)

마이그레이션 과정에서 고려해야 하는 제약조건은 크게 기술적 제약, 운영 정책 제약, 보안 제약으로 나눌 수 있습니다.

(1) 기술적 제약

  • 부팅 방식 차이
    • VMware는 BIOS/UEFI 둘 다 지원하지만, 대상 플랫폼이 UEFI만 지원하거나 BIOS만 지원할 수 있음.
    • 예: Azure는 UEFI 기반 VHD를 요구 (Generation 2), AWS는 BIOS(Gen 1) 또는 UEFI 지원.
  • 가상 디스크 포맷
    • VMware: VMDK
    • Azure: VHD/VHDX
    • AWS: RAW, VHD, VMDK 지원(단, AWS CLI/VMImport 규칙 준수 필요)
    • 변환 시 qemu-img 또는 Microsoft VMDK → VHD 변환 툴 필요.
  • 디스크 크기 제한
    • 대상 플랫폼이 허용하는 가상 디스크 최대 크기를 초과하면 안됨.
  • 네트워크 드라이버
    • VMware의 vmxnet3 → 대상 플랫폼의 paravirtual 또는 e1000, hv_netvsc 등으로 변경 필요.
  • 커널 및 드라이버 호환성
    • 대상 OS의 커널 버전이 지원되지 않으면 부팅 불가.
    • Azure: waagent 설치 필요.
    • AWS: cloud-init, ec2-net-utils 필요.

(2) 운영 정책 제약

  • SLA에 따른 다운타임 최소화 계획 필요.
  • 테스트 환경에서 사전 부팅 검증 필수.
  • 백업 및 롤백 계획 수립.

(3) 보안 제약

  • 데이터 전송 구간 암호화(VPN, ExpressRoute, Direct Connect).
  • 마이그레이션 과정에서 이미지 무결성 검증(SHA256 해시 체크).
  • OS/미들웨어 보안 패치 상태 확인.

3. 마이그레이션 구성법 (Configuration Steps)

여기서는 VMware → Azure를 예시로 설명하되, AWS에도 응용 가능하도록 작성합니다.

(1) 사전 준비

  1. 소스 VM 점검
    • 디스크 구조, OS 버전, 네트워크 설정 확인.
    • 불필요한 스냅샷 제거.
  2. OS 최적화
    • DHCP 설정 변경.
    • 고정 IP 제거.
    • Cloud-init 또는 Waagent 설치.
  3. 백업
    • 전체 VM 백업 및 스냅샷 보관.

(2) 이미지 추출

  1. VMware ESXi에서 OVF 또는 VMDK 추출.
  2. 불필요한 디스크/네트워크 장치 제거.

 

(3) 포맷 변환

  • Azure → VHD 변환:
qemu-img convert -f vmdk -O vpc source.vmdk target.vhd
  • AWS → RAW 변환 후 S3 업로드:
qemu-img convert -f vmdk -O raw source.vmdk target.raw

 

(4) 대상 환경 업로드

  • Azure: Storage 계정 Blob에 업로드 후 Managed Disk 변환.
  • AWS: S3 업로드 후 aws ec2 import-image 명령 실행.

(5) VM 생성 및 네트워크 연결

  1. 대상 플랫폼에서 VM 생성 시 변환된 디스크 연결.
  2. 부팅 시 커널/드라이버 로드 확인.
  3. 네트워크 재설정(DHCP 또는 대상 플랫폼 전용 NIC 드라이버).

(6) 테스트 & 최종 전환

  1. 부팅 테스트 (Serial Console, Boot Diagnostics 활용).
  2. 애플리케이션 서비스 점검.
  3. DNS 및 로드밸런서 트래픽 전환.

4. 주요 용어 정리

용어설명
VMware ESXi VMware의 하이퍼바이저로, 가상머신을 실행하는 핵심 플랫폼
VMDK VMware에서 사용하는 가상 디스크 파일 형식
OVF/OVA VM의 구성 정보를 포함한 패키지 포맷
qemu-img 다양한 VM 디스크 포맷 변환에 사용하는 오픈소스 툴
BIOS/UEFI 시스템 펌웨어 인터페이스. 부팅 호환성을 결정
waagent Azure Linux Agent, VM과 Azure 플랫폼 간 통신을 지원
cloud-init 클라우드 환경 VM 최초 부팅 시 초기 설정을 자동화하는 도구
Managed Disk Azure에서 관리하는 고가용성 디스크 리소스
SLA 서비스 수준 계약, 가용성과 성능 목표를 정의
ExpressRoute / Direct Connect 전용 회선을 통한 클라우드 연결 서비스
 

VMware VM 마이그레이션 체크리스트

1. 공통 체크리스트 (AWS / Azure 공통)


사전 점검 OS/커널 버전 확인 대상 플랫폼 지원 OS 목록과 비교
  부팅 모드 확인 BIOS/UEFI 여부 확인
  디스크 구조 파악 부트 디스크 / 데이터 디스크 구분
  스냅샷 제거 변환 속도 향상 및 용량 절감
  정리 작업 불필요한 로그/캐시 삭제
변환 준비 네트워크 설정 초기화 DHCP 모드로 변경
  플랫폼 전용 에이전트 설치 cloud-init, waagent, ec2-net-utils
이미지 추출/변환 디스크 포맷 변환 qemu-img, MS Converter
업로드 전송 채널 확보 VPN, 전용회선, HTTPS
VM 생성 플랫폼 가이드 준수 크기, 스토리지 유형 설정
검증 부팅 테스트 Serial Console / EC2 Console
  애플리케이션 테스트 서비스 정상 동작 확인
전환 DNS 변경 서비스 트래픽 전환
사후 조치 모니터링 설정 CloudWatch, Azure Monitor 연결
 

2. Azure 전용 체크리스트

사전 준비 waagent 설치 Azure Linux Agent
  UEFI 모드 확인 Gen2 VM용 VHD는 UEFI 필요
  Managed Disk 크기 확인 4TB 이하
이미지 업로드 Azure Storage 계정 생성 Page Blob 타입 필요
  VHD 업로드 AzCopy 또는 Azure Storage Explorer
VM 생성 Managed Disk 변환 az disk create 사용
  네트워크 구성 NSG, VNet, Subnet 설정
부팅 문제 해결 Serial Console Azure Portal에서 확인
  부팅 로그 점검 boot diagnostics 활성화
 

3. AWS 전용 체크리스트

사전 준비 cloud-init 설치 EC2 초기화 설정
  ec2-net-utils 설치 네트워크 최적화
이미지 업로드 S3 버킷 생성 VM 이미지 저장용
  IAM 권한 부여 VMImport/Export 권한
이미지 등록 aws ec2 import-image RAW/VHD/VMDK 지원
  AMI 생성 변환 완료 후
EC2 생성 인스턴스 유형 선택 CPU/메모리 요구사항 고려
  보안 그룹 설정 SSH/RDP, 서비스 포트 허용
부팅 문제 해결 EC2 콘솔 상태 점검
  System Log 확인 커널/드라이버 로드 여부
 

 

 

5. 예상 문제

Q1. VMware에서 사용되는 기본 가상 디스크 포맷은?
A1. VMDK

Q2. Azure에서 지원하는 VM 디스크 포맷은?
A2. VHD

Q3. VMDK → VHD 변환 시 자주 사용하는 툴은?
A3. qemu-img

Q4. BIOS와 UEFI 중 Azure Gen2 VM이 사용하는 방식은?
A4. UEFI

Q5. AWS VMImport에서 허용하는 디스크 포맷 세 가지는?
A5. RAW, VHD, VMDK

Q6. VMware에서 네트워크 드라이버로 많이 쓰이는 것은?
A6. vmxnet3

Q7. Azure Linux VM에서 플랫폼 통신을 담당하는 에이전트는?
A7. waagent

Q8. cloud-init의 주 목적은?
A8. VM 최초 부팅 시 자동 설정 적용

Q9. VMware VM의 부팅 방식이 BIOS인데 Azure Gen2에 올리면 문제가 되는 이유는?
A9. Azure Gen2는 UEFI만 지원하기 때문

Q10. 이미지 무결성 검증 시 자주 사용하는 해시 알고리즘은?
A10. SHA256

Q11. OVF와 OVA의 차이는?
A11. OVF는 XML 기반 구성 파일, OVA는 이를 포함한 단일 패키지

Q12. 마이그레이션 시 다운타임을 줄이는 방법은?
A12. 사전 테스트 및 증분 복제 사용

Q13. VMware → AWS 마이그레이션 시 필수로 설치하는 리눅스 패키지는?
A13. cloud-init, ec2-net-utils

Q14. VMware VM에서 불필요한 스냅샷을 제거하는 이유는?
A14. 디스크 용량 절감 및 변환 속도 향상

Q15. Direct Connect의 주 목적은?
A15. AWS로 전용 회선 연결

Q16. ExpressRoute는 어떤 클라우드 전용 회선 서비스인가?
A16. Azure

Q17. qemu-img에서 -O 옵션은 무엇을 의미하는가?
A17. 변환될 타겟 포맷 지정

Q18. VMware VM의 NIC를 대상 플랫폼 호환으로 바꾸는 이유는?
A18. 드라이버 호환성 문제 해결

Q19. Azure에서 Managed Disk를 생성할 때 VHD는 어떤 Blob 스토리지에 있어야 하는가?
A19. Page Blob

Q20. SLA가 99.9%일 때 허용되는 연간 다운타임은?
A20. 약 8시간 45분

Q21. BIOS 기반 디스크를 UEFI로 변환하는 대표적인 툴은?
A21. mbr2gpt

Q22. AWS aws ec2 import-image 명령어는 어떤 용도인가?
A22. VM 이미지 가져오기

Q23. Azure Serial Console의 주 목적은?
A23. 부팅 장애 시 콘솔 접근

Q24. 마이그레이션 시 보안 채널을 확보하는 대표 방법은?
A24. VPN, 전용회선

Q25. VMware에서 OVF 추출 시 포함되는 정보는?
A25. VM 하드웨어, 디스크, 네트워크 구성

Q26. 마이그레이션 과정에서 롤백 계획이 필요한 이유는?
A26. 실패 시 신속한 복구 가능

Q27. VMware Tools는 대상 플랫폼에서도 그대로 사용할 수 있는가?
A27. 대부분 불가능, 플랫폼 전용 에이전트로 교체 필요

Q28. Azure VHD 업로드 시 지원하는 최대 크기는?
A28. 4TB

Q29. 대상 플랫폼 부팅 불가 시 가장 먼저 확인해야 할 사항은?
A29. 부팅 모드(BIOS/UEFI)와 드라이버 호환성

Q30. qemu-img 변환 속도를 높이는 방법은?
A30. SSD 사용 및 불필요한 데이터 삭제 후 변환

Q31. VMware VM → Azure 마이그레이션 시 Page Blob을 사용하는 이유는?
A31. Azure Managed Disk가 Page Blob 기반이기 때문.

Q32. Azure Gen2 VM의 필수 부팅 모드는?
A32. UEFI

Q33. AWS VMImport에서 이미지 등록 시 필요한 S3 권한은?
A33. s3:GetObject, s3:PutObject, s3:ListBucket

Q34. VMware VM에서 불필요한 스냅샷을 제거하는 가장 큰 이유는?
A34. 변환 속도 향상과 용량 절감

Q35. BIOS 기반 VMware VM을 Azure Gen2에 올리려면 어떤 변환이 필요한가?
A35. MBR2GPT를 통한 GPT 변환

Q36. AWS에서 부팅 실패 시 Serial Console 대신 사용할 수 있는 기능은?
A36. EC2 System Log

Q37. VMware VM에서 cloud-init이 설치되지 않은 상태로 마이그레이션하면 어떤 문제가 발생할 수 있는가?
A37. 네트워크 초기화 실패 및 메타데이터 설정 미적용

Q38. qemu-img 변환 시 -p 옵션의 의미는?
A38. 진행률 표시

Q39. VMware VM → AWS 마이그레이션 시 ec2-net-utils의 역할은?
A39. 네트워크 설정 자동화

Q40. Azure에서 waagent가 하는 가장 중요한 역할은?
A40. VM과 Azure 플랫폼 간 통신 및 리소스 관리

Q41. OVF와 OVA의 차이점 중 하나는?
A41. OVA는 OVF를 포함한 단일 파일 패키지

Q42. VMware VM 마이그레이션 시 전송 채널로 HTTPS 대신 VPN을 쓰는 이유는?
A42. 보안성과 전송 안정성 강화

Q43. Azure VHD 업로드 시 지원하는 스토리지 타입은?
A43. Page Blob

Q44. AWS VMImport에서 RAW 포맷이 권장되는 이유는?
A44. 변환 속도와 호환성 높음

Q45. VMware VM의 부팅 방식이 BIOS일 경우 AWS에서 Gen2로 만들 수 있는가?
A45. 불가능, BIOS 기반은 Gen1

Q46. 마이그레이션 과정에서 SHA256 해시를 확인하는 이유는?
A46. 이미지 무결성 보장

Q47. Azure에서 Serial Console을 활성화하려면 어떤 조건이 필요한가?
A47. OS에서 serial console 지원 및 boot diagnostics 활성화

Q48. VMware VM의 NIC를 대상 플랫폼에 맞게 변경하지 않으면 발생할 수 있는 문제는?
A48. 네트워크 연결 불가

Q49. VMware에서 vSphere Client를 통해 OVF 추출 시 포함되지 않는 정보는?
A49. VM 메모리 상태(런타임 상태)

Q50. AWS VMImport 과정에서 변환된 이미지가 AMI로 등록되지 않는 경우 원인은?
A50. 변환 실패, 포맷 불일치, 권한 부족

Q51. Azure Managed Disk 변환 시 az disk create 명령어의 필수 인자는?
A51. 이름, 리소스 그룹, 소스 VHD URI

Q52. VMware VM의 GPT 파티션을 BIOS 모드에서 부팅할 수 없는 이유는?
A52. BIOS는 MBR 기반만 부팅 지원

Q53. qemu-img 변환 속도를 높이기 위해 필요한 두 가지는?
A53. SSD 사용, 불필요 데이터 제거

Q54. AWS Direct Connect와 Azure ExpressRoute의 공통점은?
A54. 클라우드로의 전용 회선 서비스

Q55. OVF 파일 내 .mf 파일의 역할은?
A55. 무결성 검증을 위한 해시 정보 제공

Q56. VMware VM에서 고정 IP 설정을 유지한 채 마이그레이션하면 어떤 문제가 발생할 수 있는가?
A56. 대상 플랫폼 네트워크와 충돌

Q57. Azure에서 VHD 파일의 포맷은 어떤 타입이어야 하는가?
A57. Fixed-size VHD

Q58. AWS에서 VMImport 실행 전 필수로 생성해야 하는 리소스는?
A58. S3 버킷과 IAM 역할

Q59. VMware VM 마이그레이션 시 다운타임을 줄이는 가장 효과적인 방법은?
A59. 증분 복제 방식

Q60. Azure VM 부팅 실패 시 BIOS/UEFI 불일치 문제를 확인하려면 어떤 로그를 보는가?
A60. Boot diagnostics 콘솔 로그