의견.png

레이드 (서버)

위키원
218.146.11.108 (토론)님의 2020년 8월 10일 (월) 12:32 판
이동: 둘러보기, 검색

레이드(RAID)란 가격이 저렴한 소용량의 디스크 여러 대를 배열로 묶어서 대용량 저장장치처럼 사용하는 기술이다. 레이드(RAID)란 "Redundant Array of Independent Disks" 또는 "Redundant Array of Inexpensive Disks"의 약자이며 흔히 디스크 어레이(disk array)라고도 부른다

개요

레이드는 하디디스크(HDD) 드라이브의 데이터 저장을 더욱 효율적으로 하기위해 나온 기술이다. 하드디스크는 원판모양의 플래터가 빠른동작으로 회전하고 그 위를 헤드가 기록하는 원리로 데이터가 저장된다. 흔히 우리가 집에서 쓰는 가정용 컴퓨터의 경우에는 하드디스크 드라이브에 저장하는 데이터의 양이 많지 않을 뿐더러 하루에 여러가지 일을 수행하지 않는다. 하지만 큰 회사나 공장, 데이터센터를 가지고있는 경우에는 달라진다. 하루에도 수많은 데이터를 입출력(I/O) 하고 저장하는 데이터의 양은 갈수록 쌓이기 마련이다. 해서 하드디스크의 수명이 금세 줄어들고 내구성이 쉽게 약해져 데이터의 손실이 발생하기도 한다. 이렇게 하드디스크의 데이터 손실을 막고 더 좋은 사용효과를 얻기위해 하드디스크를 중복해서 사용하는 레이드라는 기술이 나타나게 되었다. 당연히 초창기에는 조금 오래되었거나 그렇다고 버리기에는 애매한 디스크를 모아서 사용했다. 현재는 여러가지 방식의 레이드기법이 나왔고 우리가 집에서 사용하는 방식은 흔히 레이드0번 방식을 사용한다. 레이드는 저장 방법에 따라 여러가지 버전으로 나뉘게된다. 레이드는 저장장치이긴 하지만 그렇다고 백업용 장치는 아니다. 데이터를 미러링하여 저장하는 방식이 있어 오해할순 있지만 랜섬웨어나 악성코드의 공격을 받으면 디스크는 당연히 감염이된다. 그리고 디스크의 특성상 백업처럼 데이터를 오래보관하기도 어렵고 I/O를 많이 하다보면 플래터가 많이 긁혀서 데이터를 올바른 값으로 읽기에 무리가 생기는 경우가 있다. 레이드는 여러 개의 디스크를 배열하여 사용하기 때문에 속도 및 안정성이 증가하고 하드 디스크를 최대한 효율적으로 사용 할 수 있으며 가용성 측면에서도 우수하다.[1] 레이드를 사용하기 위해서는 서로 같은 종류의 하드디스크가 필요하다. 다른회사의 재품과도 연결이 가능하지만 내부 구조와 설정이 달라 조금은 불안하기때문에 되도록 같은 제품을 사용해야한다. 그리고 성능도 같아야 하는데 그 이유는 디스크의 성능이 떨어지면 레이드를 구현할때 디스크의 스펙이 하향평준화 되기 때문이다. 레이드를 구성하기에는 단순 하드디스크만 있다고 해서 구성이 되진 않는다. 레이드 컨트롤러(Controller)가 필요하다. 근래에 나온 대부분의 메인보드는 보드에 온보드 레이드 칩셋이 내장되어 있다. 예를 들면 인텔 CPU를 사용하는 보드는 인텔 계열의 레이드 칩셋이 들어있는데, 사용하는 컴퓨터 메인보드가 내장 레이드 칩셋이 있는지 없는지 확인하려면 메인보드 설명서를 읽어보거나 제조사에 전화를 해서 확인하면 된다. 인텔계열 보드의 경우는 ICHxR 이라 불리우는 내장 레이드 칩셋이 있는 경우가 대부분이다. 내장 레이드 칩셋이 없는경우에는 외장 레이드 컨트롤러가 필요한데, 외장 레이드 컨트롤러는 컴퓨터의 메인보드 PCI 혹은 PCI-E 슬롯에 끼우는 카드이다. 대부분 싼가격으로 형성되어있다. 마지막으로 하드디스크를 연결하는 SATA 포트가 레이드를 지원하는 포트인지 확인해야한다. 대부분 메인보드에 달려있는 SATA 포트는 전부 레이드를 지원하고 있기에 연결이 가능하고 지원하지 않을경우에는 포트를 바꾸어야 한다.[2]


