Azure Stack Hub에 대한 스토리지 용량 관리

이 문서를 Azure Stack Hub 클라우드 운영자로 사용하여 Azure Stack Hub 배포의 스토리지 용량을 모니터링하고 관리하는 방법을 알아볼 수 있습니다. 지침을 사용하여 사용자의 VM에 사용할 수 있는 메모리를 이해할 수 있습니다. Azure Stack Hub 스토리지 인프라는 Azure Stack Hub 배포의 전체 스토리지 용량에 대한 하위 집합을 스토리지 서비스로 할당합니다. 스토리지 서비스는 배포의 노드에 해당하는 볼륨의 공유에 테넌트의 데이터를 저장합니다.

클라우드 운영자는 사용할 수 있는 스토리지의 양이 제한됩니다. 스토리지 크기는 구현하는 솔루션에 의해 정의됩니다. 이 솔루션은 다중 노드 솔루션을 사용할 때 OEM 공급업체에서 제공합니다. 또는 ASDK(Azure Stack Development Kit)를 설치하는 하드웨어에 의해 제공됩니다.

Azure Stack Hub는 추가 배율 단위 노드를 추가하여 스토리지 용량 확장을 지원합니다. 자세한 내용은 Azure Stack Hub에서 배율 단위 노드 추가를 참조하세요. 노드에 실제 디스크를 추가해도 스토리지 용량은 확장되지 않습니다.

사용 가능한 스토리지를 모니터링 하여 효율적인 작업이 유지되도록 하는 것이 중요합니다. 볼륨의 나머지 사용 가능한 용량이 제한되면 사용 가능한 공간을 관리 하여 공유의 용량이 부족하지 않도록 계획합니다.

용량 관리 옵션은 다음과 같습니다.

  • 용량 회수
  • 스토리지 개체 마이그레이션

개체 저장소 볼륨이 100% 사용되면 스토리지 서비스는 더 이상 해당 볼륨에 대해 작동하지 않습니다. 볼륨에 대한 작업 복원에 대한 지원을 받으려면 Microsoft 지원에 문의하세요.

디스크, 컨테이너 및 볼륨 이해

테넌트 사용자는 Azure Stack Hub 스토리지 서비스에서 디스크, Blob, 테이블 및 큐를 만듭니다. 이러한 테넌트 데이터는 사용 가능한 스토리지 위에 볼륨에 배치됩니다.

디스크

VM은 가상 디스크에서 데이터를 저장하고 조작합니다. 각 VM은 마켓플레이스 이미지 또는 프라이빗 이미지에서 만든 OS 디스크로 시작합니다. VM은 0개 이상의 데이터 디스크를 연결할 수 있습니다. Azure Stack에는 다음과 같은 두 가지 유형의 디스크가 제공됩니다.

관리 디스크는 VM 디스크와 연결된 스토리지 계정을 관리하여 Azure IaaS VM에 대한 디스크 관리를 간소화합니다. 필요한 디스크의 크기만 지정해야 하며, Azure Stack Hub에서 디스크를 만들고 관리합니다. 자세한 내용은 Managed Disks 개요를 참조하세요.

관리되지 않는 디스크 는 Azure Stack 스토리지 계정의 스토리지 컨테이너에 페이지 Blob으로 저장된 VHD 파일입니다. 테넌트에서 만든 페이지 Blob을 VM 디스크라고 하며 스토리지 계정의 컨테이너에 저장됩니다. Azure 비관리 디스크만 지원하는 타사 도구와 호환되어야 하는 VM에만 관리되지 않는 디스크를 사용하는 것이 좋습니다.

테넌트 지침은 VM의 성능을 향상시키기 위해 각 디스크를 별도의 컨테이너에 배치하는 것입니다.

  • VM에서 디스크 또는 페이지 Blob을 보유하는 각 컨테이너는 디스크를 소유하는 VM에 연결된 컨테이너로 간주됩니다.
  • VM의 디스크를 보유하지 않는 컨테이너는 무료 컨테이너로 간주됩니다.

연결된 컨테이너의 공간을 확보하는 옵션은 제한됩니다. 자세한 내용은 관리되지 않는 디스크 배포를 참조하세요.

중요

더 쉽게 관리할 수 있도록 VM에서 관리 디스크만 사용하는 것이 좋습니다. 관리 디스크를 사용하기 전에 스토리지 계정 및 컨테이너를 준비할 필요가 없습니다. 관리 디스크는 관리되지 않는 디스크에 비해 동일하거나 더 나은 기능과 성능을 제공합니다. 관리되지 않는 디스크를 사용하는 장점은 없으며 이전 버전과의 호환성을 위해서만 제공됩니다.

관리 디스크는 스토리지 인프라에서 더 나은 배치를 위해 최적화되며 관리 오버헤드를 크게 줄입니다. 그러나 관리 디스크가 씬 프로비전되고 최종 사용률을 예측할 수 없기 때문에 불균형 디스크 배치로 인해 볼륨이 과도하게 활용될 수 있습니다. 운영자는 스토리지 용량 사용량을 모니터링하고 이러한 문제를 방지해야 합니다.

ARM 템플릿을 사용하여 새 가상 머신을 프로비전하는 사용자의 경우 다음 문서를 사용하여 관리 디스크를 사용하도록 템플릿을 수정하는 방법을 이해 합니다. VM 관리 디스크 템플릿을 사용합니다.

VM 디스크는 스토리지 인프라에 스파스 파일로 저장됩니다. 디스크는 디스크를 만들 때 사용자가 요청하는 크기를 프로비전했습니다. 그러나 디스크에 기록된 0이 아닌 페이지만 기본 스토리지 인프라의 공간을 차지합니다.

