RAID: Difference between revisions

From CS Wiki
(→‎RAID-5: 회전 패리티 방식으로 병목현상을 줄인다.)
 
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[분류:데이터베이스]][[분류:컴퓨터 구조]]
[[분류:데이터베이스]]
[[분류:컴퓨터 구조]]
 
;하드디스크 여러 개를 활용하여 속도 향상이나 안전성 향상을 높이는 기술
;하드디스크 여러 개를 활용하여 속도 향상이나 안전성 향상을 높이는 기술


== 기본 모델 ==
==기본 모델==
=== RAID-0 ===
===RAID-0===
 
;Striped disk array without fault tolerance
;Striped disk array without fault tolerance
{| class="wikitable"
{| class="wikitable"
|-
|-
! 구조 !! 설명
!구조!!설명
|-
|-
| rowspan="2' | [[파일:RAID 0.png|150px]]  
| rowspan="2' " |[[파일:RAID 0.png|150px]]
||
||
* 속도 향상만을 추구하는 스트라이핑 모델
*속도 향상만을 추구하는 스트라이핑 모델
* 디스크 n개에서 n배의 속도를 가진다.
*디스크 n개에서 n배의 속도를 가진다.
|-
|-
||  
||
* 최소 수량: 2개
*최소 수량: 2개
* 공간 효율: 1배
*공간 효율: 1배
* 읽기 효율: n배
*읽기 효율: n배
* 쓰기 효율: n배
*쓰기 효율: n배
* 고장 허용: 해당 없음
*고장 허용: 해당 없음
|}
|}


=== RAID-1 ===
===RAID-1===
 
;Mirroring and duplexing
;Mirroring and duplexing
{| class="wikitable"
{| class="wikitable"
|-
|-
! 구조 !! 설명
!구조!!설명
|-
|-
| rowspan="2' | [[파일:RAID 1.png|150px]]  
| rowspan="2' " |[[파일:RAID 1.png|150px]]
||
||
* 안정성만을 추구하는 미러링 모델
*안정성만을 추구하는 미러링 모델
* 읽기 속도는 n배 향상되지만, 쓰기 부하는 n배로 늘어난다.
*읽기 속도는 n배 향상되지만, 쓰기 부하는 n배로 늘어난다.
|-
|-
||  
||
* 최소 수량: 2개
*최소 수량: 2개
* 공간 효율: 1/n배
*공간 효율: 1/n배
* 읽기 효율: n배
*읽기 효율: n배
* 쓰기 효율: 1배
*쓰기 효율: 1배
* 고장 허용: n-1개 허용
*고장 허용: n-1개 허용
|}
|}


=== RAID-2 ===
===RAID-2===
 
;Hamming code ECC
;Hamming code ECC
{| class="wikitable"
{| class="wikitable"
|-
|-
! 구조 !! 설명
!구조!!설명
|-
|-
| rowspan="2' | [[파일:RAID 2.png|150px]]  
| rowspan="2' " |[[파일:RAID 2.png|250px]]
||
||
* RAID 0과 같이 스트라이핑으로 구현하고, 오류 정정을 위한 Hamming code를 사용
*RAID 0과 같이 스트라이핑으로 구현하고, 오류 정정을 위한 Hamming code를 사용
* 최근 디스크드라이브는 자체적으로 오류정정 기능이 있으므로, 거의 사용되지 않음
*최근 디스크드라이브는 자체적으로 오류정정 기능이 있으므로, 거의 사용되지 않음
|-
|-
||  
||
* 최소 수량: 3개
*최소 수량: 3개
* 공간 효율: 1 - 1/n ⋅ log<sub>2</sub>(n-1)배
*공간 효율: 1 - 1/n ⋅ log<sub>2</sub>(n-1)배
* 읽기 효율: 해당 없음
*읽기 효율: 해당 없음
* 쓰기 효율: 해당 없음
*쓰기 효율: 해당 없음
* 고장 허용: 1개 허용
*고장 허용: 1개 허용
|}
|}


