온-프레미스에서 Azure Stack Hub로 특수 VM 이동

주의

이 문서에서는 EOL(수명 종료) 상태 가까운 Linux 배포판인 CentOS를 참조합니다. 사용을 고려하고 그에 따라 계획을 세우십시오. 자세한 내용은 CentOS 수명 종료 지침을 참조하세요.

온-프레미스 환경에서 VM(가상 머신) 이미지를 추가할 수 있습니다. 이미지를 VHD(가상 하드 디스크)로 만들고 Azure Stack Hub instance 스토리지 계정에 이미지를 업로드할 수 있습니다. 그런 다음 VHD에서 VM을 만들 수 있습니다.

특수 디스크 이미지는 원래 VM의 사용자 계정, 애플리케이션 및 기타 상태 데이터를 포함하는 기존 VM의 VHD(가상 하드 디스크)의 복사본입니다. 일반적으로 VM이 Azure Stack Hub로 마이그레이션되는 형식입니다. 특수 VHD는 온-프레미스에서 Azure Stack Hub로 VM을 마이그레이션해야 하는 경우에 적합합니다.

이미지를 이동하는 방법

VHD를 준비할 때 요구 사항에 맞는 섹션을 찾습니다.

  • Azure에 업로드할 Windows VHD 또는 VHDX 준비의 단계에 따라 VHD를 올바르게 준비합니다. Azure Stack Hub용 VHD를 사용해야 합니다.

    참고

    Sysprep을 사용하여 VM을 일반화하지 마십시오.

  • VM에 설치된 에이전트 및 모든 게스트 가상화 도구를 제거합니다(예: VMware 도구).
  • VM이 DHCP를 통해 IP 주소 및 DNS 설정을 가져오도록 구성되었는지 확인합니다. 이렇게 하면 서버를 시작할 때 가상 네트워크 내의 IP 주소를 가져옵니다.
  • RDP/SSH를 사용하도록 설정하고 방화벽에서 통신을 허용하는지 확인합니다.
  • VM 확장을 배포하려면 VM 에이전트 .msi 를 사용할 수 있는지 확인합니다. 지침은 Azure Virtual Machine 에이전트 개요를 참조하세요. VM 에이전트가 VHD에 없는 경우 확장 배포가 실패합니다. 프로비전하는 동안 OS 프로필을 설정하거나 를 설정할 $vm.OSProfile.AllowExtensionOperations = $true필요가 없습니다.

VHD 확인

VHD를 업로드하기 전에 VHD가 요구 사항을 충족하는지 확인해야 합니다. 요구 사항을 충족하지 않는 VHD는 Azure Stack Hub에서 로드되지 않습니다.

  1. Hyper-V에서 찾은 PowerShell 모듈을 사용합니다. Hyper-V를 활성화하면 PowerShell 모듈을 지원합니다. 관리자 권한 프롬프트로 PowerShell을 열고 다음 cmdlet을 실행하여 모듈이 있는지 검사 수 있습니다.

    Get-Command -Module hyper-v
    

    Hyper-V 명령이 없는 경우 Hyper-V 작업 및 Windows PowerShell 참조하세요.

  2. 컴퓨터에서 VHD 경로를 가져옵니다. 다음 cmdlet을 실행합니다.

    get-vhd <path-to-your-VHD>
    

    cmdlet은 VHD 개체를 반환하고 다음과 같은 특성을 표시합니다.

    ComputerName            : YOURMACHINENAME
    Path                    : <path-to-your-VHD>
    VhdFormat               : VHD
    VhdType                 : Fixed
    FileSize                : 68719477248
    Size                    : 68719476736
    MinimumSize             : 32212254720
    LogicalSectorSize       : 512
    PhysicalSectorSize      : 512
    BlockSize               : 0
    ParentPath              :
    DiskIdentifier          : 3C084D21-652A-4C0E-B2D1-63A8E8E64C0C
    FragmentationPercentage : 0
    Alignment               : 1
    Attached                : False
    DiskNumber              :
    IsPMEMCompatible        : False
    AddressAbstractionType  : None
    Number                  :
    
  3. VHD 개체를 사용하면 Azure Stack Hub에 대한 요구 사항을 충족하는 검사.

    또한 Azure Stack Hub는 1세대 VM의 이미지만 지원합니다.

  4. VHD가 Azure Stack Hub와 호환되지 않는 경우 원본 이미지 및 Hyper-V로 돌아가서 요구 사항을 충족하는 VHD를 만들고 업로드해야 합니다. 업로드 프로세스에서 가능한 손상을 최소화하려면 AzCopy를 사용합니다.

