다음을 통해 공유


에이전트 없는 마이그레이션 아키텍처

이 문서에서는 Azure Migrate에서 에이전트 없는 마이그레이션 방법을 사용하여 VMware VM(가상 머신)을 마이그레이션할 때의 복제 개념을 설명합니다.

복제 프로세스

에이전트 없는 복제 옵션은 VMware 스냅샷 및 VMware CBT(변경된 블록 추적) 기술을 사용하여 VM 디스크에서 데이터를 복제하여 작동합니다. 다음 블록 다이어그램에서는 Azure Migrate를 사용하여 VM을 마이그레이션할 때 관련된 단계를 보여 줍니다.

가상 머신에 대한 마이그레이션 단계의 다이어그램

VM에 대한 복제를 구성하는 경우 초기 복제 단계를 진행합니다. 이 단계에서 Azure Migrate는 VM 스냅샷을 만듭니다. 그런 다음, 서비스는 스냅샷 디스크에서 대상 구독의 관리 디스크로 데이터의 전체 복사본을 복제합니다.

VM의 초기 복제가 완료되면 복제 프로세스가 증분 복제(델타 복제) 단계로 전환됩니다. 이 단계에서는 마지막으로 완료된 복제 주기가 시작된 이후에 발생한 데이터 변경 내용이 복제되고 복제본 관리 디스크에 기록됩니다. 프로세스의 이 부분은 복제를 VM의 변경 내용과 동기화된 상태로 유지합니다.

Azure Migrate는 VMware CBT 기술을 사용하여 복제 주기 간의 변경 내용을 추적합니다. 복제 주기가 시작될 때 Azure Migrate는 VM 스냅샷을 만듭니다. 서비스는 CBT를 사용하여 현재 스냅샷과 마지막으로 성공적으로 복제된 스냅샷 간의 변경 내용을 가져옵니다. VM에 대한 복제를 동기화 상태로 유지하기 위해 이전에 완료된 복제 주기 이후 변경된 데이터만 복제됩니다. 각 복제 주기가 끝나면 스냅샷이 해제되고 Azure Migrate는 VM에 대한 스냅샷 통합을 수행합니다.

복제 VM에서 마이그레이션 작업을 수행하는 경우 주문형 델타 복제 주기는 마지막 복제 주기 이후 남은 변경 내용을 복제합니다. 주문형 주기가 완료되면 Azure Migrate는 VM에 해당하는 복제본 관리 디스크를 사용하여 Azure에서 VM을 만듭니다.

마이그레이션을 트리거하기 전에 온-프레미스 VM을 종료해야 합니다. VM을 종료하면 마이그레이션 중에 데이터가 손실되지 않습니다.

마이그레이션이 성공하고 Azure에서 VM이 다시 시작되면 VM 복제를 중지해야 합니다. 복제를 중지하면 데이터 복제 중에 생성된 중간 디스크(시드 디스크)가 삭제됩니다. 그런 다음 이러한 디스크의 스토리지 트랜잭션과 관련된 추가 요금이 발생하지 않도록 합니다.

복제 주기

참고 항목

Azure Migrate에서 에이전트 없는 복제 설정을 차단하므로 이전 복제 시도, 파트너 앱 또는 활성 백업 도구(예: VEEAM)에서 VM의 기존 스냅샷을 확인해야 합니다. 스냅샷 기반 백업은 Azure Migrate의 에이전트 없는 변경 내용 추적 및 복제 프로세스와 충돌하며 동시에 사용해서는 안 됩니다.

복제 주기는 온-프레미스 환경에서 Azure 관리 디스크로 데이터를 전송하는 주기적인 프로세스입니다. 전체 복제 주기는 다음 단계로 구성됩니다.

  1. VM과 연결된 각 디스크에 대한 VMware 스냅샷을 만듭니다.
  2. Azure의 로그 스토리지 계정에 데이터를 업로드합니다.
  3. 스냅샷을 해제합니다.
  4. VMware 디스크를 통합합니다.

디스크가 통합된 후 주기가 완료됩니다.

복제를 위한 구성 요소

Azure Migrate 어플라이언스에는 복제를 담당하는 다음과 같은 온-프레미스 구성 요소가 있습니다.

  • 데이터 복제 에이전트
  • 게이트웨이 에이전트

