Raspberry Pi OMV(OpenMediaVault) RAID 구성 — 플러그인 설치 ~ 공유 폴더 생성
1. 개요
디스크 4개를 RAID 5로 묶어 하나의 큰 볼륨으로 만들고 공유 폴더까지 만드는 과정입니다.
RAID 기능은 기본 상태에서는 없고, 플러그인을 설치해야 메뉴가 나타납니다.
[물리 디스크 4개]
│ ① RAID 플러그인 설치 (openmediavault-md)
▼
[Multiple Device 메뉴 생성]
│ ② 디스크 4개 각각 지우기
▼
[빈 디스크 4개]
│ ③ RAID 5 배열 생성 + 변경사항 적용
▼
[/dev/md0 (10.92 TiB)]
│ ④ 파일 시스템 생성 (mkfs)
▼
[파일 시스템]
│ ⑤ 마운트 + 변경사항 적용
▼
[마운트된 볼륨]
│ ⑥ 공유 폴더 생성 + 변경사항 적용
▼
[공유 폴더] ──▶ (범위 밖) SMB / NFS / Docker 볼륨
범위: ① ~ ⑥
범위 밖: SMB/NFS 공유 설정, 사용자 권한 관리, 디스크 고장 시 복구, SnapRAID·mergerfs 등 다른 방식
2. 환경
항목
값
하드웨어
Raspberry Pi 5
스토리지 확장
Radxa Penta SATA HAT (JMB585 PCIe→SATA)
OS
Raspberry Pi OS Lite (64-bit)
RAID 대상 디스크
WDC WD40EFZZ-68CPAN0 4개 (각 3.64 TiB)
3. 사전 조건
항목
내용
데이터 손실
RAID로 묶을 디스크 4개를 모두 지웁니다. 되돌릴 수 없으므로 미리 백업하시기 바랍니다.
디스크 용량
용량이 서로 다르면 가장 작은 디스크에 맞춰집니다. 같은 모델·같은 용량을 권장합니다.
초기 동기화 시간
배열을 만들면 리싱크가 자동으로 시작되며, 4TB 4개 기준으로 10시간 안팎이 걸립니다.
RAID의 성격
RAID 5는 디스크 1개가 고장 나는 상황까지만 버팁니다. 실수로 지운 파일이나 랜섬웨어는 막지 못하므로 백업을 대신할 수 없습니다.
OS 디스크
부팅 디스크(본 환경에서는 /dev/mmcblk0)는 작업 대상에서 제외합니다.
4. 용어
4.1 기본 개념
용어
설명
RAID
디스크 여러 개를 묶어 하나처럼 쓰는 방식입니다. 용량을 합치거나 고장에 대비할 때 씁니다.
소프트웨어 RAID (MD)
전용 카드 없이 리눅스 커널이 처리하는 RAID입니다. OMV의 Multiple Device 메뉴가 이 방식입니다.
패리티(Parity)
원본 데이터로 미리 계산해 둔 복구용 값입니다. 디스크 하나가 죽어도 남은 디스크와 패리티로 되살립니다.
배열(Array)
RAID로 묶인 디스크 묶음 전체입니다. /dev/md0 처럼 표기됩니다.
리싱크(Resync)
배열을 만든 직후 전체 영역의 패리티를 계산해 채워 넣는 작업입니다.
성능 저하 상태(Degraded)
디스크 하나가 빠진 채로 돌아가는 상태입니다. 읽고 쓸 수는 있지만 하나가 더 죽으면 전부 잃습니다.
4.2 RAID 종류
종류
필요 디스크
쓸 수 있는 용량
버티는 고장
RAID 0
2개 이상
전체 합계
하나만 죽어도 전부 잃습니다.
RAID 1
2개
절반
1개
RAID 5
3개 이상
전체에서 1개분을 뺀 만큼
1개
RAID 6
4개 이상
전체에서 2개분을 뺀 만큼
2개
RAID 10
4개 이상(짝수)
절반
짝을 이룬 두 개가 같이 죽지 않으면 최대 절반
5. 절차
5.1 RAID 플러그인 설치
경로 : 시스템 → 플러그인
시스템 메뉴에서 플러그인을 선택합니다.
검색창에 RAID를 입력합니다.
openmediavault-md 항목을 선택하고 툴바의 설치 아이콘을 클릭합니다.
항목
값
패키지
openmediavault-md 8.0.4-1
설명
Linux MD(소프트웨어 RAID) 장치를 만들고 관리·감시하는 플러그인입니다.
크기
21.68 KiB
설치 로그를 확인하고 닫기를 클릭합니다.
출력
의미
Unpacking openmediavault-md (8.0.4-1)
패키지를 풀었습니다.
Setting up openmediavault-md (8.0.4-1)
설치와 설정을 마쳤습니다.
Updating workbench configuration files
웹 화면에 메뉴를 추가했습니다.
Restarting engine daemon
변경 내용을 반영하기 위해 서비스를 다시 시작했습니다.
5.2 디스크 지우기
경로 : 저장소 → 디스크
저장소 메뉴에 Multiple Device 항목이 새로 생겼는지 확인합니다. 보이지 않으면 브라우저를 새로고침합니다.
목록에서 /dev/sda를 클릭해 선택합니다.
툴바의 지우개 아이콘을 클릭합니다.
방식
동작
소요 시간
용도
빠른(Quick)
디스크 앞부분의 파티션 정보와 파일 시스템 흔적만 제거
수 초
일반적인 재사용
보안(Secure)
디스크 전체를 다른 값으로 덮어씀
수 시간
매각·폐기
실행 결과를 확인하고 닫기를 클릭합니다.
출력
의미
Creating new GPT entries in memory.
새 GPT 파티션 테이블을 생성했습니다.
GPT data structures destroyed!
기존 파티션 구조를 제거했습니다.
10485760 bytes (10 MB) copied
디스크 시작/끝 10MB를 0으로 덮어썼습니다.
END OF LINE
작업이 종료되었음을 나타냅니다.
/dev/sdb도 같은 방법으로 선택해 지우고 결과를 확인합니다.
/dev/sdc도 같은 방법으로 진행합니다.
/dev/sdd도 같은 방법으로 진행합니다. RAID로 묶을 디스크 4개가 모두 빈 상태가 됩니다.
5.3 RAID 5 배열 생성
경로 : 저장소 → Multiple Device
저장소 메뉴에서 Multiple Device를 선택합니다.
툴바의 + 아이콘을 클릭합니다.
Level에서 RAID 5를 선택합니다.
장치 목록에서 묶을 디스크 4개를 모두 체크합니다.
선택한 장치를 확인하고 저장을 클릭합니다.
필드
입력값
설명
Level
RAID 5
묶는 방식입니다.
장치
/dev/sda, /dev/sdb, /dev/sdc, /dev/sdd
배열에 넣을 디스크입니다. USB 연결 디스크는 표시되지 않습니다.
Pending configuration changes 배너의 체크 아이콘을 클릭합니다.
배열이 만들어지고 리싱크가 바로 시작됩니다.
표시
의미
/dev/md0
새로 만들어진 배열의 장치명입니다.
active, resyncing
배열이 동작하면서 패리티를 채우는 중입니다.
(0.0% (285520/390688614)
전체 블록 중 지금까지 처리한 양입니다.
finish=684.0min
남은 시간 예상치입니다.
speed=95176K/sec
초당 처리 속도입니다.
10.92 TiB
실제로 쓸 수 있는 용량입니다. 3.64 TiB × 3개분에 해당합니다.
적용 후 상태입니다. 상태 표시가 clean, resyncing 으로 바뀌고 리싱크가 이어집니다.
리싱크가 끝나기 전에도 다음 단계를 진행할 수 있습니다. 다만 디스크를 나눠 쓰게 되므로 리싱크와 파일 작업이 모두 느려집니다.
5.4 파일 시스템 생성
경로 : 저장소 → 파일 시스템
저장소 메뉴에서 파일 시스템을 선택합니다.
툴바의 + 아이콘을 클릭하고 XFS를 선택합니다.
종류
특성
적용 대상
EXT4
리눅스 표준입니다. 복구 도구가 많습니다
범용 기본값
XFS
대용량 파일 쓰기·병렬 I/O가 우수하며 온라인 확장을 지원합니다
미디어·백업 볼륨
BTRFS
스냅샷·체크섬을 지원하나 설정이 복잡하고 RAID5/6는 권장하지 않습니다
스냅샷이 필요한 경우
F2FS
플래시 메모리에 최적화되어 있습니다
SD카드, eMMC
JFS
사실상 유지보수만 이루어지고 있습니다
권장하지 않습니다
장치에서 Software RAID [/dev/md0, raid5, 10.91 TiB] 를 선택하고 저장을 클릭합니다. 개별 디스크가 아니라 배열을 선택해야 합니다.
파일 시스템 생성이 진행됩니다.
5.5 마운트
파일 시스템을 확인하고 저장을 클릭합니다.
필드
입력값
설명
파일 시스템
/dev/md0 [XFS, 10.91 TiB]
마운트할 대상입니다.
Usage Warning Threshold
85% (기본값 유지를 권장합니다)
사용률이 넘으면 알림을 보냅니다.
Tags
(비움)
분류용 선택 항목입니다.
5.6 변경사항 적용
OMV는 웹 화면에서 한 조작을 바로 반영하지 않고 대기 상태로 보관합니다. /etc/fstab 등 실제 시스템 파일에는 적용하는 시점에 기록됩니다.