Amazon EBS 볼륨을 사용할 수 있도록 만들기 - Amazon EBS

Amazon EBS 볼륨을 사용할 수 있도록 만들기

Amazon EBS 볼륨은 인스턴스에 연결하면 블록 디바이스로 표시됩니다. 볼륨을 원하는 파일 시스템으로 포맷한 다음 마운트합니다. EBS 볼륨을 사용할 수 있게 만들면 다른 볼륨과 동일한 방식으로 액세스할 수 있습니다. 이 파일 시스템에 작성된 모든 데이터가 EBS 볼륨에 작성되고 해당 디바이스를 사용하는 애플리케이션도 그대로 적용됩니다.

다른 볼륨을 생성할 때 기준으로 사용하거나 백업을 목적으로 EBS 볼륨의 스냅샷을 생성할 수 있습니다. 자세한 내용은 Amazon EBS 스냅샷 단원을 참조하십시오.

사용 준비 중인 EBS 볼륨이 2TiB보다 크면 GPT 파티션 체계를 사용하여 전체 볼륨에 액세스해야 합니다. 자세한 내용은 EBS 볼륨의 크기 및 구성에 대한 제약 단원을 참조하십시오.

연결된 볼륨 포맷 및 탑재

루트 디바이스용 EBS 볼륨이 있는 EC2 인스턴스가 있으며, /dev/xvda, 방금 /dev/sdf를 이용해 인스턴스를 빈 EBS 볼륨에 연결했다고 가정합시다. 다음 절차에 따라, 새로 연결한 볼륨을 사용할 수 있게 만드세요.

