Amazon EBS 볼륨 초기화 - Amazon EBS

Amazon EBS 볼륨 초기화

빈 EBS 볼륨은 생성되었지만 초기화(이전에는 사전 워밍이라고 함)가 필요하지 않은 시점에 최고 성능을 발휘합니다.

볼륨 유형에 상관없이 스냅샷에서 생성된 볼륨의 경우, 스토리지 블록에 액세스하려면 먼저 스토리지 블록을 Amazon S3에서 풀다운하고 볼륨에 기록해야 합니다. 이 예비 작업에는 시간이 걸리며, 이로 인해 각 블록에 처음 액세스할 때 I/O 작업의 지연 시간이 상당히 증가할 수 있습니다. 모든 블록을 다운로드하고 볼륨에 기록한 후에 볼륨 성능이 구현됩니다.

중요

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

대부분의 애플리케이션은 볼륨 수명 주기 동안 초기화 비용을 분할 상환할 수 있습니다. 프로덕션 환경에서 이 초기 성능 저하를 방지하려면 다음 옵션 중 하나를 사용할 수 있습니다.

  • 전체 볼륨을 강제로 즉시 초기화합니다. 자세한 내용은 Linux 인스턴스(Linux 인스턴스) 또는 Windows 인스턴스(Windows 인스턴스)를 참조하세요.

  • 스냅샷에서 빠른 스냅샷 복원을 활성화하여 스냅샷에서 생성된 EBS 볼륨이 생성 시 완전히 초기화되고 모든 프로비저닝된 성능을 즉시 제공하도록 보장합니다. 자세한 내용은 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 볼륨을 사용할 수 있도록 만들기 단원을 참조하십시오.