728x90
반응형
사례: EC2 인스턴스에서 RAID 구성
예전에 TF에서 AWS EC2 인스턴스를 사용하여 고가용성과 성능을 높이기 위해 RAID 구성에 대한 POC를 한적이 있다.
프로젝트의 요구사항은 데이터의 신뢰성과 빠른 읽기/쓰기 속도를 보장하는 것이었다.
RAID 구성 과정
- 요구사항 분석: 프로젝트의 요구사항을 분석한 결과, 데이터의 신뢰성을 높이기 위해 RAID 1(미러링)과 성능을 높이기 위해 RAID 0(스트라이핑)을 결합한 RAID 10 구성이 적합하다고 판단했다.
- EC2 인스턴스 선택: RAID 구성을 위해 충분한 I/O 성능을 제공하는 EC2 인스턴스를 선택했다.
m5.large
인스턴스를 사용하기로 결정했는데 가성비 및 성능을 고려한 결과 해당 인스턴스가 가장 적합하다고 판단 하였다. - EBS 볼륨 생성: RAID 구성을 위해 4개의 EBS 볼륨을 생성. 각 볼륨은 동일한 크기와 성능을 가지도록 설정했다.
- 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
- 파일 시스템 생성 및 마운트: RAID 디바이스에 파일 시스템을 생성하고 마운트를 진행한다.
sudo mkfs.ext4 /dev/md0
sudo mount /dev/md0 /mnt/raid
장점
- 고가용성: RAID 10은 미러링을 통해 데이터의 복제본을 유지하므로, 하나의 디스크가 고장 나더라도 데이터 손실 없이 시스템을 운영할 수 있다.
- 성능 향상: 스트라이핑을 통해 여러 디스크에 데이터를 분산 저장하므로, 읽기/쓰기 성능이 크게 향상된다.
- 확장성: 필요에 따라 추가적인 EBS 볼륨을 쉽게 추가하여 RAID 어레이를 확장할 수 있다.
단점
- 비용 증가: RAID 10은 미러링을 위해 두 배의 스토리지가 필요하므로, 스토리지 비용이 크게 증가한다.
- 복잡성: RAID 구성을 설정하고 관리하는 과정이 복잡할 수 있으며, 잘못된 설정은 데이터 손실로 이어질 수 있다.
- 복구 시간: 디스크 장애 발생 시, RAID 어레이를 재구성하고 데이터를 복구하는 데 시간이 소요될 수 있다.
이와 같이, EC2 인스턴스에서 RAID 구성을 통해 고가용성과 성능을 확보할 수 있지만, 비용과 관리의 복잡성을 고려해야 한다.
- 끗 -
728x90
반응형
'플젝 구현내용 정리' 카테고리의 다른 글
DBMS 인덱스 적용 사례 (0) | 2024.09.03 |
---|---|
데드락(Dead Lock)과 레이스컨디션(Race Condition)을 해결한 사례 (0) | 2024.09.03 |
Scalable Distributed Systems 구축 사례 정리 (0) | 2024.09.03 |
OSI 7 Layer와 AWS 인프라 (0) | 2024.09.03 |
공공기관과 TCP/IP 연계 내용 정리 (0) | 2024.09.03 |