하드웨어 RAID와 소프트웨어 RAID
RAID(Redundant Array of Inexpensive Disks) 시스템은 소프트웨어 또는 전용 하드웨어라는 두 가지 기본 방식 중 하나로 구현됩니다. 두 방법 모두 매우 실용적이며 각각의 장점이 있습니다.
Intel 및 AMD 아키텍처 시스템과 Windows 운영 체제가 주류인 중소기업 환경에서는 하드웨어 RAID가 너무 일반적이어서 소프트웨어 RAID에 대한 혼란이 많이 발생했으며, 이후 살펴보겠지만 전용 하드웨어로 홍보되는 사기성 소프트웨어 RAID 제품인 “페이크 RAID”가 그 원인의 상당 부분을 차지합니다.
RAID가 처음 개발되었을 때는 독점 UNIX를 운영하는 고급 엔터프라이즈 서버에서 소프트웨어로 사용되었으며, 이 시스템들은 매우 안정적이고 하드웨어가 강력하고 견고하여 소프트웨어 RAID가 매우 잘 작동했습니다. 초기 RAID는 주로 미러링 RAID 또는 오버헤드가 거의 없는 매우 단순한 패리티 RAID(RAID 2와 같은)에 집중했습니다.
RAID의 필요성이 소규모 서버 환경으로 확산되고 패리티 RAID가 인기를 끌면서 더 많은 처리 능력이 필요해졌으며, x86 환경의 저전력 프로세서가 특히 RAID 5의 처리 부하에 크게 영향을 받는 것이 문제가 되었습니다. 이와 함께 이러한 플랫폼에서 많이 사용되는 운영 체제들이 소프트웨어 RAID 구현을 거의 갖추고 있지 않아 자연스럽게 하드웨어 RAID가 발전했습니다. 하드웨어 RAID는 자체 CPU, 메모리, 펌웨어를 갖춘 완전한 컴퓨터가 내장된 오프로드 프로세서 보드(그래픽용 GPU와 유사)였습니다.
하드웨어 RAID는 x86 서버 환경에서 RAID 오버헤드 문제를 해결하는 데 매우 효과적이었습니다. CPU 성능이 향상되고 메모리가 덜 희소해짐에 따라 Windows Server와 같은 인기 있는 x86 운영 체제가 소프트웨어 RAID 옵션을 제공하기 시작했습니다. 특히 Windows 소프트웨어 RAID는 구현이 미흡하다고 알려졌고 서버 운영 체제 버전에서만 사용 가능하여 주로 Windows를 다루는 시스템 관리자 커뮤니티에서 소프트웨어 RAID에 대한 평가가 낮아졌습니다.
엔터프라이즈 서버 환경과 범용 x86 환경에서의 역사적인 구현으로 인해 두 시장 간에 자연스러운 분리가 생겼으며, 처음에는 기술적으로 뒷받침되었다가 나중에는 순전히 이념적으로 유지되었습니다. 범용 환경의 시스템 관리자에게 물어보면 하드웨어 RAID만이 유일한 선택지라는 답변을 거의 항상 듣게 됩니다. 반면 메인프레임, RISC(Sparc, Power, ARM) 또는 EPIC(Itanium) 서버(유닉스 서버라고도 함) 환경의 시스템 관리자는 그러한 클래스의 시스템에서는 하드웨어 RAID를 사용할 수 없기 때문에 놀라움을 표할 것입니다. 소프트웨어 RAID는 당연한 선택입니다. 두 진영 모두 상대방의 상황에 대한 실질적인 지식이 없으며, 최근 Linux, Solaris, FreeBSD와 같은 엔터프라이즈 UNIX 플랫폼이 범용 하드웨어에서 매우 인기를 얻고 잘 이해되기 시작할 때까지 두 영역 간의 기술 교류는 비교적 드물었습니다.
범용 서버 환경의 혼란을 더욱 가중시킨 것은, 지배적인 운영 체제 벤더가 비서버 운영 체제 시장에 소프트웨어 RAID를 제공하지 않아 생긴 공백을 채우기 위해 기술적으로 덜 전문적인 타겟 시장에 마케팅하려는 의도로 많은 벤더들이 비RAID 컨트롤러 카드와 함께 실제로는 소프트웨어 RAID인 “드라이버”를 판매하면서 이를 하드웨어 RAID인 것처럼 속였다는 점입니다. 이는 최선의 경우 큰 혼란을 일으켰고 최악의 경우 소프트웨어 RAID에 대한 강한 불신을 초래했습니다. 데이터 보호를 핵심 기능으로 하면서 기만과 혼란을 기반으로 시장을 형성한 시스템은 거의 항상 재앙으로 귀결됩니다. 페이크 RAID 시스템은 성능과 안정성에서 일상적으로 문제를 보입니다. 이론적으로는 서드파티 소프트웨어 RAID 패키지가 합리적인 선택이지만, 실제 소프트웨어 RAID 시장에서 품질 있는 구현은 거의 모두 운영 체제 자체(Linux, Mac OSX, Solaris, Windows)나 파일시스템(ZFS, VxFS, BtrFS)에 내장된 기본 구성 요소이며 주요 벤더가 제공 및 유지 관리합니다. 따라서 몇몇 소규모 합법적인 소프트웨어 RAID 업체가 존재하지만 페이크 RAID 업체에 가려져 있는 Windows 데스크톱 환경 외에는 서드파티 제품의 설 자리가 거의 없습니다.
오늘날 범용 플랫폼은 매우 강력하며 컴퓨팅 및 메모리 자원이 항상 현저히 남아 있어 하드웨어 RAID의 필요성은 거의 없습니다. 하드웨어 RAID는 이제 자원 부하 감소보다는 기능 면에서 경쟁합니다. 범용 서버 환경에서 하드웨어 RAID와 소프트웨어 RAID의 선택은 특정 성능이나 기능보다는 선호도와 시장 관성에 의한 것이 대부분이며, 두 플랫폼은 본질적으로 동등하고 하드웨어/소프트웨어 방식 자체보다는 개별 구현이 제품 선택에 훨씬 더 중요합니다.
오늘날 하드웨어 RAID 제품은 표준 RAID 레벨의 비교적 평범한 구현으로 더 “범용적”인 경향이 있습니다. 하드웨어 RAID는 일반적으로 자원 활용 감소(CPU 및 메모리 오프로드), 장애 드라이브 “블라인드 스왑” 능력, 간소화된 스토리지 관리, 운영 체제에 독립적으로 추상화된 블록 레벨 스토리지, 드라이브에 가까운 빠른 캐시, 배터리 또는 플래시 백업 캐시를 통해 가치를 발휘합니다. 소프트웨어 RAID는 일반적으로 더 낮은 전력 소비, 낮은 도입 비용, 운영 체제와의 통합 관리, 고유하거나 고급 RAID 기능(예: 표준 RAID 5 쓰기 홀 문제가 없는 ZFS의 RAIDZ), 그리고 전반적으로 더 나은 성능을 통해 가치를 발휘합니다. 어느 쪽이 더 낫고 나쁜 문제가 아니라 매우 구체적인 상황에 따라 무엇이 더 적합한지의 문제이며, 가장 중요한 요소는 종종 친숙함과 편안함 및/또는 기본 벤더 제공 여부입니다.
하드웨어와 소프트웨어 RAID 간의 가장 간과되지만 중요한 차별점 중 하나는 RAID 배열 관리와 관련된 직무 역할의 변화입니다. 하드웨어 RAID는 배열 처리를 서버 관리자(물리적 서버에서 작업하며 데이터센터에 상주하는 지원 역할)에게 이전하는 반면, 소프트웨어 RAID는 배열 처리를 시스템 관리자(운영 체제 이상에서 작업하며 데이터센터에 거의 앉지 않는 지원 역할)에게 이전합니다. 중소기업 환경에서는 이 요소가 완전히 무시될 수 있지만 대기업에서는 직무 역할의 차이가 매우 중요할 수 있습니다. 하드웨어 RAID를 사용하면 많은 경우 시스템 관리자의 개입 없이 디스크 교체 및 시스템 설정을 수행할 수 있습니다. 데이터센터 서버 관리자는 경보나 점검 중 “황색 표시등” 확인을 통해 장애 드라이브를 발견하고 서버에서 무엇이 실행 중인지 알 필요 없이 즉시 교체할 수 있습니다. 소프트웨어 RAID에서는 시스템 관리자가 장애 디스크 오프라인 처리 관리, 데이터센터와의 교체 프로세스 조율, 교체 완료 후 새 디스크 온라인 처리 등에 거의 항상 관여해야 합니다.
CPU 오프로딩 및 성능의 작동 방식과 비표준 RAID 구현이 패리티 RAID 재구성을 처리하는 방식의 일부 장점으로 인해 미러 RAID 레벨은 하드웨어 RAID를, 소프트웨어 RAID 레벨은 패리티 RAID를 선호하는 경향이 있습니다. 패리티 RAID는 CPU 집약도가 훨씬 높아 강력한 중앙 CPU 자원에 접근할 수 있는 것이 RAID 계산 속도를 높이는 데 큰 요인이 될 수 있습니다. 하지만 패리티 RAID에 비해 RAID 재구성이 훨씬 안전하고 자동 재구성이 더 중요한 미러 RAID에서는 하드웨어 RAID가 블라인드 드라이브 교체를 매우 쉽게 허용하는 이점을 제공합니다.
하드웨어와 소프트웨어 RAID 논의에서 매우 역설적인 측면 중 하나는 소프트웨어 RAID를 하드웨어 RAID보다 열등하다고 무시하는 시장이 파일 서버가 범용 NAS 어플라이언스보다 열등하다고 생각하는 시장과 거의 완전히 겹친다는 점입니다(이것을 벤 다이어그램으로 머릿속에 그려보세요). 그런데 중소기업 범위의 NAS 어플라이언스들은 거의 예외 없이 무시되고 있는 소프트웨어 RAID 구현을 기반으로 합니다. 따라서 소프트웨어 RAID는 종종 동시에 열등하고도 우월한 것으로 여겨집니다. 소프트웨어 RAID 기반의 중소기업 NAS 장치 및 NAS 어플라이언스 소프트웨어에는 Netgear ReadyNAS, Netgear ReadyData, Buffalo Terastation, QNAP, Synology, OpenFiler FreeNAS, Nexenta, NAS4Free 등이 있습니다.
하드웨어와 소프트웨어 RAID에서는 “항상 한 가지 방법만 사용하라”는 답은 없습니다. 6자리 금액대의 거대한 엔터프라이즈 NAS 및 SAN 어플라이언스조차도 업계의 일부는 각 방향으로 나뉘어 어느 쪽을 사용할지 결정하지 못하고 있습니다. 실제 답은 여러분의 구체적인 상황, 즉 직무 역할 분리, 기술적 요구 사항, 경험, 예산 등에 따라 다릅니다. 두 옵션 모두 어떤 조직에서도 완전히 실용적입니다.