예: 스토리지 볼륨의 스파스 디스크.

디스크는 플랫폼 이미지, 관리되는 이미지, 스냅샷 또는 기타 디스크에서 복사하여 만들어지는 경우가 많습니다. 그리고 스냅샷은 디스크에서 가져옵니다. 스토리지 용량의 사용률을 높이고 복사 작업 시간을 줄이려면 시스템에서 ReFS에서 블록 복제를 사용합니다. Blob 복제는 파일 간의 전체 바이트 바이트 복사가 아닌 저렴한 메타데이터 작업입니다. 원본 파일과 대상 파일은 동일한 범위를 공유할 수 있으며, 동일한 데이터는 물리적으로 여러 번 저장되지 않으므로 스토리지 용량이 향상됩니다.

예: 스토리지 볼륨에서 익스텐트 공유

용량 사용량은 디스크가 기록되고 동일한 데이터가 감소할 때만 증가합니다. 이미지 또는 디스크가 삭제되면 해당 이미지에서 만든 디스크 또는 스냅샷이 여전히 동일한 데이터를 유지하고 공간을 차지할 수 있으므로 공간이 즉시 해제되지 않을 수 있습니다. 모든 관련 엔터티가 제거된 경우에만 공간을 사용할 수 있게 됩니다.

예: 디스크 삭제 후 익스텐트입니다.

Blob 및 컨테이너

테넌트 사용자는 Azure Blob을 사용하여 대량의 비정형 데이터를 저장합니다. Azure Stack Hub는 블록 Blob, 추가 Blob 및 페이지 Blob의 세 가지 유형의 Blob을 지원합니다. 다양한 유형의 Blob에 대한 자세한 내용은 블록 Blob, 추가 Blob 및 페이지 Blob 이해를 참조하세요.

테넌트 사용자는 BLOB 데이터를 저장하는 데 사용되는 컨테이너를 만듭니다. 사용자가 BLOB을 배치할 컨테이너를 결정하지만 스토리지 서비스는 알고리즘을 사용하여 컨테이너를 배치할 볼륨을 결정합니다. 알고리즘에서는 일반적으로 사용 가능한 공간이 가장 많은 볼륨을 선택합니다.

BLOB이 컨테이너에 배치된 이후 BLOB이 증가하여 더 많은 공간을 사용할 수 있습니다. 새 BLOB을 추가하고 기존 BLOB이 증가하면 컨테이너를 보유하는 볼륨의 사용 가능한 공간이 축소됩니다.

컨테이너는 단일 볼륨으로 제한되지 않습니다. 컨테이너의 결합된 BLOB 데이터가 사용 가능한 공간의 80% 이상을 사용하도록 증가하면 컨테이너가 오버플로 모드가 됩니다. 오버플로 모드에서 해당 컨테이너에 생성된 모든 새 BLOB은 충분한 공간이 있는 다른 볼륨에 할당됩니다. 시간이 지남에 따라 오버플로 모드의 컨테이너에는 여러 볼륨에 분산된 BLOB이 있을 수 있습니다.

볼륨에서 사용 가능한 공간의 90%(및 95%)를 사용하는 경우 시스템은 Azure Stack Hub 관리자 포털에서 경고를 발생 합니다 . 클라우드 운영자는 사용 가능한 스토리지 용량을 검토하고 콘텐츠의 균형을 다시 맞추도록 계획해야 합니다. 디스크가 100% 사용되고 추가 경고가 발생하지 않는 경우 스토리지 서비스 작동이 중지됩니다.

볼륨

스토리지 서비스는 사용 가능한 스토리지를 시스템 및 테넌트 데이터를 보유하도록 할당된 별도의 볼륨으로 분할합니다. 볼륨은 스토리지 풀의 드라이브를 결합하여 저장소 공간 다이렉트 내결함성, 확장성 및 성능 이점을 제공합니다. Azure Stack Hub의 볼륨에 대한 자세한 내용은 Azure Stack Hub에 대한 스토리지 인프라 관리를 참조하세요.

개체 저장소 볼륨은 테넌트 데이터를 보유합니다. 테넌트 데이터에는 페이지 BLOB, 블록 BLOB, 추가 BLOB, 테이블, 큐, 데이터베이스 및 관련 메타데이터 저장소가 포함됩니다. 개체 저장소 볼륨의 수는 Azure Stack Hub 배포의 노드 수와 동일합니다.

  • 4노드 배포에는 4개의 개체 저장소 볼륨이 있습니다. 다중 노드 배포에서는 노드가 제거되거나 오작동하는 경우 볼륨 수가 감소하지 않습니다.
  • ASDK를 사용하는 경우 단일 공유가 있는 단일 볼륨이 있습니다.

개체 저장소 볼륨은 스토리지 서비스를 단독으로 사용하기 위한 것입니다. 볼륨의 파일을 직접 수정, 추가 또는 제거해서는 안 됩니다. 스토리지 서비스만 이러한 볼륨에 저장된 파일에서 작동해야 합니다.

스토리지 개체(BLOB 등)는 단일 볼륨 내에 개별적으로 포함되므로 각 개체의 최대 크기는 볼륨 크기를 초과할 수 없습니다. 새 개체의 최대 크기는 새 개체를 만들 때 볼륨에 사용되지 않는 공간으로 남아 있는 용량에 따라 다릅니다.

개체 저장소 볼륨이 사용 가능한 공간이 부족하고 공간을 회수 하는 작업이 성공하지 못하거나 사용할 수 없는 경우 Azure Stack Hub 클라우드 운영자는 스토리지 개체를 한 볼륨에서 다른 볼륨으로 마이그레이션할 수 있습니다.