EBS 볼륨을 Linux에서 포맷 및 탑재
  1. SSH로 인스턴스에 연결합니다. 자세한 내용은 Linux 인스턴스에 연결을 참조하세요.

  2. 디바이스는 블록 디바이스 매핑에 지정한 것과는 다른 디바이스 이름으로 인스턴스에 연결할 수 있습니다. 자세한 내용은 Linux 인스턴스의 디바이스 이름을 참조하세요. lsblk 명령을 사용하면 사용 가능한 디스크 디바이스 및 마운트 포인트(해당하는 경우)가 표시되어 사용 가능한 올바른 디바이스 이름을 결정하는 데 도움을 받을 수 있습니다. lsblk 명령의 출력에서는 전체 디바이스 경로 중 맨 앞에 /dev/가 생략됩니다.

    다음은 EBS 볼륨이 NVMe 블록 디바이스로 표시되는 Nitro System에 구축된 인스턴스의 예시 출력입니다. 루트 디바이스는 nvme0n1p1nvme0n1p128이라는 두 개의 파티션이 있는 /dev/nvme0n1입니다. 연결된 볼륨은 파티션이 없고 아직 탑재되지 않은 /dev/nvme1n1입니다.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 10G 0 disk nvme0n1 259:1 0 8G 0 disk -nvme0n1p1 259:2 0 8G 0 part / -nvme0n1p128 259:3 0 1M 0 part

    다음은 T2 인스턴스의 예시 출력입니다. 루트 디바이스는 xvda1이라는 파티션이 하나 있는 /dev/xvda입니다. 연결된 볼륨은 파티션이 없고 아직 탑재되지 않은 /dev/xvdf입니다.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk -xvda1 202:1 0 8G 0 part / xvdf 202:80 0 10G 0 disk
  3. 볼륨에 파일 시스템이 있는지 확인합니다. 새 볼륨은 원시 블록 디바이스이므로 볼륨을 탑재하고 사용하기 전에 해당 볼륨에서 파일 시스템을 생성해야 합니다. 스냅샷에서 생성된 볼륨에는 이미 파일 시스템이 있을 수 있습니다. 기존 파일 시스템 위에 새 파일 시스템을 생성하면 해당 작업으로 데이터가 덮어쓰기됩니다.

    볼륨에 파일 시스템이 있는지 여부를 확인하려면 다음 방법 중 하나 또는 모두를 사용하세요.

    • file -s 명령을 사용하면 파일 시스템 유형 등의 특정 디바이스 정보를 확인할 수 있습니다. 다음 예시 출력에서와 같이 출력에 data만 표시된다면, 디바이스에는 파일 시스템이 없습니다.

      [ec2-user ~]$ sudo file -s /dev/xvdf /dev/xvdf: data

      디바이스에 파일 시스템이 있다면, 명령은 파일 시스템 유형에 관한 정보를 표시합니다. 예를 들어 다음 출력은 XFS 파일 시스템이 있는 루트 디바이스를 표시합니다.

      [ec2-user ~]$ sudo file -s /dev/xvda1 /dev/xvda1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
    • lsblk -f 명령을 사용하여 인스턴스에 연결된 모든 디바이스 관련 정보를 가져옵니다.

      [ec2-user ~]$ sudo lsblk -f

      예를 들어, 다음 출력은 인스턴스에 연결된 3개의 디바이스(nvme1n1, nvme0n1nvme2n1)를 보여줍니다. 첫 번째 열에는 디바이스와 해당 파티션이 나열됩니다. FSTYPE 열에는 각 디바이스의 파일 시스템 유형이 표시됩니다. 특정 디바이스에 대한 열이 비어 있으면 디바이스에 파일 시스템이 없음을 의미합니다. 이 예에서 디바이스 nvme1n1nvme0n1 디바이스의 파티션 nvme0n1p1은 모두 XFS 파일 시스템을 사용하여 포맷되어 있지만, 디바이스 nvme2n1과 디바이스 nvme0n1의 파티션 nvme0n1p128에는 파일 시스템이 없습니다.

      NAME FSTYPE LABEL UUID MOUNTPOINT nvme1n1 xfs 7f939f28-6dcc-4315-8c42-6806080b94dd nvme0n1 ├─nvme0n1p1 xfs / 90e29211-2de8-4967-b0fb-16f51a6e464c / └─nvme0n1p128 nvme2n1

    이러한 명령의 출력에 디바이스에 파일 시스템이 없다고 표시된 경우 생성해야 합니다.

  4. (선택 사항) 이전 단계에서 디바이스에 파일 시스템이 있음을 발견했다면, 이 단계는 생략하세요. 빈 볼륨이 있다면 mkfs -t 명령을 이용해 볼륨에서 파일 시스템을 생성하세요.

    주의

    이미 데이터가 있는 볼륨(예: 스냅샷에서 생성된 볼륨)을 탑재하는 경우, 이 명령을 사용하지 마세요. 아니면 볼륨을 포맷하여 기존 데이터를 삭제합니다.

    [ec2-user ~]$ sudo mkfs -t xfs /dev/xvdf

    mkfs.xfs이 발견되지 않는 오류가 발생하는 경우 다음 명령을 사용해 XFS 도구를 설치하고 이전 명령을 반복합니다.

    [ec2-user ~]$ sudo yum install xfsprogs
  5. mkdir 명령을 사용하여 볼륨에서 사용할 탑재 지점 디렉터리를 생성합니다. 마운트 포인트는 파일 시스템 트리에 볼륨이 위치하고 볼륨을 마운트한 후 파일을 읽고 쓰는 위치입니다. 다음은 /data라는 이름의 디렉터리를 생성하는 예제입니다.

    [ec2-user ~]$ sudo mkdir /data
  6. 이전 단계에서 생성한 탑재 지점 디렉터리에서 볼륨이나 파티션을 탑재합니다.

    볼륨에 파티션이 없는 경우 다음 명령을 사용하여 전체 볼륨을 탑재할 디바이스 이름을 지정합니다.

    [ec2-user ~]$ sudo mount /dev/xvdf /data

    볼륨에 파티션이 있는 경우 다음 명령을 사용하여 파티션을 탑재할 파티션 이름을 지정합니다.

    [ec2-user ~]$ sudo mount /dev/xvdf1 /data
  7. 새 볼륨 마운트의 파일 권한을 검토하여 사용자 및 애플리케이션이 볼륨에 기록할 수 있는지 확인합니다. 파일 권한에 대한 자세한 내용은 Linux Documentation Project에서 File security 단원을 참조하십시오.

  8. 탑재 지점은 인스턴스를 재부팅하면 자동으로 보존되지 않습니다. 재부팅 후에도 이 EBS 볼륨을 자동으로 탑재하고 싶다면, 재부팅 후에도 연결된 볼륨을 자동으로 탑재 섹션을 참조하세요.

