Education*
Devops
Architecture
F/B End
B.Chain
Basic
Others
CLOSE
Search For:
Search
BY TAGS
linux
HTTP
golang
flutter
java
fintech
개발환경
kubernetes
network
Docker
devops
database
tutorial
cli
분산시스템
www
블록체인
AWS
system admin
bigdata
보안
금융
msa
mysql
redis
Linux command
dns
javascript
CICD
VPC
FILESYSTEM
S3
NGINX
TCP/IP
ZOOKEEPER
NOSQL
IAC
CLOUD
TERRAFORM
logging
IT용어
Kafka
docker-compose
Dart
우분투 리눅스 인스턴스를 재부팅하지 않고 AWS EBS 볼륨을 늘리기
Recommanded
Free
YOUTUBE Lecture:
<% selectedImage[1] %>
yundream
2023-11-15
2023-11-15
1325
 ### AWS EC2 볼륨 확장 AWS EC2(Clastic Compute Cloud)는 컴퓨팅 파워를 제공하는 클라우드 서비스다. 쉽게 말해서 **가상서버**를 제공하는 서비스라고 생각할 수 있다. 가상서버이므로 CPU, Memory, Network, Disk 등을 제공하는데, 이 중 Disk는 **EBS(Elastic Block Store)** 라는 서비스로 제공한다. 사용자는 AWS 관리자 콘솔에서 EBS를 만든 다음 자유롭게 EC2 Instance에 연결할 수 있다. EBS를 ECS Instance에 attach 해서 사용 하다보면 디스크가 꽉 차는 경우가 있다. 이 때 디스크 볼륨을 늘리는 방법에 대해서 살펴보자. ### Ubuntu 리눅스에서 EC2 볼륨 확장 AWS 관리자 콘솔에서 확장하려는 볼륨 정보를 확인하자.  **test-server** 라는 이름의 인스턴스에 8Gib의 크기의 볼륨이 attached 된 걸 확인 할 수 있다. 이 인스턴스의 볼륨의 크기를 20Gib로 늘려볼 것이다. 볼륨을 늘리기 위해서 ssh로 test-server에 로그인한다. **df** 명령을 이용해서 디스크 용량을 확인한다. ``` $ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 7.6G 1.6G 6.0G 21% / tmpfs 475M 0 475M 0% /dev/shm tmpfs 190M 832K 190M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock /dev/xvda15 105M 6.1M 99M 6% /boot/efi tmpfs 95M 4.0K 95M 1% /run/user/1000 ``` 8G 크기의 /dev/root 디바이스가 루트(/) 디렉토리에 마운트(mount)되어 있다. **lbkid** 명령으로 파일 시스템 포맷을 확인해보자.  **ext4** 파일 시스템을 확인 할 수 있다. AWS 관리자 콘솔로 이동해서, 작업할 볼륨을 선택하고 **Modify volume**을 클릭한다.  볼륨 크기를 20GiB로 설정하고 **Modify**를 클릭하면 볼륨이 늘어난다.  이렇게 EBS 볼륨을 늘렸지만 운영체제에서 파일시스템을 확장을 해줘야지 늘어난 공간을 사용 할 수 있다. EC2 인스턴스에 로그인해서 df 로 확인해보자. ``` $ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 7.6G 1.6G 6.0G 21% / tmpfs 475M 0 475M 0% /dev/shm tmpfs 190M 832K 190M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock /dev/xvda15 105M 6.1M 99M 6% /boot/efi tmpfs 95M 4.0K 95M 1% /run/user/1000 ``` 여전히 8G 공간만 사용하고 있다. **lsblk** 명령으로 모든 블록 디바이스에 대한 상세정보를 확인해보자. ``` $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 24.6M 1 loop /snap/amazon-ssm-agent/7528 loop1 7:1 0 55.7M 1 loop /snap/core18/2790 loop2 7:2 0 63.5M 1 loop /snap/core20/2015 loop3 7:3 0 111.9M 1 loop /snap/lxd/24322 loop4 7:4 0 40.8M 1 loop /snap/snapd/20092 xvda 202:0 0 20G 0 disk ├─xvda1 202:1 0 7.9G 0 part / ├─xvda14 202:14 0 4M 0 part └─xvda15 202:15 0 106M 0 part /boot/efi ``` xvda 크기는 20G 이지만 루트 파티션인 xvda1 은 8G만 사용하고 있다. **growpart** 명령을 이용해서 파티션 볼륨을 늘리자. ``` $ sudo growpart /dev/xvda 1 CHANGED: partition=1 start=227328 old: size=16549855 end=16777183 new: size=41715679 end=41943007 ``` 다시 lsblk 로 확인하면 루트 파티션이 20G로 확장된 것을 확인 할 수 있다. ``` $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 24.6M 1 loop /snap/amazon-ssm-agent/7528 loop1 7:1 0 55.7M 1 loop /snap/core18/2790 loop2 7:2 0 63.5M 1 loop /snap/core20/2015 loop3 7:3 0 111.9M 1 loop /snap/lxd/24322 loop4 7:4 0 40.8M 1 loop /snap/snapd/20092 xvda 202:0 0 20G 0 disk ├─xvda1 202:1 0 19.9G 0 part / ├─xvda14 202:14 0 4M 0 part └─xvda15 202:15 0 106M 0 part /boot/efi ``` 이제 **resize2fs** 명령을 실행해서 파일 시스템의 크기를 조정하면 된다. ``` $ sudo resize2fs /dev/xvda1 resize2fs 1.46.5 (30-Dec-2021) Filesystem at /dev/xvda1 is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 3 The filesystem on /dev/xvda1 is now 5214459 (4k) blocks long. ``` **df -h** 명령을 실행해서 사용 가능한 디스크 공간을 확인해보자. ``` $ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 20G 1.7G 18G 9% / tmpfs 475M 0 475M 0% /dev/shm tmpfs 190M 832K 190M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock /dev/xvda15 105M 6.1M 99M 6% /boot/efi tmpfs 95M 4.0K 95M 1% /run/user/1000 ``` 파일 시스템이 20G로 확장됐다. ### 정리 EBS 볼륨은 늘릴 수 있지만 **줄일 수는 없다.** 더 작은 볼륨을 사용하려면, 새로운 볼륨을 만든 다음 애플리케이션을 이용해서 데이터를 더 작은 볼륨으로 마이그레이션 해야 한다. 그러므로 먼 미래를 예상해서 처음부터 큰 볼륨을 할당하는 것보다는 작은 볼륨을 만든 다음 모니터링하면서 늘리는 것을 권장한다.
Recent Posts
MLOps with Joinc - Kubeflow 설치
Vertex Gemini 기반 AI 에이전트 개발 05. 첫 번째 LLM 애플리케이션 개발
LLama-3.2-Vision 테스트
Vertex Gemini 기반 AI 에이전트 개발 04. 프롬프트 엔지니어링
Vertex Gemini 기반 AI 에이전트 개발 03. Vertex AI Gemini 둘러보기
Vertex Gemini 기반 AI 에이전트 개발 02. 생성 AI에 대해서
Vertex Gemini 기반 AI 에이전트 개발 01. 소개
Vertex Gemini 기반 AI 에이전트 개발-소개
생성 AI 모델 Flux.1 설치 및 사용
GPT를 이용한 Reranker 테스트
Archive Posts
Tags
aws
cloud
storage
Copyrights © -
Joinc
, All Rights Reserved.
Inherited From -
Yundream
Rebranded By -
Joonphil
Recent Posts
Archive Posts
Tags