Amazon EBS 볼륨 초기화 - Amazon EBS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon EBS 볼륨 초기화

스냅샷에서 볼륨을 생성하는 경우 스토리지 블록에 액세스하려면 먼저 Amazon S3에서 스냅샷의 스토리지 블록을 다운로드하여 볼륨에 기록해야 액세스할 수 있습니다. 이 프로세스를 볼륨 초기화라고 합니다. 이 시간 동안 볼륨에서 I/O 지연 시간이 증가하고 성능이 저하될 수 있습니다. 전체 볼륨 성능은 모든 스토리지 블록이 다운로드되어 볼륨에 기록된 후에만 달성됩니다.

참고

빈 볼륨은 생성 후 즉시 최대 성능을 제공하며 초기화할 필요가 없습니다.

기본 볼륨 초기화 속도는 초기화 프로세스 전반에 걸쳐 변동하므로 완료 시간을 예측할 수 없습니다.

볼륨 초기화와 관련된 성능 영향을 최소화하기 위해 다음 옵션을 사용할 수 있습니다.

볼륨 초기화에 Amazon EBS 프로비저닝된 속도 사용

스냅샷에서 Amazon EBS 볼륨을 생성할 때 선택적으로 100~300MiB/s 범위의 볼륨 초기화에 대한 Amazon EBS 프로비저닝된 속도(볼륨 초기화 속도)를 지정할 수 있습니다. 볼륨 초기화 속도를 지정하면 스냅샷 블록이 Amazon S3에서 다운로드되고 생성 후 지정된 속도로 볼륨에 기록됩니다. 이를 통해 예측 가능한 시간 내에 완전히 초기화되고 성능이 완전히 발휘되는 볼륨을 생성할 수 있습니다.

볼륨 초기화 속도를 사용하면 여러 볼륨을 동시에 생성하고 예측 가능한 시간 내에 모든 볼륨을 초기화해야 할 때 특히 유용합니다.

참고

볼륨 초기화를 위한 Amazon EBS 프로비저닝 속도는 모든 Amazon EBS 볼륨 유형과 Amazon EC2 Mac 인스턴스를 포함한 모든 Amazon EC2 인스턴스 유형에서 지원됩니다.

볼륨 초기화 속도를 지정할 수 있습니다.

  • 개별 볼륨 생성 요청의 경우

  • 인스턴스 시작 요청의 EBS 볼륨 블록 디바이스 매핑의 경우

  • 시작 템플릿의 EBS 볼륨 블록 디바이스 매핑의 경우

  • 루트 볼륨 교체 작업으로 생성된 EBS 볼륨의 경우

  • Amazon EKS 클러스터(EBS CSI 드라이버에서 생성) 및 Amazon ECS 클러스터의 EBS 볼륨

작동 방법

볼륨 초기화 속도로 볼륨을 생성하면 스냅샷 블록이 지정한 속도로 Amazon S3에서 볼륨으로 다운로드됩니다.

볼륨을 초기화하는 데 걸리는 시간은 다음에 따라 달라집니다.

  • 생성 중인 볼륨의 크기가 아닌 스냅샷 데이터의 크기입니다.

    작은 정보

    스냅샷의 데이터 크기를 찾으려면 describe-snapshots 명령 출력의 FullSnapshotSizeInBytes 필드 또는 콘솔의 전체 스냅샷 크기 필드를 확인합니다.

  • 지정한 볼륨 초기화 속도

예를 들어 데이터가 10GiB인 스냅샷을 사용하여 20GiB 볼륨을 생성하고 볼륨 초기화 속도를 300MiB/s로 지정하면 볼륨이 약 34.1초(10GiB/300MiB/s = 34.1초) 내에 완전히 초기화됩니다. 마찬가지로 동일한 스냅샷과 볼륨 초기화 속도로 10개의 볼륨을 동시에 생성하면 10개의 볼륨이 모두 34.1초 내에 완전히 초기화됩니다.

