오래 못 할 짓 하지 않기
RAID 본문
Redundant Array Of Inexpensive Disks
📌 사용 목적
: 서버에 저장된 데이터가 손실되었을 때를 대비하여,
Disk를 추가하는 방식을 통해 속도 / 안정성 / 가용성을 증대하는 방법
📌 장점
1) 운용 가용성, 데이터 안정성
2) 디스크 용량 증설 용이성
3) 디스크 I/O 성능이 올라간다.
📌 종류
1) Concatenate 방식
2) Stripe 방식 (Proposed in our Project)
Concatenate

여러 개의 Disk에 데이터를 적재하는 방식이다.
그냥 물리적으로 두 개의 Disk를 사용한다.
- 장점 : 1번 Disk에 공간이 모자란 경우에, 2번 Disk 공간을 사용할 수 있다.
공간이 2배. (당연함)
- 단점 : 하나의 Disk에 문제가 생기면 데이터를 얻을 수 없다 / 오류가 생기면 복구할 수 없다.
Stripe
각 데이터를 여러 개의 디스크에 랜덤하게 분할하여 저장하는 것이다.
→ A라는 데이터를 #개로 쪼개서 저장한다.

→ RAID 여러 단계가 있다.
RAID0 (위 사진)
- 장점 : I/O가 디스크 수만큼 분할되어 속도 향상
- 단점 : 분할된 데이터만 다루기에 원래 저장된 데이터들은 지워져야 관리가 편하다.

Mirror 형태 , 두 개의 Disk에 똑같은 정보들을 쪼개어 보낸다.
분산보다는 복구할 곳을 하나 만들어두었다고 보는 게 맞는 것 같다.
사용할 수 있는 용량은 절반으로 줄어든다.
대신 한 곳에서 문제가 생겨도 다른 곳에서 데이터를 가져올 수 있다.

데이터 복구를 위해서 Error Dectection/Conrrection Code를 저장한다.
하지만 Disk는 해당 ECC Code를 저장하는 기능이 없기 때문에
추가로 드라이브를 만들어두어야 한다.

RAID 0,1 의 문제점을 해결하기 위해 만들어진 방법
각각의 데이터들에 대해 복구하기 위해 사용되는 Parity 정보를 담아두는 Disk가 존재한다.
- 장점 : 이 때부터 분산 / 복구 두 가지가 가능해진다.
RAID 3: 바이트 단위로 분산
RAID 4 : Block 단위로 분산


특징 : Parity를 위한 Disk를 따로 만드는 것이 아닌,
Data Block과 Parity Block을 구분 없이 같이 분산시켜 저장한다.
RAID 5 : 1차 Pairty 생성해서 저장
RAID 6 : 2차 Parity까지 생성하여 저장한다.
DISK(혹은 저장소)에서는 하나의 데이터를 여러 Block으로 나누어
1) 보안성을 높이고
2) I/O를 줄여서 속도/성능을 높였으며
3) 저장할 수 있는 양을 늘렸다.
추가로, Parity Block을 추가하여
4) 데이터 안정성까지 확보하였다고 할 수 있다.
하지만, Parity 수가 증가함에 따라 원본 데이터의 크기에 비해 추가적인 공간을 차지하기 때문에
이에 대해서는 사용자의 목적에 맞게 구현하는 것이 중요하다.
출처)
'4학년 > 캡스톤 (Capstone)' 카테고리의 다른 글
[ Erasure Coding ] 통신/부호 이론 Ch.5: 순회 부호 (0) | 2025.02.18 |
---|---|
[ Erasure Coding ] 통신/부호 이론 Ch.4 유한체 (0) | 2025.02.14 |
[ Erasure Coding ] 통신/부호 이론 Ch.3 (0) | 2025.02.11 |
Capstone : 나만의 Private Cloud storage (0) | 2025.02.07 |
[ Erasure Coding ] 통신/부호 이론 Ch.2 (0) | 2025.02.07 |