RadarURL
Skip to content
조회 수 6238 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

유명한 바퀴벌레약 이름과 똑같은 ‘레이드(RAID)’ 디스크 어레이 기술은 최근 들어 일반 사용자들에게 주목받고 있지만, 실은 서버나 스토리지 분야에서는 이미 십수 년 전부터 사용되던 중요한 기술이다.

02222331.jpg

디스크 어레이(Disk Array)란 단어 그대로, 각각의 하드디스크를 굴비 엮듯 하나로 엮어 하나 (또는 그 이상)의 논리 드라이브로 구성하는 기술을 의미한다. 어려운가? 하긴 말하는 본인도 어렵다.

예를 들자. 1GB짜리 ‘야동’ 파일이 하나 있다. 이걸 하드로 복사하고 싶은데, 내 컴퓨터 디스크는 500MB, 300MB, 300MB짜리 3개로 되어 있어 어떤 디스크로도 1GB 파일을 복사할 수가 없다. 이런 경우를 일컬어 어처구니가 없다고 한다(참고로 ‘어처구니’는 맷돌의 손잡이 부분을 뜻하는 순우리말이다. 맷돌을 사용하려는데 손잡이인 어처구니가 없다면… 정말 어처구니없는 상황인 것이다).

하여튼 위와 같은 경우에 3개의 디스크를 하나로 묶어 1.1GB짜리 단일 드라이브로 사용할 수 있도록 하는 게 디스크 어레이 기술, 나아가서는 레이드다. 초기에는 'Redundant Array of Inexpensive Disks'의 약자로 통용됐다. 우리말로 하면 '저가 디스크의 다중 배열' 정도의 의미로, 앞서 예로 든 저용량 디스크 여러 개를 연결해 하나의 디스크로 사용케 하는 기술이었다.

그러다 최근에는 'Redundant Array of Independent Disks(독립 디스크의 여분 배열)'의 약자로 바뀌었다. 왜냐하면 하드디스크 용량이 점차 커지면서 저장 용량이 아닌, 데이터 보호 또는 디스크 성능 문제 때문에 적용하는 경우가 많아졌기 때문이다.

02223332.jpg

레이드 구성 설정 화면

자 그럼 이 레이드에 대해 차근차근 알아보도록 하자.

1. 레이드 구성 방식에 따른 분류 - 하드웨어적 레이드 vs 소프트웨어적 레이드

레이드 구성을 사용하기 위해서는 기본적으로 레이드 컨트롤러(제어기)가 필요하다. 서버나 스토리지급에서는 별도의 어댑터 카드를 장착한다. 왜냐하면 레이드를 구성하고 데이터를 처리하는 데 부하가 많이 걸리기 때문이다. 이 때문에 레이드 컨트롤러에는 프로세서와 메모리 등이 따로 달려 있다. 이런 레이드 컨트롤러는 상당히 비싸다.

별도 어댑터 카드 형태가 아닌 메인보드에 내장된 형태도 있다. 요즘 흔히 사용되는 S-ATA용 메인보드가 대개 기본적인 레이드를 지원하고 있다. 물론 제품에 따라 지원하지 않기도 하니 사전 확인이 필요하다.

이렇게 별도의 어댑터 카드나 내장 칩을 통해 레이드를 구성, 설정하는 형태를 ‘하드웨어적 레이드 구성’이라 한다. 이에 따라 레이드를 적용하기 위해서는 별도의 컨트롤러를 구매하거나, 이를 지원하는 메인보드를 준비해야 하겠다.

033333.jpg

인텔 S-ATA 레이드 컨트롤러. 별것 아닌 듯 하지만 수십만 원을 호가한다

한편 소프트웨어적 레이드는 별도의 레이드 컨트롤러 없이 운영체계 지원만으로 구성하는 레이드다. 대부분의 운영체계가 이를 지원하고, 특히 윈도우 서버 운영체계나 리눅스 ES/AS 등의 서버용 운영체계가 잘 지원하고 있다. 하지만 소프트웨어는 어디까지나 소프트웨어다.