테넌트 사용자가 Azure Stack Hub에서 Blob Storage를 사용하는 방법에 대한 자세한 내용은 Azure Stack Hub Storage 서비스를 참조하세요.

스토리지 모니터링

사용 가능한 공간이 제한된 시기를 이해할 수 있도록 Azure PowerShell 또는 관리자 포털을 사용하여 공유를 모니터링합니다. 포털을 사용하면 공간이 부족한 공유에 대한 경고를 받게 됩니다.

PowerShell 사용

클라우드 운영자는 PowerShell Get-AzsStorageShare cmdlet을 사용하여 공유의 스토리지 용량을 모니터링할 수 있습니다. cmdlet은 각 공유에 대해 총, 할당 및 사용 가능한 공간(바이트)을 반환합니다.

예: 공유에 대한 사용 가능한 공간을 반환합니다.

  • 총 용량: 공유에서 사용할 수 있는 총 공간(바이트)입니다. 이 공간은 스토리지 서비스에서 유지 관리하는 데이터 및 메타데이터에 사용됩니다.
  • 사용된 용량: 테넌트 데이터 및 관련 메타데이터를 저장하는 파일의 모든 범위에서 사용되는 데이터 양(바이트)입니다.

관리자 포털 사용

클라우드 운영자는 관리자 포털을 사용하여 모든 공유의 스토리지 용량을 볼 수 있습니다.

  1. 관리자 포털 에 로그인합니다 https://adminportal.local.azurestack.external.

  2. 모든 서비스>스토리지>파일 공유를 선택하여 사용 정보를 볼 수 있는 파일 공유 목록을 엽니다.

    예: Azure Stack Hub 관리자 포털의 스토리지 파일 공유 스크린샷

    • 합계: 공유에서 사용할 수 있는 총 공간(바이트)입니다. 이 공간은 스토리지 서비스에서 유지 관리하는 데이터 및 메타데이터에 사용됩니다.
    • 사용: 테넌트 데이터 및 연결된 메타데이터를 저장하는 파일의 모든 범위에서 사용되는 데이터 양(바이트)입니다.

Azure PowerShell 또는 관리자 포털을 사용하여 프로비저닝되고 사용된 용량을 모니터링하고 마이그레이션 계획을 수립하여 시스템의 지속적인 정상 작동을 보장합니다.

볼륨 용량을 모니터링하는 세 가지 도구가 있습니다.

  • 현재 볼륨 용량에 대한 의 포털 및 PowerShell입니다.
  • 스토리지 공간 경고.
  • 볼륨 용량 메트릭.

이 섹션에서는 이러한 도구를 사용하여 시스템의 용량을 모니터링하는 방법을 소개합니다.

PowerShell 사용

클라우드 운영자는 PowerShell Get-AzsVolume cmdlet을 사용하여 볼륨의 스토리지 용량을 모니터링할 수 있습니다. cmdlet은 각 볼륨의 총 공간 및 여유 공간(GB)을 반환합니다.

예: 볼륨의 사용 가능한 공간을 반환합니다.

  • 총 용량: 공유에서 사용할 수 있는 총 공간(GB)입니다. 이 공간은 스토리지 서비스에서 유지 관리하는 데이터 및 메타데이터에 사용됩니다.
  • 남은 용량: 테넌트 데이터 및 관련 메타데이터를 저장할 수 있는 공간(GB)입니다.

관리자 포털 사용