기능

동작원리

종류

레이드 0번
  • 레이드 0: 레이드0번은 줄무니(Striping)방법을 사용한다. 레이드0은 두 개 이상의 하드디스크를 이용해서 데이터를 각각의 하드디스크에 분산시켜 저장하는 것이다. 예를 들면 하드디스크를 2개 사용한다고 가정한다면, 두개의 하드디스크를 레이드0으로 묶는다면 앞으로 데이터들은 각각의 하드디스크에 분산저장이 된다. 레이드0의 장점은 개별적으로 하드디스크를 사용할 때보다 전반적인 성능이 2배가량 좋아진다. 이는 컴퓨터의 부팅속도, 폴더를 여는 속도, 프로그램을 실행하고 종료하는 속도, 등등 대부분의 컴퓨터 작업에서 빠른속도를 느낄수 있다. 만약 3개를 묶으면 대략3배정도 향상될 것이다. 반면 레이드0은 작은 데이터도 분산시켜 저장하기 때문에 한쪽 하드디스크가 갑자기 망가지면 모든 자료가 복구가 불가능하게 된다. 하드디스크가 망가지지 않아도 사용자의 실수나 하드웨어적 오류로 인해 레이드0이 수정되면 자료가 전부 날아가버려 복구를 할 수 없는 경우도 발생한다. 우리가 컴퓨터를 사용하는데 가장 큰 영향을 주는것은 하드디스크이다. CPU의 성능은 많이 발전했지만 데이터를 입출력하는 하드디스크의 발전을 더딘편이라 아무리 좋은 CPU를 써도 성능이 낮은 하드디스크를 쓴다면 속도를 보장할 수 없게된다. 레이드 0번은 속도가 제일 빠르기 때문에 정말 빠른속도의 PC를 원한다면 레이드0번을 사용해야 한다.[2] 실제로 데이터가 컴퓨터 내부에 전송되는 속도보다 하드디스크에 저장되는 속도가 느리기 때문에 이를 상쇄하기 위해 병렬 연결을 고려하는 것이다. 또한, 하드디스크는 원형의 판이 고속으로 회전하고 있고 그 표면의 전기 신호를 읽거나 쓰는 처리를 하는 원리로 이루어져 있는데, 이런 처리 속도보다 회전 속도가 더 빠르기 때문에 실제 하드디스크는 데이터가 인접하게 저장되지 않는다. 하나의 원을 원중심을 기준으로 8등분하여 각 등분마다 1부터 8까지 번호를 주었을 때, 실제 데이터는 A1, A2, A3, A4...A8 과 같이 순차적으로 저장되지 않고 A1, A3, A2, A4... A8 과 같이 일정한 간격을 두고 저장하게 된다. 그러므로 당연히 건너뛰는 거리만큼 처리시간이 지연되는 것이다. 이것을 만회하기 위해 처리 지연이 일어나는 동안 다른 하드디스크에 저장을 시킬 수 있게 고안된 것이 레이드0번 기술이다.[3]
    레이드 1번
  • 레이드 1: 레이드 1 버전은 미러링(Mirroring) 방법을 사용한다. 말그대로 데이터를 복사하여 저장하는 방식이다. 레이드1을 구성하기 위해서는 최소 2개의 디스크를 사용해야한다. 레이드 컨트롤러에 따라서 2개의 디스크로만 구성 능할 수도, 그 이상의 개수를 사용 하여 구성할 수도 있다. 레이드1은 모든 디스크에 데이터를 복제하여 기록한다. 즉, 동일한 데이터를 N개로 복제하여 각 디스크에 저장하기 때문에 여러 개의 디스크로 레이드를 구성해도, 실제 사용 가능한 용량은 단일 디스크의 용량과 동일하다(1기가+1기가=1기가). 디스크에 데이터를 저장할때 데이터를 복제하여 기록하기 때문에, 레이드 컨트롤러가 복제, 연산 하는 시간을 감안하면 단일 디스크의 성능보다 낮게 나올 수도 있다. 하지만 데이터를 읽을때는 전체 디스크에서 읽어오기 때문에 단일 디스크의 N배의 성능이 나오게된다. 그리고 레이드1의 최대 강점은 안정성이 매우높다. 디스크가 고장이나 데이터가 손실되어도 미러링 방식을 사용하기 때문에 데이터의 복구 및 사용이 가능하다. 레이드1은 안정성이 중요한 시스템에서 사용 할 수 있겠으나, 비용 문제로 인해 현재에는 거의 사용하지 않는다.[4]
  • 레이드 2: 레이드0과 같은 방식을 사용한다. 하드 디스크에는 오류검출 코드가 따로 없기에 레이드 2는 오류 검출과 수정이 가능한 해밍코드를 부여한다. 하드디스크는 본래 에러코드를 지원하지않기에 ECC(Error Correction Code)를 별도의 드라이브에 저장한다. 디스크 1개의 오류시에는 복구가 가능하며 디스크 2개의 오류시에는 복구가 불가하다. 만약 ECC가 손실되었을경우 에러검사를 하지못하게 되는 경우가 발생한다. 현재에 나오는 하드디스크에 기본적으로 에러코드가 있기때문에 레이드2번 방식은 현재 사용하지 않는다.
  • 레이드 3,4: 줄무니(스트라이핑)기술을 사용하여 디스크들을 구성하고, 별도의 디스크에 패리티 정보를 저장한다. 바이트(Byte) 단위로 움직이고 패러티 디스크가 있기 때문에 용량은 디스크의 사용갯수에서 1개를 제외해야 한다. 입출력 작업이 동시에 모든 디스크에 대해 이루어지므로, 입출력을 겹치게 할 수 없고, 최소3개의 디스크를 필요로 하며 디스크 1개까지만 오류를 복구할 수 있다. 일반적으로 많이 사용하지 않고 대형 레코드가 많은 시스템에 이용된다. 레이드0과 거의 동일한데 패리티 디스크가 하나 더 물린 형태로 생각하면 된다. 읽는 속도는 동일하지만 쓰기는 패리티를 같이 처리하므로 속도가 좀 더 느리다.[5]

