본문 바로가기

OS/Linux

RAID

서버용 스토리지를 안정적으로 구성하는 것은 데이터 보호에 있어 매우 중요합니다.

단일 디스크만을 사용하여 서버의 스토리지를 구성하는 경우, 병렬로 연결된 스토리지 시스템에 비해 성능과 안정성 모두에서 떨어집니다.

이러한 문제를 해결하고 스토리지의 성능 및 안정성을 동시에 향상시키기 위해, 스토리지 시스템은 RAID 기술을 활용하여 디스크를 병렬로 연결하여 구성합니다.

RAID는 여러 디스크를 하나의 논리적 단위로 관리하고, 데이터의 안전성을 보장하며 전반적인 성능을 향상시킵니다.

다음은 RAID의 구성 방식, RAID level을 알아보겠습니다.

 

1) RAID level

RAID level은 0에서 6까지 있지 최근 출시되는 RAID 컨트롤러는 RAID 0, RAID 1, RAID 5, RAID 6을 지원합니다.

그래서 컨트롤러에서 지원하는 RAID 0, RAID 1, RAID 5, RAID 6과 중첩 RAID에 대해 알아보겠습니다.

(RAID level별 최소 필요 디스크와 성능 비교는 제일 마지막 표로 정리하겠습니다!)

 

1-1) RAID 0

RAID 0을 알아보기 전 Striping (스트라이핑)에 대해 먼저 알아보겠습니다.

스트라이핑은 정해진 단위를 나누어 RAID 0으로 연결된 디스크에 나누어 저장하는 방식을 말합니다.

스트라이프 단위를 설정시 스토리지에 저장되는 컨텐츠의 종류에 따라 성능에 영향을 줄 수 있습니다.

만약 큰 파일을 다루는 스토리지라면 단위를 크게, 작은 파일이 많은 스토리지라면 단위를 작게 설정하는것이 일반적입니다.

이런 스트라이핑을 활용하여 N개의 디스크에 순차적으로 나누어 저장하는 방식을 RAID 0 이라고 합니다.

그렇기 때문에 성능이 디스크의 개수에 정비례하지만 안정성은 줄어들어 실질적으로는 잘 사용하지 않습니다.

 

1-2) RAID 1

RAID 1은 RAID 0과는 다르게 Mirroring (미러링)을 사용하여 데이터를 저장합니다.

미러링은 저장되는 데이터를 똑같이 다른 디스크에 그대로 복사하여 저장하는 방식입니다.

그렇기 때문에 RAID를 구성해도 실제 사용 가능한 용량은 단일 디스크와 같고, 디스크의 쓰기 속도가 단일보다 더 낮을 수 있습니다.

하지만 읽기 속도는 모든 디스크에서 정보를 읽어오기 때문에 성능이 정비례하여 향상됩니다.

RADI 1은 RADI 0에 비해 안정성이 매우 향상되지만, 스토리지의 성능이 줄어드는 단점이 있습니다.

 

1-3) RAID 5

RAID 5와 RAID 6을 설명하기 전 패리티를 간단하게 소개하겠습니다.

패리티는 데이터 전송이나 저장 과저에서 오류를 감지하고, 오류를 수정하는 데 사용됩니다.

하지만 패리티는 단일 비트 오류를 감지하기때문에 멀티 비트 오류가 감지되면 복구할 수 없습니다.

만약 디스크 하나가 고장나서 사용할 수 없게 된다면, 패리티가 남은 모든 데이터를 XOR 연산으로 사라진 데이터를 복구합니다.

RAID 5는 RAID 0과 같이 데이터를 스트라이핑 하고, 오류 감지를 위해 패리티를 1개의 디스크에 저장합니다.

하지만 패리티를 저장하는 디스크가 고정되어있지 않고 매 번 다른 디스크에 저장합니다.

용량과 성능은 디스크의 수에 비례하고, 2개 이상의 디스크에 에러가 발생 시 완전한 복구는 불가능합니다.


1-4) RAID 6

RAID 6는 RAID 5와 유사하게 안정성을 조금 더 높인 방식입니다.

차이점은 패리티를 2개의 디스크에 저장 3개 이상의 디스크에 에러가 발생하지 않는다면 완전한 복구가 가능합니다.

하지만 그만큼 비용대비 저장 공간이 줄어들어 안정성을 높여야 하는 서버 환경에서 주로 사용합니다

 

1-5) Nested RAID (중첩 레이드, 하이브리드 레이드)

중첩 레이드는 2개 이상의 RAID level을 조합하여 RAID를 구성하는 방식입니다.

대표적으로 사용하는 중첩 레이드는 RAID 01과 RAID 10이 있습니다.

두가지의 차이는 스트라이핑을 하고 미러링을 하였는지,

아니면 미러링을 하고 스트라이핑을 하였는지의 차이입니다.

하지만 데이터를 저장하는 순서(미러링이 먼저냐 스파리이핑이 먼저냐)에 따라 실패확률이 RAID 10이 더 낮기 때문에

대부분 RAID 01보다 RAID 10을 많이 사용합니다.

https://www.folivoralab.com/226

1-6) 성능 비교 표

RAID level 드라이브 최소 개수 효율 디스크 고장 최대 개수 읽기 효율 쓰기 효율
RAID 0 2 1 none n n
RAID 1 2 1/n n-1 n 1
RAID 5 3 1-1/n 1-1/n n single : 1/4, full : n-1
RAID 6 4 1-2/n 1-2/n n single : 1/6, full : n-2

 

이상 RAID에 대해 알아봤습니다!

'OS > Linux' 카테고리의 다른 글

nfs  (6) 2024.03.22
RSYNC  (0) 2024.03.21
hostname, hosts, dns 관련 설정 방법  (0) 2024.03.20
리눅스 방화벽 (iptables, fiarewalld, ufw, nftables, netfilter-persistent)  (0) 2024.03.19
linux iptables 구조 및 명령어  (0) 2024.03.19