티스토리 뷰

카테고리 없음

EC2의 EBS 볼륨 확장 후 운영체제에서 추가로 확인할 항목

생각방 2026. 11. 3. 19:43

목차


    EC2의 EBS 볼륨을 늘렸는데 서버에서는 여전히 기존 용량만 보이는 경우가 있습니다. 비용을 더 투자해서 스토리지를 늘렸는데 안보이니 우선 파일시스템이 의심갑니다. AWS에서 확보한 저장 공간이 곧바로 파일시스템의 사용 가능 공간이 되는 것은 아니기 때문입니다. Linux 서버에서 볼륨, 파티션, 파일시스템을 어떤 순서로 확인할지 살펴보겠습니다.

    늘어난 볼륨과 사용 공간의 차이

    확장된 볼륨과 실제 사용 공간의 차이

    EBS 볼륨은 서버에 연결된 저장 장치이고, 파티션은 그 장치를 나눈 영역입니다. 파일시스템은 그 위에서 파일을 저장하고 관리합니다. 구성에 따라 파티션 없이 볼륨 전체에 파일시스템을 만들거나, 중간에 LVM 논리 볼륨을 둘 수도 있습니다.

    예를 들어 디스크 볼륨을 50G에서 100G로 늘렸더라도 파티션과 파일시스템이 이전 크기라면, OS에서 인식하고 애플리케이션이 쓰는 공간은 그대로일 수 있습니다. 반대로 운영체제 설정에 따라 이미 확장됐을 수도 있으므로 먼저 현재 상태를 확인합니다.

    AWS에 따르면 볼륨 크기 증가는 수정 상태가 optimizing에 이르면 적용되며, 파일시스템 확장 전에 상태가 optimizing 또는 completed인지 확인합니다. AWS 수정 진행 상태

    핵심 요약: AWS의 볼륨 크기와 서버의 파일시스템 크기는 각각 확인할 항목입니다.

    볼륨·파티션·파일시스템의 관계

    대상 장치와 확장이 멈춘 단계 확인

    작업 전에는 해당 볼륨의 스냅샷을 준비하고 복구 방법을 확인합니다. 스냅샷은 기존 볼륨을 즉시 되돌리는 버튼이 아니라 복구용 볼륨을 만드는 수단이므로, 데이터 일관성과 복원 절차도 함께 검토합니다.

    아래 조회 명령으로 장치의 크기와 연결 관계, 파일시스템 종류, 마운트 위치를 확인합니다. 예시는 조회용이며 실제 서비스가 쓰는 경로와 EBS 볼륨이 일치하는지 EC2 연결 정보와 함께 대조해야 합니다.

    lsblk -f
    lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
    df -hT

    예를 들어 디스크가 100 GiB이고 그 안의 파티션이 50 GiB라면 파티션 단계부터 살펴봅니다. 파티션은 커졌지만 df에 표시된 파일시스템이 작다면 파일시스템 확장 여부를 확인합니다. 실제 표시 크기는 파일시스템 메타데이터와 단위 차이 때문에 EBS 설정값과 정확히 같지 않을 수 있습니다.

    장치명이 /dev/nvme0n1처럼 보이더라도 이름만으로 볼륨을 추정하지 않습니다. LVM, 암호화, RAID 또는 여러 파티션이 있으면 구성별 추가 단계가 필요하므로 아래의 단순 예시를 그대로 적용하지 않습니다.

    핵심 요약: lsblk는 장치 계층을, df -hT는 마운트된 파일시스템의 크기와 종류를 확인하는 데 사용합니다.

    스냅샷과 마운트 경로 점검

    파티션과 파일시스템을 순서대로 확장

    다음은 파티션 하나에 파일시스템이 있고 LVM을 사용하지 않는 Linux의 가정 예시입니다. 실제 장치가 /dev/nvme0n1, 대상 파티션이 1번이고 해당 파티션 뒤에 확장 가능한 공간이 있을 때만 파티션 확장을 검토합니다. 디스크명과 파티션 번호 사이에는 공백이 있습니다.

    sudo growpart /dev/nvme0n1 1

    파티션이 없거나 이미 필요한 크기로 확장되어 있다면 이 단계를 적용하지 않습니다. 작업 후 lsblk로 파티션 크기를 다시 확인합니다. 임시 디렉터리를 만들 공간이 부족해 growpart가 실패할 수 있으므로 오류 메시지도 확인합니다.

    이어서 파일시스템 종류에 맞는 명령을 선택합니다. 아래 두 명령은 같은 상황에서 모두 실행하는 명령이 아니라, XFS와 ext4 중 실제 유형에 따라 하나를 선택하는 예시입니다.

    # XFS이고 실제 마운트 지점이 /data인 경우
    sudo xfs_growfs /data
    
    # ext4이고 실제 대상이 /dev/nvme0n1p1인 경우
    sudo resize2fs /dev/nvme0n1p1

    XFS 예시는 마운트 지점을, ext4 예시는 파일시스템이 있는 장치를 지정합니다. 이 값들은 환경에 맞춰 확인해야 합니다. LVM을 사용한다면 물리·논리 볼륨 확장까지 별도로 검토해야 하며, 자세한 조건은 AWS 파일시스템 확장 문서를 참고합니다.

    마지막으로 df -hT와 lsblk를 다시 실행해 변경 전후를 비교하고, 서비스가 실제 사용하는 마운트 경로의 여유 공간을 확인합니다. 오류가 나면 장치명을 바꿔가며 반복하기보다 명령과 출력, 장치 연결 관계를 먼저 점검합니다.

    핵심 요약: 파티션이 있는 경우 파티션을 먼저 확인하고, 파일시스템 종류에 맞춰 확장한 뒤 실제 사용 경로를 검증합니다.

    자주 묻는 질문

    EBS 볼륨을 늘리면 항상 재부팅해야 하나요?

    항상 그런 것은 아닙니다. 지원되는 구성에서는 Elastic Volumes를 이용해 연결을 유지한 채 변경할 수 있습니다. 다만 지원 여부와 운영체제·스토리지 구성에 따라 절차가 달라지므로 해당 환경을 확인해야 합니다.

    df와 lsblk의 용량이 다른 이유는 무엇인가요?

    lsblk는 블록 장치와 파티션의 크기를, df는 마운트된 파일시스템의 용량을 보여줍니다. 서로 다른 계층이므로 파티션 또는 파일시스템이 아직 확장되지 않았거나 메타데이터·표시 단위 차이가 있으면 값이 다를 수 있습니다.

    파티션이 없는 볼륨에도 growpart를 실행하나요?

    아닙니다. 파티션 없이 파일시스템을 장치에 직접 만든 구성이라면 파티션 확장 단계가 없습니다. 파일시스템이 놓인 장치와 유형을 확인한 뒤 해당 문서를 따라 확장합니다.

    결론

    EBS 확장은 콘솔의 숫자를 바꾸는 것에서 끝나지 않습니다. 변경 상태와 복구 수단을 확인한 뒤, 대상 볼륨부터 파티션과 파일시스템까지 순서대로 비교하고 실제 서비스 경로의 여유 공간으로 마무리합니다. 구성이 불명확하거나 LVM·암호화가 있다면 먼저 구조를 확인한 후 해당 절차를 선택하는 편이 안전합니다.

    참고자료