다음 표에는 에이전트 없는 VMware VM 마이그레이션 방법을 사용할 때 생성되는 Azure 구성 요소가 요약되어 있습니다.

구성 요소 지역 구독 설명
Recovery Services 자격 증명 모음 Azure Migrate 프로젝트 지역 Azure Migrate 프로젝트 구독 데이터 복제를 오케스트레이션하는 데 사용되는 자격 증명 모음입니다.
서비스 버스 대상 지역 Azure Migrate 프로젝트 구독 클라우드 서비스와 Azure Migrate 어플라이언스 간의 통신에 사용되는 구성 요소입니다.
로그 스토리지 계정 대상 지역 Azure Migrate 프로젝트 구독 복제 데이터를 저장하는 데 사용되는 계정입니다. 서비스는 이 데이터를 읽고 고객의 관리 디스크에 적용합니다.
게이트웨이 스토리지 계정 대상 지역 Azure Migrate 프로젝트 구독 복제 중에 컴퓨터 상태를 저장하는 데 사용되는 계정
주요 자격 증명 모음 대상 지역 Azure Migrate 프로젝트 구독 로그 스토리지 계정의 서비스 버스 및 액세스 키에 대한 연결 문자열을 관리하는 자격 증명 모음입니다.
가상 머신 대상 지역 대상 구독 마이그레이션할 때 Azure에서 만든 VM입니다.
관리형 디스크 대상 지역 대상 구독 Azure VM에 연결된 관리 디스크입니다.
NIC(네트워크 인터페이스 카드) 대상 지역 대상 구독 Azure에서 만든 VM에 연결된 NIC입니다.

필요한 권한

처음으로 복제를 시작할 때 로그인한 사용자에게는 다음 역할이 있어야 합니다.

  • Azure Migrate 프로젝트의 리소스 그룹 및 대상 리소스 그룹의 소유자 또는 기여자 및 사용자 액세스 관리자

후속 복제의 경우 로그인한 사용자에게는 다음 역할이 있어야 합니다.

  • Azure Migrate 프로젝트의 리소스 그룹 및 대상 리소스 그룹의 소유자 또는 기여자

이전 역할 외에도 로그인한 사용자는 구독 수준에서 Microsoft.Resources/subscriptions/resourceGroups/read다음 권한이 필요합니다.

데이터 무결성

모든 복제 주기에는 온-프레미스 디스크(원본 디스크)와 Azure(대상 디스크)의 복제본 디스크 간에 데이터 무결성을 보장하는 데 도움이 되는 두 단계가 있습니다.

복제 유효성 검사

첫 번째 단계에서는 원본 디스크에서 변경된 모든 섹터가 대상 디스크에 복제되어 있는지 확인합니다. 비트맵을 사용하여 유효성 검사를 수행합니다.

원본 디스크는 512바이트의 섹터로 나뉩니다. 원본 디스크의 모든 섹터는 비트맵의 비트에 매핑됩니다. 데이터 복제가 시작되면 Azure Migrate는 복제해야 하는 원본 디스크에 변경된 모든 블록(델타 주기)에 대한 비트맵을 만듭니다. 마찬가지로 데이터가 대상 Azure 디스크로 전송될 때 Azure Migrate는 비트맵을 만듭니다.

데이터 전송이 성공적으로 완료되면 클라우드 서비스는 두 비트맵을 비교하여 변경된 블록을 놓치지 않도록 합니다. 비트맵 간에 불일치가 있는 경우 주기가 실패한 것으로 간주됩니다. 모든 주기가 다시 동기화되므로 다음 주기에서 불일치가 해결됩니다.

복제된 데이터 확인

두 번째 단계는 Azure 디스크로 전송되는 데이터가 원본 디스크에서 복제된 데이터와 동일한지 확인합니다.

업로드된 모든 변경된 블록은 로그 스토리지 계정에서 Blob으로 작성되기 전에 압축 및 암호화됩니다. Azure Migrate는 압축 전에 이 블록의 체크섬을 계산합니다. 이 체크섬은 압축된 데이터와 함께 메타데이터로 저장됩니다.

