티스토리 뷰
💽 RAID
RAID(Redundant Array Of Independent Disks)란 수 많은 데이터들을 안전하게 저장하거나 성능을 높이기 위해서 여러 디스크나 SSD를 마치 하나의 장치처럼 사용하는 기술이다.
RAID는 여러 개의 디스크를 묶어서 논리적으로 하나의 디스크 시스템의 역할을 하도록 만든 것이다.
기본적으로 비용이 낮은 소규모 디스크들을 여러 개 사용하여 이를 배열 형태로 구성한다.
결국 컴퓨터를 구성하는 부품 중 속도가 느린 하드디스크를 보완하기 위해 만든 기술이다.
RAID Level
데이터 저장 방식에 따라 Level이 나뉜다.
- RAID 0
- 디스크 스트라이핑이라고도 하며 여러 디스크에 데이터를 나누어 저장한다. 즉, 최소 2개의 디스크가 필요하다.
- 데이터를 분산 저장하므로 데이터 조회 속도가 빠르다. 4TB 디스크 하나를 읽기보단 !TB 디스크 4개 읽기 속도가 더욱 빠르기 때문이다.
- 하지만 하나의 디스크라도 문제가 생기면 전체 RAID가 깨진다. 즉, 안정성 측면에서 매우 좋지 않다. 오직 속도만 고려하므로 실제 서버 환경에서는 거의 사용하지 않는다고 한다.
- RAID 1
- 스트라이핑 + 미러링 개념을 의미한다. 동일한 데이터를 N개로 복제해서 각 디스크에 저장한다. 마찬가지로 최소 2개의 디스크가 필요하다.
- 하나의 디스크가 고장나도 다른 디스크를 통해 데이터 블록이 유지되므로 안정성이 높다.
- 물론 단일 디스크에 쓰기 연산을 수행할 때와 비교하면 성능이 낮다. 데이터를 복제해서 모든 디스크에 기록해야 하기 때문이다.
- 안정성 측면에서 매우 우수하지만 비용 문제로 거의 사용하지 않는다고 한다.
- RAID 2 / 3
- 현재는 사용하지 않는 RAID Level이다.
- 섹터 스트라이핑 개념을 사용한다.
- RAID 2는 해밍 코드를 사용한다. 하지만 대부분 디스크 자체가 ECC 정보를 내부적으로 가지므로 사용되지 않는다.
- RAID 3는 하나의 디스크로 하여금 패리티 정보(통신 과정에서 오류가 생기는 것을 검출 및 수정하기 위한 코드)를 저장하도록 한다. Bit 단위의 스트라이핑
- RAID 4
- 마찬가지로 현재는 거의 사용하지 않는 RAID Level이다.
- 스프라이핑된 블록들의 패리티 정보를 별도의 하나의 디스크에 저장한다. Block 단위의 스트라이핑
- 패리티 정보를 가지고 있는 디스크가 고장나면 복구가 불가하기에 해당 디스크에 대한 오버헤드가 크다.
- RAID 5
- 가장 사용 빈도가 높은 RAID Level이다.
- 회전 패리티 배열 개념을 사용한다.
- Block 단위로 스트라이핑을 하며 ECC를 위해 패리티를 1개의 디스크에 저장하는데 RAID 4와 다르게 패리티 정보를 가지는 디스크를 하나로 고정하지 않고 매번 다른 디스크에 저장한다.
→ 패리티 정보 분산 저장
→ 병목 현상 해결
- RAID 6
- RAID 5에서 성능, 용량을 좀 더 줄이고 안정성을 높인 RAID Level이다.
- 패리티 정보 저장 디스크를 2개 사용한다.(마찬가지로 회전 패리티 배열 기반)
- 데이터 쓰기 연산 시 2개의 디스크에 패리티 정보를 저장해야 해서 성능 측면에서는 부담이 있지만 안정성 측면에서는 좋다.
AWS의 EBS
AWS EBS를 사용하면 스탠다드 RAID 구성을 사용할 수 있다.
EBS 볼륨 데이터는 단일 구성 요소의 고장으로 인한 데이터 손실을 방지하기 위해 가용 영역의 여러 서버에 복제된다.
RAID 0
- I/O가 스트라이프의 볼륨에 저장된다.
- 단일 볼륨 프로비저닝보다 파일 시스템의 성능이 더 향상된다.
(AWS EBS에서는 RAID 1을 사용하지 않는 것을 권장한다. RAID 1의 경우 데이터를 동시에 여러 볼륨에 쓰기 때문에 AWS EC2와 AWS EBS 사이에 더 큰 대역폭이 필요하다고 한다. 또한 위에서 적었듯 쓰기 연산에 성능 효과를 제공하지 않는다.)
참고 자료
https://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/raid-config.html
Amazon EBS 및 RAID 구성 - Amazon EBS
Amazon EBS 및 RAID 구성 Amazon EBS를 사용하면 기존 운영 체제 미설치 서버에서 사용 가능한 스탠다드 RAID 구성을 사용할 수 있습니다. 단, 해당 RAID 구성이 인스턴스에 대한 운영 체제에서 지원되어야
docs.aws.amazon.com
https://devocean.sk.com/blog/techBoardDetail.do?ID=163608
RAID 정리 1. RAID 기본 설명 및 RAID Level (레이드 레벨)
devocean.sk.com
'cs' 카테고리의 다른 글
[DB] Index란? (0) | 2024.11.25 |
---|
- Total
- Today
- Yesterday
- 티스토리챌린지
- 자바
- lowerBound
- 이진탐색
- Optional
- NPE
- 백준
- Thymeleaf
- 생성자
- uncheckedException
- 일급컬렉션
- null
- springboot
- upperBound
- id생성전략
- 메인메소드
- N+1문제
- Java
- 동등성
- checkedException
- JPA
- @Value
- @Spring
- 유효성 검사
- @NoArgsConstructor
- @ConfigurationProperties
- Spring
- ddl-auto
- 오블완
- StreamAPI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |