기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon EBS 볼륨을 사용할 수 있도록 설정
Amazon EBS 볼륨을 인스턴스에 연결하면 블록 디바이스로 노출됩니다. 볼륨을 원하는 파일 시스템으로 포맷한 다음 마운트합니다. EBS 볼륨을 사용할 수 있도록 설정한 후 다른 볼륨에 액세스하는 것과 동일한 방식으로 볼륨에 액세스할 수 있습니다. 이 파일 시스템에 기록된 모든 데이터는 EBS 볼륨에 기록되며 디바이스를 사용하는 애플리케이션에 투명합니다.
백업 목적으로 또는 다른 EBS 볼륨을 생성할 때 기준으로 사용할 볼륨의 스냅샷을 만들 수 있습니다. 자세한 내용은 Amazon EBS 스냅샷 단원을 참조하십시오.
사용 준비 중인 EBS 볼륨이 2TiB보다 큰 경우 GPT 파티셔닝 체계를 사용하여 전체 볼륨에 액세스해야 합니다. 자세한 내용은 Amazon EBS 볼륨 제약 조건 단원을 참조하십시오.
연결된 볼륨 포맷 및 탑재
루트 디바이스에 대한 EBS 볼륨이 있는 EC2 인스턴스/dev/xvda
가 있고를 사용하여 빈 EBS 볼륨을 인스턴스에 연결했다고 가정해 보겠습니다/dev/sdf
. 다음 절차에 따라, 새로 연결한 볼륨을 사용할 수 있게 만드세요.
Linux에서 EBS 볼륨을 포맷하고 탑재하려면
-
를 사용하여 인스턴스에 연결합니다SSH. 자세한 내용은 Linux 인스턴스에 연결을 참조하세요.
-
디바이스는 블록 디바이스 매핑에 지정한 것과는 다른 디바이스 이름으로 인스턴스에 연결할 수 있습니다. 자세한 내용은 Linux 인스턴스의 디바이스 이름을 참조하세요. lsblk 명령을 사용하면 사용 가능한 디스크 디바이스 및 마운트 포인트(해당하는 경우)가 표시되어 사용 가능한 올바른 디바이스 이름을 결정하는 데 도움을 받을 수 있습니다. lsblk 명령의 출력에서는 전체 디바이스 경로 중 맨 앞에
/dev/
가 생략됩니다.다음은 EBS 볼륨을 NVMe 블록 디바이스로 노출하는 Nitro 시스템에 구축된 인스턴스의 출력 예제입니다. 루트 디바이스는
nvme0n1p1
및nvme0n1p128
이라는 두 개의 파티션이 있는/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
-
볼륨에 파일 시스템이 있는지 확인합니다. 새 볼륨은 원시 블록 디바이스이므로 볼륨을 탑재하고 사용하기 전에 해당 볼륨에서 파일 시스템을 생성해야 합니다. 스냅샷에서 생성된 볼륨에는 이미 파일 시스템이 있을 수 있습니다. 기존 파일 시스템 위에 새 파일 시스템을 생성하면 해당 작업으로 데이터가 덮어쓰기됩니다.
볼륨에 파일 시스템이 있는지 여부를 확인하려면 다음 방법 중 하나 또는 모두를 사용하세요.
-
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
,nvme0n1
및nvme2n1
)를 보여줍니다. 첫 번째 열에는 디바이스와 해당 파티션이 나열됩니다.FSTYPE
열에는 각 디바이스의 파일 시스템 유형이 표시됩니다. 특정 디바이스에 대한 열이 비어 있으면 디바이스에 파일 시스템이 없음을 의미합니다. 이 경우 디바이스nvme1n1
와 디바이스nvme0n1p1
의 파티션nvme0n1
은 모두 XFS 파일 시스템을 사용하여 포맷되지만 디바이스nvme2n1
와 디바이스nvme0n1p128
의 파티션에는 파일 시스템이nvme0n1
없습니다.NAME FSTYPE LABEL UUID MOUNTPOINT nvme1n1 xfs 7f939f28-6dcc-4315-8c42-6806080b94dd nvme0n1 ├─nvme0n1p1 xfs / 90e29211-2de8-4967-b0fb-16f51a6e464c / └─nvme0n1p128 nvme2n1
이러한 명령의 출력에 디바이스에 파일 시스템이 없다고 표시된 경우 생성해야 합니다.
-
-
(선택 사항) 이전 단계에서 디바이스에 파일 시스템이 있음을 발견했다면, 이 단계는 생략하세요. 빈 볼륨이 있다면 mkfs -t 명령을 이용해 볼륨에서 파일 시스템을 생성하세요.
주의
이미 데이터가 있는 볼륨(예: 스냅샷에서 생성된 볼륨)을 탑재하는 경우, 이 명령을 사용하지 마세요. 아니면 볼륨을 포맷하여 기존 데이터를 삭제합니다.
[ec2-user ~]$
sudo mkfs -t xfs
/dev/xvdf
찾을 수
mkfs.xfs
없는 오류가 발생하면 다음 명령을 사용하여 XFS 도구를 설치한 다음 이전 명령을 반복합니다.[ec2-user ~]$
sudo yum install xfsprogs
-
mkdir 명령을 사용하여 볼륨에서 사용할 탑재 지점 디렉터리를 생성합니다. 마운트 포인트는 파일 시스템 트리에 볼륨이 위치하고 볼륨을 마운트한 후 파일을 읽고 쓰는 위치입니다. 다음은
/data
라는 이름의 디렉터리를 생성하는 예제입니다.[ec2-user ~]$
sudo mkdir
/data
-
이전 단계에서 생성한 탑재 지점 디렉터리에서 볼륨이나 파티션을 탑재합니다.
볼륨에 파티션이 없는 경우 다음 명령을 사용하여 전체 볼륨을 탑재할 디바이스 이름을 지정합니다.
[ec2-user ~]$
sudo mount
/dev/xvdf
/data
볼륨에 파티션이 있는 경우 다음 명령을 사용하여 파티션을 탑재할 파티션 이름을 지정합니다.
[ec2-user ~]$
sudo mount
/dev/xvdf1
/data
-
새 볼륨 마운트의 파일 권한을 검토하여 사용자 및 애플리케이션이 볼륨에 기록할 수 있는지 확인합니다. 파일 권한에 대한 자세한 내용은 Linux Documentation Project에서 File security
단원을 참조하십시오. -
탑재 지점은 인스턴스를 재부팅하면 자동으로 보존되지 않습니다. 재부팅 후이 EBS 볼륨을 자동으로 탑재하려면 다음 절차를 따릅니다.
재부팅 후에도 연결된 볼륨을 자동으로 탑재
시스템을 재부팅할 때마다 연결된 EBS 볼륨을 탑재하려면 디바이스에 대한 항목을 /etc/fstab
파일에 추가합니다.
/dev/xvdf
에서와 같은 디바이스 이름을 사용할 수 /etc/fstab
있지만, 대신 디바이스의 128비트 범용 고유 식별자(UUID)를 사용하는 것이 좋습니다. 디바이스 이름은 변경될 수 있지만는 파티션 수명 내내 UUID 유지됩니다. 를 사용하면 하드웨어 재구성 후 시스템을 부팅할 수 없게 될 가능성을 UUID줄일 수 있습니다. 자세한 내용은 Amazon EBS 볼륨을 NVMe 디바이스 이름에 매핑 단원을 참조하십시오.
재부팅 후 연결된 볼륨을 자동으로 탑재하는 방법
-
(선택 사항) 수정 도중 실수로 이 파일이 손상되거나 삭제되는 경우에 대비하여
/etc/fstab
파일의 백업을 생성합니다.[ec2-user ~]$
sudo cp /etc/fstab /etc/fstab.orig
-
blkid 명령을 사용하여 디바이스UUID의를 찾습니다. 재부팅 후 탑재하려는 디바이스UUID의를 기록해 둡니다. 다음 단계에서 필요합니다.
예를 들어 다음 명령은 인스턴스에 두 개의 디바이스가 탑재되어 있음을 나타내며 두 디바이스 모두에 UUIDs 대한를 보여줍니다.
[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
-
nano 또는 vim과 같은 텍스트 편집기를 사용하여
/etc/fstab
파일을 엽니다.[ec2-user ~]$
sudo vim /etc/fstab
-
다음 항목을
/etc/fstab
에 추가해 디바이스를 지정된 탑재 지점에 탑재합니다. 필드는 blkid (또는 Ubuntu 18.04의 lsblk 경우)에서 반환하는 UUID 값, 탑재 지점, 파일 시스템 및 권장 파일 시스템 탑재 옵션입니다. 필수 필드에 대한 자세한 내용을 보려면man fstab
를 실행하여 fstab 매뉴얼을 엽니다.다음 예제에서는를 사용하여 디바이스를 탑재 지점UUID
aebf131c-6957-451e-8d34-ec978d9581ae
에 탑재/data
하고xfs
파일 시스템을 사용합니다. 또한defaults
및nofail
플래그를 사용합니다.0
을 지정하여 파일 시스템이 덤프되지 않도록 하고2
를 지정하여 루트 디바이스가 아님을 나타냅니다.UUID=
aebf131c-6957-451e-8d34-ec978d9581ae
/data
xfs
defaults,nofail 0 2참고
(볼륨을 다른 인스턴스로 옮긴 후 등의 상황에서) 이 볼륨을 연결하지 않고 인스턴스를 부팅했다면,
nofail
탑재 옵션을 이용해 볼륨 탑재 시 오류가 있더라도 인스턴스를 부팅할 수 있습니다. 16.04 이전의 Ubuntu 버전을 포함하는 Debian 계열 시스템에서는nobootwait
탑재 옵션도 추가해야 합니다. -
항목이 제대로 작동하는지 확인하기 위해, 다음 명령을 실행해 디바이스 탑재를 해제하고
/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 인스턴스에서 볼륨을 사용할 수 있도록 만듭니다.