압축 해제 시 Azure Migrate는 데이터에 대한 체크섬을 계산하고 원본 환경에서 계산된 체크섬과 비교합니다. 일치하지 않는 경우 데이터가 Azure 디스크에 기록되지 않고 주기가 실패한 것으로 간주됩니다. 모든 주기가 다시 동기화되므로 다음 주기에서 불일치가 해결됩니다.

보안

Azure Migrate 어플라이언스는 데이터를 압축하고 업로드하기 전에 암호화합니다. 데이터는 HTTPS 및 TLS 1.2 이상을 사용하는 보안 통신 채널을 통해 전송됩니다. 또한 Azure Storage는 클라우드에 유지될 때 데이터를 자동으로 암호화합니다(미사용 데이터 암호화).

복제 상태

VM에서 복제(데이터 복사)가 발생하는 경우 다음과 같은 몇 가지 가능한 상태가 있습니다.

  • 대기 중인 초기 복제: 복제 또는 마이그레이션 중에 다른 VM이 온-프레미스 리소스를 사용할 수 있으므로 VM은 복제 또는 마이그레이션을 위해 대기합니다. 리소스가 무료이면 이 VM이 처리됩니다.
  • 초기 복제 진행 중: VM은 초기 복제를 위해 예약됩니다.
  • 초기 복제: VM에서 초기 복제를 진행하고 있습니다. VM이 초기 복제를 진행하는 경우 테스트 마이그레이션 및 프로덕션 마이그레이션을 진행할 수 없습니다. 이 단계에서는 복제만 중지할 수 있습니다.
  • 초기 복제(x%): 초기 복제가 활성 상태이며 표시된 백분율로 진행되었습니다.
  • 델타 동기화: VM에서 마지막 복제 주기 이후 남은 데이터 변동을 복제하는 델타 복제 주기를 진행하고 있을 수 있습니다.
  • 진행 중인 일시 중지: VM이 활성 델타 복제 주기를 진행 중이며 일시 중지됩니다.
  • 일시 중지됨: 복제 주기가 일시 중지됩니다. 복제를 다시 시작하는 작업을 수행하여 복제 주기를 다시 시작할 수 있습니다.
  • 대기 중인 다시 시작: 다른 VM이 현재 온-프레미스 리소스를 사용하므로 복제를 다시 시작하기 위해 VM이 대기하고 있습니다.
  • 진행 중인 다시 시작(x%): VM에 대해 복제 주기가 다시 시작되고 표시된 백분율로 진행되었습니다.
  • 복제 중지 진행 중: 복제 정리를 진행하고 있습니다. 복제를 중지하면 복제 중에 만든 중간 관리 디스크(시드 디스크)가 삭제됩니다. 이 문서의 뒷부분에서 복제를 중지하는 방법에 대해 자세히 알아볼 수 있습니다.
  • 마이그레이션 완료 진행 중: 마이그레이션 정리를 진행하고 있습니다. 마이그레이션을 완료하면 복제 중에 만든 중간 관리 디스크(시드 디스크)가 삭제됩니다. 이 문서의 뒷부분에서 복제를 완료하는 방법에 대해 자세히 알아볼 수 있습니다.
  • : VM이 성공적으로 마이그레이션되거나 복제를 중지하면 상태가 대시로 변경됩니다. 마이그레이션을 완료하거나 복제를 중지하고 작업이 성공적으로 완료되면 복제 컴퓨터 목록에서 VM이 제거됩니다. 복제 마법사에서 가상 머신에 대한 탭에서 VM을 찾을 수 있습니다.

기타 상태

  • 초기 복제 실패: VM에 대한 초기 데이터를 복사할 수 없습니다. 수정 지침에 따라 해결합니다.

  • 복구 보류 중: 복제 주기에 문제가 발생했습니다. 링크를 선택하여 가능한 원인 및 수정 작업을 파악할 수 있습니다(해당하는 경우). VM 복제를 트리거할 때 예를 선택하여 복제를 자동으로 복구하도록 선택한 경우 도구에서 복구를 시도합니다. 그렇지 않은 경우 VM을 선택한 다음 복제 복구를 선택합니다.

    복제를 자동으로 복구하지 않았거나 복구 단계가 작동하지 않는 경우 VM에 대한 복제를 중지합니다. VM에서 CBT를 다시 설정한 다음 복제를 다시 구성합니다.

  • 대기 중인 복제 복구: 다른 VM이 온-프레미스 리소스를 사용하므로 VM이 복제 복구를 위해 대기 중입니다. 리소스가 무료이면 복구 복제를 위해 VM이 처리됩니다.

  • 다시 동기화(x%): VM에서 데이터 다시 동기화를 진행하고 있습니다. 데이터 복제 중에 문제가 있거나 일치하지 않는 경우 이 다시 동기화가 발생할 수 있습니다.

  • 복제 중지/마이그레이션 완료 실패: 링크를 선택하여 실패의 가능한 원인 및 수정 작업을 파악합니다(해당하는 경우).

