일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 자바
- spring webflux
- design pattern
- IT
- Kafka
- 운영체제
- MSA
- 알고리즘
- MySQL
- Spring
- 파이썬
- mongoDB
- C
- redis
- Data Structure
- OS
- 디자인 패턴
- 네트워크
- Heap
- Proxy
- JPA
- 백준
- 자료구조
- Algorithm
- Galera Cluster
- JavaScript
- c언어
- react
- Java
- 컴퓨터구조
- Today
- Total
시냅스
EC2 스토리지 증가 시 적용되지 않을 때 (+ Linux File System) 본문
이 글에서는 EC2 스토리지를 증설 시에도 적용이 되지 않는 문제를 살펴봅니다.
Linux File System 의 간략한 설명을 함께 합니다.
Amazon EBS 는 유연한 볼륨의 변경을 가능하게 합니다.
필요에 의해 스토리지 용량을 증가시킬 때에도 간편하게 사용할 수 있습니다.
EC2 에서는 EBS를 기본 Secondary Storage 로 채택하고 있습니다.
이런 변경에 있어 EC2 인스턴스의 EBS 볼륨 크기를 증가시켰음에도 불구하고,
df -h 명령어를 통해 확인할 때 파일 시스템의 용량은 여전히 원래대로 보이는 경우가 있습니다.
반면 lsblk 명령어를 통해 확인하면 볼륨의 크기는 정상적으로 증가한 것을 확인할 수 있습니다.
아래에서는 그에 대한 예시와 설명을 함께 합니다.
스토리지 증설 전
스토리지 용량을 증가시키기 전
lsblk 명령어를 사용하여 현재 물리 디스크에 대한 정보를 확인합니다.
마찬가지로 df -h 명령어를 사용하여 파일 시스템을 확인합니다.
총 8G 로 별도의 파티션 없이(temp, boot 제외) 구성되어 있는 것을 확인할 수 있습니다.
스토리지 증설 후
(ec2 에서 스토리지 용량을 증가시키는 것은 매우 간단하므로 제외합니다.)
lsblk 명령어를 통해 물리 디스크가 30G 로 증설된 것을 확인할 수 있습니다.
다만, partition 에는 할당되지 않은 것을 확인할 수 있습니다.
다시 df -h 로 파일 시스템을 확인해보니, 어떤 파티션에도 적용되지 않은 것을 볼 수 있습니다.
만약 lsblk 를 건너뛰고 df -h 로 용량을 확인했다면 적용이 되지 않은 것으로 오해할 수도 있습니다.
원인 이해
위 현상은 리눅스 파일 시스템과 물리적인 스토리지 사이의 차이점에서 비롯됩니다.
lsblk 로 물리적 디스크 파티션의 크기를 보여주며, df -h 로 파일시스템의 사용 가능한 용량을 보여줍니다.
파일 시스템은 디스크 공간을 어떻게 구성하고 사용할지 결정하는 역할을 합니다.
때문에 실제 디스크 공간이 변경되더라도 변경사항을 자동으로 갱신하지 않습니다.
다시 말하면, 파일 시스템이 디스크 공간을 구성/명령 수행하므로
물리적인 디스크가 증설 됐음에도 파일 시스템이 인식하지 않으면 사용할 수 없다는 것입니다.
(물리적인 디스크가 증설됐을 때 파티션을 OS 가 자동으로 구성한다면 그게 더 골치아플 것이기 때문입니다.)
차후 이러한 개념은 LVM 으로 나아가기도 합니다.
해결
(ubuntu 22를 기준으로 하였습니다.)
따라서 할당 받은 물리 디스크를 파일 시스템에 인식해주는 절차가 필요합니다.
절차는 총 2단계로 이뤄집니다.
1. OS 가 어느 파티션에 물리 디스크를 할당 할 것인지
2. 할당받은 디스크를 리사이징
아래에서 직접 수행하며 확인하겠습니다.
sudo growpart /dev/xvda 1
EBS를 8G 에서 30G 로 증가시킨 이후
xvda1 에 30G 로 할당해주었습니다.
sudo resize2fs /dev/xvda1
resize2fs 명령어를 통해 할당받은 물리 디스크를 파일 시스템이 인식할 수 있게 하였습니다.
위 두 작업을 통해 증가된 스토리지를 정상적으로 반영한 것을 확인할 수 있습니다.
다만, 작업 이전에는 중요한 데이터를 백업하는 것을 권장드립니다.
끝!
'운영체제' 카테고리의 다른 글
파일 시스템 구현, Implementing File-Systems (0) | 2022.07.03 |
---|---|
파일 시스템 인터페이스, File-System Interface (0) | 2022.06.16 |
입출력 시스템, I/O System (0) | 2022.06.07 |
대용량 저장장치 구조, Mass-Storage Structure (0) | 2022.06.06 |
가상 메모리, Virtual Memory (0) | 2022.05.24 |