[AWS] EBS 볼륨 생성 및 마운트

전형빈·2023년 3월 19일
0

AWS

목록 보기
3/10
post-thumbnail

EBS란 EC2 인스턴스에서 디스크처럼 사용할 수 있는 스토리지로 다수의 인스턴스에 동시에 연결할 수 있는 AWS의 외장 하드디스크

EBS는 아래와 같은 특징이 있다.

  • 필요한 용량에 맞게 생성, 제거가 가능
  • EBS volume의 백업, 리전에 중복 저장 가능 (증분식 백업 : 마지막 스냅샷 이후 변경된 volume의 블록만 저장)
  • AWS KMS를 사용하여 암호화된 volume 생성 가능
  • 인스턴스 수명에 관계 없이 데이터 유지
  • 옵션을 사용하여 인스턴스 종료 시 연결된 volume도 삭제 가능 (분리도 가능)

서버에서 작업을 하다보면 디스크 용량이 부족한 경우가 있다. 이 때 디스크를 증설해줘야 되는데 AWS의 경우 2가지 방법이 있다.

  1. 루트 volume 확장
  2. EBS volume을 생성하여 인스턴스에 마운트

루트 volume 확장 같은 경우 인스턴스의 volume에서 사이즈만 늘려주면 되고,
EBS를 생성하여 인스턴스에 마운트 해주면 새로운 파일 시스템으로 /가 아닌 지점에 마운트 해줄 수 있다.


루트 volume 확장

인스턴스에 스토리지를 8G로 설정하고 생성하고 df -h 명령어를 실행하면 서버의 디스크 용량을 확인할 수 있다. 기본적으로 /에 마운트되며 저 루트 volume을 확장하려면 인스턴스 중지 후 해당 volume 사이즈만 조절하면 된다. 인스턴스 중지 → volume ID 선택 → vloume 수정 → 인스턴스 재기동 → df -h
/dev/xvda1가 20G로 늘어난걸 확인할 수 있다.

또 다른 방법으론 EBS volume을 생성하여 인스턴스에 마운트 해주는 방법도 있다. 이 방법을 이용하면 /가 아닌 다른 곳에 마운트해줄 수 있다.


EBS volume을 생성하여 인스턴스에 마운트

서버에 DB 등을 설치하고자 할 때 DB 관련 디렉터리는 대부분 DBA 분들만 사용하기 때문에 해당 디렉터리의 소유권을 DBA 분들로 지정하게 된다.

해당 디렉터리의 디스크가 다 차게 되었을 경우 EBS volume만 마운트해주면 간단히 디스크 증설이 가능하다.

이런 식으로 디렉터리 별로 디스크 관리를 할 때 EBS volume 마운트를 사용하면 용이하다.

volume → volume 생성 → vloume 설정 → 생성
volume 유형에서 SSD는 빠른 처리, HDD는 SSD에 비해 처리는 느리지만 사이즈가 크다.
생성한 volume을 인스턴스에 연결해주면 된다. 참고에 나와있지만 실제 장치명이 sdf여도 최신 linux 버전에선 /xvdf로 나온다.
참고로 5세대 인스턴스 유형의 경우, 실제 파일시스템을 조회하면 /dev/nvme[0-26]n1으로 나온다.

웹 콘솔에서 인스턴스를 확인해 보면 아래처럼 마운트가 잘 된 모습을 볼 수 있다.
서버에서도 lsblk로 EBS volume이 잘 연결되었는지 확인할 수 있다.

처음 EBS volume을 연결하면 해당 volume은 이동식 디스크로 표시된다. volume을 원하는 파일 시스템으로 먼저 포맷해주어야 한다.

XFS 유형의 파일시스템으로 포맷
sudo mkfs -t [volume type] [장치명] 이 때 UUID가 같이 생성된다. 이제 해당 파일 시스템을 마운트 해줘야 하는데 시스템이 재부팅되더라도 자동으로 마운트 되게할 수 있다.

당연히 마운트 할 디렉터리도 존재해야 한다. (/volume_test)

sudo blkid → 마운트할 파일시스템의 UUID와 TYPE 체크
sudo vi /etc/fstab
→ UUID=[파일 시스템의 UUID]	[마운트할 위치]	[파일시스템 형식] 형식으로 fstab에 추가

위 작업 후 sudo mount -a를 하면 된다. (fstab의 전체 파일시스템을 재마운트)
잘 마운트가 된 모습을 볼 수 있다.

0개의 댓글