참고 항목

일부 VM은 IOPS(초당 스토리지 입력/출력 작업) 사용으로 인해 원본 환경에 미치는 영향을 최소화하기 위해 대기 상태로 전환됩니다. 이러한 VM은 이 문서의 뒷부분에 설명된 대로 예약 논리에 따라 처리됩니다.

테스트 마이그레이션 또는 프로덕션 마이그레이션의 상태

  • 테스트 마이그레이션 보류 중: VM이 델타 복제 단계에 있습니다. 이제 테스트 마이그레이션(또는 프로덕션 마이그레이션)을 수행할 수 있습니다.
  • 테스트 마이그레이션 정리 보류 중: 테스트 마이그레이션이 완료된 후 Azure에서 요금을 방지하기 위해 테스트 마이그레이션 정리를 수행합니다.
  • 마이그레이션 준비: VM은 Azure로 마이그레이션할 준비가 된 것입니다.
  • 진행 중인 마이그레이션 대기 중: 다른 VM이 복제(또는 마이그레이션) 중에 온-프레미스 리소스를 사용하므로 VM이 마이그레이션을 위해 대기 중입니다. 리소스가 무료이면 VM이 처리됩니다.
  • 테스트 마이그레이션/마이그레이션 진행 중: VM에서 테스트 마이그레이션 또는 프로덕션 마이그레이션을 진행 중입니다. 링크를 선택하여 진행 중인 마이그레이션 작업을 확인할 수 있습니다.
  • 날짜, 타임스탬프: 이 날짜 및 시간에 테스트 마이그레이션 또는 프로덕션 마이그레이션이 수행되었습니다.
  • : 초기 복제를 진행하고 있습니다. 복제 프로세스가 델타 동기화(증분 복제) 단계로 전환된 후 테스트 마이그레이션 또는 프로덕션 마이그레이션을 수행할 수 있습니다.

기타 상태

  • 정보로 완료됨: 테스트 마이그레이션 또는 프로덕션 마이그레이션 작업이 정보로 완료되었습니다. 링크를 선택하여 마지막 마이그레이션 작업에서 가능한 원인 및 수정 작업을 확인할 수 있습니다(해당하는 경우).
  • 실패: 테스트 마이그레이션 또는 프로덕션 마이그레이션 작업이 실패했습니다. 링크를 선택하여 마지막 마이그레이션 작업에서 가능한 원인 및 수정 작업을 확인할 수 있습니다.

일정 논리

VM에 대한 복제를 구성할 때 초기 복제가 예약됩니다. 증분 복제(델타 복제)가 그 뒤를 따릅니다.

델타 복제 주기는 다음과 같이 예약됩니다.

  • 첫 번째 델타 복제 주기는 초기 복제 주기가 완료된 직후에 예약됩니다.

  • 다음 델타 복제 주기는 다음 논리 min[max[1 hour, (<Previous delta replication cycle time>/2)], 12 hours]에 따라 예약됩니다.

    즉, 다음 델타 복제는 1시간 이하 및 12시간 이내에 예약됩니다. 예를 들어 VM이 델타 복제 주기에 4시간이 걸리는 경우 다음 델타 복제 주기는 다음 시간이 아닌 2시간 안에 예약됩니다.

    참고 항목

    초기 복제가 완료된 후에는 일정 논리가 다릅니다. 첫 번째 델타 주기는 초기 복제가 완료된 직후에 예약됩니다. 후속 주기는 예약 논리를 따릅니다.

  • 마이그레이션을 트리거하면 마이그레이션 전에 VM에 대해 주문형(사전 장애 조치) 델타 복제 주기가 발생합니다.