하드웨어적 구성에 비해 성능향상 폭이 작고 안정성도 떨어진다. 따라서 소프트웨어 레이드는 ‘그냥 이런 게 있구나’하는 정도로만 이해하고, 실제로 적용/사용할 생각은 하지 않는 게 좋다. 특히 중요 업무나 서비스 등에 적용했다간 낭패를 볼 가능성이 매우 크니 주의 바란다.

044444.jpg

리눅스에서 설정하는 소프트웨어 레이드

 

2. 레이드 레벨(Level)에 따른 분류 - 레이드 0, 레이드 1, 레이드 5 등

레이드는 앞서 말한 대로 여러 개의 디스크를 하나로 묶는 기술이다. 이렇게 디스크를 하나로 연결하는 데는 몇 가지 방법이 있다. 레이드에서는 이를 레벨(Level)이라 하고 있는데, 이 레벨에 따라 구성과 특징이 정확히 구분된다. 현재까지 공개된 레이드 레벨은 약 15가지가 있다. 이 중 일반 사용자에게 유용한 레벨은 레이드 0, 레이드 1, 레이드 5, 레이드 1+0 정도다(나머지 레벨은 특정 서버나 스토리지 등의 기업용 솔루션에 적용된다).

레이드로 묶기 위해서는 우선 여러 개의 하드디스크를 준비해야 한다. 여기서 디스크란 물리적 디스크, 즉 실제로 메인보드에 연결되는 하드웨어를 의미한다. 따라서 하나의 디스크를 논리적으로 나눈 '파티션'을 대상으로는 레이드를 구성할 수 없다.

그리고 레이드 컨트롤러 칩(메인보드 내장)이나 카드가 필요하다. 물론 앞서 언급한 대로 칩/카드가 없어도 운영체계 자체가 지원하는 소프트웨어 레이드도 적용할 수 있지만, 테스트 목적이 아닌 이상 절대 권장하지 않는다. 더욱 확실하고 안정적인 레이드 구성 및 운영을 위해서는 별도의 레이드 컨트롤러 카드를 장착하는 게 역시 바람직하다.

레이드 0 - 스트라이프 세트

레이드 0라고도 하고 '스트라이프 세트'라고도 한다. 스트라이프(stripe)는 우리말로 '줄무늬'나 '줄'을 의미하는데, 그 의미 그대로 여러 개의 디스크를 한 줄로 엮어 하나의 드라이브로 만든다는 소리다.

예를 들어 500GB 하드 두 개를 레이드 0로 묶으면 1TB짜리 드라이브 하나가 생성된다. 디스크가 몇 개라도 관계 없다. 묶는 대로 용량은 증가한다. 단, 500GB와 1TB 하드를 레이드 0로 묶을 경우 1.5TB가 되는 게 아니라 1TB가 됨을 기억하라. 즉 레이드로 묶이는 하드디스크 용량은 기본적으로 작은놈을 기준에 하향 조절된다(공식으로 풀자면 (500GB+1TB)-500GB=1TB가 되는 것이다).

레이드 0의 가장 큰 장점은 '데이터 입출력 속도의 향상'이다. 데이터를 블록 단위(데이터 저장의 최소 단위)로 잘게 쪼개, 각각의 하드디스크 분산 전송하기 때문에 입출력 속도가 극대화된다. 따라서 레이드 0는 데이터 입출력 속도가 높아야 하는 환경, 예를 들어 웹 서버나 스트리밍 서버, 그래픽 관련 환경 등에 주로 사용된다.

05.jpg

위 그림에서 보듯 데이터 하나가 여러 개의 블록으로 쪼개져 각 디스크로 분산 저장된다. 데이터를 불러들일 때도 분산 로드하기 때문에 속도가 빠를 수밖에 없다. 저렇게 데이터를 블록으로 쪼개 저장하고 합쳐서 불러오는 작업을 바로 레이드 컨트롤러에서 담당한다. 레이드 0에서는 그냥 쪼개기만 하면 되니, 데이터양이 많아도 레이드 컨트롤러에 걸리는 부하가 크지 않지만, 다른 레벨의 레이드에서는 상당한 부하가 발생한다.