클라우드 운영자는 관리자 포털을 사용하여 모든 볼륨의 스토리지 용량을 볼 수 있습니다.

  1. Azure Stack Hub 관리자 포털(https://adminportal.local.azurestack.external)에 로그인합니다.

  2. 모든 서비스>스토리지>볼륨을 선택하여 사용량 정보를 볼 수 있는 볼륨 목록을 엽니다.

    예: Azure Stack Hub 관리자 포털의 스토리지 볼륨 스크린샷

    • 총합: 볼륨에서 사용 가능한 총 공간입니다. 이 공간은 스토리지 서비스에서 유지 관리하는 데이터 및 메타데이터에 사용됩니다.
    • 사용: 테넌트 데이터 및 관련 메타데이터를 저장하는 파일의 모든 익스텐트에서 사용되는 데이터의 양입니다.

스토리지 공간 경고

관리자 포털을 사용하면 공간이 부족한 볼륨에 대한 경고가 표시됩니다.

중요

클라우드 운영자는 공유가 전체 사용량에 도달하지 못하도록 해야 합니다. 공유를 100% 사용하는 경우 스토리지 서비스는 더 이상 해당 공유에 대해 작동하지 않습니다. 사용 가능한 공간을 복구하고 100% 사용된 공유에서 작업을 복원하려면 Microsoft 지원에 문의해야 합니다.

  • 경고: 파일 공유가 90% 이상 사용되면 관리자 포털에서 경고 경고가 표시됩니다.

    예제: Azure Stack Hub 관리자 포털의 경고 경고 스크린샷

  • 중요: 파일 공유가 95% 이상 사용되면 관리자 포털에서 중요한 경고가 표시됩니다.

    예: Azure Stack Hub 관리자 포털의 중요한 경고 스크린샷

  • 세부 정보 보기: 관리자 포털에서 경고의 세부 정보를 열어 완화 옵션을 볼 수 있습니다.

    예: Azure Stack Hub 관리자 포털에서 경고 세부 정보를 보는 스크린샷

볼륨 용량 메트릭

볼륨 용량 메트릭은 프로비전된 용량 및 다양한 유형의 개체에 사용되는 용량에 대한 자세한 정보를 제공합니다. 메트릭 데이터는 30일 동안 유지됩니다. 백그라운드 모니터링 서비스는 볼륨 용량 메트릭 데이터를 매시간 새로 고칩니다.

용량 메트릭 보고서를 사전에 확인하여 볼륨의 리소스 사용량을 이해해야 합니다. 클라우드 운영자는 볼륨이 가득 차면 리소스 종류 분포를 분석하여 사용 가능한 공간에 해당하는 작업을 결정할 수 있습니다. 또한 연산자는 디스크 프로비전된 크기가 볼륨이 너무 많이 프로비전되었음을 나타내는 경우 볼륨이 과용되는 것을 방지할 수 있습니다.

Azure Monitor는 볼륨 용량 사용률을 표시하는 다음 메트릭을 제공합니다.

  • 볼륨 총 용량은 볼륨의 총 스토리지 용량을 표시합니다.
  • 볼륨 남은 용량은 볼륨의 나머지 스토리지 용량을 표시합니다.
  • 볼륨 VM 디스크 사용 용량은 VM 디스크 관련 개체(페이지 Blob, 관리 디스크/스냅샷, 관리 이미지 및 플랫폼 이미지 포함)가 차지하는 총 공간을 보여 줍니다. VM 디스크의 기본 VHD 파일은 이미지, 스냅샷 또는 기타 디스크와 동일한 익스텐트( 디스크 참조)를 공유할 수 있습니다. 이 숫자는 모든 개별 VM 디스크 관련 개체의 사용된 용량 합계보다 작을 수 있습니다.
  • 볼륨 기타 사용된 용량 은 블록 Blob, 추가 Blob, 테이블, 큐 및 Blob 메타데이터를 포함하여 디스크 이외의 개체의 총 사용 크기입니다.
  • 볼륨 VM 디스크 프로비전된 용량 은 페이지 Blob 및 관리 디스크/스냅샷의 총 프로비전된 크기입니다. 이 크기는 특정 볼륨의 모든 관리 디스크 및 페이지 Blob의 총 디스크 용량의 최대값입니다.

예: 볼륨 용량 메트릭.

Azure Monitor에서 볼륨 용량 메트릭을 보려면 다음을 수행합니다.

  1. Azure PowerShell 설치 및 구성되었는지 확인합니다. PowerShell 환경 구성에 대한 지침은 Azure Stack Hub용 PowerShell 설치를 참조하세요. Azure Stack Hub에 로그인하려면 운영자 환경 구성 및 Azure Stack Hub에 로그인을 참조하세요.

  2. GitHub 리포지토리에서 Azure Stack Hub 도구를 다운로드합니다. 자세한 단계는 GitHub에서 Azure Stack Hub 도구 다운로드를 참조하세요.

  3. CapacityManagement에서 DashboardGenerator를 실행하여 용량 대시보드 json을 생성합니다.

    .\CapacityManagement\DashboardGenerator\Create-AzSStorageDashboard.ps1 -capacityOnly $true -volumeType object
    

    DashboardGenerator 폴더 아래에 DashboardVolumeObjStore 로 시작하는 json 파일이 있습니다.

  4. Azure Stack Hub 관리자 포털(https://adminportal.local.azurestack.external)에 로그인합니다.

  5. 대시보드 페이지에서 업로드를 클릭하고 3단계에서 생성된 json 파일을 선택합니다.

    예: dashboard json을 업로드합니다.

  6. json이 업로드되면 새 용량 dashboard 전달됩니다. 각 볼륨에는 dashboard 해당 차트가 있습니다. 차트 수는 볼륨 수와 같습니다.

    예: 볼륨 용량 dashboard.

  7. 볼륨 중 하나를 클릭하면 자세한 차트에서 특정 볼륨의 5개 용량 메트릭을 검사 수 있습니다.

    예: 자세한 용량 메트릭.

볼륨 사용 패턴

볼륨 용량 메트릭을 확인하여 클라우드 운영자는 볼륨의 용량이 얼마나 활용되는지, 그리고 공간 사용량의 대부분을 차지하는 리소스 종류를 이해합니다. 공간 사용 패턴은 다음 형식으로 그룹화할 수 있으며, 연산자는 각 형식에 대해 서로 다른 작업을 수행해야 합니다.

예: 볼륨 사용 패턴.

과소 프로비전된 예비 용량: 볼륨에 사용 가능한 용량이 충분하고 이 볼륨에 있는 모든 디스크의 프로비전된 총 용량이 사용 가능한 총 용량보다 작습니다. 볼륨은 디스크 및 기타 개체(블록/추가 Blob, 테이블 및 큐)를 포함하여 더 많은 스토리지 개체에 사용할 수 있습니다. 볼륨을 작동하기 위해 아무 작업도 수행할 필요가 없습니다.

과도하게 프로비전된 예비 용량: 볼륨의 나머지 용량은 높지만 VM 디스크 프로비전된 용량은 이미 볼륨 총 용량보다 높습니다. 이 볼륨에는 현재 더 많은 스토리지 개체를 위한 공간이 있습니다. 그러나 이 볼륨에 있는 VM 디스크의 데이터로 채워질 가능성이 있습니다. 이 볼륨의 사용 추세를 면밀히 모니터링해야 합니다. 과도하게 프로비저닝된 낮은 용량 패턴으로 변경되는 경우 공간을 확보하려면 조치를 취해야 할 수 있습니다.

과도하게 프로비전된 낮은 용량: 볼륨의 나머지 용량이 낮고 VM 디스크 프로비전된 용량과 사용된 VM 디스크 용량이 모두 높습니다.

남은 용량이 적음은 볼륨이 전체 사용량에 도달했음을 나타냅니다. 운영자는 스토리지 서비스를 차단하는 볼륨이 100% 활용되지 않도록 공간을 확보하기 위해 즉각적인 조치를 취해야 합니다. 사용된 높은 VM 디스크 용량은 볼륨 사용량의 대부분이 VM 디스크임을 보여 줍니다. 디스크를 전체 볼륨에서 사용 가능한 다른 볼륨으로 이동하려면 디스크 마이그레이션 지침을 참조해야 합니다.

저조도, 낮은 용량, 높은 블록 Blob: 볼륨의 나머지 용량이 낮고 VM 디스크 프로비전된 용량과 사용된 VM 디스크 용량이 모두 낮지만 다른 사용된 용량은 높습니다.

볼륨은 연산자가 공간을 확보하기 위해 즉각적인 조치를 취해야 하는 완전히 활용될 위험이 있습니다. 다른 높은 사용 용량은 대부분의 볼륨 용량이 블록/추가 Blob 또는 테이블/큐에서 수행됨을 나타냅니다. 볼륨의 사용 가능한 용량이 20% 미만이면 컨테이너 오버플로가 활성화되고 새 Blob 개체가 거의 전체 볼륨에 배치되지 않습니다. 그러나 기존 Blob은 여전히 증가할 수 있습니다. 지속적으로 증가하는 Blob이 용량을 과도하게 사용하는 것을 방지하기 위해 Microsoft 지원 문의하여 특정 볼륨의 공간을 차지하는 컨테이너를 쿼리하고 일부 공간을 확보하기 위해 테넌트가 해당 컨테이너를 정리해야 하는지 여부를 결정할 수 있습니다.

과도하게 프로비전된 낮은 용량, 높은 블록 Blob: 볼륨의 나머지 용량이 낮고 디스크 사용/프로비전된 용량 및 기타 사용된 용량이 모두 높습니다. 이 볼륨은 디스크와 다른 스토리지 개체 모두에서 공간 사용률이 높습니다. 볼륨이 완전히 가득 차지 않도록 공간을 확보해야 합니다. 디스크를 전체 볼륨에서 사용 가능한 다른 볼륨으로 이동하려면 먼저 디스크 마이그레이션 지침을 따르는 것이 좋습니다. 다른 경우에는 Microsoft 지원 연결하여 특정 볼륨의 공간을 차지하는 컨테이너를 쿼리하고 일부 공간을 확보하기 위해 테넌트가 해당 컨테이너를 정리해야 하는지 여부를 결정할 수 있습니다.

사용 가능한 공간 관리

볼륨의 공간을 확보해야 하는 경우 먼저 최소 침투 방법을 사용합니다. 예를 들어 관리 디스크를 마이그레이션하기 전에 공간을 회수해 보세요.

용량 회수

삭제된 테넌트 계정에서 사용하는 용량을 회수할 수 있습니다. 이 용량은 데이터 보존 기간에 도달하면 자동으로 회수되거나 즉시 회수할 수 있습니다.

자세한 내용은 Azure Stack Hub 스토리지 계정 관리의 "용량 회수" 섹션을 참조하세요.

볼륨 간에 컨테이너 마이그레이션

이 옵션은 Azure Stack Hub 통합 시스템에만 적용됩니다.

테넌트 사용 패턴으로 인해 일부 테넌트 공유는 다른 테넌트 공유보다 더 많은 공간을 사용합니다. 이로 인해 일부 공유는 상대적으로 사용되지 않는 다른 공유 앞에 공간이 부족할 수 있습니다.

일부 Blob 컨테이너를 다른 공유로 수동으로 마이그레이션하여 과도하게 사용되는 공유의 공간을 확보할 수 있습니다. 여러 개의 작은 컨테이너를 모두 보유할 수 있는 용량이 있는 단일 공유로 마이그레이션할 수 있습니다. 마이그레이션을 사용하여 무료 컨테이너를 이동합니다. 무료 컨테이너는 VM용 디스크를 포함하지 않는 컨테이너입니다.

마이그레이션은 새 공유에서 컨테이너의 모든 Blob을 통합합니다.

  • 컨테이너가 오버플로 모드로 전환되고 다른 볼륨에 Blob을 배치한 경우 새 공유에는 오버플로된 Blob을 포함하여 마이그레이션하는 컨테이너에 속한 모든 Blob을 저장할 수 있는 충분한 용량이 있어야 합니다.

  • PowerShell cmdlet Get-AzsStorageContainer 은 컨테이너의 초기 볼륨에서 사용 중인 공간만 식별합니다. cmdlet은 추가 볼륨으로 오버플로되는 Blob에서 사용하는 공간을 식별하지 않습니다. 따라서 컨테이너의 전체 크기가 명확하지 않을 수 있습니다. 새 공유에 컨테이너를 통합하면 새 공유가 오버플로 조건으로 전송되어 데이터를 추가 공유에 배치할 수 있습니다. 따라서 공유의 균형을 다시 조정해야 할 수 있습니다.

  • 특정 리소스 그룹에 대한 권한이 없고 PowerShell을 사용하여 오버플로 데이터에 대한 추가 볼륨을 쿼리할 수 없는 경우 해당 리소스 그룹 및 컨테이너의 소유자와 협력하여 마이그레이션하기 전에 마이그레이션할 총 데이터 양을 이해합니다.

중요

컨테이너에 대한 Blob 마이그레이션은 PowerShell을 사용해야 하는 오프라인 작업입니다. 마이그레이션이 완료될 때까지 마이그레이션하는 컨테이너의 모든 Blob은 오프라인 상태로 유지되며 사용할 수 없습니다. 또한 진행 중인 모든 마이그레이션이 완료될 때까지 Azure Stack Hub를 업그레이드하지 않아야 합니다.

PowerShell을 사용하여 컨테이너 마이그레이션

  1. Azure PowerShell 설치 및 구성되었는지 확인합니다. 자세한 내용은 Azure PowerShell 사용하여 Azure 리소스 관리를 참조하세요.

  2. 컨테이너를 검사하여 마이그레이션하려는 공유의 데이터를 이해합니다. 볼륨에서 마이그레이션에 가장 적합한 후보 컨테이너를 식별하려면 cmdlet을 Get-AzsStorageContainer 사용합니다.

    $farm_name = (Get-AzsStorageFarm)[0].name
    $shares = Get-AzsStorageShare -FarmName $farm_name
    $containers = Get-AzsStorageContainer -ShareName $shares[0].ShareName -FarmName $farm_name
    

    그런 다음, $containers 검사합니다.

    $containers
    

    예: $containers

  3. 마이그레이션하는 컨테이너를 보유할 최상의 대상 공유를 식별합니다.

    $destinationshare = ($shares | Sort-Object FreeCapacity -Descending)[0]
    

    그런 다음, $destinationshares 검사합니다.

    $destinationshares
    

    예: 공유 $destination

  4. 컨테이너에 대한 마이그레이션을 시작합니다. 마이그레이션은 비동기적입니다. 첫 번째 마이그레이션이 완료되기 전에 다른 컨테이너의 마이그레이션을 시작하는 경우 작업 ID를 사용하여 각 컨테이너의 상태 추적합니다.

    $job_id = Start-AzsStorageContainerMigration -StorageAccountName $containers[0].Accountname -ContainerName $containers[0].Containername -ShareName $containers[0].Sharename -DestinationShareUncPath $destinationshares[0].UncPath -FarmName $farm_name
    

    그런 다음 $jobId 검사합니다. 다음 예제에서 d62f8f7a-8b46-4f59-a8aa-5db96db4ebb0 을 검사하려는 작업 ID로 바꿉니다.

    $jobId
    d62f8f7a-8b46-4f59-a8aa-5db96db4ebb0
    
  5. 작업 ID를 사용하여 마이그레이션 작업의 상태 검사. 컨테이너 마이그레이션이 완료되면 MigrationStatus완료로 설정됩니다.

    Get-AzsStorageContainerMigrationStatus -JobId $job_id -FarmName $farm_name
    

    마이그레이션 상태 보여 주는 스크린샷

  6. 진행 중인 마이그레이션 작업을 취소할 수 있습니다. 취소된 마이그레이션 작업은 비동기적으로 처리됩니다. $jobid 사용하여 취소를 추적할 수 있습니다.

    Stop-AzsStorageContainerMigration -JobId $job_id -FarmName $farm_name
    

    예: 롤백 상태

  7. 마이그레이션 상태 취소될 때까지 6단계에서 명령을 다시 실행할 수 있습니다.

    취소된 마이그레이션 상태 예제를 보여 주는 스크린샷

VM 디스크 이동

이 옵션은 Azure Stack Hub 통합 시스템에만 적용됩니다.

공간을 관리하는 가장 극단적인 방법은 VM 디스크 이동과 관련이 있습니다. 연결된 컨테이너(VM 디스크를 포함하는 컨테이너)를 이동하는 것은 복잡하기 때문에 Microsoft 지원에 문의하여 이 작업을 수행합니다.

볼륨 간에 관리 디스크 마이그레이션

이 옵션은 Azure Stack Hub 통합 시스템에만 적용됩니다.

테넌트 사용 패턴으로 인해 일부 테넌트 볼륨은 다른 볼륨보다 더 많은 공간을 사용합니다. 결과는 상대적으로 사용되지 않는 다른 볼륨 앞에 공간이 부족한 볼륨일 수 있습니다.

일부 관리 디스크를 다른 볼륨으로 수동으로 마이그레이션하여 과도하게 사용되는 볼륨의 공간을 확보할 수 있습니다. 여러 관리 디스크를 모두 저장할 수 있는 용량이 있는 단일 볼륨으로 마이그레이션할 수 있습니다. 마이그레이션을 사용하여 오프라인 관리 디스크를 이동합니다. 오프라인 관리 디스크는 VM에 연결되지 않은 디스크입니다.

중요

관리 디스크 마이그레이션은 PowerShell을 사용해야 하는 오프라인 작업입니다. 마이그레이션 작업을 시작하기 전에 후보 디스크의 소유자 VM을 할당 취소하거나 소유자 VM에서 마이그레이션할 후보 디스크를 분리해야 합니다(마이그레이션 작업이 완료되면 VM을 다시 할당하거나 디스크를 다시 연결할 수 있음). 마이그레이션이 완료될 때까지 마이그레이션하는 모든 관리 디스크는 예약 또는 오프라인으로 유지되어야 상태 사용할 수 없으며, 그렇지 않으면 마이그레이션 작업이 중단되고 모든 확장되지 않은 디스크가 원래 볼륨에 있습니다. 또한 진행 중인 모든 마이그레이션이 완료될 때까지 Azure Stack Hub를 업그레이드하지 않아야 합니다.

PowerShell을 사용하여 관리 디스크를 마이그레이션하려면

  1. Azure PowerShell 설치 및 구성했는지 확인합니다. PowerShell 환경을 구성하는 방법에 대한 지침은 Azure Stack Hub용 PowerShell 설치를 참조하세요. Azure Stack Hub에 로그인하려면 운영자 환경 구성 및 Azure Stack Hub에 로그인을 참조하세요.

  2. 관리 디스크를 검사하여 마이그레이션하려는 볼륨에 있는 디스크를 이해합니다. 볼륨에서 마이그레이션에 가장 적합한 후보 디스크를 식별하려면 cmdlet을 Get-AzsDisk 사용합니다.

    $ScaleUnit = (Get-AzsScaleUnit)[0]
    $StorageSubSystem = (Get-AzsStorageSubSystem -ScaleUnit $ScaleUnit.Name)[0]
    $Volumes = (Get-AzsVolume -ScaleUnit $ScaleUnit.Name -StorageSubSystem $StorageSubSystem.Name | Where-Object {$_.VolumeLabel -Like "ObjStore_*"})
    $SourceVolume  = ($Volumes | Sort-Object RemainingCapacityGB)[0]
    $VolumeName = $SourceVolume.Name.Split("/")[2]
    $VolumeName = $VolumeName.Substring($VolumeName.IndexOf(".")+1)
    $MigrationSource = "\\SU1FileServer."+$VolumeName+"\SU1_"+$SourceVolume.VolumeLabel
    $Disks = Get-AzsDisk -Status OfflineMigration -SharePath $MigrationSource | Select-Object -First 10
    

    그런 다음, $disks 검사합니다.

    $Disks
    

    예: $Disks

  3. 마이그레이션하는 디스크를 저장할 가장 적합한 대상 볼륨을 식별합니다.

    $DestinationVolume  = ($Volumes | Sort-Object RemainingCapacityGB -Descending)[0]
    $VolumeName = $DestinationVolume.Name.Split("/")[2]
    $VolumeName = $VolumeName.Substring($VolumeName.IndexOf(".")+1)
    $MigrationTarget = "\\SU1FileServer."+$VolumeName+"\SU1_"+$DestinationVolume.VolumeLabel
    
  4. 관리 디스크에 대한 마이그레이션을 시작합니다. 마이그레이션은 비동기적입니다. 첫 번째 마이그레이션이 완료되기 전에 다른 디스크의 마이그레이션을 시작하는 경우 작업 이름을 사용하여 각 디스크의 상태 추적합니다.

    $jobName = "MigratingDisk"
    Start-AzsDiskMigrationJob -Disks $Disks -TargetShare $MigrationTarget -Name $jobName
    
  5. 작업 이름을 사용하여 마이그레이션 작업의 상태 검사. 디스크 마이그레이션이 완료되면 MigrationStatus완료로 설정됩니다.

    $job = Get-AzsDiskMigrationJob -Name $jobName
    

    예: 마이그레이션 상태

    하나의 마이그레이션 작업에서 여러 관리 디스크를 마이그레이션하는 경우 작업의 하위 작업을 검사 수도 있습니다.

    $job.Subtasks
    

    예: 마이그레이션 하위 작업 상태

  6. 진행 중인 마이그레이션 작업을 취소할 수 있습니다. 취소된 마이그레이션 작업은 비동기적으로 처리됩니다. 상태 마이그레이션 작업이 취소됨을 확인할 때까지 작업 이름을 사용하여 취소를 추적할 수 있습니다.

    Stop-AzsDiskMigrationJob -Name $jobName
    

    예: 취소된 상태

관리되지 않는 디스크 배포

이 옵션은 Azure Stack Hub 통합 시스템에만 적용됩니다.

공간을 관리하는 가장 극단적인 방법은 관리되지 않는 디스크를 이동하는 것입니다. 테넌트가 하나의 컨테이너에 관리되지 않는 디스크 수를 추가하는 경우 컨테이너가 오버플로 모드로 전환되기 전에 컨테이너를 보유하는 볼륨의 사용 가능한 용량을 초과하여 컨테이너의 총 사용 용량이 증가할 수 있습니다. 단일 컨테이너가 볼륨의 공간을 소모하지 않도록 테넌트는 한 컨테이너의 관리되지 않는 기존 디스크를 다른 컨테이너에 배포할 수 있습니다. 연결된 컨테이너(VM 디스크를 포함하는 컨테이너)를 배포하는 것은 복잡하기 때문에 Microsoft 지원 문의하여 이 작업을 수행합니다.

VM에 사용할 수 있는 메모리

Azure Stack Hub는 컴퓨팅 및 스토리지의 하이퍼 수렴형 클러스터로 빌드됩니다. 수렴을 통해 배율 단위라고 하는 하드웨어를 공유할 수 있습니다. Azure Stack Hub에서 배율 단위는 리소스의 가용성과 확장성을 제공합니다. 배율 단위는 호스트 또는 노드라고 하는 Azure Stack Hub 서버 집합으로 구성됩니다. 인프라 소프트웨어는 VM 집합 내에서 호스트되며 테넌트 VM과 동일한 물리적 서버를 공유합니다. 그런 다음 모든 Azure Stack Hub VM은 배율 단위의 Windows Server 클러스터링 기술 및 개별 Hyper-V 인스턴스에 의해 관리됩니다. 배율 단위는 Azure Stack Hub 획득 및 관리를 간소화합니다. 또한 배율 단위를 사용하면 Azure Stack Hub, 테넌트 및 인프라에서 모든 서비스의 이동 및 확장성을 사용할 수 있습니다.

관리 포털에서 아래와 같이 Azure Stack Hub에서 사용 가능한 메모리와 사용된 메모리를 보여 주는 원형 차트를 검토할 수 있습니다.

Azure Stack Hub의 실제 메모리

다음 구성 요소는 원형 차트의 사용된 섹션에서 메모리를 사용합니다.

  • 호스트 OS 사용량 또는 예약 호스트의 운영 체제(OS)에서 사용하는 메모리, 가상 메모리 페이지 테이블, 호스트 OS에서 실행되는 프로세스 및 공간 다이렉트 메모리 캐시입니다. 이 값은 호스트에서 실행되는 여러 Hyper-V 프로세스에서 사용하는 메모리에 따라 달라지므로 변동될 수 있습니다.
  • 인프라 서비스 Azure Stack Hub를 구성하는 인프라 VM입니다. 여기에는 242GB + (4GB x 노드 수)의 메모리를 구성하는 약 31개의 VM이 수반됩니다. 인프라 서비스의 확장성과 복원력을 향상하는 동안 인프라 서비스 구성 요소의 메모리 사용률이 변경됩니다.
  • 복원력 예약 Azure Stack Hub는 단일 호스트 실패 시 및 패치 및 업데이트 중에 테넌트 가용성을 허용하도록 메모리의 일부를 예약하여 VM의 성공적인 실시간 마이그레이션을 허용합니다.
  • 테넌트 VM Azure Stack Hub 사용자가 만든 VM입니다. VM을 실행하는 것 외에도 패브릭에 착륙한 모든 VM에서 메모리를 사용합니다. 즉, 만들기 또는 실패 상태의 VM 또는 게스트 내에서 종료 VM은 메모리를 사용합니다. 그러나 Azure Stack Hub 사용자 포털, PowerShell 및 Azure CLI에서 할당 취소 중지 옵션을 사용하여 할당 취소된 VM은 Azure Stack Hub의 메모리를 사용하지 않습니다.
  • 추가 기능 리소스 공급자 SQL, MySQL 및 App Service 같은 추가 기능 리소스 공급자를 위해 배포된 VM입니다.

4개 노드 Azure Stack Hub의 블레이드에서 사용되는 용량

VM 배치에 사용 가능한 메모리

Azure Stack Hub의 클라우드 운영자로서 각 VM에 할당된 메모리를 검사 자동화된 방법은 없습니다. 사용자 VM에 액세스할 수 있고 할당된 메모리를 수동으로 계산할 수 있습니다. 그러나 할당된 메모리는 실제 사용을 반영하지 않습니다. 이 값은 할당된 값보다 낮을 수 있습니다.

VM에 사용 가능한 메모리를 운동하려면 다음 수식을 사용합니다.

VM 배치에 사용 가능한 메모리 = Total Host Memory--Resiliency Reserve--Memory used by running tenant VMs - Azure Stack Hub Infrastructure Overhead

복원력 예약 = H + R * ((N-1) * H) + V * (N-2)

위치:

H = 단일 호스트 메모리 크기

N = 배율 단위 크기(호스트 수)

R = 호스트 OS에서 사용하는 운영 체제 예약/메모리(이 수식의 .15)입니다.

V = 배율 단위에서 가장 큰 VM(메모리 단위)

Azure Stack Hub 인프라 오버헤드 = 242GB + (노드의 4GB x #). 이 계정은 약 31개의 VM을 사용하여 Azure Stack Hub의 인프라를 호스트합니다.

호스트 OS에서 사용하는 메모리 = 호스트 메모리 의 15%(0.15)입니다. 운영 체제 예약 값은 예상값이며 호스트의 실제 메모리 용량 및 일반 운영 체제 오버헤드에 따라 달라집니다.

배율 단위에서 가장 큰 VM인 V 값은 배포된 가장 큰 테넌트 VM을 기반으로 동적으로 설정됩니다. 예를 들어 가장 큰 VM 값은 7GB 또는 112GB 또는 Azure Stack Hub 솔루션에서 지원되는 다른 VM 메모리 크기일 수 있습니다. 이 큰 VM의 실시간 마이그레이션이 실패하지 않도록 충분한 메모리를 예약할 수 있도록 여기에서 가장 큰 VM의 크기를 선택합니다. Azure Stack Hub 패브릭에서 가장 큰 VM을 변경하면 VM 자체의 메모리 증가 외에도 복원력 예약이 증가합니다.

예를 들어 노드 배율 단위가 12개인 경우:

스탬프 세부 정보
sts(N) 12
호스트당 메모리(H) 384
배율 단위의 총 메모리 4608
OS 예약(R) 15%
가장 큰 VM(V) 112
복원력 예비 = H + R * ((N-1) * H) + V * (N-2)
복원력 예비 = 2137.6

따라서 위의 정보를 통해 최대 VM에 112GB 메모리가 있는 경우 호스트당 12개 노드가 384GB(총 4,608GB)인 Azure Stack에 복원력을 위해 예약된 2,137GB가 있음을 계산할 수 있습니다.

아래와 같이 물리적 메모리에 대한 용량 블레이드를 참조하면 사용된 값에 복원력 예약이 포함됩니다. 그래프는 4개의 노드 Azure Stack Hub instance.

4개 노드 Azure Stack Hub의 용량 사용량

Azure Stack Hub에 대한 용량을 계획하는 동안 이러한 고려 사항에 유의하세요. 또한 Azure Stack Hub Capacity Planner를 사용할 수 있습니다.

다음 단계

사용자에게 VM을 제공하는 방법에 대한 자세한 내용은 Azure Stack Hub에 대한 스토리지 용량 관리를 참조하세요.