우선 순위 지정

복제의 다양한 단계에 대한 VM의 우선 순위는 다음과 같습니다.

  • 진행 중인 VM 복제는 예약된 복제(새 복제)에 비해 우선 순위가 지정됩니다.
  • 주문형(사전 장애 조치) 델타 복제 주기가 우선 순위가 가장 높고 초기 복제 주기가 뒤따릅니다. 델타 복제 주기의 우선 순위가 가장 낮습니다.

마이그레이션 작업을 트리거할 때마다 VM에 대한 주문형 복제 주기가 예약됩니다. 다른 진행 중인 복제는 리소스를 위해 경쟁하는 경우 기다려야 합니다.

제약 조건

다음 제약 조건은 스토리지 영역 네트워크의 IOPS 제한을 초과하지 않도록 하는 데 도움이 됩니다.

  • 각 Azure Migrate 어플라이언스는 52개의 디스크를 병렬로 복제할 수 있습니다.
  • 각 ESXi 호스트는 8개의 디스크를 지원합니다. 모든 ESXi 호스트에는 32MB NFC 버퍼가 있습니다. 따라서 호스트에서 8개의 디스크를 예약할 수 있습니다. (각 디스크는 인시던트 대응 및 재해 복구를 위해 4MB의 버퍼를 차지합니다.)
  • 데이터 저장소마다 디스크 스냅샷이 최대 15개까지 있을 수 있습니다. 유일한 예외는 15개 이상의 디스크가 VM에 연결된 경우입니다.

스케일 아웃 복제

Azure Migrate는 500개 VM의 동시 복제를 지원합니다. 300개 이상의 VM을 복제하려는 경우 스케일 아웃 어플라이언스를 배포해야 합니다. 스케일 아웃 어플라이언스는 Azure Migrate 기본 어플라이언스와 유사하지만 Azure로의 데이터 전송을 용이하게 하기 위해 게이트웨이 에이전트로만 구성됩니다.

다음 다이어그램에서는 스케일 아웃 어플라이언스를 사용하는 권장 방법을 보여줍니다.

스케일 아웃 구성의 단계 다이어그램

기본 어플라이언스를 구성한 후 언제든지 스케일 아웃 어플라이언스를 배포할 수 있지만 300개의 VM이 동시에 복제될 때까지는 필요하지 않습니다. 300개의 VM이 동시에 복제되는 경우 계속하려면 스케일 아웃 어플라이언스를 배포해야 합니다.

복제 중지 또는 마이그레이션 완료

복제를 중지하면 복제 중에 만든 중간 관리 디스크(시드 디스크)가 삭제됩니다. 활성 복제 중에만 복제를 중지할 수 있습니다. 마이그레이션 완료를 선택하여 VM이 마이그레이션 된 후 복제를 중지할 수 있습니다.

복제를 다시 사용하도록 설정하여 복제가 중지되는 VM을 복제할 수 있습니다. VM이 마이그레이션되었으면 복제 및 마이그레이션을 다시 시작할 수 있습니다.

VM이 Azure로 성공적으로 마이그레이션된 후에는 항상 마이그레이션을 완료하는 것이 가장 좋습니다. 이렇게 하면 중간 관리 디스크(시드 디스크)의 스토리지 트랜잭션에 대한 추가 요금이 발생하지 않습니다.

경우에 따라 복제를 중지하는 데 시간이 걸립니다. 그 이유는 복제를 중지할 때마다 아티팩트가 삭제되기 전에 진행 중인 복제 주기가 완료되기 때문입니다(VM이 델타 동기화에 있는 경우에만).

변동 영향

다음 주기를 예약하기 전에 데이터를 가능한 한 많이 접을 수 있도록 하여 각 복제 주기에서 데이터 전송 양을 최소화할 수 있습니다. 에이전트 없는 복제는 데이터를 접기 때문에 변동률보다 변동 패턴이 더 중요합니다. 파일이 계속해서 쓰여질 때 속도는 큰 영향을 미치지 않습니다. 그러나 다른 모든 섹터가 기록되는 패턴은 다음 주기에서 높은 변동을 발생시킵니다.

