다음을 통해 공유


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

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

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

이미지를 이동하는 방법

VHD를 준비할 때 요구 사항과 관련된 섹션을 찾습니다.

  • Windows VHD 또는 VHDX를 준비하여 Azure 업로드하여 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는 고정 형식입니다.

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

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

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

VHD가 정렬되었습니다

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

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

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

VHD 블롭 길이

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

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

1세대 VM

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

스토리지 계정에 업로드

포털을 통해 VHD를 업로드하거나, 포털에서 만든 컨테이너와 함께 AzCopy를 사용할 수 있습니다.

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

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

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

  3. 저장소 계정의 블레이드에서 Blob을 선택합니다. 컨테이너를 선택하여 새 컨테이너를 만듭니다.

  4. 컨테이너의 이름을 입력하고, Blob(Blob에만 익명 읽기 액세스)을 선택합니다.

  5. AzCopy를 사용하여 포털이 아닌 이미지를 업로드하려는 경우 SAS 토큰을 만듭니다. 스토리지 계정에서 공유 액세스 서명을 선택한 후 SAS 생성 및 연결 문자열을 선택합니다. Blob Service 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를 업로드합니다.

    $env: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를 업로드합니다. VHD가 기본적으로 블록가 아니라 페이지 Blob로 업로드되도록 하기 위해 --blob-type=PageBlob을 추가하십시오.

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. 찾아보기를 선택한 다음 Storage 계정, 컨테이너 및 VHD로 이동합니다. 선택합니다.
      3. VHD와 일치하는 OS 유형 선택합니다.
    8. 크기가 VHD와 같거나 더 큰 디스크 (GiB)를 선택합니다.

    9. 선택합니다만들기.

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

다음 단계

Azure Stack Hub로 VM 이동 개요