본문 바로가기

플젝 구현내용 정리

RAID 구현 연구 사례 (AWS EC2, RAID 1+0)

728x90
반응형

 

사례: EC2 인스턴스에서 RAID 구성

예전에 TF에서 AWS EC2 인스턴스를 사용하여 고가용성과 성능을 높이기 위해 RAID 구성에 대한 POC를 한적이 있다.

프로젝트의 요구사항은 데이터의 신뢰성과 빠른 읽기/쓰기 속도를 보장하는 것이었다.

RAID 구성 과정

  1. 요구사항 분석: 프로젝트의 요구사항을 분석한 결과, 데이터의 신뢰성을 높이기 위해 RAID 1(미러링)과 성능을 높이기 위해 RAID 0(스트라이핑)을 결합한 RAID 10 구성이 적합하다고 판단했다.
  2. EC2 인스턴스 선택: RAID 구성을 위해 충분한 I/O 성능을 제공하는 EC2 인스턴스를 선택했다. m5.large 인스턴스를 사용하기로 결정했는데 가성비 및 성능을 고려한 결과 해당 인스턴스가 가장 적합하다고 판단 하였다.
  3. EBS 볼륨 생성: RAID 구성을 위해 4개의 EBS 볼륨을 생성. 각 볼륨은 동일한 크기와 성능을 가지도록 설정했다.
  4. RAID 설정: mdadm 유틸리티를 사용하여 RAID 10을 구성. 다음은 RAID 10을 설정하는 명령어이다. (참고만...)
sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/xvdf /dev/xvdg /dev/xvdh /dev/xvdi
  1. 파일 시스템 생성 및 마운트: RAID 디바이스에 파일 시스템을 생성하고 마운트를 진행한다.
sudo mkfs.ext4 /dev/md0
sudo mount /dev/md0 /mnt/raid

장점

  • 고가용성: RAID 10은 미러링을 통해 데이터의 복제본을 유지하므로, 하나의 디스크가 고장 나더라도 데이터 손실 없이 시스템을 운영할 수 있다.
  • 성능 향상: 스트라이핑을 통해 여러 디스크에 데이터를 분산 저장하므로, 읽기/쓰기 성능이 크게 향상된다.
  • 확장성: 필요에 따라 추가적인 EBS 볼륨을 쉽게 추가하여 RAID 어레이를 확장할 수 있다.

단점

  • 비용 증가: RAID 10은 미러링을 위해 두 배의 스토리지가 필요하므로, 스토리지 비용이 크게 증가한다.
  • 복잡성: RAID 구성을 설정하고 관리하는 과정이 복잡할 수 있으며, 잘못된 설정은 데이터 손실로 이어질 수 있다.
  • 복구 시간: 디스크 장애 발생 시, RAID 어레이를 재구성하고 데이터를 복구하는 데 시간이 소요될 수 있다.

이와 같이, EC2 인스턴스에서 RAID 구성을 통해 고가용성과 성능을 확보할 수 있지만, 비용과 관리의 복잡성을 고려해야 한다.

 

- 끗 -

728x90
반응형