Azure Portal을 사용하여 Azure Data Lake Storage Gen1에서 Gen2로 마이그레이션합니다.

이 문서에서는 Azure Portal을 사용하여 마이그레이션을 간소화하는 방법을 보여 줍니다.

참고 항목

이제 Azure Data Lake Storage Gen1이 사용 중지되었습니다. 여기에서 사용 중지 공지 사항을 참조하세요. Data Lake Storage Gen1 리소스에 더 이상 액세스할 수 없습니다. 특별 지원이 필요한 경우 문의해 주세요.

여기에 대해 자세히 설명하는 동영상이 있습니다.

     챕터:


  • 00:37 - 소개

  • 01:16 - 마이그레이션 준비

  • 07:15 - 복사 마이그레이션

  • 17:40 - 복사 및 전체 마이그레이션

  • 19:43 - 마이그레이션 완료

  • 33:15 - 마이그레이션 후

시작하기 전에 Azure Data Lake Storage 마이그레이션 지침 및 패턴에 제공되는 Gen1에서 Gen2로 마이그레이션하는 방법에 대한 일반적인 지침을 읽어 보세요.

사용자 계정이 특정 제약 조건에 따라 포털 기반 마이그레이션을 사용할 자격이 없을 수 있습니다. Gen1 계정에 대해 Azure Portal에서 데이터 마이그레이션 단추를 사용하도록 설정하지 않은 경우 지원 계획이 있는 경우 지원 요청을 제출할 수 있습니다. Microsoft Q&A에서 커뮤니티 전문가의 답변을 얻을 수도 있습니다.

참고 항목

이 문서에서는 가독성을 높이기 위해 Azure Data Lake Storage Gen1을 Gen1이라고 칭하고, Azure Data Lake Storage Gen2를 Gen2라고 칭합니다.

1단계: Gen2 기능으로 스토리지 계정 만들기

Azure Data Lake Storage Gen2는 전용 서비스 또는 스토리지 계정 유형이 아닙니다. Azure Storage 계정의 계층 구조 네임스페이스 기능을 사용하도록 설정하면 얻을 수 있는 기능 집합입니다. Gen2 기능이 있는 계정을 만들려면 Azure Data Lake Storage Gen2와 함께 사용할 스토리지 계정 만들기를 참조하세요.

계정을 만들 때 다음 값을 사용하여 설정을 구성해야 합니다.

설정
스토리지 계정 이름 원하는 이름. 이 이름은 Gen1 계정의 이름과 일치할 필요가 없으며 선택한 구독에 포함될 수 있습니다.
위치 Data Lake Storage Gen1 계정에서 사용하는 동일한 지역
복제 LRS 또는 ZRS
최소 TLS 버전 1.0
NFS v3 사용 안 함
계층 구조 네임스페이스 Enabled

참고 항목

Azure Portal 마이그레이션 도구는 계정 설정을 이동하지 않습니다. 따라서 계정을 만든 후에는 암호화, 네트워크 방화벽, 데이터 보호와 같은 설정을 수동으로 구성해야 합니다.

Important

사용 기록이 없는 새로 만든 스토리지 계정을 사용해야 합니다. 이전에 사용한 계정으로 마이그레이션하거나 컨테이너가 삭제된 계정을 사용하여 계정을 비워 두지 마세요.

2단계: Azure RBAC(Azure 역할 기반 액세스 제어) 역할 할당 확인

Gen2의 경우 스토리지 Blob 데이터 소유자 역할이 스토리지 계정, 상위 리소스 그룹 또는 구독 범위에서 Microsoft Entra 사용자 ID에 할당되었는지 확인합니다.

Gen1의 경우 Gen1 계정, 상위 리소스 그룹 또는 구독 범위에서 Microsoft Entra ID에 소유자 역할이 할당되었는지 확인합니다.

3단계: Azure Data Lake Analytics 워크로드 마이그레이션