VHD를 수정하는 방법

Azure Stack Hub와의 VHD 호환성을 위해 다음 요구 사항을 충족해야 합니다.

VHD는 고정 형식입니다.

식별: cmdlet을 사용하여 get-vhd VHD 개체를 가져옵니다.
수정: VHDX 파일을 VHD로 변환하고 동적으로 확장되는 디스크를 고정 크기 디스크로 변환할 수 있지만 VM의 생성을 변경할 수는 없습니다. Hyper-V 관리자 또는 PowerShell을 사용하여 디스크를 변환합니다.

VHD의 최소 가상 크기는 20MB 이상입니다.

식별: cmdlet을 사용하여 get-vhd VHD 개체를 가져옵니다.
수정:Hyper-V 관리자 또는 PowerShell 을 사용하여 디스크 크기를 조정합니다.

VHD가 정렬됨

식별: cmdlet을 사용하여 get-vhd VHD 개체를 가져옵니다.
수정: 가상 크기는 1MB의 배수여야 합니다.

디스크에는 1MiB에 맞춰진 가상 크기가 있어야 합니다. VHD가 1MiB의 분수인 경우 디스크 크기를 1MiB의 배수로 조정해야 합니다. 디스크가 MiB의 분수이면 업로드된 VHD에서 이미지를 만들 때 오류가 발생합니다. 크기를 확인하려면 PowerShell Get-VHD cmdlet을 사용하여 Azure에서 1MiB의 배수여야 하는 "Size"와 VHD 바닥글의 "Size"에 512바이트를 더한 값인 "FileSize"를 표시할 수 있습니다.

Hyper-V 관리자 또는 PowerShell을 사용하여 디스크 크기를 조정합니다.

VHD Blob 길이

식별: cmdlet을 get-vhd 사용하여 표시 Size
수정: VHD Blob 길이 = 가상 크기 + vhd 바닥글 길이(512). Blob 끝에 있는 작은 바닥글은 VHD의 속성을 설명합니다. Size 는 Azure에서 1MiB의 배수여야 하며 FileSize, VHD 바닥글의 경우 + 512바이트와 같 Size 아야 합니다.

Hyper-V 관리자 또는 PowerShell을 사용하여 디스크 크기를 조정합니다.

1세대 VM

식별: 가상 머신이 1세대인지 확인하려면 cmdlet Get-VM | Format-Table Name, Generation을 사용합니다.
수정: 하이퍼바이저(Hyper-V)에서 VM을 다시 만들어야 합니다.

스토리지 계정에 업로드

포털 또는 포털에서 만든 컨테이너를 사용하여 AzCopy를 사용하여 VHD를 업로드할 수 있습니다.

SAS URL을 생성하고 VHD를 업로드하는 포털

  1. Azure Stack Hub 사용자 포털에 로그인합니다.

  2. 스토리지 계정을 선택하고 기존 스토리지 계정을 선택하거나 새 스토리지 계정을 만듭니다.

  3. 스토리지 계정에 대한 스토리지 계정 블레이드에서 Blob 을 선택합니다. 컨테이너를 선택하여 새 컨테이너를 만듭니다.

  4. 컨테이너 이름을 입력한 다음 Blob(Blob에 대해서만 익명 읽기 액세스)을 선택합니다.

  5. AzCopy를 사용하여 포털이 아닌 이미지를 업로드하려는 경우 SAS 토큰을 만듭니다. 스토리지 계정에서 공유 액세스 서명을 선택한 다음 SAS 생성 및 연결 문자열 선택합니다. Blob 서비스 SAS URL을 복사하여 기록해 둡니다. AzCopy를 사용하여 VHD를 업로드할 때 이 URL을 사용합니다.

  6. 컨테이너를 선택한 다음 업로드를 선택합니다. VHD를 업로드합니다.

