전공 과목 이수2👨‍💻/데이터베이스관리

RAID

천숭이 2021. 10. 4. 15:19

# MTTF = 평균 가동 시간

 

## RAID (Redundant Array of Independent Disks)

많은 수의 디스크를 병렬화

데이터 중복화 가능 -> 저장의 신뢰성 향상

 

# 미러링 - RAID중복

- 모든 디스크마다 복사디스크를 마련함

- 논리적인 디스크 1개 = 물리적인 디스크 2개 (삭제포함 쓰기는 두 디스크 모두에서 이뤄짐)

- 만약, 두 디스크의 MTTF가 겹치는 경우는 거의 발생하지 않는다 -> 신뢰성이 굉장히 높음

- 비용이 많이 소요됨

# 분산(Striping)

- 여러 개의 디스크에 데이터를 분산 -> 병렬접근으로 전송속도 향상

- 디스크 배열을 하나의 논리적인 큰 디스크로 간주

 

1) 비트단위 분산

디스크 수가 8의 배수이므로 병렬처리르 통해 8배의 전송속도를 얻음.

비트단위분산

2) 블록단위 분산

- 일반적인 데이터 분산 형태

- 한 파일의 블록들을여러 디스크에 분산

- 읽고 쓰는 양이 적을때는 디스크별로의 접근이 필요하므로 병렬처리 안한다.

- 하지만, 큰 파일을 여러 디스크에 걸쳐 접근하려면 병렬처리가 필요하다.

블록단위분산

 

## RAID 계층

- 미러링은 신뢰성은 높지만 비용이 많이 들고, 분산은 높은 전송률로 제공하지만 신뢰성이 낮다. 따라서 고안된게 RAID계층

- 패리티비트로 구성해 비용을 줄이고, 다양한 구성 발생해 계층으로 나눠짐.

- 0~6까지의 일곱개의 계층이 있다.

- 0,1,5계층을 사용하다가 최근에는 6계층까지도 사용한다.

* RAID 0  - 블록단위로 분산 -> 성능 상승
- 미러링 없음 -> 신뢰성 하락
          === >  분산 + 중복없음 = 가격 하락
* RAID 1 - 블록단위 분산
- 미러링 -> 많은 디스크가 필요함 -> 신뢰성 상승 -> 고가
- 로그파일 저장에 많이 적용
- 패리티 작성이 없으므로 저비용, 효율상승


- 미러링+분산 : 계층1+0 혹은 계층10
- 분산없는 미러링 : 계층1

* 로그파일,저널파일 이란, DB에 갱신이 되는 내용들을 기록한 파일.

WAL (write-ahead log) 로그 선행 기입  : 모든 수정이 적용 이전에 로그파일에 기록된다.

 

# RAID에서의 패리티 비트 사용

디스크 두개를 XOR하면 패리티 비트 생성

패리티 비트가 있으면 디스크 복구 가능

RAID 2  - 패리티 비트를 과하게 운영한다.
- n개의 디스크에는 n-1개의 패리티 디스크가 필요한데, 이럴바에 하나 더 추가해서 미러링을 하는게 이득이다. -> 따라서 거의 사용x
RAID 3 - 비트단위 분산
- 패리티 디스크가 하나 있는데, 어느 디스크가 실패했는지 정확하게 알 수 있다.
- 2개 이상의 디스크가 동시에 실패하는 경우는 거의 없다

- 그림(d)처럼 한개의 패리티 비트가 있으면 하나씩 망가졌을때 복구 가능
패리티 비트가 두개이면 두 개가 동시에 망가졌을때 두 개 복구 가능
RAID 4 - 블록단위 분산
- 패리티 전용 디스크 운영

- 한 블록만을 기록할 경우 병렬성 운영되지 않음

- 한 개의 블록단위 쓰기들이 발생하면 디스크에 병목현상이 발생 (bottleneck)
* RAID 5 - 계층 4의 패리티문제 해결한 계층
- 블록 분산
- 패리티 분산 -> 동일한 디스크에 저장되지 않음 -> 디스크 실패에 따라 데이터와 패리티가 함께 손실되는 경우를 방지
- * 독립적인 블록쓰기가 가능하고, 병목현상 발생X

- 디스크장애가 하나씩 발생했을때만 복구 가능 
RAID 6 - 블록분산
- 디스크 여러개에서 장애가 발생했을때도 복구 가능
- 과한 디스크 운영
- 데이터양이 많아지고 디스크 구성이 많아져서 최근에 사용되기 시작.

 

 

# RAID 계층 선택

- 디스크 구입에 따른 비용 요구

- 입출력 연산 횟수

- 디스크 실패했을 때, 재구축 하는 동안의 성능 요구

 

< 정리 >

RAID 0 - 안전 고려하지 않고 높은 성능만을 요구하는 경우

RAID 1 - 재구축 성능이 중요한 경우 / 갱신이 빠른 경우

RAID 2 - 3이 대체

RAID 3 - 

RAID 4 - 5가 대체

RAID 5 - 소량 데이터 접근이 중요한 경우 / 대량 데이터 접근도 훌륭 / 읽기가 대부분인 경우

RAID 6 - 높은 신뢰성이 중요한 경우

 

 

## Hardware RAID

# Non-Volatile RAM 사용

  - 디스크 쓰기 전 NVRAM에 쓰기 기록

  - 정전 발생 시 NVRAM에서 쓰기 데이터 가져옴

# Scrubbing

  - 디스크 사용되지 않는 동안 디스크의 내용을 읽어서 문제가 있는 부분을 복구

# Hot Swapping

  - 전원 차단 않은 상태에서 디스크 제거하고 새로운 것으로 교체

  -> 데이터 복구 평균 시간을 줄인다.

'전공 과목 이수2👨‍💻 > 데이터베이스관리' 카테고리의 다른 글

Transaction 트랜잭션  (0) 2021.12.06
인덱스 정리  (0) 2021.11.05
인덱스  (0) 2021.10.13
파일 내 레코드 구조, 데이터 사전 저장장치  (0) 2021.10.05
파일 구조  (0) 2021.10.04
저장장치  (0) 2021.09.15