이번 포스트에서는 AWS EC2 인스턴스에 EBS 볼륨(스토리지 디스크)을 추가 등록하는 방법에 대해 정리한다. Ubuntu 서버 기준으로 EBS 확인, 경로 지정, 마운트 등 일련의 과정을 기록해두었다.
EBS Volume을 추가하는 경우
기존에 사용중인 인스턴스에 디스크 용량이 부족하거나, 특정 데이터를 다른 디스크에 분류해서 저장하고 싶을 경우 새로운 EBS를 붙여 사용할 수 있다. 이때, 추가된 디스크는 서버에서 마운트(mount) 작업이 필요하다.
나의 경우 EC2 서버에 블록체인 노드 관련 2TB 가량의 추가 디스크가 필요해 기존 20G 스토리지에 2TB EBS 볼륨을 추가하였다.
서버 용량 및 연결 디스크 확인
먼저 EBS를 추가하려는 서버 파일시스템을 확인해야 한다. df
명령어와 lsblk
명령어를 사용하였다.
df -h
: 파일 시스템의 총 용량(Size)과 사용 가능 용량(Avail) 출력 ( -h 플래그로 MB, GB 단위 표기 )lsblk
: 사용 가능한 디스크 디바이스 및 마운트 포인트 출력 (해당 명령어 출력문에서 디바이스 경로 /dev/ 가 생략된다.)lsblk -f
: 인스턴스에 연결된 모든 디바이스 관련 정보 출력file -s
: EBS 볼륨에 파일 시스템이 존재하는지 확인 (새 볼륨은 원시 블록 디바이스이기 때문에 해당 볼륨에 파일 시스템을 생성해야 한다.)
lsblk 명령어 출력문에서 nvme0n1
은 현재 서버에 마운트 되어 사용 중인 디스크 디바이스 이름을 나타내며 기본 경로는 /
로 표기되어 있다. 이것과 비교해봤을 때, 내가 추가하려는 2TB의 nvme1n1
디스크는 스토리지 등록은 되어있지만 따로 연결되지 않음을 유추할 수 있다.
마운트가 필요한 디스크 디바이스를 파악했으니 file -s 명령어로 해당 볼륨에 파일 시스템이 있는지 확인한다. 볼륨 경로에 /dev/ 가 생략되어 있기에 경로 입력에 주의하자.
경로와 볼륨 디바이스 이름을 잘 입력했다면, 위와 같이 data
라는 경과가 출력될 것이다. data 결과값은 해당 디바이스에 파일 시스템이 존재하지 않으며, 파일 시스템 추가(마운트) 작업이 필요함을 나타낸다.
만약, 디바이스에 팔일 시스템이 있다면, 아래와 같은 결과가 출력될 것이다.
/dev/nvme1n1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
참고로 lsblk -f 명령어를 입력하면 보다 가시적으로 FSTYPE 항목에 파일 시스템이 표기되니 이 방식으로 확인해도 된다.
EBS Volume 파일 시스템 등록
디스크 마운트 포인트를 확인했다면 정확한 경로와 디바이스 이름을 명시하여 아래 명령어를 실행한다. 실행이 성공적으로 이루어졌다면 메타 데이터 정보와 함께 아래 이미지와 같은 결과가 출력될 것이다.
만약, mkfs xfs 명령어가 발견되지 않는 오류가 발생하는 경우 명령어 패키지가 없는 것이니 아래 코드 블록을 참조해 해결할 수 있다.
# 디스크 마운트 (/dev/ 뒤 디바이스 이름은 다를 수 있다.)
sudo mkfs -t xfs /dev/nvme1n1
# 위 명령어에 mkfs xfs 명령어 오류가 발생할 경우 XFS 패키지를 설치한 뒤 재실행하면 된다.
sudo yum install xfsprogs
EBS Volume 마운트
파일 시스템 등록 후, 디스크가 할당될 디렉토리를 생성 및 지정하고, 마운트를 진행한다.
나는 서버 root 경로에 data 디렉토리를 생성하고, 이곳을 마운트 포인트로 지정해두었다.
# 디스크가 사용될 디렉토리를 경로와 함께 지정
sudo mkdir /data
# 디스크 마운트 (디렉토리 경로에 주의)
sudo mount /dev/nvme1n1 /data
EBS Volume 마운트 확인
지금까지의 과정을 잘 따라왔다면 df -h 명령어를 다시 실행했을 때, 아래와 같이 사용 중인 파일 시스템 목록에 추가한 디스크가 등록되어 있음을 확인할 수 있다.
AWS 공식문서
아래 링크는 오늘 포스트 관련 AWS 공식 가이드 문서다. EBS 볼륨 마운트 과정에서 발생할 수 있는 에러 사항에 대한 솔루션이 잘 기재되어 있다.
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ebs-using-volumes.html
'Server & Network > AWS' 카테고리의 다른 글
[AWS] CI/CD 구성(2) - 소스 빌드 CodeBuild (1) | 2022.04.29 |
---|---|
[AWS] CI/CD 구성(1) - 소스 저장소 CodeCommit (0) | 2022.04.24 |
[AWS] EBS Volume 확장, 파티션 수정 (3) | 2022.04.14 |
[AWS] 로드벨런서(Load Balancers) Listener 룰 추가 & 수정 - ALB, NLB (0) | 2022.04.14 |
[AWS] RDS 파라미터 그룹(Parameter Groups) 설정 (0) | 2022.04.01 |
댓글