=== RAID-3 ===
===RAID-3===
 
;Parallel transfer with parity
;Parallel transfer with parity
{| class="wikitable"
{| class="wikitable"
|-
|-
! 구조 !! 설명
!구조!!설명
|-
|-
| rowspan="2' | [[파일:RAID 3.png|150px]]  
| rowspan="2' " |[[파일:RAID 3.png|250px]]
||
||
* 스트라이핑 기술을 사용하여 디스크들을 구성하고, 별도의 디스크에 패리티 정보를 저장
*스트라이핑 기술을 사용하여 디스크들을 구성하고, 별도의 디스크에 패리티 정보를 저장
|-
|-
||  
||
* 최소 수량: 3개
*최소 수량: 3개
* 공간 효율: 1 - 1/n배
*공간 효율: 1 - 1/n배
* 읽기 효율: 해당 없음
*읽기 효율: 해당 없음
* 쓰기 효율: 해당 없음
*쓰기 효율: 해당 없음
* 고장 허용: 1개 허용
*고장 허용: 1개 허용
|}
|}


=== RAID-4 ===
===RAID-4===
 
;Independent data disks with shared parity disk
;Independent data disks with shared parity disk
{| class="wikitable"
{| class="wikitable"
|-
|-
! 구조 !! 설명
!구조!!설명
|-
|-
| rowspan="2' | [[파일:RAID 4.png|150px]]  
| rowspan="2' " |[[파일:RAID 4.png|250px]]
||
||
* 블록 형태의 스트라이핑 기술과 패티리 사용
*블록 형태의 스트라이핑 기술과 패티리 사용
|-
|-
||  
||
* 최소 수량: 3개
*최소 수량: 3개
* 공간 효율: 1 - 1/n배
*공간 효율: 1 - 1/n배
* 읽기 효율: n배
*읽기 효율: n배
* 쓰기 효율: 1배
*쓰기 효율: 1배
* 고장 허용: 1개 허용
*고장 허용: 1개 허용
|}
|}


=== RAID-5 ===
===RAID-5===
 
;Independent data disks with distributed parity blocks
;Independent data disks with distributed parity blocks
{| class="wikitable"
{| class="wikitable"
|-
|-
! 구조 !! 설명
!구조!!설명
|-
|-
| rowspan="2' | [[파일:RAID 5.png|150px]]  
| rowspan="2' " |[[파일:RAID 5.png|250px]]
||
||
* 안전성과 속도 모두를 추구하는 방식
*안전성과 속도 모두를 추구하는 방식
* 가장 많이 쓰인다.
*가장 많이 쓰인다.
* 블록 스트라이핑과 분산된 패리티를 사용한다.
*블록 스트라이핑과 분산된 패리티를 사용한다.
*회전 패리티 방식으로 병목현상을 줄인다.
|-
|-
||  
||
* 최소 수량: 4개
*최소 수량: 3개
* 공간 효율: 1 - 2/n배
*공간 효율: 1 - (1/n)배
* 읽기 효율: 1-n배
*읽기 효율: n-1배
* 쓰기 효율: 상황에 따라 다름
*쓰기 효율: 상황에 따라 다름
* 고장 허용: 1개 허용
*고장 허용: 1개 허용  
|}
|}


=== RAID-6 ===
===RAID-6===
 
;Independent data disks with two independent distributed parity schemas
;Independent data disks with two independent distributed parity schemas
{| class="wikitable"
{| class="wikitable"
|-
|-
! 구조 !! 설명
!구조!!설명
|-
|-
| rowspan="2' | [[파일:RAID 6.png|150px]]  
| rowspan="2' " |[[파일:RAID 6.png|350px]]
||
||
* RAID 5와 비슷하지만 2차 패리티까지 포함하여 안정성을 더 높였다.
*RAID 5와 비슷하지만 2차 패리티까지 포함하여 안정성을 더 높였다.
* 금융업이나 중요 데이터 스토리지 등에 사용된다.
*금융업이나 중요 데이터 스토리지 등에 사용된다.
|-
|-
||  
||
* 최소 수량: 4개
*최소 수량: 4개
* 공간 효율: 1-2/n배
*공간 효율: 1 - (2/n)배
* 읽기 효율: 해당 없음
*읽기 효율: 해당 없음
* 쓰기 효율: 해당 없음
*쓰기 효율: 해당 없음
* 고장 허용: 2개 허용
*고장 허용: 2개 허용
|}
|}


