vSphere vMotion

INYEONG KIM·2024년 8월 18일
post-thumbnail

vMotion

vSphere의 VM Online Migration 기능

  • VM을 현재 동작하고 있는 ESXi Host에서 다른 ESXi Host로 실시간으로 이동시키는 기능
    • Guest OS + App들이 다운되지 않고 Host를 이동
  • x86 서버 가상화가 VMware에 처음 소개된 시점에서 가장 기본적 + 혁신적인 기능으로 인식되는 중
  • VM은 OS와 물리 서버와의 의존도를 상당히 낮춤
  • ESXi Host 차원에서 vMotion은 VM의 리소스 및 제어권을 넘겨 받는 것
    • 데이터스토어 내의 VM의 CPU 및 메모리 부분은 host 사이에서 이동
    • 데이터스토어의 용량은 바뀌지 X → host 간 공유 스토리를 사용하기 때문
  • vSphere 6 이상의 vMotion은 ESXi host 간 마이그레이션 뿐 아니라 vCenter 사이에서도 동작 가능
    • 네트워크 발전을 통해 대륙간 vMotion 역시 가능해짐
  • VM → Migration
    → 계산 리소스만 변경(vMotion) → host 선택
    → vSwitch(VMKernel) 선택 → vMotion 우선순위 선택 → vMotion 진행 → VM 의 host 변경 확인

vMotion이 구현되기 위한 조건

  1. ESXi Host 간 공유 스토리지 설정
    • 모든 ESXi host가 같은 스토리지 볼륨을 바라보고 있어야 함
      • 해당 볼륨에서 VM이 파일 형태로 저장
    • 공유 스토리지 형식은 FC SAN, FCoE, iSCSI SAN, NFS 중 한 가지
    • 사실 vSphere 6에서는 공유 스토리지 없이도 vMotion 기능이 가능하긴 함
      • 그러나 여전히 공유 스토리지가 갖추어져야 수행한 기능이 많아서 공유 스토리지는 국룰
  2. vMotion 전용 고속 개별 네트워크
    • VM 용 네트워크 X, VMkernel 용 네트워크 O
      • VMKernel 용 vSwitch 생성이 필요 (없으면 vMotion 자체가 안됨)
      • 생성 이후 vMotion 트래픽 서비스 사용 선택 (FT, SAN, 프로비저닝 등등 다 마찬가지)
    • vMotion이 수행되는 시점에서 네트워크로 VM의 메모리 비트맵 이미지 전송 → 전용 네트워크 필요
      • VM 들이 사용하는 네트워크와는 별개의 독립적인 네트워크 필요
    • 10G 네트워크 (한 개 혹은 여러 개의 별도로 구성되어도 상관 없음)
      • vSphere 5에서는 1G로도 충분 했으나, 네트워크 발전 및 퍼포먼스 최적화로 10G로 수정됨
  3. CPU 호환성
    • ESXi Host를 올릴 x86 서버들 간의 밴더 호환성 (Intel CPU, AMD CPU 등)
    • EVC (Enhanced vMotion Compatibility)
      • VMware에서 제공해주는 CPU 호환성을 위한 기술
      • 예전에는 vMotion 호환성을 맞추기 위해 CPUID의 필드 비트를 맞추는 등의 방법을 사용 (현재는 사용 X)
      • EVC 기술을 제공함으로써 vSphere 버전과 x86 서버의 CPU가 너무 오래되지만 않으면 대부분 vMotion이 호환되도록 설계함

vMotion이 수행되는 절차

이 모든 과정이 진행되는 동안 사용자는 변화를 거의 느낄 수 없음

  1. ESXi 01, 02는 같은 SAN을 공유 + SAN 위에 있는 VMFS를 공유, ESXi 01에서 VM이 VM 네트워크를 사용 중 → ESXi 01에서 02로 vMotion 실행
  2. 메모리를 ESXi 01
    → ESXi 02로 사전 copy
    → copy 진행 중에 발생하는 메모리 변경 분은 ESXi 01의 메모리 비트맵에 보관
    → 메모리 copy 시 vMotion 네트워크 사용
  3. ESXi 01에서 돌고 있는 VM 정지 (아주 순간적이므로 사용자는 정지를 인식하지 못함) + ESXi 01 메모리 비트맵(변경 분)을 ESXi 02 host 로 복사
  4. ESXi 02 에서 VM 기동 + 유저는 ESXi 02 에 새로 뜬 VM에 접속(내용은 동일)
  5. 마이그레이션 완료 후 ESXi 01 host에서 VM 삭제
    → 실제로 VM 내에 설치된 OS에도 영향 X, 마이그레이션만 진행됨
profile
미래의 저를 위해 작성하는 중입니다 🙆‍♂️

0개의 댓글