AzCopy VHD

Azure Storage Explorer 또는 AzCopy를 사용하여 업로드 프로세스에서 VHD가 손상되고 업로드가 더 빨라질 가능성을 줄입니다. 다음 단계에서는 Windows 10 컴퓨터에서 AzCopy를 사용합니다. AzCopy는 스토리지 계정에서 또는 스토리지 계정으로 Blob 또는 파일을 복사하는 데 사용할 수 있는 명령줄 유틸리티입니다.

  1. AzCopy가 설치되어 있지 않으면 AzCopy를 설치합니다. AzCopy 시작 문서에서 AzCopy를 다운로드하고 시작하기 위한 지침을 찾을 수 있습니다. 이진 파일을 저장하는 위치를 기록해 둡다. 경로에 AzCopy를 추가하여 PowerShell 명령줄에서 사용할 수 있습니다.

  2. PowerShell을 열어 셸에서 AzCopy를 사용합니다.

  3. AzCopy를 사용하여 스토리지 계정의 컨테이너에 VHD를 업로드합니다.

    set AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09
    azcopy cp "/path/to/file.vhd" "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS] --blob-type=PageBlob
    

참고

단일 파일을 가상 디렉터리에 업로드하는 것과 유사한 구문을 사용하여 VHD를 업로드합니다. 를 추가하여 --blob-type=PageBlob 기본적으로 차단 대신 VHD가 페이지 Blob으로 업로드되도록 합니다.

AzCopy 및 기타 스토리지 도구 사용에 대한 자세한 내용은 Azure Stack Hub Storage에서 데이터 전송 도구 사용을 참조하세요.

Azure Stack Hub에서 디스크 만들기

  1. Azure Stack Hub 사용자 포털에 로그인합니다.

    플랫폼 디스크를 만드는 클라우드 운영자인 경우 플랫폼 이미지 추가 의 지침에 따라 관리자 포털 또는 관리자 엔드포인트를 통해 VHD를 추가합니다.

  2. 사용자 포털에서 모든 서비스> 디스크추가> 선택합니다.

  3. 관리 디스크 만들기에서 다음을 수행합니다.

    1. 이미지의 이름을 입력합니다.

    2. 구독을 선택합니다.

    3. 이미지를 만들거나 리소스 그룹에 추가합니다.

    4. ASDK의 지역이라고도 하는 위치를 선택합니다.

    5. 계정 유형을 선택합니다.

      • SSD(프리미엄 디스크) 는 반도체 드라이브에서 지원되며 일관되고 짧은 대기 시간 성능을 제공합니다. 가격과 성능 간에 최상의 균형을 제공하며 I/O 집약적인 애플리케이션 및 프로덕션 워크로드에 이상적입니다.
      • HDD(표준 디스크) 는 자기 드라이브에서 지원되며 데이터가 자주 액세스되지 않는 애플리케이션에 적합합니다. 영역 중복 디스크는 여러 영역에 걸쳐 데이터를 복제하는 ZRS(영역 중복 스토리지)를 통해 지원되며 단일 영역이 다운된 경우에도 사용할 수 있습니다.
    6. 원본 형식Storage Blob을 선택합니다. 스토리지 계정의 Blob에서 디스크를 만듭니다.

    7. VHD 원본의 경우 다음을 선택합니다.

      1. 스토리지 계정이 있는 원본 구독입니다.
      2. 찾아보기를 선택한 다음 스토리지 계정, 컨테이너 및 VHD로 이동합니다. 선택을 선택합니다.
      3. VHD와 일치하는 OS 유형을 선택합니다.
    8. VHD보다 크거나 크기가 큰 디스크 크기(GiB) 를 선택합니다.

    9. 만들기를 선택합니다.

  4. 디스크가 만들어지면 디스크를 사용하여 새 VM을 만들 수 있습니다.

다음 단계

Azure Stack Hub로 VM 이동 개요