Azure Data Lake Storage Gen2는 Azure Data Lake Analytics를 지원하지 않습니다. Azure Data Lake Analytics는 2024년 2월 29일에 사용 중지될 예정입니다. Azure Portal을 사용하여 Azure Data Lake Analytics에 사용되는 Azure Data Lake Storage Gen1 계정을 마이그레이션하려고 하면 Azure Data Lake Analytics 워크로드를 중단시킬 수 있습니다. Gen1 계정을 마이그레이션하기 전에 먼저 Azure Data Lake Analytics 워크로드를 Azure Synapse Analytics 또는 지원되는 다른 컴퓨팅 플랫폼으로 마이그레이션해야 합니다.

자세한 내용은 Azure Portal을 사용하여 Azure Data Lake Analytics 관리를 참조하세요.

4단계: Gen1 계정 준비

공백이나 탭만 있고 .로 끝나거나 :를 포함하거나 여러 개의 연속 슬래시(//)가 있는 파일 또는 디렉터리 이름은 Gen2와 호환되지 않습니다. 마이그레이션하기 전에 이러한 파일 또는 디렉터리의 이름을 바꿔야 합니다.

성능을 향상하려면 마지막 삭제 작업 이후 최소 10일 동안 마이그레이션을 연기하는 것이 좋습니다. Gen1 계정에서 삭제된 파일은 일시 삭제된 파일이 되고 가비지 수집기는 7일까지 영구적으로 제거되지 않으며 정리를 처리하는 데 며칠이 더 소요됩니다. 정리에 걸리는 시간은 파일 수에 따라 달라집니다. 일시 삭제된 파일을 포함한 모든 파일은 마이그레이션 중에 처리됩니다. 가비지 수집기가 삭제된 파일을 영구적으로 제거할 때까지 기다리면 대기 시간이 개선될 수 있습니다.

5단계: 마이그레이션 수행

시작하기 전에 아래 두 가지 마이그레이션 옵션을 검토하고 Gen1에서 Gen2로만 데이터를 복사할지(권장) 또는 전체 마이그레이션을 수행할지 결정합니다.

옵션 1: 데이터만 복사(권장). 이 옵션에서 데이터는 Gen1에서 Gen2로 복사됩니다. 데이터가 복사되면 Gen1 계정은 읽기 전용이 됩니다. 데이터가 복사되면 Gen1 및 Gen2 계정 둘 다에 액세스할 수 있습니다. 그러나 새 Gen2 엔드포인트를 사용하도록 애플리케이션 및 컴퓨팅 워크로드를 업데이트해야 합니다.

옵션 2: 전체 마이그레이션 수행. 이 옵션에서 데이터는 Gen1에서 Gen2로 복사됩니다. 데이터가 복사되면 Gen1 계정의 모든 트래픽이 Gen2 사용 계정으로 리디렉션됩니다. 리디렉션된 요청은 Gen1 호환성 계층을 사용하여 Gen1 API 호출을 Gen2 API 호출로 변환합니다. 마이그레이션하는 동안 Gen1 계정은 읽기 전용이 됩니다. 마이그레이션이 완료되면 Gen1 계정에 액세스할 수 없습니다.

어떤 옵션을 선택하든 마이그레이션하고 모든 워크로드가 예상대로 작동하는지 확인한 후에 Gen1 계정을 삭제할 수 있습니다.

옵션 1: Gen1에서 Gen2로 데이터 복사

  1. Azure Portal에 로그인하여 시작합니다.

  2. Data Lake Storage Gen1 계정을 찾고 계정 개요를 표시합니다.

  3. 데이터 마이그레이션 단추를 고릅니다.

    Screenshot of the button to migrate.

  4. 새 Gen2 계정에 데이터 복사를 선택합니다.

    Screenshot of the copy data option.

  5. 확인란을 선택하여 데이터 마이그레이션을 수행하는 데 Microsoft의 동의를 제공합니다. 그런 다음, 적용 단추를 선택합니다.

    Screenshot of the checkbox to provide consent.

    진행률 표시줄이 하위 상태 메시지와 함께 표시됩니다. 이러한 지표를 사용하여 마이그레이션 진행률을 측정할 수 있습니다. 각 작업을 완료하는 시간이 다르기 때문에 진행률 표시줄은 일관된 속도로 진행되지 않습니다. 예를 들어 진행률 표시줄은 빠르게 50%로 이동한 다음 나머지 50%를 완료하는 데 시간이 좀 더 걸릴 수 있습니다.

    Screenshot of progress bar when migrating data.

    Important

    데이터가 마이그레이션되는 동안 Gen1 계정은 읽기 전용이 되고 Gen2 사용 계정은 비활성화됩니다. 마이그레이션이 완료되면 두 계정 모두에 읽고 쓸 수 있습니다.

    마이그레이션 중지 버튼을 선택하여 언제든지 마이그레이션을 중지할 수 있습니다.

    Screenshot of the stop migration option.

옵션 2: 전체 마이그레이션 수행

  1. Azure Portal에 로그인하여 시작합니다.

  2. Data Lake Storage Gen1 계정을 찾고 계정 개요를 표시합니다.

  3. 데이터 마이그레이션 단추를 고릅니다.

    Screenshot of the migrate button.

  4. 새 Gen2 계정으로 마이그레이션 완료를 선택합니다.

    Screenshot of the complete migration option.

  5. 확인란을 선택하여 데이터 마이그레이션을 수행하는 데 Microsoft의 동의를 제공합니다. 그런 다음, 적용 단추를 선택합니다.

    Screenshot of the consent checkbox.

    진행률 표시줄이 하위 상태 메시지와 함께 표시됩니다. 이러한 지표를 사용하여 마이그레이션 진행률을 측정할 수 있습니다. 각 작업을 완료하는 시간이 다르기 때문에 진행률 표시줄은 일관된 속도로 진행되지 않습니다. 예를 들어 진행률 표시줄은 빠르게 50%로 이동한 다음 나머지 50%를 완료하는 데 시간이 좀 더 걸릴 수 있습니다.

    Screenshot of progress bar when performing a complete migration.

    Important

    데이터가 마이그레이션되는 동안 Gen1 계정은 읽기 전용이 되고 Gen2 사용 계정은 비활성화됩니다.

    또한 Gen1 URI가 리디렉션되는 동안 두 계정은 모두 비활성화됩니다.

    마이그레이션이 완료되면 Gen1 계정이 비활성화됩니다. Gen1 계정의 데이터에 액세스할 수 없으며 30일 후에 삭제됩니다. Gen2 계정은 읽기 및 쓰기에 사용할 수 있습니다.

    마이그레이션 중지 버튼을 선택하여 URI가 리디렉션되기 전에 언제든지 마이그레이션을 중지할 수 있습니다.

    Screenshot of the migration stop button.

6단계: 마이그레이션이 완료되었는지 확인

마이그레이션이 성공적으로 완료되면 gen1이라는 컨테이너가 Gen2 사용 계정에 생성되고 Gen1 계정의 모든 데이터가 이 새 gen1 컨테이너에 복사됩니다. Gen1에 있는 경로에서 데이터를 찾으려면 Gen2의 액세스 경로와 동일한 경로 앞에 gen1/을 추가해야 합니다. 예를 들어 Gen1의 'FolderRoot/FolderChild/FileName.csv'라는 경로는 Gen2의 'gen1/FolderRoot/FolderChild/FileName.csv'에서 사용할 수 있습니다. Gen2에서는 컨테이너 이름의 이름을 바꿀 수 없으므로 마이그레이션 후 Gen2의 이 gen1 컨테이너의 이름을 바꿀 수 없습니다. 그러나 필요한 경우 Gen2의 새 컨테이너에 데이터를 복사할 수 있습니다.

마이그레이션이 성공적으로 완료되지 않으면 비호환성으로 인해 마이그레이션이 중단되었음을 나타내는 메시지가 나타납니다. 다음 단계에 대한 지원을 받으려면 Microsoft 지원에 문의하세요. 이 메시지는 Gen2 사용 계정이 이전에 사용되었거나 Gen1 계정의 파일 및 디렉터리에서 호환되지 않는 명명 규칙을 사용하는 경우에 나타날 수 있습니다.

지원에 문의하기 전에 사용 기록이 없는 새로 만든 스토리지 계정을 사용하고 있는지 확인합니다. 이전에 사용한 계정으로 마이그레이션하거나 컨테이너가 삭제된 계정을 사용하여 계정을 비워 두지 마세요. Gen1 계정에서 공백 또는 탭만 포함하거나, .로 끝나거나, :를 포함 하거나, 다수의 슬래시(//)를 포함하는 파일 또는 디렉터리 이름을 변경해야 합니다.

7단계: 워크로드 및 애플리케이션 마이그레이션

  1. Gen2 엔드포인트를 가리키도록 워크로드의 서비스를 구성합니다. Gen2를 사용하도록 Azure Databricks, HDInsight 및 기타 Azure 서비스를 구성할 수 있도록 하는 문서 링크에서 Azure Data Lake Storage Gen2를 지원하는 Azure 서비스를 참조하세요.

  2. Gen2 API를 사용하도록 애플리케이션을 업데이트합니다. 다음 항목을 참조하세요.

    환경 문서
    Azure Storage Explorer Azure Storage Explorer를 사용하여 Azure Data Lake Storage Gen2에서 디렉터리 및 파일 관리
    .NET .NET을 사용하여 Azure Data Lake Storage Gen2에서 디렉터리 및 파일 관리
    Java Java를 사용하여 Azure Data Lake Storage Gen2에서 디렉터리 및 파일 관리
    Python Python을 사용하여 Azure Data Lake Storage Gen2에서 디렉터리 및 파일 관리
    JavaScript(Node.js) Node.js에서 JavaScript SDK를 사용하여 Azure Data Lake Storage Gen2의 디렉터리 및 파일 관리
    REST API Azure Data Lake Store REST API
  3. Data Lake Storage Gen2 PowerShell cmdletAzure CLI 명령을 사용하도록 스크립트를 업데이트합니다.

  4. 코드 파일 또는 Databricks Notebook, Apache Hive HQL 파일 또는 워크로드의 일부로 사용되는 다른 모든 파일의 adl:// 문자열을 포함하는 URI 참조를 검색합니다. 이러한 참조를 새 스토리지 계정의 Gen2 형식 URI로 바꿉니다. 예: Gen1 URI: adl://mydatalakestore.azuredatalakestore.net/mydirectory/myfileabfss://myfilesystem@mydatalakestore.dfs.core.windows.net/mydirectory/myfile이 될 수 있습니다.

Gen1 호환성 계층

이 계층은 마이그레이션 중에 편의를 위해 Gen1과 Gen2 간의 애플리케이션 호환성을 제공하려고 하므로 애플리케이션은 Gen1 API를 계속 사용하여 Gen2 지원 계정의 데이터와 상호 작용할 수 있습니다. 이 계층에는 제한된 기능이 있으며 마이그레이션의 일부로 이 방법을 사용하는 경우 테스트 계정으로 워크로드의 유효성을 검사하는 것이 좋습니다. 호환성 계층은 서버에서 실행되므로 설치할 것이 없습니다.

Important

Microsoft는 워크로드 및 애플리케이션을 마이그레이션하는 대신 이 기능을 권장하지 않습니다. Gen1 호환성 계층에 대한 지원은 Gen1이 2024년 2월 29일에 중단되면 종료됩니다.

호환성 계층에서 발생하는 문제를 최소화하려면 Gen1 SDK가 다음 버전(또는 그 이상)을 사용하는지 확인해야합니다.

언어 SDK 버전
.NET 2.3.9
Java 1.1.21
Python 0.0.51

다음 기능은 호환성 계층에서 지원되지 않습니다.

  • ListStatus API 옵션을 ListBefore 항목으로

  • 연속 토큰이 없는 4000개 이상의 파일이 있는 ListStatusAPI

  • 추가 작업을 위한 청크 인코딩.

  • https://management.azure.com/을(를) Microsoft Entra 토큰 대상 그룹으로 사용하는 모든 API 호출입니다.

  • 공백이나 탭만 있고 .로 끝나거나 :를 포함하거나 여러 개의 연속 슬래시(//)가 있는 파일 또는 디렉터리 이름.

자주 묻는 질문

마이그레이션은 얼마나 걸리나요?

데이터 및 메타데이터는 병렬로 마이그레이션됩니다. 마이그레이션을 완료하는 데 필요한 총 시간은 두 프로세스 중 마지막으로 완료되는 것과 같습니다.

다음 표에서는 각 마이그레이션 처리 작업의 대략적인 속도를 보여줍니다.

참고 항목

이러한 시간 예측은 근사값이며 다를 수 있습니다. 예를 들어 많은 수의 작은 파일을 복사하면 성능이 저하될 수 있습니다.

작업 처리 중 속도
데이터 복사 시간당 9TB
데이터 유효성 검사 시간당 9백만 개의 파일 또는 폴더
메타데이터 복사 시간당 4백만 개의 파일 또는 폴더
메타데이터 처리 시간당 2,500만 개의 파일 또는 폴더
추가 메타데이터 처리(데이터 복사 옵션)1 시간당 5천만 개의 파일 또는 폴더

1새 Gen2 계정으로 데이터 복사 옵션을 선택한 경우에만 추가 메타데이터 처리 시간이 적용됩니다. 새 gen2 계정으로 마이그레이션 완료 옵션을 선택하면 이 처리 시간이 적용되지 않습니다.

예: 대량의 데이터 및 메타데이터 처리

이 예제에서는 300TB의 데이터와 2억개의 데이터 및 메타데이터 항목을 가정합니다.

작업 예상 시간
데이터 복사 300TB/9TB = 33.33시간
데이터의 유효성 검사 2억/900만 = 22.22시간
총 데이터 마이그레이션 시간 33.33 + 22.2 = 55.55시간
메타데이터 복사 2억/400만 = 50시간
메타데이터 처리 2억/2,500만 = 8시간
추가 메타데이터 처리 - 데이터 복사 옵션만 2억/5천만 = 4시간
총 메타데이터 마이그레이션 시간 50 + 8 + 4 = 62시간
데이터 전용 마이그레이션을 수행하는 총 시간 62시간
전체 마이그레이션을 수행하는 총 시간 62 - 4 = 58시간
예: 소량의 데이터 및 메타데이터 처리

이 예제에서는 2TB의 데이터와 56,000개의 데이터 및 메타데이터 항목을 가정합니다.

작업 예상 시간
데이터 복사 (2TB/9TB) * 60분 = 13.3분
데이터의 유효성 검사 (56,000/9백만) * 3,600초 = 22.4초
총 데이터 마이그레이션 시간 13.3분 + 22.4초 = 약 14분
메타데이터 복사 (56,000/4백만) * 3,600초 = 약 51초
메타데이터 처리 56,000/2,500만 = 8초
추가 메타데이터 처리 - 데이터 복사 옵션만 (56,000/5천만) * 3,600초 = 4초
총 메타데이터 마이그레이션 시간 51 + 8 + 4 = 63초
데이터 전용 마이그레이션을 수행하는 총 시간 14분
전체 마이그레이션을 수행하는 총 시간 14분 - 4초 = 13분 56초(약 14분)

데이터 마이그레이션 비용은 얼마인가요?

포털 기반 마이그레이션 도구를 사용하는 데 드는 비용은 없지만 Azure Data Lake Gen1 및 Gen2 서비스의 사용량에 대해서는 요금이 청구됩니다. 데이터 마이그레이션 동안 Gen1 계정의 데이터 저장 및 트랜잭션에 대한 요금이 청구됩니다.

마이그레이션 후에 데이터만 복사하는 옵션을 선택하면 Azure Data Lake Gen1 및 Gen2 계정 둘 다에 대해 데이터 스토리지 및 트랜잭션에 대한 요금이 청구됩니다. Gen1 계정에 대한 요금이 청구되지 않도록 하려면 Gen2를 가리키도록 애플리케이션을 업데이트한 후 Gen1 계정을 삭제합니다. 전체 마이그레이션을 수행하도록 선택하면 Gen2 지원 계정의 데이터 스토리지 및 트랜잭션에 대해서만 요금이 청구됩니다.

모든 Azure Data lake Analytics 계정이 Azure Synapse Analytics 또는 지원되는 다른 컴퓨팅 플랫폼으로 마이그레이션되었는지 확인합니다. Azure Data Lake Analytics 계정이 마이그레이션되면 동의를 다시 시도합니다. 문제가 추가로 표시되고 지원 플랜이 있는 경우 지원 요청을 제출할 수 있습니다. Microsoft Q&A에서 커뮤니티 전문가의 답변을 얻을 수도 있습니다.

마이그레이션이 완료된 후 Gen1 계정을 다시 사용할 수 있나요?

위에서 언급한 옵션 1: Gen1에서 Gen2로 데이터 복사를 사용한 경우 Gen1 및 Gen2 계정 모두 마이그레이션 후 읽기 및 쓰기에 사용할 수 있습니다. 그러나 옵션 2: 전체 마이그레이션 수행을 사용한 경우 Gen1 계정으로 돌아가는 것은 지원되지 않습니다. 옵션 2에서 마이그레이션이 완료되면 Gen1 계정의 데이터에 액세스할 수 없으며 30일 후에 삭제됩니다. Azure Portal에서 Gen1 계정을 계속 볼 수 있으며 준비가 되면 Gen1 계정을 삭제할 수 있습니다.

Gen2 지원 계정에서 GRS(지역 중복 스토리지)를 사용하도록 설정하고 싶습니다. 어떻게 할까요?

마이그레이션이 완료되면 ‘데이터 복사’ 및 ‘마이그레이션 완료’ 옵션 모두에서 응용 프로그램 호환성 계층을 사용하지 않으려는 경우 중복 옵션을 GRS로 변경할 수 있습니다. 애플리케이션 호환성은 GRS 중복성을 사용하는 계정에서 작동하지 않습니다.

Gen1에는 컨테이너가 없고 Gen2에는 컨테이너가 있습니다. 어떻게 해야 하나요?

Gen2 지원 계정으로 데이터를 복사하면 'Gen1'이라는 컨테이너가 자동으로 생성됩니다. Gen2에서는 컨테이너 이름을 변경할 수 없으므로 필요에 따라 마이그레이션 후 데이터를 Gen2의 새 컨테이너에 복사할 수 있습니다.

마이그레이션 성능 측면에서 어떻게 고려해야 하나요?

데이터를 Gen2 사용 계정으로 복사할 때 성능에 영향을 줄 수 있는 두 가지 요소는 파일 수와 메타데이터의 양입니다. 예를 들어 많은 작은 파일이 마이그레이션 성능에 영향을 줄 수 있습니다.

마이그레이션 후 Gen2 계정에서 WebHDFS 파일 시스템 API가 지원되나요?

Gen1의 WebHDFS 파일 시스템 API는 Gen2에서 지원되지만 약간의 차이가 있으며 호환성 계층을 통해 제한된 기능만 지원됩니다. 고객은 더 나은 성능과 기능을 위해 Gen2 관련 API를 활용하도록 계획해야 합니다.

사용 중지일 이후 내 Gen1 계정은 어떻게 되나요?

계정에 액세스할 수 없게 됩니다. 다음은 할 수 없습니다.

  • 계정 관리

  • 계정의 데이터에 액세스

  • Gen1 또는 Gen1 API, SDK 또는 클라이언트 도구에 대한 서비스 업데이트 수신

  • 온라인, 전화 또는 이메일을 통해 Gen1 고객 지원에 액세스

작업 필요: 2024년 2월 29일까지 Azure Data Lake Storage Gen2로 전환을 참조하세요.

다음 단계