=== RAID-7 ===
===RAID-7===
 
;비공식
;비공식
{| class="wikitable"
{| class="wikitable"
|-
|-
! 구조 !! 설명
!구조!!설명
|-
|-
| rowspan="2' | 사진 없음
| rowspan="2' " |사진 없음
||
||
* RAID 6까지가 업계 표준으로 인정 받는다.
*RAID 6까지가 업계 표준으로 인정 받는다.
* RAID 7은 벤더마다 주장하는 여러가지가 있다.
*RAID 7은 벤더마다 주장하는 여러가지가 있다.
|-
|-
||  
||
* 해당 없음
*해당 없음
|}
|}


== 조합 모델 ==
==조합 모델==
=== RAID-0-1 ===
===RAID-0-1===
{| class="wikitable"
{| class="wikitable"
|-
|-
! 구조 !! 설명
!구조!!설명
|-
|-
| rowspan="2' | [[파일:RAID 0 1.png|250px]]  
| rowspan="2' " |[[파일:RAID 0 1.png|250px]]
||
||
* RAID-0의 스트라이핑으로 구성된 하드들을 묶어 RAID-1미러링으로 구성
*RAID-0의 스트라이핑으로 구성된 하드들을 묶어 RAID-1미러링으로 구성
|-
|-
||  
||
* 최소 수량: 4개
*최소 수량: 4개
* 공간 효율: 1/n배
*공간 효율: 1/n배
* 읽기 효율: 2배
*읽기 효율: 2배
* 쓰기 효율: 해당 없음
*쓰기 효율: 해당 없음
* 고장 허용: 1개 허용
*고장 허용: 1개 허용
|}
|}


=== RAID-1-0 ===
===RAID-1-0===
{| class="wikitable"
{| class="wikitable"
|-
|-
! 구조 !! 설명
!구조!!설명
|-
|-
| rowspan="2' | [[파일:RAID 1 0.png|250px]]  
| rowspan="2' " |[[파일:RAID 1 0.png|250px]]
||
||
* RAID 0-1보단 RAID 1-0이 더 많이 쓰인다.
*RAID 0-1보단 RAID 1-0이 더 많이 쓰인다.
|-
|-
||  
||
* 최소 수량: 4개
*최소 수량: 4개
* 공간 효율: 1/n배
*공간 효율: 1/n배
* 읽기 효율: 2배
*읽기 효율: 2배
* 쓰기 효율: 해당 없음
*쓰기 효율: 해당 없음
* 고장 허용: 1개 허용
*고장 허용: 1개 허용
|}
|}
== 관련 기출 ==
'''미러링(Mirroring)'''
* 디스크에 에러 발생 시 데이터의 손실을 막기 위해, 추가로 하나 이상의 장치에 중복 저장하는 기술
'''스트라이핑(Striping)'''

Latest revision as of 23:13, 18 September 2024


하드디스크 여러 개를 활용하여 속도 향상이나 안전성 향상을 높이는 기술

기본 모델[edit | edit source]

RAID-0[edit | edit source]

Striped disk array without fault tolerance
구조 설명
RAID 0.png
  • 속도 향상만을 추구하는 스트라이핑 모델
  • 디스크 n개에서 n배의 속도를 가진다.
  • 최소 수량: 2개
  • 공간 효율: 1배
  • 읽기 효율: n배
  • 쓰기 효율: n배
  • 고장 허용: 해당 없음

RAID-1[edit | edit source]