재부팅 후에도 연결된 볼륨을 자동으로 탑재

시스템을 재부팅할 때마다 연결된 EBS 볼륨을 탑재하려면, 디바이스에 대한 항목을 /etc/fstab 파일에 추가합니다.

/dev/xvdf에 있는 /etc/fstab 같은 디바이스 이름을 사용할 수 있습니다. 하지만 디바이스의 128비트 UUID(Universally Unique Identifier)를 사용할 것을 권장합니다. 디바이스 이름은 바꿀 수 있지만, UUID는 파티션 수명이 다할 때까지 유지됩니다. UUID를 사용하면 하드웨어 재구성 후 시스템을 부팅할 수 없게 되는 경우가 줄어듭니다. 자세한 내용은 EBS 디바이스 식별 섹션을 참조하세요.

재부팅 후 연결된 볼륨을 자동으로 탑재하는 방법
  1. (선택 사항) 수정 도중 실수로 이 파일이 손상되거나 삭제되는 경우에 대비하여 /etc/fstab 파일의 백업을 생성합니다.

    [ec2-user ~]$ sudo cp /etc/fstab /etc/fstab.orig
  2. blkid 명령을 사용하여 디바이스의 UUID를 찾습니다. 재부팅 후 탑재할 장치의 UUID를 기록해 둡니다. 다음 단계에서 필요합니다.

    예를 들어 다음 명령은 인스턴스에 2개의 디바이스가 탑재되어 있음을 보여주며 두 디바이스 모두의 UUID를 보여줍니다.

    [ec2-user ~]$ sudo blkid /dev/xvda1: LABEL="/" UUID="ca774df7-756d-4261-a3f1-76038323e572" TYPE="xfs" PARTLABEL="Linux" PARTUUID="02dcd367-e87c-4f2e-9a72-a3cf8f299c10" /dev/xvdf: UUID="aebf131c-6957-451e-8d34-ec978d9581ae" TYPE="xfs"

    Ubuntu 18.04의 경우 lsblk 명령을 사용합니다.

    [ec2-user ~]$ sudo lsblk -o +UUID
  3. nano 또는 vim과 같은 텍스트 편집기를 사용하여 /etc/fstab 파일을 엽니다.

    [ec2-user ~]$ sudo vim /etc/fstab
  4. 다음 항목을 /etc/fstab에 추가해 디바이스를 지정된 탑재 지점에 탑재합니다. 필드는 blkid가 반환하는 UUID 값(또는 Ubuntu 18.04의 경우 lsblk), 탑재 지점, 파일 시스템, 권장하는 파일 시스템 탑재 옵션입니다. 필수 필드에 대한 자세한 내용을 보려면 man fstab를 실행하여 fstab 매뉴얼을 엽니다.

    다음 예제에서는 UUID가 aebf131c-6957-451e-8d34-ec978d9581ae인 디바이스를 탑재 지점 /data에 탑재하고 xfs 파일 시스템을 사용합니다. 또한 defaultsnofail 플래그를 사용합니다. 0을 지정하여 파일 시스템이 덤프되지 않도록 하고 2를 지정하여 루트 디바이스가 아님을 나타냅니다.

    UUID=aebf131c-6957-451e-8d34-ec978d9581ae /data xfs defaults,nofail 0 2
    참고

    (볼륨을 다른 인스턴스로 옮긴 후 등의 상황에서) 이 볼륨을 연결하지 않고 인스턴스를 부팅했다면, nofail 탑재 옵션을 이용해 볼륨 탑재 시 오류가 있더라도 인스턴스를 부팅할 수 있습니다. 16.04 이전의 Ubuntu 버전을 포함하는 Debian 계열 시스템에서는 nobootwait 탑재 옵션도 추가해야 합니다.

  5. 항목이 제대로 작동하는지 확인하기 위해, 다음 명령을 실행해 디바이스 탑재를 해제하고 /etc/fstab에서 모든 파일 시스템을 탑재합니다. 오류가 없다면 /etc/fstab 파일에 문제가 없다는 뜻이며, 파일 시스템은 재부팅 후 자동으로 탑재됩니다.

    [ec2-user ~]$ sudo umount /data [ec2-user ~]$ sudo mount -a

    오류 메시지가 표시된다면, 파일의 오류를 처리하세요.

    주의

    /etc/fstab 파일에서 오류가 발생하면 시스템이 부팅되지 않을 수 있습니다. /etc/fstab 파일에서 오류가 발생한 시스템을 종료하지 마십시오.

    /etc/fstab의 오류 수정 방법을 모르며 이 절차의 첫 번째 단계에서 백업 파일을 만들었다면, 다음 명령을 이용해 백업 파일에서 복원을 진행할 수 있습니다.

    [ec2-user ~]$ sudo mv /etc/fstab.orig /etc/fstab

