HBA/RAID controller

From HPCWIKI
Revision as of 11:28, 17 July 2026 by Clara (talk | contribs) (Fix: remove --- horizontal lines (12 removed))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

HBA/RAID Controller

Template:Status

Template:TOC

Overview

HBA(Host Bus Adapter)와 RAID Controller는 서버의 저장 장치를 연결하고 관리하는 확장 카드입니다. HBA는 OS에 디스크를 직접 노출하고, RAID Controller는 온보드 RAID 기능을 제공하여 여러 디스크를 단일 가상 드라이브로 통합합니다.

Summary

  • 무엇인가? — 서버 저장 장치 연결 및 관리용 확장 카드
  • 왜 필요한가? — 다수 디스크 연결, RAID 구성, 성능 최적화
  • 언제 사용하는가? — 데이터센터, 스토리지 서버, HPC 클러스터


Purpose

이 문서가 존재하는 이유

  • Goal: HBA/RAID Controller 기본 개념, 인터페이스, RAID 레벨, 성능, 캐시 보호 기능 제공
  • Scope: HBA vs RAID vs SAS Expander, 인터페이스 대역폭, RAID 레벨별 성능, BBU/CacheVault/CacheCade
  • Non-goals: RAID 컨트롤러 펌웨어 업그레이드, 특정 제조사(LSI/Broadcom/Adaptec) 상세 설정은 별도 문서


Key Concepts

Concept Description Related
HBA Host Bus Adapter — OS에 디스크 직접 노출 HBA/RAID controller
RAID Controller 온보드 RAID 기능 제공 HBA/RAID controller
SAS Expander SAS 포트 확장 장치 HBA/RAID controller
RAID 0 스트라이핑 — 성능 최적화 HBA/RAID controller
RAID 1 미러링 — 내구성 최적화 HBA/RAID controller
RAID 5 단일 패리티 — 균형 HBA/RAID controller
RAID 6 이중 패리티 — 높은 내구성 HBA/RAID controller
BBU Battery Backup Unit — 캐시 보호 HBA/RAID controller


Architecture

RAID 컨트롤러는 CPU 인터페이스와 저장 장치 인터페이스로 구성됩니다:

graph TD
    A[RAID Controller] --> B[CPU Side - PCIe/DMI]
    A --> C[Drive Side - SAS/SATA/NVMe]
    B --> D[PCIe Gen3 x8/x16]
    B --> E[PCIe Gen4 x8/x16]
    C --> F[SATA 6G]
    C --> G[SAS 12G]
    C --> H[NVMe Gen3/Gen4]
    A --> I[Cache - BBU/CacheVault]
    A --> J[RAID Virtual Drive]
    J --> K[OS]


Workflow

Stage Input Output
Selection Workload requirements HBA/RAID controller model
Configuration RAID level + Drives Virtual Drive
Monitoring lspci / /proc/scsi/scsi Controller status
Cache Protection BBU/CacheVault/CacheCade Write cache safety


Detailed Explanation

HBA vs RAID Controller vs SAS Expander

장치 설명 관리 주체
HBA SAS/SATA 포트 확장 카드. 디스크 관리는 OS 담당. OS (예: Linux mdadm, ZFS)
RAID Controller HBA + 온보드 RAID 기능. 가상 드라이브를 OS에 제공. RAID 카드 펌웨어
SAS Expander HBA/RAID 컨트롤러의 포트 수를 확장하는 장치.

Native 및 Maximum 지원 디스크 수

  • **Native Supported Disks** — 브레이크아웃 케이블로 RAID 컨트롤러에 직접 연결 가능한 디스크 수
  • **Maximum Supported Disks** — 포트 익스팬더(예: Intel RES2SV240) 사용 시 최대 지원 디스크 수

Controller Interface

저장 장치 측 인터페이스

Storage Drive Side Interface Communication Band Theoretical Throughput Effective Throughput (90%)
SATA 6G 6 Gbps 572 MiB/s 515 MiB/s
SAS 12G 12 Gbps 1,144 MiB/s 1,030 MiB/s
NVMe Gen3 8 Gbps x4 3,756 MiB/s 3,380 MiB/s
NVMe Gen4 16 Gbps x4 7,512 MiB/s 6,760 MiB/s

CPU 측 인터페이스

CPU Side Interface Lanes Communication Band Theoretical Throughput Effective Throughput (90%)
DMI Gen3 x4 8 Gbps x4 3,756 MiB/s 3,380 MiB/s
PCIe Gen3 x8 8 Gbps x8 7,512 MiB/s 6,760 MiB/s
PCIe Gen3 x16 8 Gbps x16 15,024 MiB/s 13,520 MiB/s
PCIe Gen4 x8 16 Gbps x8 15,024 MiB/s 13,520 MiB/s
PCIe Gen4 x16 16 Gbps x16 30,048 MiB/s 27,040 MiB/s

※ 이론적 대역폭 = 128b/130b 인코딩 오버헤드(1.54%) 차감 ※ 실제 대역폭 = 이론적 × 0.90