Mirroring and duplexing
구조 설명
RAID 1.png
  • 안정성만을 추구하는 미러링 모델
  • 읽기 속도는 n배 향상되지만, 쓰기 부하는 n배로 늘어난다.
  • 최소 수량: 2개
  • 공간 효율: 1/n배
  • 읽기 효율: n배
  • 쓰기 효율: 1배
  • 고장 허용: n-1개 허용

RAID-2[edit | edit source]

Hamming code ECC
구조 설명
RAID 2.png
  • RAID 0과 같이 스트라이핑으로 구현하고, 오류 정정을 위한 Hamming code를 사용
  • 최근 디스크드라이브는 자체적으로 오류정정 기능이 있으므로, 거의 사용되지 않음
  • 최소 수량: 3개
  • 공간 효율: 1 - 1/n ⋅ log2(n-1)배
  • 읽기 효율: 해당 없음
  • 쓰기 효율: 해당 없음
  • 고장 허용: 1개 허용

RAID-3[edit | edit source]

Parallel transfer with parity
구조 설명
RAID 3.png
  • 스트라이핑 기술을 사용하여 디스크들을 구성하고, 별도의 디스크에 패리티 정보를 저장
  • 최소 수량: 3개
  • 공간 효율: 1 - 1/n배
  • 읽기 효율: 해당 없음
  • 쓰기 효율: 해당 없음
  • 고장 허용: 1개 허용

RAID-4[edit | edit source]

Independent data disks with shared parity disk
구조 설명
RAID 4.png
  • 블록 형태의 스트라이핑 기술과 패티리 사용
  • 최소 수량: 3개
  • 공간 효율: 1 - 1/n배
  • 읽기 효율: n배
  • 쓰기 효율: 1배
  • 고장 허용: 1개 허용

RAID-5[edit | edit source]

Independent data disks with distributed parity blocks
구조 설명
RAID 5.png
  • 안전성과 속도 모두를 추구하는 방식
  • 가장 많이 쓰인다.
  • 블록 스트라이핑과 분산된 패리티를 사용한다.
  • 회전 패리티 방식으로 병목현상을 줄인다.
  • 최소 수량: 3개
  • 공간 효율: 1 - (1/n)배
  • 읽기 효율: n-1배
  • 쓰기 효율: 상황에 따라 다름
  • 고장 허용: 1개 허용

RAID-6[edit | edit source]

Independent data disks with two independent distributed parity schemas
구조 설명
RAID 6.png
  • RAID 5와 비슷하지만 2차 패리티까지 포함하여 안정성을 더 높였다.
  • 금융업이나 중요 데이터 스토리지 등에 사용된다.
  • 최소 수량: 4개
  • 공간 효율: 1 - (2/n)배
  • 읽기 효율: 해당 없음
  • 쓰기 효율: 해당 없음
  • 고장 허용: 2개 허용

RAID-7[edit | edit source]

비공식
구조 설명
사진 없음
  • RAID 6까지가 업계 표준으로 인정 받는다.
  • RAID 7은 벤더마다 주장하는 여러가지가 있다.
  • 해당 없음

조합 모델[edit | edit source]

RAID-0-1[edit | edit source]

구조 설명
RAID 0 1.png
  • RAID-0의 스트라이핑으로 구성된 하드들을 묶어 RAID-1미러링으로 구성
  • 최소 수량: 4개
  • 공간 효율: 1/n배
  • 읽기 효율: 2배
  • 쓰기 효율: 해당 없음
  • 고장 허용: 1개 허용

RAID-1-0[edit | edit source]

구조 설명
RAID 1 0.png
  • RAID 0-1보단 RAID 1-0이 더 많이 쓰인다.
  • 최소 수량: 4개
  • 공간 효율: 1/n배
  • 읽기 효율: 2배
  • 쓰기 효율: 해당 없음
  • 고장 허용: 1개 허용

관련 기출[edit | edit source]

미러링(Mirroring)

  • 디스크에 에러 발생 시 데이터의 손실을 막기 위해, 추가로 하나 이상의 장치에 중복 저장하는 기술

스트라이핑(Striping)