본문 바로가기
[AWS-SM]/EC2

[AWS] EBS 볼륨 생성/자동 마운트/크기 확장

by SAMSUNG Metaverse-Cloud 2023. 2. 27.
728x90

 

## Ubuntu 디스크 확장시 명령어
- sudo growpart /dev/xvda 1
- sudo resize2fs /dev/xvda1

 

 

 

오늘은 실제로 EBS 볼륨 생성, Linux2 가상머신에 EBS를 마운트하고, EBS 볼륨의 크기를 확장해보겠습니다.

 

🙋‍♀️먼저, EBS가 무엇일까요?

EBS(Elastic Block Store) ❓

Amazon Elastic Block Store

정의

  • EC2 인스턴스를 위한 사용자 지정 가능한 영구 블록 스토리지(하드디스크 라고 생각하면 쉬움!)

특징

  • HDD와 SDD 유형 중에서 선택가능
  • 동일한 가용 영역에서 실행중인 여러 서버에 자동으로 복제됨
  • 특정 지점 스냅샷을 사용하여 백업가능해서 보다 높은 수준의 데이터 내구성을 제공함
  • 쉽고 투명한 암호화 지원
  • 탄력적 볼륨, 다른 유형으로 변경 가능, 용량 확장 가능
  • 용량 scale down은 불가능 -> 이를 위해서는 더 작은 크기의 새로운 EBS장치를 생성해, mount를 다시 해주어야함

EBS 볼륨 - 생성


AWS 콘솔 - EC2 - Elastic Block Store - 볼륨 - 볼륨 생성을 차례대로 클릭해줍니다.

 

아래 사진의 순서대로 선택하고 입력한 후에, 볼륨 생성 버튼을 눌러주세요.
볼륨 유형, 크기, 가용 영역, 태그 모두 자신의 환경에 맞는 것으로 선택하고 입력해주세요.

 

EBS 볼륨은 EC2 가상머신에 마운트해서 사용하는 것입니다.
그렇기 때문에, 방금 만든 EBS 볼륨을 체크하고 작업 메뉴에서 볼륨 연결을 클릭해주세요.

 

어떤 EC2 인스턴스에 마운트할 것인지, 여기서 선택해줍니다.
장치명은 default 값으로 두고 연결 버튼을 눌러줍니다.

아래 참고 문구처럼, 실제 sdf 장치명을 사용했지만 최신 Linux 커널로 인해 내부적으로 xvdf로 바뀝니다.
마운트하면 장치명이 xvdf로 나옵니다.

** 5세대 인스턴스 유형의 경우, 실제 파일시스템을 조회하면 /dev/nvme[0-26]n1 로 변경됩니다. 

 


EBS 볼륨 - 원하는 파일시스템으로 포맷


AWS 콘솔에서 볼륨을 생성하고, 해당 EC2에 연결을 했습니다.
그렇기 때문에, lsblk 명령어를 통해 새로만든 EBS 볼륨이 잘 연결이 됬는지 확인할 수 있습니다.

* lsblk : 파일 시스템 조회 명령어



인스턴스에 Amazon EBS 볼륨을 연결하면 이 볼륨은 블록 디바이스에서는 이동식 디스크로 표시됩니다.
볼륨을 원하는 파일 시스템으로 먼저 포맷해야합니다.
XFS 유형의 파일시스템으로 포맷하겠습니다!

* sudo mkfs -t {볼륨 Type} {볼륨 장치명} : 해당 볼륨을 파일시스템으로 포맷하는 명령어

 


EBS 볼륨 - 자동 마운트

파일 시스템으로 포맷을 했으면, 마운트할 준비가 완료된 것입니다!
재부팅을 해도 해당 파일시스템이 자동으로 마운트되도록 해보겠습니다.

* sudo blkid : 현재 파일시스템들의 UUID와 TYPE을 확인할 수 있는 명령어




* sudo vi /etc/fstab : 리눅스에서 사용하는 파일시스템 정보를 정적으로 저장하고 있는 파일인 /etc/fstab을 열어줍니다.



blkid로 확인했던 파일시스템의 UUID와 TYPE을 복사해서,
아래 사진처럼 형식에 맞게 넣어주세요.
저는 data라는 폴더를 하나 만들어서(sudo mkdir /data), 해당 폴더를 마운트 지점으로 지정했습니다.

 

sudo mount -a : /etc/fstab에 있는 파일시스템 전체를 다시 mount하겠다는 명령어(뒤덮어쓰는 개념, 굳이 umount 안해도 덮어씌워지기 때문에 해당 명령어만 이용하면 됩니다!)

 

* df -h : 리눅스 시스템 전체의 (마운트 된) 디스크 사용량 확인 명령어


EBS 볼륨 - 크기 확장

현재 등록한 볼륨은 8기비바이트(GiB)입니다.
용량(크기)이 부족한 일이 생긴다면 어떻게 될까요? 

크기를 10기비바이트로 확장해보겠습니다.

AWS 콘솔 - EC2 - Elastic Block Store - 볼륨 - 크기를 확장할 볼륨 선택 - 작업 - 볼륨 수정을 차례대로 클릭해줍니다.

 

확장하고 싶은 크기를 입력해준 뒤에, 수정 버튼을 누르고 예를 클릭해주세요.

 

볼륨 수정이 완료되고, 닫기를 누른 후 볼륨 목록에서 in-use 상태가 될때까지 기다려주세요.

 

(중요!) AWS 콘솔에서 크기를 수정했다고 해서, 리눅스 인스턴스에서 자동으로 볼륨 크기가 확장되지 않습니다.
다음의 명령어를 통해 설정을 꼭 해주셔야합니다!!!!

* sudo xfs_growfs -d {마운트 위치} : XFS 볼륨 유형일 때 - /data 폴더 안의 볼륨을 확장하겠다는 명령어
* sudo resize2fs {장치명} :  ex4 볼륨 유형일 때 - /dev/xvdf 장치명을 가진 볼륨을 확장하겠다는 명령어

 

각 파일 시스템에 늘어난 볼륨 크기가 반영되었는지 확인하려면 df -h 명령을 사용합니다.

 

 

 

 

출처 : https://minjii-ya.tistory.com/27

728x90