이렇게 레이드 구성 설정에 따른 용량 낭비도 없고 입출력 성능이 특히 탁월하지만, 레이드 0는 결정적으로 '데이터 보호' 기능이 없다(유식한 말로 '내결함성-Fault Tolerant' 기능을 제공하지 않는다고 한다). 아래 설명할 레이드 1, 레이드 5는 레이드 구성이나 디스크에 문제가 발생해도 데이터 손상이나 유실을 방지할 수 있는데, 레이드 0는 레이드 구성이 깨지거나 디스크에 에러가 생기면 데이터도 곧 황천길이다.

물론 아예 데이터를 살리지 못하는 건 아니다. 하드디스크 복구 업체 등에 의뢰하면 되지만, 레이드로 구성된 디스크는 일반 디스크 경우보다 복구 비용이 훨씬 비싸다.

레이드 1 - 미러링 세트

레이드 1은 간단명료한 구성이다. 디스크 하나의 구성을 그대로 다른 디스크에 복사해 두는 개념이다. 즉 디스크와 디스크 사이에 '거울(미러)'을 세운 것처럼 똑같이 만든다고 해서 붙은 이름이다(이와 유사하게, 특정 웹 사이트와 똑같이 많은 또 다른 사이트를 '미러링 사이트'라 한다).

그럼 왜 똑같이 만들겠는가. 그렇다. 데이터 보호 때문이다. 즉 평소에는 디스크 하나로 운영하다가 이 디스크에 문제가 발생하면 레이드 컨트롤러가 자동으로 미러 디스크를 작동시키는 원리다.

06.jpg

위 사진을 보면 데이터 하나가 두 개로 복사돼 각각 디스크에 저장되고 있다. 똑같은 데이터를 동일하게 저장하므로 저장 성능은 그대로지만 로딩 성능은 향상된다. 또한 구성도 단순하고 레이드 컨트롤러에 걸리는 부하도 적고, 데이터도 보호되는데 여기에도 또한 결정적 단점이 있다.

그림에서 보듯 데이터를 복사해서 다른 디스크에 넣어두게 되니, 디스크 용량을 50%밖에 사용하지 못한다는 거다. 무슨 소리냐 하면, 500GB + 500GB 디스크를 레이드 1으로 구성했다면, 1TB 용량이 아닌 500GB만 사용할 수 있다는 뜻이다. 왜냐하면 나머지 500GB는 미러용 디스크로 작동되기 때문이다.

따라서 용량 이슈가 큰 환경이 아니라면, 안정한 데이터 보호를 위해 레이드 1 구성을 고려해 보는 것도 괜찮겠다. 특히나 요즘처럼 디스크 기본 용량이 커진 경우라면 더욱 그러하다. 당연하겠지만, 레이드 1을 구성하려면 짝수 개의 디스크가 준비돼야 한다.

레이드 5 - 패리티가 있는 스트라이프 세트

레이드 5는 일반 사용자보다는 중대형 스토리지 환경에 가장 보편적으로 적용되는 레벨이다. 기본 방식은 앞서 본 레이드 0와 유사한 '데이터 쪼개기' 방식을 따른다. 다만 데이터를 쪼개 각 디스크에 저장할 때 '패리티(Parity)'라는 정보 데이터도 함께 실려 보낸다.

이 '패리티' 정보는 데이터 보호를 위한 일종의 안전장치인 셈인데, 특정 디스크에 저장된 데이터가 손상되거나 유실되면, 그다음 디스크에 저장된 패리티 정보를 토대로 손상/유실 데이터를 복구할 수 있다.

07.jpg

위 사진에서 보듯 데이터는 블록 단위로 쪼개져서 디스크에 저장되지만, 이때 '녹색' 데이터, 즉 패리티 정보 데이터가 함께 저장된다. 여기서 바로 옆 디스크의 정보를 기록하기 위해, 각 디스크에 번갈아 한 번씩 저장되게 된다. 방금 말한 대로, 특정 디스크에 문제가 발생하면 그 옆의 디스크에 저장된 패리티에서 정보를 참조해 데이터를 복구하는 것이다.

그래서 레이드 5를 '패리티가 있는 스트라이프 세트-Stripe set with parity'라고도 한다(앞서 본 레이드 0는 '패리티가 없는 스트라이프 세트-Stripe set without parity'인 것이다).