현재 델타 복제 주기가 높은 데이터 변동으로 인해 지연되는 경우 후속 주기의 시작이 지연될 수 있습니다. 특정 디스크에 대해 복제할 데이터의 양이 많을수록 복구 지점을 만드는 데 필요한 기간이 연장됩니다. 결과적으로 최종 마이그레이션 주기는 더 오래 걸립니다. 이 경우 원본 VM에 대한 확장된 종료 창이 발생합니다.

데이터 저장소의 사용 가능한 용량을 초과하는 범위까지 스냅샷 크기가 증가하는 경우(변동 패턴으로 인해) 데이터 저장소의 공간이 부족할 위험이 있습니다. 이 상황은 프로덕션 워크로드에 부정적인 영향을 줄 수 있으며 원본 VM이 응답하지 않을 수 있습니다.

이러한 위험을 완화하려면 데이터 저장소 크기를 사전에 늘리는 것이 좋습니다. 동시에 복제하는 여러 VM에 사용 가능한 용량이 낮은 데이터 저장소에 디스크가 있는 경우 리소스 경합을 방지하기 위해 한 번에 하나의 VM 마이그레이션을 수행하는 것이 좋습니다.

복제 관리

제한

를 사용하여 NetQosPolicy복제 대역폭을 늘리거나 줄일 수 있습니다. 사용할 값은 AppNamePrefix .입니다NetQosPolicy.GatewayWindowsService.exe

Azure Migrate 어플라이언스에서 복제 트래픽을 제한하려면 어플라이언스에서 다음 예제와 같은 정책을 만들 수 있습니다. 이 정책은 Azure Migrate 어플라이언스의 모든 복제 VM에 동시에 적용됩니다.

New-NetQosPolicy -Name "ThrottleReplication" -AppPathNameMatchCondition "GatewayWindowsService.exe" -ThrottleRateActionBitsPerSecond 1MB

샘플 스크립트를 사용하여 일정에 따라 복제 대역폭을 늘리고 줄일 수도 있습니다.

블랙 아웃 기간

Azure Migrate는 복제를 진행하지 않으려는 시간 간격을 지정하는 데 사용할 수 있는 구성 기반 메커니즘을 제공합니다. 이 간격을 정전 창이라고 합니다. 원본 환경이 리소스가 제한된 경우 또는 업무 시간 외에만 복제를 수행하려는 경우와 같은 여러 시나리오에서 정전 기간이 필요할 수 있습니다.

참고 항목

복제가 일시 중지되기 전에 중단 창 시작 시 기존 복제 주기가 완료됩니다.

중단 기간 동안 시작하는 마이그레이션의 경우 최종 복제가 실행되지 않습니다. 마이그레이션이 실패합니다.

에서 파일을 만들거나 업데이트 GatewayDataWorker.json 하여 어플라이언스용 정전 창을 지정할 수 있습니다 C:\ProgramData\Microsoft Azure\Config. 일반적인 파일의 형식은 다음과 같습니다.

{
    
    "BlackoutWindows": "List of blackout windows"
    
}

정전 창 목록은 형식|의 파이프로 구분된(<DayOfWeek>;<StartTime>;<Duration>) 문자열입니다. 기간을 일, 시간 및 분 단위로 지정할 수 있습니다. 예를 들어 다음과 같이 정전 창을 지정할 수 있습니다.

{
    
    "BlackoutWindows": "Monday;7:00;7h | Tuesday;8:00;1d7h | Wednesday;16:00;1d | Thursday;18:00;5h | Friday;13:00;8m"
    
}

앞의 예제의 첫 번째 값은 매주 월요일 오전 7시(어플라이언스의 시간)에 시작되고 7시간 동안 지속되는 정전 창을 나타냅니다.

이러한 콘텐츠를 만들거나 업데이트 GatewayDataWorker.json 한 후에는 이러한 변경 내용이 적용되려면 어플라이언스의 게이트웨이 서비스를 다시 시작해야 합니다.

스케일 아웃 시나리오에서 기본 어플라이언스와 스케일 아웃 어플라이언스는 개별적으로 블랙 아웃 기간을 적용합니다. 모범 사례로, 기간을 여러 어플라이언스에서 일관되게 유지하는 것이 좋습니다.