소프트웨어 RAID의 전환점

2001년 6월, IT 업계에서 놀라운 일이 벌어졌습니다. Intel이 Tualatin 기반의 Pentium IIIS 1.0 GHz 프로세서를 출시한 것입니다. 이는 1GHz 클럭 장벽을 넘은 최초의 Intel 프로세서(IA32 아키텍처) 중 하나였으며, 그 중에서도 가장 의미 있는 제품이었습니다. 또한 듀얼 프로세서 지원과 이전 Coppermine 기반 전작 및 바로 한 달 뒤를 따라온 비-“S” Tualatin 후속 모델보다 두 배 큰 온칩 캐시를 갖춘 특별한 제품이었습니다. PIIIS 시스템 보드는 그 시대에 폭발적인 인기를 누렸으며, 2001년부터 이후 수년간 Proliant, PowerEdge 같은 고성능 범용 서버의 근간을 이루었습니다. 그 정점은 Pentium IIIS 1.4GHz 듀얼 프로세서 시스템으로, 이 시스템은 매우 중요하여 현재 유명한 HP Proliant의 “G” 명명 규칙을 탄생시키는 계기가 되었습니다. Pentium III 박스들이 바로 “G1”이었습니다.
이것이 RAID와 무슨 관련이 있을까요? 2001년 5월까지 RAID가 어떤 상황이었는지 돌아볼 필요가 있습니다. 1990년대부터 2001년 5월까지, 하드웨어 RAID는 Novell Netware, Windows NT 4, Windows 2000, 일부 Linux 등을 포함한 IA32 서버 세계의 표준이었습니다. 소프트웨어 RAID도 일부 시스템(Netware 제외)에 존재하긴 했지만, 서버들은 항상 CPU와 메모리 자원이 부족했고, 이 귀중한 자원을 RAID 기능에 사용하는 것은 비용이 너무 컸습니다. 애플리케이션과 RAID가 자원을 두고 경쟁하면 시스템이 충돌로 종종 먹통이 되곤 했습니다. 하드웨어 RAID는 이런 기능 전용의 CPU와 RAM을 추가함으로써 이 문제를 해결했습니다.
1990년대 말과 2000년대 초의 RAID는 디스크가 작고 용량당 비용이 매우 비쌌기 때문에, 사용 가능한 디스크에서 최대 용량을 짜내는 것이 최우선 과제였습니다. 그래서 RAID 5와 RAID 6 패리티 스트라이핑 방식에 크게 의존했습니다. 또한 당시 소용량 디스크에서는 URE 같은 위험이 매우 사소한 수준이었기 때문에 패리티 RAID는 전반적으로 매우 신뢰할 수 있었습니다. 2009년과는 완전히 다른 상황이었습니다. 2001년에는 엔터프라이즈 서버에서 2.1GB, 4.3GB, 9GB 하드 드라이브를 보는 것이 여전히 일반적이었습니다!
패리티 RAID가 대세였고 서버마다 많은 드라이브가 사용되었기 때문에, RAID는 2010년보다 2000년에 평균적으로 더 많은 CPU 오버헤드를 요구했습니다. 따라서 RAID가 시스템 자원에 미치는 영향은 매우 컸습니다.
이것이 배경입니다. 그런데 2001년 6월, 갑자기 매우 저전력의 IA32 시스템을 구매해 오던 사람들이 크게 향상된 클럭 속도, 효율적인 듀얼 프로세서 지원, 두 배 크기의 온칩 캐시를 갖춘 Tualatin Pentium IIIS 프로세서에 접근할 수 있게 되었습니다. 이는 말 그대로 하룻밤 사이에 시스템 성능이 놀랍도록 도약한 것이었습니다. 이 새로운 성능이 넘쳐나는데도 소프트웨어 요구 사항은 그에 맞춰 변하지 않았고, 전통적으로 CPU와 RAM이 부족했던 시스템들이 갑자기 그것을 어떻게 활용해야 할지 모를 만큼 넘치게 되었습니다. 특히 추가 스레드가 사용 가능해졌고 당시 대부분의 애플리케이션은 단일 스레드였습니다.
Pentium III 시대에도 시스템 CPU는 하드웨어 RAID 컨트롤러의 소형 CPU(주로 엔트리 레벨 PowerPC 또는 MIPS 칩)보다 극적으로 더 강력했습니다. 사용 가능한 시스템 메모리도 하드웨어 RAM 캐시보다 훨씬 큰 경우가 많았고, 추가 시스템 메모리에 투자하는 것이 훨씬 효과적이고 유리했습니다. 그래서 메인 시스템에 여유 용량이 생기면서 RAID 기능을 평균적으로 하드웨어 RAID 카드에서 중앙 시스템으로 옮기고도 하드웨어 RAID 카드의 추가 CPU와 RAM을 포기하면서도 성능을 얻을 수 있게 되었습니다. 물론 자원이 부족한 과부하 시스템에서는 해당되지 않았고, RAID 6이 가장 많은 혜택을 받고 RAID 1이나 RAID 0 같은 비패리티 시스템은 가장 적은 혜택을 받는 패리티 RAID 시스템에 더 적합했습니다.
2001년 6월이 바로 그 유명한 전환점이었습니다. 그 이전에는 평균적인 IA32 시스템에서 하드웨어 RAID가 더 빨랐습니다. 그리고 2001년 6월 이후 새로 구매하는 시스템은 평균적으로 소프트웨어 RAID가 더 빠르게 되었습니다. 매년 지나면서 장점은 점점 더 소프트웨어 RAID 쪽으로 기울었습니다. 활용되지 않는 코어 CPU와 유휴 스레드, 여유 RAM이 폭발적으로 증가했고, 디스크 크기가 급격히 커지고 용량 비용이 하락하면서 미러링 RAID가 표준으로 자리 잡음에 따라 패리티 RAID 사용이 줄어드는 것만이 하드웨어 RAID의 유일한 장점이 되었습니다.
오늘날 하드웨어 RAID가 더 빠르다는 생각이 사라진 지 15년이 넘었습니다. 이 믿음이 계속되는 주된 이유는 이상한 “1998년 세대” 효과 때문입니다. 하지만 이것은 원래의 출처를 제대로 이해하지 않고 잘못 반복해 온 미신에 불과합니다. 하드웨어 RAID는 계속해서 이점을 가지고 있지만, 성능은 우리가 RAID를 사용해 온 대부분의 기간 동안 그 이점이 아니었으며, 앞으로도 다시 그렇게 될 것으로 기대되지 않습니다.