고려 사항

  • 볼륨 초기화 속도를 100~300MiB/s로 지정할 수 있습니다.

  • 볼륨 초기화 속도를 지정하면 요금 및 완료 시간은 스냅샷 데이터의 크기(볼륨의 크기가 아님)와 지정한 속도를 기반으로 합니다. 자세한 내용은 결제 단원을 참조하십시오.

  • Amazon EBS는 99%의 시간 동안 지정한 볼륨 초기화 속도의 10% 이내인 평균 속도를 제공합니다.

  • 볼륨 초기화 속도를 지정하고 빠른 스냅샷 복원이 활성화된 스냅샷을 사용하는 경우 Amazon EBS는 빠른 스냅샷 복원 대신 지정된 속도를 사용합니다. 대신 빠른 스냅샷 복원을 사용하려면 볼륨 초기화 속도를 지정하지 마십시오.

  • 용량 제약 또는 할당량을 초과했기 때문에 Amazon EBS가 지정된 볼륨 초기화 속도로 볼륨을 초기화할 수 없는 경우 요청이 실패합니다.

  • 로컬 영역 AWS Outposts또는 Wavelength 영역에서 생성된 볼륨에 대해서는 볼륨 초기화 속도를 지정할 수 없습니다.

할당량

동시 볼륨 생성 요청에서 요청할 수 있는 누적 볼륨 초기화 속도는 5,000MiB/s로 제한됩니다. 예를 들어 100MiB/s 속도의 동시 볼륨 생성 요청 50개(동시 요청 50개 * 100MiB/s 속도) 또는 200MiB/s 속도의 동시 요청 25개(동시 요청 25개 * 200MiB/s 속도)를 수행할 수 있습니다. 이 제한은 리전별로 적용됩니다. 요청이이 제한을 초과하면 요청이 실패합니다. 진행 중인 요청 중 일부가 완료될 때까지 기다리거나 할당량 증가를 요청합니다. 자세한 내용은 Amazon EBS 할당량 단원을 참조하십시오.

모니터링

볼륨 초기화 속도로 볼륨을 생성하면 초기화가 완료된 5분 이내에 Amazon EventBridge 이벤트가 계정으로 전송됩니다. 자세한 내용은 EBS 볼륨 초기화 이벤트 단원을 참조하십시오.

초기화가 완료되기 전 또는 초기화가 완료된 후 5분 이내에 볼륨을 삭제하면 이벤트가 수신되지 않을 수 있습니다.

결제

볼륨 초기화 속도로 볼륨을 생성하면 스냅샷 데이터의 GiB당, 지정된 초기화 속도의 MiB당 요금이 부과됩니다. 속도는 리전에 따라 다릅니다. 자세한 내용은 Amazon EBS 요금을 참조하세요.

볼륨 크기가 아닌 스냅샷 데이터의 크기를 기준으로 요금이 청구됩니다. 예를 들어 크기가 100GiB이지만 데이터만 50GiB인 볼륨의 스냅샷을 생성하는 경우 스냅샷의 볼륨 크기는 100GiB이지만 스냅샷 데이터 크기는 50GiB입니다. 해당 스냅샷을 사용하여 볼륨을 생성하고 볼륨 초기화 속도를 지정하는 경우 요금은 50GiB의 스냅샷 데이터를 기반으로 합니다.

작은 정보

스냅샷의 데이터 크기를 찾으려면 describe-snapshots 명령 출력의 FullSnapshotSizeInBytes 필드 또는 콘솔의 전체 스냅샷 크기 필드를 확인합니다.

공식은 다음과 같습니다.

rate for Region x snapshot data size x volume initialization rate

볼륨이 active 상태가 되는 즉시 전체 금액이 청구됩니다. 실패한 요청은 요금이 청구되지 않습니다.

볼륨 초기화가 완료되기 전에 볼륨을 삭제해도 요청된 볼륨 초기화 요금이 계속 청구됩니다.

빠른 스냅샷 복원이 활성화된 스냅샷 사용

빠른 스냅샷 복원이 활성화된 스냅샷에서 볼륨을 생성하면 생성 시 볼륨이 완전히 초기화되고 즉시 전체 성능을 제공합니다. 빠른 스냅샷 복원 사용에 대한 자세한 내용은 섹션을 참조하세요Amazon EBS 빠른 스냅샷 복원.

생성 후 수동으로 볼륨 초기화

생성 후 Amazon EBS 볼륨을 수동으로 초기화하여 볼륨 초기화의 성능 영향을 최소화할 수 있습니다.

다음 절차를 사용하여 생성 후 Amazon EBS 볼륨을 수동으로 초기화할 수 있습니다.

중요

스냅샷에서 생성된 Provisioned IOPS SSD 볼륨을 초기화할 경우 볼륨의 성능이 예상 수준보다 50퍼센트 이하로 떨어질 수 있으며, 이로 인해 볼륨의 I/O 성능 상태 확인에 warning 상태가 표시될 수 있습니다. 이는 예상된 동작이므로 초기화 중에는 Provisioned IOPS SSD 볼륨에 대한 warning 상태를 무시해도 됩니다. 자세한 내용은 Amazon EBS 볼륨 상태 확인 단원을 참조하십시오.

