오래 못 할 짓 하지 않기

RAID 본문

4학년/캡스톤 (Capstone)

RAID

쫑알bot 2025. 5. 17. 15:48
728x90

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라는 데이터를 #개로 쪼개서 저장한다.

 

https://jwprogramming.tistory.com/24

 

→ RAID 여러 단계가 있다. 

 

RAID0 (위 사진)

- 장점 : I/O가 디스크 수만큼 분할되어 속도 향상

- 단점 : 분할된 데이터만 다루기에 원래 저장된 데이터들은 지워져야 관리가 편하다.

 


 

https://jwprogramming.tistory.com/24

Mirror 형태 , 두 개의 Disk에 똑같은 정보들을 쪼개어 보낸다.

분산보다는 복구할 곳을 하나 만들어두었다고 보는 게 맞는 것 같다.

 

사용할 수 있는 용량은 절반으로 줄어든다.

대신 한 곳에서 문제가 생겨도 다른 곳에서 데이터를 가져올 수 있다.

 


 

https://jwprogramming.tistory.com/24

 

데이터 복구를 위해서 Error Dectection/Conrrection Code를 저장한다.

하지만 Disk는 해당 ECC Code를 저장하는 기능이 없기 때문에

추가로 드라이브를 만들어두어야 한다.

 

 

 


https://jwprogramming.tistory.com/24

 

RAID 0,1 의 문제점을 해결하기 위해 만들어진 방법

 

각각의 데이터들에 대해 복구하기 위해 사용되는 Parity 정보를 담아두는 Disk가 존재한다.

 

- 장점 : 이 때부터 분산 / 복구  두 가지가 가능해진다.

 

RAID 3: 바이트 단위로 분산

RAID 4 : Block 단위로 분산

 


https://jwprogramming.tistory.com/24

 

특징 : 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 수가 증가함에 따라 원본 데이터의 크기에 비해 추가적인 공간을 차지하기 때문에

이에 대해서는 사용자의 목적에 맞게 구현하는 것이 중요하다.

 


출처)

https://jwprogramming.tistory.com/24