레이드 4는 데이터를 블록단위로 저장한다.

  • 레이드 5 : 레이드 5는 RAID 3,4에서 별도의 패리티 정보 디스크를 사용함으로써 발생하는 문제점을 보완하는 방식으로 패리티 정보를 줄무늬로 구성된 디스크 내에서 처리하게 만들었다. 만약 1개의 하드가 고장나더라도 남은 하드들을 통해 데이터를 복구할 수 있다는 장점이 있다.
  • 레이드 6: RAID 5와 같은 개념이지만 다른 드라이브들 간에 분포되어 있는 2차 패리티 정보를 넣어 2개의 하드에 문제가 생겨도 복구할 수 있게 설계되었으므로 RAID 5보다 더욱 데이터의 안전성을 고려하는 시스템에서 사용된다.

소프트웨어 레이드

활용

오늘날 어떤게 가장 쓰이는지 조사

기타

레이드 01 레이드 10

문제점

각주

  1. RAID 나무위키 -https://namu.wiki/w/RAID
  2. 2.0 2.1 아래스, 〈레이드(RAID) 구성하는 방법〉, 《티스토리》, 2010-05-27
  3. 세아향, 〈COMPUTER 레이드(RAID) 10 구성〉, 《티스토리》, 2008-08-16
  4. 해리팍, 〈(스토리지) RAID 정리 1. RAID 기본 설명 및 RAID Level (레이드 레벨)〉, 《티스토리》, 2018-08-31
  5. 아이들링,〈RAID0부터 RAID7까지. 모든 RAID구성을 알아보자]〉, 《티스토리》, 2018-01-23

참고자료


같이 보기


  의견.png 이 레이드 (서버) 문서는 하드웨어에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.