AWS EBS 볼륨 관리 마스터하기

Ryu whi young·2026년 2월 25일

Cloud

목록 보기
3/6
post-thumbnail

이 가이드는 AWS 환경에서 새로운 저장 장치(EBS)를 생성하고, 리눅스 인스턴스에 연결하여 영구적으로 사용하는 전체 과정을 다룹니다.

이번 글은 제가 실습한 내용을 Google Gemini가 분석하여 작성해준 솔루션입니다.


1. 개요 및 환경

  • 인스턴스: whi02-linuxOS-AMI-HandsOn (Amazon Linux 2023 등)
  • 볼륨: 2GiB EBS 볼륨 (whi02-Volume-A)
  • 최종 목적: 추가 볼륨을 리눅스 특정 폴더에 연결하고, 재부팅 후에도 자동 연결되도록 설정.

2. 전체 실습 흐름 (Workflow)

1. 볼륨 인식 및 이름 확인

AWS 콘솔에서 볼륨을 연결할 때 디바이스 이름을 /dev/sdb로 지정해도, 최신 리눅스(Nitro 시스템)는 이를 NVMe 인터페이스로 인식합니다.

  • 명령어: lsblk
  • 핵심: 콘솔 이름과 실제 리눅스 내부 이름(nvme1n1)이 다를 수 있음을 반드시 확인해야 합니다.

2. 파일 시스템 생성 (포맷)

빈 하드디스크는 데이터를 저장할 '규칙'이 없습니다. 이 규칙(파일 시스템)을 만들어주는 과정입니다.

  • 명령어: sudo mkfs -t xfs /dev/nvme1n1
  • 확인: sudo file -s /dev/nvme1n1 결과가 data에서 SGI XFS filesystem으로 변해야 합니다.

3. 마운트 (Mount)

하드디스크를 리눅스의 특정 폴더(입구)와 연결하는 작업입니다.

  • 과정:
    1. 입구 생성: sudo mkdir /mnt/test-disk
    2. 연결: sudo mount /dev/nvme1n1 /mnt/test-disk
  • 이해: 마운트를 해제(umount)하면 폴더는 비어 보이지만, 데이터는 EBS 볼륨 안에 안전하게 남아 있습니다.

4. 백업과 복구 (Snapshot)

볼륨의 특정 시점을 '박제'하여 새로운 볼륨을 복제할 수 있습니다.

  • 스냅샷: 리전 단위 저장소(S3)에 저장됨. 어떤 가용 영역(AZ)으로든 볼륨 복제가 가능함.
  • 복구 시 주의: 인스턴스와 볼륨은 반드시 같은 가용 영역(예: 2a)에 있어야 연결 가능합니다.

5. 자동 마운트 설정 (fstab)

재부팅 시마다 수동 마운트를 하지 않도록 설정 파일에 등록합니다.

  • 파일 위치: /etc/fstab
  • 등록 정보: UUID, 마운트 포인트, 파일 시스템 타입, 옵션(defaults,nofail), 덤프/체크 순서.

3. 실습 진행 중 오류

  • 실습 중 발생했던 주요 에러와 해결책입니다.

Case 1: 재부팅 후 데이터가 보이지 않음

  • 현상: 재부팅 후 ls /mnt/test-disk를 했을 때 파일이 안 보임.
  • 원인: fstab 설정을 완료하기 전에 재부팅하여, 리눅스가 부팅 시 볼륨을 연결하지 않음.
  • 해결: mount 명령어로 수동 연결하거나, fstab에 UUID를 등록하여 해결.

Case 2: "already mounted" 에러 발생

  • 현상: sudo mount ... 입력 시 이미 연결되어 있다는 메시지 출력.
  • 원인: 시스템이 이미 해당 경로를 점유하고 있거나, fstab 설정이 반쯤 적용된 상태.
  • 해결: lsblk로 현재 마운트 상태를 먼저 확인하고, 필요시 umount 후 다시 실행.

Case 3: 마운트는 되었으나 파일이 없음

  • 현상: 연결은 성공했는데 아까 만든 파일이 안 보임.
  • 원인: 복구 실습 과정에서 데이터가 들어있지 않은 시점의 스냅샷으로 만든 새 볼륨을 연결했거나, 다른 볼륨을 마운트함.
  • So? : 볼륨이 여러 개일 때는 lsblk의 용량과 blkid의 UUID를 대조하여 정확한 장치를 찾아야 함.

4. 내 생각

  • FSR 기능을 이용하여 대용량 볼륨 북구 시 발생하는 지연 시간을 제거해야 할 것 같다.
  • UUID를 사용하여 /dev/nvme1n1 같은 이름은 부팅 순서에 따라 바뀔 수 있기에, 고유 번호인 UUID를 사용하는 것이 실무적으로도 표준이기도 하고, 편할 것 같다.

5. 최종 명령어 요약

# 1. 디스크 확인
lsblk
sudo blkid /dev/nvme1n1

# 2. 포맷 (XFS)
sudo mkfs -t xfs /dev/nvme1n1

# 3. 마운트
sudo mkdir /mnt/test-disk
sudo mount /dev/nvme1n1 /mnt/test-disk

# 4. 설정 파일 편집
sudo vi /etc/fstab
# 예시: UUID=... /mnt/test-disk xfs defaults,nofail 0 2

# 5. 설정 검증 (재부팅 전 필수)
sudo umount /mnt/test-disk
sudo mount -a
profile
최적화를 사랑하는 클라우드 엔지니어 whi02입니다.

0개의 댓글