Hardware RAID information on Linux
Jump to navigation
Jump to search
Hardware RAID Information on Linux
Overview
하드웨어 RAID 컨트롤러는 RAID 연산을 위한 전용 프로세서를 탑재하여 서버 CPU 부하를 줄입니다. Linux에서 하드웨어 RAID 정보 확인, 디스크 식별, 파티션/포맷/마운트 방법을 다룹니다.
Summary
- 무엇인가? — Linux에서 하드웨어 RAID 정보 확인 및 관리
- 왜 필요한가? — RAID 상태 모니터링, 디스크 교체, 파티션 구성
- 언제 사용하는가? — 서버 도입, 디스크 교체, RAID 재구성
Purpose
이 문서가 존재하는 이유
- Goal: Linux에서 하드웨어 RAID 정보 확인, 디스크 식별, 파티션 구성 방법 제공
- Scope: lspci, lsscsi, lshw, smartctl, parted, mkfs, mount
- Non-goals: RAID 구성 자체 (Storcli 문서 참조), 소프트웨어 RAID
Key Concepts
| Concept | Description | Related |
|---|---|---|
| Hardware RAID | 전용 프로세서로 RAID 연산 | Hardware RAID information on Linux |
| HBA/RAID controller | RAID 컨트롤러 개요 | HBA/RAID controller |
| Storcli | Broadcom/LSI RAID 관리 도구 | Storcli |
| smartctl | 디스크 SMART 모니터링 | Smartctl |
| lsscsi | SCSI 디바이스 목록 | Hardware RAID information on Linux |
| /dev/sdX | Linux 디바이스 이름 | Hardware RAID information on Linux |
Architecture
하드웨어 RAID 아키텍처:
graph TD
A[Linux OS] --> B[/dev/sdX]
B --> C[RAID 컨트롤러]
C --> D[Physical Disk 1]
C --> E[Physical Disk 2]
C --> F[Physical Disk N]
G[lspci/lsscsi/lshw] --> C
H[smartctl] --> C
I[Storcli] --> C
Workflow
| Stage | Input | Output |
|---|---|---|
| Detect Controller | grep raid | Controller info |
| List Disks | lsscsi | RAID group list |
| Check Health | smartctl -d megaraid | Disk health |
| Partition | parted | Partition table |
| Format | mkfs.ext4 | Filesystem |
| Mount | mount / fstab | Mounted filesystem |
Detailed Explanation
하드웨어 RAID란
하드웨어 RAID 컨트롤러는 전용 프로세서를 탑재하여 RAID 연산을 처리합니다. 이로 인해 서버 CPU는 RAID 계산 부하에서 해방됩니다.
자세한 HBA/RAID 컨트롤러 개요는 HBA/RAID controller 문서를 참조하세요.
하드웨어 RAID 정보 확인
# RAID 컨트롤러 정보 확인
$ lspci -knn | grep -i raid
# RAID 제조사 및 모델 목록
$ lsscsi
# 디스크 상세 정보
$ lshw -class disk
# RAID 배열 정의 확인
$ dmesg | grep -i scsi
# RAID 배열 디스크 정보
$ smartctl --all /dev/<raid array>
# 물리적 디스크 건강 상태
$ sudo smartctl --all -d megaraid,<disk #> /dev/<raid array>
- smartctl** 페이지에서 더 많은 예시를 확인할 수 있습니다. Identify a defective hard drive 가이드에서는 결함 디스크 식별 방법을 다룹니다.
하드웨어 RAID 디바이스 이름
하드웨어 RAID 그룹은 컨트롤러에 따라 다른 이름으로 표시됩니다:
| Controller type | Description | Example |
|---|---|---|
| HP SmartArray | SmartArray 연결 디스크 | /dev/cciss/cXdY /dev/cciss/cXdYpZ (파티션) |
| LSI Logic Megaraid | 표준 Linux 이름 사용 | /dev/sdX |
| Broadcom/Avago | 표준 Linux 이름 사용 | /dev/sdX |
- HP SmartArray 파티션 예시:**
- `/dev/cciss/c0d0` — 컨트롤러 0, 디스크 0
- `/dev/cciss/c0d0p1` — 컨트롤러 0, 디스크 0, 파티션 1
RAID 그룹 파티션, 포맷, 마운트
파티션 확인
# RAID 그룹 확인
$ lsblk
$ blkid
파티션 생성
# GPT 파티션 테이블 생성 (전체 용량)
$ sudo parted -s -a optimal /dev/sda mklabel gpt mkpart primary 0% 100%
파일시스템 포맷
# ext4 포맷
$ sudo mkfs.ext4 /dev/sda1
# xfs 포맷
$ sudo mkfs.xfs /dev/sda1
마운트
# 수동 마운트
$ sudo mount /dev/sda1 /mnt/data
# /etc/fstab에 영구 설정 추가
/dev/sda1 /mnt/data ext4 defaults 0 2
RAID 구성 팁
- 하드웨어 RAID 위에 소프트웨어 RAID를 중복으로 구성하지 마세요
- RAID 구성은 Storcli 등 컨트롤러별 도구로 수행
- 디스크 교체 전 smartctl으로 건강 상태 확인
Configuration
# RAID 컨트롤러 확인
$ lspci -knn | grep -i raid
# 디스크 목록
$ lsscsi
# 디스크 건강 상태
$ sudo smartctl --all -d megaraid,0 /dev/sda
# 파티션 생성
$ sudo parted -s -a optimal /dev/sda mklabel gpt mkpart primary 0% 100%
# 파일시스템 포맷
$ sudo mkfs.ext4 /dev/sda1
# 마운트
$ sudo mount /dev/sda1 /mnt/data
Examples
Example 1: RAID 정보 확인
# 컨트롤러 확인
$ lspci -knn | grep -i raid
# 디스크 목록
$ lsscsi
# 디스크 상세
$ lshw -class disk
Example 2: RAID 디스크 포맷 및 마운트
# 파티션 생성
$ sudo parted -s -a optimal /dev/sda mklabel gpt mkpart primary 0% 100%
# ext4 포맷
$ sudo mkfs.ext4 /dev/sda1
# 마운트
$ sudo mount /dev/sda1 /mnt/data
# /etc/fstab에 추가
echo '/dev/sda1 /mnt/data ext4 defaults 0 2' | sudo tee -a /etc/fstab
Best Practices
- 하드웨어 RAID 위에 소프트웨어 RAID 중복 구성 금지
- 디스크 교체 전 smartctl으로 건강 상태 확인
- GPT 파티션 테이블 사용 (UEFI 호환)
- /etc/fstab에 UUID 사용 (디바이스 이름 변경 방지)
- 정기적인 smartctl 모니터링
- RAID 구성은 Storcli 등 공식 도구 사용
Limitations
- 컨트롤러별로 디바이스 이름이 다를 수 있음
- smartctl은 RAID 백 디스크에 megaraid,<DID> 옵션 필요
- 일부 컨트롤러는 전용 관리 도구 필요 (HP SmartArray 등)
References
Related Pages
Knowledge Graph
Related
→ Linux Kernel Tuning → SSD → systemd → LVM → iptables → Ubuntu → Storcli → fstab