레이드 5 역시 스트라이프 세트이다 보니 입출력 성능이 향상된다. 단 레이드 0만큼은 아니다. 왜? 바로 패리티 연산 때문이다. 데이터 입출력이 엄청난 환경에서 레이드 5 구성을 사용하려면, 사양이 제법 높은 고가의 레이드 컨트롤러를 사용해야 한다(카드 한 장에 50~100만 원 정도 한다).

08.jpg

그렇긴 해도 가장 확실하고 안전하게 데이터를 보존할 수 있는 레이드 레벨로 인식되어, 데이터베이스 스토리지 구성에 일반적으로 적용되고 있다.

레이드 5 구성을 위해서는 디스크가 최소 3개 이상은 되어야 한다. 즉 2개로는 레이드 5를 구성할 수 없다.

아울러 용량도 전체 용량의 70%, 즉 2/3밖에 사용하지 못한다. 나머지 1/3은 패리티 정보를 저장해야 하기 때문이다. 예를 들어 500GB + 500GB + 500GB 디스크를 레이드5로 묶으면 1TB 밖에 사용하지 못하는 것이다. 

레이드 0, 레이드 1, 레이드 5 레벨 이외에도 여러 레벨이 있지만, 일반적으로 사용되는 건 이 3가지다. 다만 레이드 0+1 또는 1+0 레벨이 그나마 알려져 있는데, 앞서 레이드 0과 레이드 1의 특징을 결합한 것이라 보면 된다.

즉 스트라이프 세트로 구성하되 이를 그대로 미러링한다는 의미다. 가끔 사용하긴 하는데 그리 흔치는 않다. 레이드 적용 대비 디스크 낭비도가 높기 때문이겠다. 하지만 디스크 입출력 성능은 최강이다.

11.jpg

 

출처 : http://it.donga.com/openstudy/1764/?page=1

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
93 공유기 외부에서 WOL 기능을 통해 PC ON 시키기 JaeSoo 2013.01.11 2572
92 터치로 컴퓨터 켜기 JaeSoo 2013.01.04 3119
91 PC의 WOL 기능 설정하기 JaeSoo 2012.12.26 3007
90 Asrock P55 Pro 바이오스 설정 설명 JaeSoo 2012.12.25 10474
89 Vmware Bios Upgrade (No-Execute Memory Protection) JaeSoo 2012.12.25 3551
88 CPU TDP(열 설계 전력, Thermal Design Power) 보기 JaeSoo 2012.11.16 2120
87 CPU의 제원표 알아보기 JaeSoo 2012.11.16 1611
86 BIOS 용어 정리 JaeSoo 2012.11.11 1831
85 컴퓨터 장치관리자의 알 수 없는 장치 알아 내기 JaeSoo 2012.11.08 2825
84 High Definition Audio 버스의 오디오 장치 문제 발생시 해결 방법 JaeSoo 2012.11.08 3040
83 ATI 그래픽 카드 때문에 생긴 'High Definition Audio 버스의 오디오 장치' 오류 해결방법 JaeSoo 2012.11.07 3213
82 시스템 버스 PCI-E 3.0 기술과 발전 JaeSoo 2012.11.06 2072
81 입문자를 위한 인텔(Intel) CPU 브랜드 설명 JaeSoo 2012.10.31 1722
80 인텔(Intel) CPU 종류 JaeSoo 2012.10.31 2566
» 하드디스크도 합체한다 - 레이드(RAID) 디스크 구성의 이해 JaeSoo 2012.09.25 6238
78 인텔 E3200 울프데일 듀얼코어 CPU를 싱글코어로 설정하여 전력소모 줄이기 JaeSoo 2012.09.11 2522
77 LG 3D TV로 지상파 3D 방송을 시청하고 싶어요. JaeSoo 2012.07.22 1222
76 클러스터 크기 조정으로 HDD 속도 향상 JaeSoo 2012.07.04 2379
75 인텔 내장그래픽에서 1680*1050, 1440*900 해상도를 지원 안할경우 해결법 JaeSoo 2012.05.28 2531
74 안드로이드 원격제어 [모비즌] 사용후기 JaeSoo 2012.05.24 2144
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6

PageViews   Today : 187 Yesterday : 2394 Total : 21713845  /  Counter Status   Today : 164 Yesterday : 1232 Total : 1142306

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소