최근 레이드(RAID)란 단어가 컴퓨터 사용자 사이에서 관심을 불러일으키고 있다. 레이드는 Redundant Array of Inexpensive Disks의 약자로 하드디스크를 병렬로 연결해 하드디스크드라이브(HDD)의 성능을 극대화시키는 기술이다.
1988년 버클리 대학에서 처음 개발된 레이드는 제한적인 하드디스크의 용량과 성능을 높이기 위한 것이 주목적이었다. 이후 레이드는 서버에 활용되면서 광범위하게 확산됐다.
일반 컴퓨터에서 사용하는 하드디스크의 성능은 한계가 있다. 하드디스크의 기본 성능에 제한을 받기 때문이다. 이는 EIDE라는 인터페이스의 한계다.
EIDE는 데스크톱 컴퓨터에서 사용하는 일반적인 데이터 전송 인터페이스다. EIDE는 IDE의 한계를 해소하기 위해 만들어졌다. 하지만 인터넷과 각종 소프트웨어의 발달로 컴퓨터의 데이터 양은 기하급수적으로 증가했다. 10년 전만 하더라도 500MB 정도의 하드디스크는 매우 용량이 크다고 생각됐다. 멀티미디어에 중점을 둔 현재의 컴퓨터 환경은 엠펙 형식의 영화 데이터가 한 편에 1.3Gb, DVD라면 4.7Gb가 소요되니 얼마나 많은 데이터를 필요로 하는지는 쉽게 예측할 수 있다.
EIDE 인터페이스의 데이터 전송규격은 여러 가지가 있지만 그 중 최근에 많이 사용되고 있는 것은 ATA100이다. 간단히 말하자면 ATA100은 데이터 전송률이 초당 100MB로 고속의 데이터 전송 규격이다. 보다 빠른 하드디스크의 데이터 전송을 위한 것이다.
하지만 전송규격이 초당 100MB라도 하드디스크가 초당 100MB의 데이터를 저장할 수 있는 것은 아니다. 하드디스크에는 내부적으로 처리할 수 있는 데이터 양에 한계가 있다. 내부 데이터를 읽는 시간과 외부로 전송하는 시간의 차이로 인한 병목 현상이 발생한다. 레이드는 이러한 한계를 극복하기 위해 만들어진 것이다.
이번 벤치마크의 목적은 일반 사용자들의 하드디스크 성능을 극대화할 수 있는 효과적인 방법을 찾는 것이다. 서버에서 사용되는 고가의 레이드 장비들이 선보이고 있지만 일반 사용자들에게는 그림의 떡이다.
따라서 이번 벤치마크 대상 제품은 전자상가에서 쉽게 구입할 수 있는 10만원 내외의 레이드 컨트롤러로 정했다. 또 별도의 하드웨어를 사용하지 않고 윈도2000에서 지원하는 소프트웨어 방식의 레이드도 함께 테스트했다.
레이드는 카드 형식의 제품뿐 아니라 소프트웨어적인 방식도 있다. 따라서 사용자의 환경에 맞는 방식을 선택해야 한다.
대용량의 하드디스크를 사용하는 환경에서 성능보다는 하나의 디스크로 구성된 대용량의 하드디스크를 필요로 한다면 윈도2000의 소프트웨어적인 레이드가 효과적이다. 특별하게 시스템에 부하가 걸리는 소프트웨어의 구동이 아니라면, 현재 최고의 하드디스크인 80Gb나 100Gb의 하드디스크로 최고 400Gb의 하드디스크를 하나로 구성할 수 있다. 방대한 양의 영상 데이터 혹은 하나의 디스크만을 활용하는 소프트웨어에서는 추가 비용 없이 구현할 수 있는 최고의 방법이다.
단 이러한 구성은 윈도2000에서만 가능한 것으로 윈도98이나 윈도Me 사용자는 카드 형식의 레이드 컨트롤러가 필요하다.
테스트 결과 패스트트랙 100과 사이드레이드 100이 상대적으로 좋은 결과를 보여주고 있다. 반면 하이퍼디스크 100은 소프트웨어 방식의 레이드에도 미치지 못하는 성능을 보여주고 있다. 하이퍼디스크 100은 확장된 EIDE 인터페이스의 제공과 부가적인 면을 제외하면 큰 장점이 없다.
따라서 세부적인 설정과 빠른 성능을 원하는 사용자에게는 패스트트랙 100과 사이드레이드 100이 가장 좋은 선택이다. 특히 저렴한 가격을 감안한다면 사이드레이드 100이 최적의 선택이 될 것이다. 반면 보다 세부적인 설정과 다양한 장치와의 호환성을 기대한다면 고객지원이 좋은 패스트트랙 100을 선택하는 편이 바람직하다.
벤치마크 대상이 된 레이드 컨트롤러는 롬 바이오스의 업그레이드로 성능 향상을 꾀할 수 있다. 따라서 향후 바이오스의 업그레이드로 성능은 개선될 수 있음을 알아야 한다. 또 다양한 하드디스크와 이들의 펌웨어에 따른 성능은 바뀔 수 있다는 것 또한 인지해야 한다.
기본적인 분산저장의 성능 외에도 운용체계의 지원 여부, 데이터 안정성, 호환성 등 다양한 것을 고려해야 한다. 사용자가 원하는 운용체계를 지원하며 원활한 성능을 보여주는지, 또 기타 주변기기와의 호환성에 문제는 없는지도 살펴봐야 한다. 아무리 최고의 성능을 갖추고 있어도 특정 주변기기와 충돌을 일으키면 사상누각에 다름 아니다.
컴퓨터는 각각의 부품이 골고루 성능을 내야 한다. 아무리 CPU의 연산능력이 우수하다고 해도 메모리가 부족하거나 하드디스크의 성능이 떨어지면 그 시스템은 효율적이라 말할 수 없다.
테스트 환경
CPU : 인텔 펜티엄Ⅲ 500E
메인보드 : 아수스 CUSL2
그래픽카드 : 지포스2 GTS
운용체계 설치 하드디스크 : 스카시 방식 IBM 울트라스타 18.2Gb
테스트 하드디스크 : 맥스터 다이아몬드맥스 VL40 30Gb 4개
운용체계 : 한글 윈도2000 SP1
집데이비스의 벤치마크 프로그램인 윈벤치를 사용해 각 제품의 성능을 알아봤다. 결과를 보면 하드디스크의 제한된 성능에 따르지만 아이윌의 사이드레이드 100과 프라미스의 패스트트랙 100이 가장 우수하게 나타난다. 반면 하이퍼디스크 100은 소프트웨어 레이드의 구성보다도 낮게 측정되고 있음을 알 수 있다.
이를 구체적으로 살펴보면 사이드레이드 100은 상당히 안정적인 결과를 보여준다. 그 성향은 성능을 유지시켜 주고 있는데 디스크의 구조상 마지막에는 성능이 다소 떨어지고 있음을 알 수 있다. 하지만 격차는 그리 크지 않다.
다양한 세팅이 가능한 패스트트랙 100은 일정 간격으로 순간적인 성능 저하를 보인다. 이것은 이 제품이 구성한 레이드의 블록값과 연관된 것으로 성능에 영향을 미치는 것은 아니다. 이에 대한 것은 결과값에 반영돼 바이오스의 설정을 효과적으로 한다면 보다 전문적인 활용이 가능할 것으로 보인다.
하이퍼디스크 100은 가장 안정적인 그래프를 보여주고 있다. 하지만 성능 결과는 소프트웨어 레이드보다도 낮게 나왔다. 이는 이 제품의 기본적인 성능과 테스트한 메인보드와의 호환성이 낮기 때문이라고 풀이할 수도 있다.
윈도2000의 레이드 구성은 운용체계의 시스템 관리에 최적화돼 있기 때문에 별도의 EIDE 컨트롤러나 레이드 컨트롤러가 없어도 기본적으로 우수한 성능을 보여준다. 다만 멀티태스킹 환경이 아니기 때문에 비디오 편집을 할 때의 소프트웨어 레이드는 성능저하 현상을 겪게 될 가능성이 높다. 그만큼 CPU가 연산을 하게 되면 소프트웨어 레이드에 할당되는 CPU 연산은 상대적으로 줄어들기 때문이다.
◆레이드의 종류
레이드에는 다양한 레벨이 존재한다. 이러한 레벨에 따라 레이드 구성과 목적은 달라진다. 많이 사용되는 레이드 레벨은 다음과 같다.
레이드 0
레이드 레벨 0은 레이드의 가장 기본적인 구현 방식이다. 분산 저장 방식을 사용해 하드디스크의 용량을 늘리고 액세스 타임 및 전송률을 높이는 것이 주목적이다.
기본적으로 용량과 속도는 향상되지만 서버에서는 잘 활용되지 않는다. 그 이유는 데이터 신뢰성 때문인데 하나의 하드디스크에서 에러가 발생하면 전체 데이터의 손실을 피할 수 없다. 하지만 일반적인 시스템에서는 가장 많이 쓰이고 있는 방법이다.
기본적으로 2개 이상의 하드디스크가 필요하며 그 성능은 하드디스크 수의 증가에 비례한다.
◆레이드 1
레이드 레벨 1은 데이터 백업을 통해 데이터의 안정성을 향상시킨 것이다. 방식은 레이드 0과 같지만 다른 데이터의 교차 저장 방식이 아닌 동일한 데이터를 저장해 데이터 신뢰도를 높인다.
2개의 하드디스크가 연결돼 있는 상태에서 하나의 하드디스크는 다른 하나의 하드디스크에 저장된 데이터와 동일한 데이터를 갖고 있다. 만일 하나의 하드디스크가 문제가 생기면 다른 하드디스크의 데이터로 이를 대체한다. 서버에서는 이러한 방식으로 데이터에 문제가 생기는 것을 방지한다. 보통 레이드 1은 대형 서버보다는 소규모 서버나 워크스테이션급에서 데이터에 대한 신뢰를 위해 사용하고 있다.
◆레이드 4
레이드 레벨 4는 하드디스크의 분산저장과 에러보정을 위한 데이터를 블록화해 별도의 하드디스크에서 관리한다.
레이드 레벨 5와 방식은 비슷하지만 레벨 4에서 쓰이는 에러보정은 하나의 디스크에서 관리하기 때문에 에러보정을 위한 하드디스크와 데이터 하드디스크가 동시에 문제가 생길 경우 데이터에 대한 신뢰도 측면에서 문제가 생길 수 있다.
◆레이드 5
레이드 레벨 5는 하드디스크의 분산저장과 에러보정을 위한 블록저장 방식을 취한다. 현재 가장 많이 쓰이는 방식으로 기존의 여러 레이드 레벨에 대한 문제점을 최소화한다.
하드디스크 5개로 구성되는 레벨 5는 데이터의 저장 단위를 블록화하고 이에 대한 에러보정 정보도 블록화한다. 이들은 서로 연관돼 있으나 각각은 독립적으로 운용되며 하나의 하드디스크에서 생기는 에러 문제를 다른 디스크에 있는 에러보정 블록이 복구를 해준다. 레벨 4와는 달리 2개의 하드디스크에 문제가 생겨도 데이터에 신뢰도를 유지한다.
◆레이드 0+1
레벨 0과 레벨 1을 동시에 사용하는 것이다. 비용이 많이 든다는 단점이 있지만 손쉽게 속도와 데이터 신뢰도를 높일 수 있다. 역시 일반 시스템 및 워크스테이션급에서의 데이터 신뢰도를 높이기 위한 방법으로 사용된다. 일반적인 시스템 내에서는 레이드 레벨 0을 사용해 하드디스크의 저장 속도를 높이고자 많이 사용된다.
◆레이드의 실제 성능
현재 시중에서 구입할 수 있는 하드디스크의 전송규격은 ATA100이다. ATA100은 초당 100MB의 데이터 전송이 가능하다고 하지만 하드디스크의 내부 전송률에 따르기 때문에 실제 성능은 초당 40MB 내외라고 보는 것이 적당하다.
만일 하드디스크의 데이터 전송속도가 초당 40MB라고 한다면 기존 ATA66으로도 충분한 성능을 기대할 수 있다.
ATA100이라는 규격이 나온 지 오래 됐지만 아직 초당 100MB라는 성능을 만족시키는 하드디스크는 거의 없다. 이로 인해 많은 사용자들이 ATA100에 대해 회의를 품고 있다. 하지만 ATA100은 하나의 하드디스크를 위해 만든 것이 아니다. 하나의 채널에 2개 이상의 하드디스크를 설치할 경우 ATA100은 제 힘을 발휘한다.
만일 초당 30MB의 전송속도를 갖고 있는 하드디스크는 ATA66뿐 아니라 ATA33 인터페이스로도 충분한 성능을 기대할 수 있다. 하지만 EIDE는 채널당 2개의 하드디스크를 설치할 수 있으며 2채널로 총 4개의 하드디스크를 설치할 수 있다.
2개의 하드디스크를 하나의 채널에 연결했을 경우 초당 30MB의 성능을 갖고 있는 하드디스크는 초당 60MB의 대역폭이 필요하다. 따라서 ATA33의 초당 33MB라는 성능으로는 2개의 하드디스크를 효과적으로 사용할 수 없다. 하나의 하드디스크에 있는 데이터를 다른 하드디스크에 복사하려면 ATA33이 아닌 ATA66 이상의 규격이 필요한 것이다.
현재 출시되고 있는 하드디스크는 현실적으로 초당 40MB 정도의 전송률을 보인다. 따라서 이러한 하드디스크 2개를 하나의 채널에 연결하려면 ATA100 인터페이스가 절대적으로 필요하다.
이처럼 레이드는 저렴한 가격에 하드디스크의 성능을 크게 향상시킬 수 있다. 하나의 채널에 2개의 하드디스크를 연결하면 이론적으로 2배의 성능 향상을 꾀할 수 있다. 레이드 레벨 0으로 레이드를 구성해 이를 구체적으로 살펴보자.
레이드 레벨 0은 EIDE의 구조상 2개의 하드디스크나 4개의 하드디스크로 구성할 수 있다. 하드디스크의 내부 전송률이 초당 40MB라고 한다면 2개일 경우 초당 80MB, 4개일 경우 초당 160MB의 전송률을 갖게 된다. 일반적인 EIDE 하드디스크로 이 정도의 성능을 낸다면 엄청난 기능 향상이다.
하나의 하드디스크와 2개의 하드디스크를 레이드 0으로 구성한 결과를 보자. 기본적으로 하나의 하드디스크만을 설치한 경우 초기 데이터의 전송률은 초당 30MB에 약간 못 미치는 결과를 보이며 점점 성능이 떨어지고 있다. 반면 2개의 하드디스크로 구성한 레이드 레벨 0에서는 초기 데이터의 전송률이 초당 60MB에서 시작하고 있음을 볼 수 있다.
결국 레이드 0으로 구성한 2개의 하드디스크는 하나의 하드디스크처럼 사용할 수 있으면서 용량과 성능은 2배가 된다.
3개 이상으로 구성한 레이드 0의 성능은 2개의 하드디스크로 구성한 레이드 0에 비해 월등한 성능을 보이고 있다. 초기 시작 전송률은 초당 90MB를 약간 못미치는 결과를 보이고 있는데, 이론과 맞아떨어지는 결과를 보이는 셈이다.
하지만 4개의 하드디스크로 구성한 결과는 3개의 하드디스크로 구성한 하드디스크의 초기 전송률과 동일하다. 이유는 PCI 인터페이스의 한계 때문이다.
PCI는 33㎒의 동작클록으로 한번의 클록에 4바이트(32비트)의 데이터 전송이 가능하다. 결국 33㎒×4바이트는 초당 132MB의 결과가 나온다. 이것은 이론적인 수치고 보통 PCI는 초당 100MB에 못 미치는 성능을 보인다고 봐야 한다. 따라서 레이드 시스템을 구성하더라도 하드디스크가 3개를 넘을 경우 효율성이 없다고 봐야 한다.
하지만 4개의 하드디스크로 구성한 레이드 0의 구성은 시간이 지나도 성능 저하가 크게 나타나지 않는다. 이것은 4개의 하드디스크로 구성한 성능이 충분히 지원돼 PCI 성능에 충족하고 있음을 뜻하는 것이다. 반대로 얘기하자면 PCI의 성능이 부족함을 뜻하는 것이다.