Linux의 스냅샷에서 생성된 볼륨을 초기화하려면
  1. 새로 복원된 볼륨을 Linux 인스턴스에 연결합니다.

  2. lsblk 명령을 사용하여 인스턴스의 블록 디바이스를 나열합니다.

    $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvdf 202:80 0 30G 0 disk xvda1 202:1 0 8G 0 disk /

    여기서 새로운 볼륨인 /dev/xvdf가 연결되었지만 마운트되지는 않았음을 확인할 수 있습니다. MOUNTPOINT 열 아래에 나열된 경로가 없기 때문입니다.

  3. dd 또는 fio 유틸리티를 사용하여 디바이스의 모든 블록을 읽습니다. dd 명령은 Linux 시스템에 기본으로 설치되지만, fio는 다중 스레드 읽기를 허용하기 때문에 훨씬 더 빠릅니다.

    참고

    이 단계는 EC2 인스턴스 대역폭, 볼륨에 대해 프로비저닝된 IOPS 및 볼륨 크기에 따라 몇 분에서 몇 시간까지 걸릴 수 있습니다.

    [dd] if(입력 파일) 파라미터는 초기화할 드라이브로 설정해야 합니다. of(파일 출력) 파라미터를 Linux null 가상 디바이스인 /dev/null로 설정해야 합니다. bs 파라미터는 읽기 작업의 블록 크기를 설정합니다. 최적의 성능을 얻으려면 이 값을 1MB로 설정해야 합니다.

    중요

    dd를 잘못 사용하면 볼륨 데이터가 쉽게 삭제될 수 있습니다. 아래 예제 명령을 정학하게 따라야 합니다. 읽고 있는 디바이스의 이름에 따라 if=/dev/xvdf 파라미터만 다를 수 있습니다.

    $ sudo dd if=/dev/xvdf of=/dev/null bs=1M

    [fio] 시스템에 fio가 설치되어 있는 경우, 다음 명령을 사용하여 볼륨을 초기화할 수 있습니다. --filename(입력 파일) 파라미터는 초기화할 드라이브로 설정해야 합니다.

    $ sudo fio --filename=/dev/xvdf --rw=read --bs=1M --iodepth=32 --ioengine=libaio --direct=1 --name=volume-initialize

    fio을 Amazon Linux에 설치하려면 다음 명령을 사용하십시오.

    sudo yum install -y fio

    Ubuntu에 fio를 설치하려면 다음 명령을 사용합니다.

    sudo apt-get install -y fio

    작업이 끝나면 읽기 작업에 대한 보고서가 나타납니다. 이제 볼륨을 사용할 준비가 되었습니다. 자세한 내용은 Amazon EBS 볼륨을 사용할 수 있도록 만들기 단원을 참조하십시오.

어느 도구든 사용하기 전에 다음과 같이 시스템의 디스크에 관한 정보를 수집하세요.

시스템 디스크에 대한 정보를 수집하려면
  1. wmic 명령을 사용하여 시스템에서 사용 가능한 디스크를 나열합니다.

    wmic diskdrive get size,deviceid

    다음은 예제 출력입니다.

    DeviceID Size \\.\PHYSICALDRIVE2 80517265920 \\.\PHYSICALDRIVE1 80517265920 \\.\PHYSICALDRIVE0 128849011200 \\.\PHYSICALDRIVE3 107372805120
  2. dd 또는 fio를 사용하여 초기화할 디스크를 식별합니다. C: 드라이브는 \\.\PHYSICALDRIVE0에 있습니다. 어떤 드라이브 번호를 사용해야 하는지 확실하지 않은 경우 diskmgmt.msc 유틸리티를 사용하여 드라이브 문자를 디스크 드라이브 번호와 비교합니다.

Use the dd utility

다음 절차를 완료하여 dd를 설치하고 사용하여 볼륨을 초기화합니다.

중요 고려 사항
  • 볼륨 초기화는 EC2 인스턴스 대역폭, 볼륨에 프로비저닝된 IOPS 및 볼륨 크기에 따라 몇 분에서 몇 시간까지 걸릴 수 있습니다.

  • dd를 잘못 사용하면 볼륨 데이터가 쉽게 삭제될 수 있습니다. 다음 절차를 정확하게 수행하세요.