다음과 같은 방법 중 하나를 사용하여 Windows 인스턴스에서 볼륨을 사용할 수 있도록 만듭니다.

PowerShell
원시 파티션이 있는 모든 EBS 볼륨을 Windows PowerShell에서 사용
  1. 원격 데스크톱을 사용하여 Windows 인스턴스에 로그인합니다. 자세한 내용은 Windows 인스턴스에 연결을 참조하세요.

  2. 작업 표시줄에서 시작 메뉴를 열고 Windows PowerShell을 선택합니다.

  3. 열린 PowerShell 프롬프트에서 제공된 일련의 Windows PowerShell 명령을 사용합니다. 이 스크립트는 기본값으로 다음 작업을 수행합니다.

    1. ShellHWDetection 서비스를 중지합니다.

    2. 파티션 스타일이 원시 디스크인 디스크를 열거합니다.

    3. 디스크 및 파티션 유형이 지원할 최대 크기에 걸쳐 있는 새 파티션을 만듭니다.

    4. 사용 가능한 드라이브 문자를 배정합니다.

    5. 지정된 파일 시스템 레이블을 사용하여 파일 시스템을 NTFS로 포맷합니다.

    6. ShellHWDetection 서비스를 다시 시작합니다.

    Stop-Service -Name ShellHWDetection Get-Disk | Where PartitionStyle -eq 'raw' | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "Volume Label" -Confirm:$false Start-Service -Name ShellHWDetection
DiskPart command line tool
DiskPart 명령줄 도구를 통해 사용 가능한 EBS 볼륨을 만들기
  1. 원격 데스크톱을 사용하여 Windows 인스턴스에 로그인합니다. 자세한 내용은 Windows 인스턴스에 연결을 참조하세요.

  2. 사용할 디스크 번호를 확인합니다.

    1. 시작 메뉴를 열고 Windows PowerShell을 선택합니다.

    2. 사용 가능한 디스크 목록을 검색하는 Get-Disk Cmdlet을 사용합니다.

    3. 명령 출력에서 사용 가능한 디스크에 해당하는 숫자(Number)를 기록합니다.

  3. DiskPart 명령을 실행할 스크립트 파일을 작성합니다.

    1. 시작 메뉴를 열고 파일 탐색기(File Explorer)를 선택합니다.

    2. 스크립트 파일을 저장할 디렉터리(예: C:\)로 이동합니다.

    3. 폴더 내의 빈 공간을 선택하거나 마우스 오른쪽 버튼으로 클릭하여 대화 상자를 열고 커서를 New 위에 놓아 컨텍스트 메뉴에 액세스한 다음 텍스트 문서(Text Document)를 선택합니다.

    4. 텍스트 파일을 diskpart.txt로 지정합니다.

  4. 스크립트 파일에 다음 명령을 추가합니다. 디스크 번호, 파티션 유형, 볼륨 레이블 및 드라이브 문자를 수정해야 할 수 있습니다. 이 스크립트는 기본값으로 다음 작업을 수행합니다.

    1. 수정할 디스크 1을 선택합니다.

    2. 기본 부트 레코드(MBR) 파티션 구조를 사용하도록 볼륨을 구성합니다.

    3. 볼륨을 NTFS 볼륨으로 포맷합니다.

    4. 볼륨 레이블을 설정합니다.

    5. 볼륨에 드라이브 문자를 할당합니다.

    주의

    이미 데이터가 있는 볼륨을 마운트하는 경우 볼륨을 재포맷하지 않아야 기존 데이터가 삭제되지 않습니다.

    select disk 1 attributes disk clear readonly online disk noerr convert mbr create partition primary format quick fs=ntfs label="volume_label" assign letter="drive_letter"

    자세한 내용은 DiskPart 구문 및 파라미터를 참조하세요.

  5. 명령 프롬프트를 열고 스크립트가 있는 폴더로 이동하고 다음 명령을 실행하여 지정된 디스크에서 볼륨을 사용할 수 있도록 합니다.

    C:\> diskpart /s diskpart.txt