RAID 레벨별 예상 성능

RAID Level Type Random Read Random Write Seq Read Seq Write Features
RAID 0 Stripe 1 1 N × SR N × SW 높은 대역폭, 내구성 없음
RAID 1 Mirror 1 2 N × SR N × SW / 2 내구성 우수, 최소 용량
RAID 10 Mirror + Stripe 1 2 N × SR N × SW / 2 내구성 + 성능 균형
RAID 5 Single Parity 1 4 N × SR (N-1) × SW 내구성 + 낮은 오버헤드
RAID 50 RAID 5 + Stripe RAID 5 그룹당 1드라이브 실패 허용
RAID 6 Double Parity 1 6 N × SR (N-2) × SW 높은 내구성, 쓰기 많음에 부적합
RAID 60 RAID 6 + Stripe RAID 6 그룹당 2드라이브 실패 허용

※ N: 드라이브 수, SR: 단일 읽기 성능, SW: 단일 쓰기 성능

RAID 구성 전략

목적 전략 Hot Spare
가용성 (내구성) RAID 1 (미러링) — 우수한 내구성, 중복 드라이브 필요 Hot Spare가 자동으로 교체 및 재빌드. RAID 1/5/6/10/50/60 지원.
성능 RAID 0 (스트라이핑) — 우수한 성능
RAID 00 (스팬드 스트라이핑) — 우수한 성능
RAID 5 — 대용량 파일 높은 처리량
RAID 6 — 높은 신뢰성, 높은 요청률, 높은 전송
용량 RAID 0 — 주어진 드라이브 세트 최대 용량

성능 지표

지표 단위 설명
Throughput MiB/s 초당 데이터 전송량 (메가바이트)
Transaction IO/s 초당 IO 처리량
Latency ms 평균 응답 시간 (밀리초)
    • 계산 공식:**
  • Data throughput [KiB/s] = Transaction rate [IO/s] × Block size [KiB]
  • Transaction rate [IO/s] = Data throughput [KiB/s] / Block size [KiB]

※ 시퀀셜 액세스 패턴 → Throughput, 랜덤 액세스 패턴 → Transaction Rate

Linux에서 컨트롤러 정보 확인

# 컨트롤러 정보 찾기
$ sudo lspci -vv | grep -i raid

# RAID 구성 확인
$ cat /proc/scsi/scsi

BBU vs CacheVault vs CacheCade

기능 설명 데이터 유지 기간
BBU (Battery Backup Unit) 전원 중단 시 캐시 데이터 보존. 전원 복구 시 디스크에 기록. 최대 72시간
CacheVault DRAM → NAND 플래시 이동. BBU 차세대 기술. 최대 3년
CacheCade SSD 기반 읽기/쓰기 캐시. HDD 어레이 성능 최적화. 재부팅 시 유지
    • BBU 중요성:**
  • Write Cache가 "Write Through" 또는 "Off"이면 BBU 불필요
  • Write Cache가 "On"일 때만 BBU 필요 (성능 최적화)
  • BBU 미설치 시 Write Cache가 자동으로 Off될 수 있음
  • 데이터 무결성이 중요한 경우 BBU 필수


Configuration

# 컨트롤러 정보 확인
$ sudo lspci -vv | grep -i raid

# RAID 구성 확인
$ cat /proc/scsi/scsi

# SAS 디바이스 확인
$ sudo lspci -vv | grep -i sas

# NVMe 디바이스 확인
$ nvme list


Examples

Example 1: RAID 컨트롤러 정보 확인

# RAID 컨트롤러 정보
$ sudo lspci -vv | grep -i raid

# SAS 컨트롤러 정보
$ sudo lspci -vv | grep -i sas

# 전체 PCI 디바이스 목록
$ lspci

Example 2: RAID 구성 확인

# SCSI 디바이스 목록
$ cat /proc/scsi/scsi

# NVMe 디바이스 목록
$ nvme list

# NVMe 스마트 로그
$ nvme smart-log /dev/nvme0


Best Practices

  • 워크로드에 맞는 RAID 레벨 선택 (읽기 중심 → RAID 0/5, 쓰기 중심 → RAID 10)
  • BBU 또는 CacheVault 설치 — Write Cache 활성화 시 필수
  • Hot Spare 구성 — 장애 시 자동 복구
  • SAS Expander 활용 — 디스크 수 확장
  • PCIe Gen4 x16 사용 — 최대 대역폭 확보
  • 정기적인 RAID 상태 모니터링
  • NVMe SSD 사용 — 높은 IOPS 및 낮은 지연 시간


Limitations

  • RAID 레벨 간 트레이오프 존재 (내구성 vs 성능 vs 용량)
  • RAID 6는 쓰기 작업에 부적합 (이중 패리티 오버헤드)
  • BBU는 수명 제한 있음 (배터리 교체 필요)
  • CacheCade는 SSD 용량 제한 있음
  • RAID 재구성은 데이터 손실 위험 있음


References


Related Pages

Knowledge Graph

Related

StorcliSSDHardware RAID information on LinuxMegaCLI