Windows용 dd를 설치하려면

Windows용 dd 프로그램은 Linux 및 Unix 시스템에 일반적으로 사용할 수 있는 dd 프로그램과 비슷한 환경을 제공하며, 이 프로그램을 사용하여 스냅샷에서 생성된 Amazon EBS 볼륨을 초기화할 수 있습니다. 최신 베타 버전은 /dev/null 가상 디바이스를 지원합니다. 이전 버전을 설치하는 경우 nul 가상 디바이스를 대신 사용할 수 있습니다. 전체 설명서는 http://www.chrysocome.net/dd에서 제공됩니다.

  1. 최신 바이너리 버전의 Windows용 ddhttp://www.chrysocome.net/dd에서 다운로드합니다.

  2. (선택 사항) C:\bin과 같이 찾기 쉽고 기억하기 쉬운 명령줄 유틸리티용 폴더를 만듭니다. 명령줄 유틸리티용으로 지정된 폴더가 이미 있는 경우 다음 단계에서 해당 폴더를 대신 사용할 수 있습니다.

  3. 바이너리 패키지의 압축을 풀고 dd.exe 파일을 명령줄 유틸리티 폴더(예: C:\bin)에 복사합니다.

  4. 명령줄 유틸리티 폴더를 경로 환경 변수에 추가합니다 그러면 해당 폴더에 있는 프로그램을 어디서나 실행할 수 있습니다.

    1. 시작(Start)을 선택하고 컴퓨터(Computer)에서 컨텍스트(오른쪽 클릭) 메뉴를 연 후, 속성(Properties)을 선택합니다.

    2. 고급 시스템 설정(Advanced system settings), 환경 변수(Environment Variables)를 선택합니다.

    3. 시스템 변수(System Variables)에서 경로(Path) 변수를 선택하고 편집(Edit)을 선택합니다.

    4. 변수 값(Variable value)에서 세미콜론과 명령줄 유틸리티 폴더의 위치(;C:\bin\))를 기존 값 끝에 추가합니다.

    5. 확인(OK)을 선택하여 시스템 변수 편집(Edit System Variable) 창을 닫습니다.

  5. 새 명령 프롬프트 창을 엽니다. 이전 단계에서는 현재 명령 프롬프트 창의 환경 변수가 업데이트되지 않습니다. 이전 단계를 완료한 후 지금 여는 명령 프롬프트 창이 업데이트됩니다.

Windows용 dd를 사용하여 볼륨을 초기화하려면

다음 명령을 실행하여 지정된 디바이스에 있는 모든 블록을 읽고 출력을 /dev/null 가상 디바이스에 전송합니다. 이 명령은 기존 데이터를 안전하게 초기화합니다.

dd if=\\.\PHYSICALDRIVEn of=/dev/null bs=1M --progress --size

dd가 볼륨의 끝을 지나 읽기를 시도할 경우 오류가 발생할 수 있습니다. 이 오류는 무시해도 됩니다.

이전 버전의 dd 명령을 사용한 경우 /dev/null 디바이스가 지원되지 않습니다. 대신 다음과 같이 nul 디바이스를 사용할 수 있습니다.

dd if=\\.\PHYSICALDRIVEn of=nul bs=1M --progress --size
Use the fio utility

다음 절차를 완료하여 fio를 설치하고 사용하여 볼륨을 초기화합니다.

Windows용 fio를 설치하려면

Windows용 fio 프로그램은 Linux 및 Unix 시스템에 일반적으로 사용할 수 있는 fio 프로그램과 비슷한 환경을 제공하며, 이 프로그램을 사용하여 스냅샷에서 생성된 Amazon EBS 볼륨을 초기화할 수 있습니다. 자세한 내용은 https://github.com/axboe/fio를 참조하세요.

  1. 최신 릴리스의 자산을 확장하고 MSI 설치 관리자를 선택하여 fio MSI 설치 관리자를 다운로드합니다.

  2. fio를 설치합니다.

Windows용 fio를 사용하여 볼륨을 초기화하려면
  1. 다음과 비슷한 명령을 실행하여 볼륨을 초기화합니다.

    fio --filename=\\.\PHYSICALDRIVEn --rw=read --bs=128k --iodepth=32 --direct=1 --name=volume-initialize
  2. 작업이 완료되면 새 볼륨을 사용할 준비가 된 것입니다. 자세한 내용은 Amazon EBS 볼륨을 사용할 수 있도록 만들기 단원을 참조하십시오.