Disk Management utility
디스크 관리 유틸리티를 통해 사용 가능한 EBS 볼륨 만들기
  1. 원격 데스크톱을 사용하여 Windows 인스턴스에 로그인합니다. 자세한 내용은 Windows 인스턴스에 연결을 참조하세요.

  2. 디스크 관리 유틸리티를 시작합니다. 작업 표시줄에서 마우스 오른쪽 버튼을 클릭하여 Windows 로고에 대한 컨텍스트 메뉴를 열고 디스크 관리(Disk Management)를 선택합니다.

    참고

    Windows Server 2008에서는 시작(Start), 관리 도구(Administrative Tools), 컴퓨터 관리(Computer Management), 디스크 관리(Disk Management)를 선택합니다.

  3. 볼륨을 온라인 상태로 전환합니다. 아래쪽의 왼쪽 창에서 마우스 오른쪽 버튼을 클릭하여 EBS 볼륨용 디스크에 대한 컨텍스트 메뉴를 엽니다. 온라인을 선택합니다.

    
                        볼륨을 온라인 상태로 전환합니다.
  4. (조건) 디스크가 초기화되지 않은 경우 디스크를 초기화해야 사용할 수 있습니다. 디스크가 이미 초기화된 경우 이 단계를 건너뜁니다.

    주의

    이미 데이터가 있는 볼륨을 마운트하는 경우(예: 퍼블릭 데이터 세트 또는 스냅샷에서 생성된 볼륨), 볼륨을 다시 포맷하지 말고 기존 데이터를 삭제하세요.

    디스크가 초기화되어 있지 않으면 다음과 같이 초기화를 수행하세요.

    1. 왼쪽 창에서 마우스 오른쪽 버튼을 클릭하여 디스크에 대한 컨텍스트 메뉴를 열고 디스크 초기화(Initialize Disk)를 선택합니다.

      
                            볼륨을 초기화합니다.
    2. 디스크 초기화(Initialize Disk) 대화 상자에서 파티션 스타일을 선택하고 확인(OK)을 선택합니다.

      
                            볼륨 설정을 초기화합니다.
  5. 오른쪽 창에서 마우스 오른쪽 버튼을 클릭하여 디스크에 대한 컨텍스트 메뉴를 열고 새 단순 볼륨(New Simple Volume)을 선택합니다.

    
                        단순 볼륨을 탑재합니다.
  6. 새로운 단순 볼륨 마법사(New Simple Volume Wizard)에서 다음(Next)을 선택합니다.

    
                        새로운 단순 볼륨 만들기 마법사를 시작합니다.
  7. 기본 최대값을 변경하려면 MB 크기의 단순 볼륨(Simple volume size in MB)을 지정한 후 다음(Next)을 선택합니다.

    
                        볼륨 크기를 지정합니다.
  8. 필요한 경우 다음 드라이브 문자 할당(Assign the following drive letter) 드롭다운에서 권장 드라이브 문자를 지정한 후 다음(Next)을 선택합니다.

    
                        드라이브 문자를 지정합니다.
  9. 볼륨 레이블(Volume Label)을 지정하고 필요에 따라 기본 설정을 조정한 후 다음(Next)을 선택합니다.

    
                        설정을 지정하여 볼륨을 포맷합니다.
  10. 설정을 검토한 다음 완료(Finish)를 선택하여 수정 사항을 적용하고 새 단순 볼륨 만들기 마법사를 닫습니다.

    
                        설정을 검토한 다음, 마법사를 완료합니다.