Linux RAID 디스크 구성

2026. 6. 14. 01:03리눅스


Ⅰ. RAID (Redundant Array of Inexpensive / Independent Disks)

 

- 다수의 디스크를 논리적인 하나의 디스크로 구성해 데이터를 분산 저장하고 동시에 여러 개를 읽어들이는 기능 제공

 

- 데이터 저장 및 관리에 대한 성능과 속도가 향상되고, 이중성, 신뢰성, 안정성을 보장받음


Ⅰ-Ⅰ. RAID 방식

RAID 구분 설명
개념 여러 개의 하드디스크 (또는 SSD)를 하나의 논리적 디스크처럼 묶어

성능과 데이터 안정성을 향상시키는 기술
특징 다수의 디스크를 논리적인 하나의 디스크로 구성하여 데이터를 분산 저장하고 


동시에 여러 개를 읽어들이는 기능 제공
데이터 저장 및 관리에 대한 성능과 속도가 향상되고, 이중성과 신뢰성, 안정성을 보장받음
방식 구분 하드웨어 RAID (Hardware RAID)
소프트웨어 RAID (Software RAID)
하드웨어 RAID 단위 디스크 단위로 RAID 구성
필요 장비 RAID Controller (전용 하드웨어 장치)
역할 Controller가 RAID 연산 (복제, 패리티, 분산 저장 등)을 직접 수행
장점 CPU 부하 거의 없음
속도 빠르고 안정성 높음
장애 복구 용이
단점 고가의 Controller Card 필요
구성 비용 높음
적용 예시 서버, 데이터 센터, 고성능 NAS 등
소프트웨어 RAID 단위 파티션 단위로 RAID 구성
필요 장비 별도 하드웨어 불필요
RAID 관리 프로그램 (mdadm) 이용
역할 운영체제 (OS)가 RAID 연산을 CPU 자원으로 처리
장점 별도 장비 필요 없음 (저비용)
설정 간단하여 일반 PC에서도 가능
단점 CPU 부하 발생
하드웨어 RAID보다 안정성과 성능 낮음
적용 예시 개인용 PC, 중소규모 서버, 테스트 환경 등

 


 Ⅱ. RAID 구성을 위한 파티션 작업 실시

 

# 주 파티션 1 생성 ( /dev/sdc 디스크)

 

fdisk /dev/sdc 명령을 통해 /dev/sdc 디스크의 파티션 설정을 위해 진입

 

fdisk의 n 옵션을 통해 새로운 파티션 생성

 

fdisk의 p 옵션을 통해 생성한 새로운 파티션을 주 파티션으로 설정

 

fdisk의 default 옵션을 통해 주 파티션에 번호 1 부여

 

fdisk의 default 옵션을 통해 주 파티션 1의 첫 번째 섹터의 범위를 2048로 설정

 

fdisk의 default 옵션을 통해 주 파티션 1의 마지막 섹터 범위를 417791로 설정

 

fdisk의 t 옵션을 통해 주 파티션 1의 타입 변경

 

FD 옵션을 통해 주 파티션 1의 타입을 Linux RAID autodetect (RAID 자동 감지용) 타입으로 변경

 

fdisk의 p 옵션을 통해 주 파티션 1의 타입이 잘 변경되었는지 확인

 

fdisk의 w 옵션을 통해 저장하고 나가기

 

 

# 주 파티션 1 생성 ( /dev/sdd 디스크) 

 

fdisk /dev/sdd 명령을 통해 /dev/sdd 디스크의 파티션 설정을 위해 진입

 

fdisk의 n 옵션을 통해 새로운 파티션 생성

 

fdisk의 p 옵션을 통해 생성한 새로운 파티션을 주 파티션으로 설정

 

fdisk의 default 옵션을 통해 주 파티션에 번호 1 부여

 

fdisk의 default 옵션을 통해 주 파티션 1의 첫 번째 섹터의 범위를 2048로 설정

 

fdisk의 default 옵션을 통해 주 파티션 1의 마지막 섹터 범위를 417791로 설정

 

fdisk의 t 옵션을 통해 주 파티션 1의 타입 변경

 

FD 옵션을 통해 주 파티션 1의 타입을 Linux RAID autodetect (RAID 자동 감지용) 타입으로 변경

 

fdisk의 p 옵션을 통해 주 파티션 1의 타입이 잘 변경되었는지 확인

 

fdisk의 w 옵션을 통해 저장하고 나가기

 

 

# 주 파티션 1 생성 ( /dev/sde디스크)

 

fdisk /dev/sde 명령을 통해 /dev/sde 디스크의 파티션 설정을 위해 진입

 

fdisk의 n 옵션을 통해 새로운 파티션 생성

 

fdisk의 p 옵션을 통해 생성한 새로운 파티션을 주 파티션으로 설정

 

fdisk의 default 옵션을 통해 주 파티션에 번호 1 부여

 

fdisk의 default 옵션을 통해 주 파티션 1의 첫 번째 섹터의 범위를 2048로 설정

 

fdisk의 default 옵션을 통해 주 파티션 1의 마지막 섹터 범위를 417791로 설정

 

fdisk의 t 옵션을 통해 주 파티션 1의 타입 변경

 

FD 옵션을 통해 주 파티션 1의 타입을 Linux RAID autodetect (RAID 자동 감지용) 타입으로 변경

 

fdisk의 p 옵션을 통해 주 파티션 1의 타입이 잘 변경되었는지 확인

 

fdisk의 w 옵션을 통해 저장하고 나가기

 

 

# 주 파티션 1 생성 ( /dev/sdf 디스크)

 

fdisk /dev/sdf 명령을 통해 /dev/sdf 디스크의 파티션 설정을 위해 진입

 

fdisk의 n 옵션을 통해 새로운 파티션 생성

 

fdisk의 p 옵션을 통해 생성한 새로운 파티션을 주 파티션으로 설정

 

fdisk의 default 옵션을 통해 주 파티션에 번호 1 부여

 

fdisk의 default 옵션을 통해 주 파티션 1의 첫 번째 섹터의 범위를 2048로 설정

 

fdisk의 default 옵션을 통해 주 파티션 1의 마지막 섹터 범위를 417791로 설정

 

fdisk의 t 옵션을 통해 주 파티션 1의 타입 변경

 

FD 옵션을 통해 주 파티션 1의 타입을 Linux RAID autodetect (RAID 자동 감지용) 타입으로 변경

 

fdisk의 p 옵션을 통해 주 파티션 1의 타입이 잘 변경되었는지 확인

 

fdisk의 w 옵션을 통해 저장하고 나가기

 

 

# 주 파티션 1 생성 ( /dev/sdg 디스크)

 

fdisk /dev/sdg 명령을 통해 /dev/sdg 디스크의 파티션 설정을 위해 진입

 

fdisk의 n 옵션을 통해 새로운 파티션 생성

 

fdisk의 p 옵션을 통해 생성한 새로운 파티션을 주 파티션으로 설정

 

fdisk의 default 옵션을 통해 주 파티션에 번호 1 부여

 

fdisk의 default 옵션을 통해 주 파티션 1의 첫 번째 섹터의 범위를 2048로 설정

 

fdisk의 default 옵션을 통해 주 파티션 1의 마지막 섹터 범위를 417791로 설정

 

fdisk의 t 옵션을 통해 주 파티션 1의 타입 변경

 

FD 옵션을 통해 주 파티션 1의 타입을 Linux RAID autodetect (RAID 자동 감지용) 타입으로 변경

 

fdisk의 p 옵션을 통해 주 파티션 1의 타입이 잘 변경되었는지 확인

 

fdisk의 w 옵션을 통해 저장하고 나가기

 

 

fdisk -l /dev/sd*  | grep raid 명령을 통해 /dev/sd로 시작하는 모든 디스크에서 RAID와 관련된 내용 출력


Ⅲ. RAID 유형


Ⅲ -Ⅰ. RAID 0 (Striping)

 

RAID 0

(Striping)
구분 설명
개념 데이터를 여러 디스크에 분산 (Striping)해서 저장하는 방식으로

성능 (속도) 향상을 목적으로 하는 RAID 구조
데이터를 여러 디스크에 나누어 동시에 저장 및 읽기 때문에 속도 빠르지만

데이터 복구 기능 (패리티, Mirroring)이 없어 안정성은 낮은 방식
구성 요소 구성 요소 설명
디스크 개수 최소 2개 이상 필요
데이터 단위  Stripe 단위로 나누어 저장
패리티 (Parity)  없음 (즉, 장애 복구 기능 없음)
동작 원리 Striping 구조 큰 파일을 여러 개의 블록 (Stripe)으로 나눠서 각 디스크에 교차 분산 저장
장점 항목 설명
속도 향상 데이터가 여러 디스크에 병렬로 저장되고 읽히기 때문에

입출력 속도가 매우 빠름
용량 효율 100% 모든 디스크 공간이 실제 데이터 저장에 사용됨
적합한 환경 게임, 영상 편집, 고속 데이터 처리 등 속도 중심 환경
단점 항목 설명
데이터 손실 위험 높음 하나의 디스크라도 고장나면 전체 데이터 복구 불가
내결함성

(Fault Tolerance)
없음 (복구 불가)
적합하지 않은 환경 데이터 안정성이 중요한 DB 서버, 금융 시스템 등

 

● 스트라이핑 (Striping)

Striping

(스트라이핑)
구분 설명
개념 데이터를 여러 개의 디스크 (또는 저장 장치)에 조각내어 병렬로 분산 저장하는 기법
데이터 분산 저장 기법
동작 원리 하나의 큰 파일을 여러 개의 블록 (Stripe)으로 나눠서 각 디스크에 번갈아가며 순서대로 저장하는 방식
특징 항목 설명
저장 단위 Stripe (데이터를 일정 크기로 나눈 블록 단위)
저장 방식 여러 디스크에 순차적으로 분산 저장
입출력 (I/O) 방식 여러 디스크가 병렬로 읽고 쓰기
복구 기능 없음 (Parity나 Mirroring 미지원)
필요 디스크 수 최소 2개 이상
속도 효과 읽기, 쓰기 속도 향상 (병렬 처리)
장점 항목 설명
고속 성능 여러 디스크가 동시에 작업 -> I/O 처리 속도 향상
공간 효율 100% 모든 디스크 공간이 실제 데이터 저장에 사용됨
적합한 용도 영상 편집, 3D 렌러딩, 게임 등 대용량, 고속 작업 환경 
단점 항목 설명
내결함성
(Fault Tolerance)
없음 (한 디스크라도 고장 나면 전체 데이터 손실)
데이터 복구 불가 RAID 1, 5처럼 백업 구조가 없어 복구 불가능
데이터 안정성 낮음 고성능 위주 환경에는 적합하지만 중요한 데이터엔 부적합

 

 

●  /dev/sdc1(200M), /dev/sdd1(200M), /dev/sde1(200M) 디스크를 RAID 0으로 구성

 

# /dev/md0 생성 (RAID 0)

 

mdadm 명령을 통해 리눅스에서 소프트웨어 RAID 생성하고 관리하도록 설정

 

--create 옵션을 통해 새로운 RAID 장치 생성

 

/dev/md0 옵션을 통해 RAID로 생성될 논리 디바이스 이름을 /dev/md0으로 생성

 

--level=0 옵션을 통해 RAID 레벨 0 (Striping) 선택

 

-> 데이터를 여러 디스크에 분할 저장하여 속도를 향상시키는 방식

 

--raid-devices=3 옵션을 통해 RAID에 참여하는 실제 디스크 또는 파티션 개수 3개로 설정

 

/dev/sdc1 /dev/sdd1 /dev/sde1 옵션을 통해 RAID에 참여할 세 개의 파티션 경로 설정

 

ls -l /dev/md0 명령을 통해 /dev/md0 디바이스 파일의 상세 정보 확인

 

fdisk -l /dev/md0 명령을 통해 /dev/md0 디바이스의 파티션 테이블과 용량과 섹터 정보 나열

 

mdadm --detail --scan -v 명령을 통해 현재 시스템에서 인식한 모든 md 배열을 스캔하여

 

mdadm.conf에 넣을 구성 라인 자세히 출력

 

cat /proc/mdstat 명령을 통해 현재 시스템의 소프트웨어 RAID 상태를 보여주는

 

가상 파일인 /proc/mdstat 내용 확인

 

 

mkfs -t ext4 /dev/md0 > /dev/null 명령을 통해 /dev/md0 디바이스에 ext4 타입의 파일 시스템을 설치하고

 

명령어 출력 결과를 /dev/null로 리다이렉션하여 화면에 아무것도 출력되지 않도록 설정

 

 

# /mnt/raid0 디렉터리 생성

 

mkdir /mnt/raid0 명령을 통해 mount할 때 사용될 /mnt/raid0 임시 디렉터리 생성

 

 

# /dev/md0과 /mnt/raid0 디렉터리 mount 작업

 

mount /dev/md0 /mnt/raid0 명령을 통해 /dev/md0과 /mnt/raid0 mount

 

df -h 명령을 통해 잘 mount 되었는지 확인

 

 

# /dev/md0과 /mnt/raid0 디렉터리 mount 작업 해지

 

umount /dev/md0 명령을 통해 /dev/md0과 /mnt/raid0 mount 해제

 

 

# /dev/md0 정지

 

mdadm --stop /dev/md0 명령을 통해 활성화된 RAID 배열인 /dev/md0 정지

 

cat /proc/mdstat 명령을 통해 현재 시스템의 소프트웨어 RAID 상태를 보여주는

 

가상 파일인 /proc/mdstat 내용 확인

 

 

# /dev/sdc1, /dev/sdd1, /dev/sde1 삭제

 

mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sde1 명령을 통해 각 파티션의 RAID 슈퍼블록 삭제

 

mdadm --examine /dev/sdc1 /dev/sdd1 /dev/sde1 명령을 통해

 

지정된 파티션의 RAID 슈퍼블록이 잘 삭제되었는지 확인

 

ls -l /dev/md0 명령을 통해 /dev/md0 디바이스가 잘 삭제되었는지 확인

 


Ⅲ -Ⅱ. RAID 1 (Mirroring)

 

RAID 1 

(Mirroring)

구분 설명
개념 데이터를 두 개 이상의 디스크에 완전히 동일하게 복제 (Mirroring)하여

데이터 안전성 (무결성)을 극대화하는 방식
같은 데이터를 두 개의 디스크에 동시에 저장하기 때문에

하나의 디스크가 고장나더라도 다른 디스크에서 데이터 그대로 사용 가능
구성 요소 항목 설명
디스크 개수 최소 2개 이상 필요
데이터 저장 방식 모든 데이터를 동일하게 복제 저장
패리티 (Parity) 사용하지 않음 (대신 완전 복제)
용량 효율 50% (두 개 중 한 개는 복제용으로 사용)
동작 원리 Mirroring 구조 한 쪽이 죽어도 다른 쪽이 복제되어 대신 살아남는 구조

-> 이중화 구조 (Fault Tolerant System)
장점 항목 설명
데이터 안정성 높음 한 디스크 손상 시 다른 디스크로 복구 가능
복구 속도 빠름 별도 복구 과정 없이 자동으로 동작 (즉시 사용 가능)
읽기 성능 향상 두 디스크가 동시에 읽기 처리 가능 (병렬 읽기)
적합한 환경 데이터 무결성이 중요한 서버, 금융 / 회계 시스템 등
단점

항목 설명
저장 효율 낮음 동일 데이터 복제 -> 전체 용량의 50%만 사용 가능
비용 증가 같은 데이터를 두 번 저장해야 하므로 디스크 2배 필요
쓰기 속도 낮음 데이터를 두 번 기록해야 하므로 RAID 0보다 느림
3개 이상 디스크 사용 보통 2개 단위로만 복제
3번째 이후는 미사용 unless 설정 변경

 

● 미러링 (Mirroring)

Mirroring

(미러링)
구분 설명
개념 같은 데이터를 두 개 이상의 디스크에 동시에 복제하여 저장하는 기술
데이터의 안정성과 무결성을 보장하기위한 이중화 (Replication) 방법
한쪽 디스크에 기록된 내용이 동시에 다른 디스크에도 똑같이 복제되는 구조
하나의 디스크가 고장나도 다른 디스크가 즉시 대체 역할 수행
동작 원리 동작 원리 설명
쓰기 (Write) 동작 원리 동일한 데이터가 두 개 이상의 디스크에 동시에 기록
기록 속도는 단일 디스크 대비 다소 느릴 수 있음
읽기 (Read) 동작 원리 데이터를 읽을 때 둘 중 속도가 더 빠른 디스크에서 읽거나 

여러 디스크가 병렬로 데이터를 나눠 읽는 방식인 병렬 읽기도 가능
읽기 속도는 오히려 향상되는 경우도 있음
특징 항목 설명
데이터 저장 방식 동일한 데이터를 두 개 이상의 디스크에 동시에 복제
주요 목적 데이터 보호 (무결성 보장)
장애 복구
필요 디스크 수 최소 2개 이상
복구 방법 한쪽 디스크 손상 시, 다른 디스크로 즉시 부팅 가능
저장 효율 전체 용량의 50% (나머지는 복제본 저장용)
성능 특성 읽기 빠름
쓰기 보통
적용 RAID RAID 1
장점 항목 설명
데이터 안정성 최고 수준 한 디스크 고장 시에도 다른 디스크에서 즉시 복구 가능
즉시 복구 별도의 복구 과정 없이 바로 사용 가능 (Failover 즉시 작동)
읽기 성능 향상 병렬 읽기 가능 -> 읽기 속도 증가
적합한 환경 은행, 서버, 의료, 정부 등 데이터 손실이 절대 허용되지 않는 시스템
단점 항목 설명
저장 효율 낮음 같은 데이터를 두 번 저장 -> 용량 절반만 실제 사용 가능
비용 증가 디스크 2배 필요
쓰기 속도 저하 동일 데이터를 동시에 두 곳에 기록하므로 RAID 0보다 느림

 

●  /dev/sdf1(200M), /dev/sdg1(200M) 디스크를 RAID 1로 구성

 

# /dev/md1 생성 (RAID 1)

 

mdadm 명령을 통해 리눅스에서 소프트웨어 RAID 생성하고 관리하도록 설정

 

--create 옵션을 통해 새로운 RAID 장치 생성

 

/dev/md1 옵션을 통해 RAID로 생성될 논리 디바이스 이름을 /dev/md1로 생성

 

--level=1 옵션을 통해 RAID 레벨 1 (Mirroring) 선택 -> 두 디스크에 동일 데이터 복제 

 

--raid-devices=2 옵션을 통해 RAID에 참여하는 실제 디스크 또는 파티션 개수 2개로 설정

 

/dev/sdf1 /dev/sdg1 옵션을 통해 RAID에 참여할 두 개의 파티션 경로 설정

 

ls -l /dev/md1 명령을 통해 /dev/md1 디바이스 파일의 상세 정보 확인

 

fdisk -l /dev/md1 명령을 통해 /dev/md1 디바이스의 파티션 테이블과 용량과 섹터 정보 나열

 

mdadm --detail --scan -v 명령을 통해 현재 시스템에서 인식한 모든 md 배열을 스캔하여

 

mdadm.conf에 넣을 구성 라인 자세히 출력

 

cat /proc/mdstat 명령을 통해 현재 시스템의 소프트웨어 RAID 상태를 보여주는

 

가상 파일인 /proc/mdstat 내용 확인

 

 

mfks -t ext4 /dev/md1 > /dev/null 명령을 통해 /dev/md1 디바이스에 ext4 타입의 파일 시스템을 설치하고

 

명령어의 출력 결과를 /dev/null로 리다이렉션하여 화면에 아무것도 출력되지 않도록 생성

 

 

# /mnt/raid1 디렉터리 생성

 

mkdir /mnt/raid1 명령을 통해 mount할 때 사용할 /mnt/raid1 임시 디렉터리 생성

 

 

# /dev/md1과 /mnt/raid1 디렉터리 mount 작업

 

mount /dev/md1 /mnt/raid1 명령을 통해 /dev/md1과 /mnt/raid1 mount

 

df -h 명령을 통해 잘 mount 되었는지 확인

 

 

# /dev/md1과 /mnt/raid1 디렉터리 mount 작업 해지 

 

umount /dev/md1 명령을 통해 /dev/md1r과 /mnt/raid1 mount 해제

 

 

# /dev/md1 정지

 

mdadm --stop /dev/md1 명령을 통해 활성화된 RAID 배열인 /dev/md1 정지시킴

 

 

# /dev/sdf1, /dev/sdg1 삭제

 

mdadm --zero-superblock /dev/sdf1 /dev/sdg1 명령을 통해 각 파티션의 RAID 슈퍼블록 삭제

 

mdadm --examine /dev/sdf1 /dev/sdg1 명령을 통해 파티션의 RAID 슈퍼블록이 잘 삭제되었는지 확인

 

ls -l /dev/md1 명령을 통해 /dev/md1 디바이스가 잘 삭제되었는지 확인

 


Ⅲ - Ⅲ. RAID 4 (Parity)

 

RAID 4

(Partiy)
구분 설명
개념 데이터를 여러 디스크에 Striping (분산 저장)하면서 패리티 (Parity) 정보를 

별도의 전용 디스크에 저장하여 데이터 복구 기능을 제공하는 RAID 구조
RAID 0처럼 데이터를 여러 디스크에 나누어 저장하지만 하나의 디스크를 따로 두어

에러 검출 및 복구용 정보 (Parity) 저장
데이터 Striping + 전용 Partiy 디스크를 통한 복구 가능
구성 항목 설명
디스크 개수 최소 3개 이상 필요
저장 구조 2개 이상의 데이터 디스크 + 1개의 Parity 디스크
Parity 저장 방식 한 디스크에만 집중 저장
용량 효율 전체 디스크 용량 - 1 (한 개 디스크는 Parity용으로 사용)
동작 원리 동작 원리 설명
데이터 저장 (쓰기) 데이터를 여러 디스크에 분산 저장 (Striping)
동시에 패리티 디스크에 에러 복구용 정보 (Parity Bit) 저장
패리티는 XOR 연산을 통해 생성
한쪽 디스크가 고장나도 남은 데이터 + Parity로 복구 가능
데이터 읽기 데이터 디스크에서 직접 읽음 (패리티 디스크는 사용 안 함)
고속 읽기 가능 (병렬 읽기 가능)
복구 과정 한 디스크가 손상되면 남은 데이터와 패리티를 XOR 연산으로 

계산해 손실 데이터 복구 가능
장점 항목 설명
데이터 복구 가능 Parity 정보를 이용해 한 개 디스크 손상 시 복구 가능
읽기 성능 우수 데이터 디스크가 병렬로 읽기 가능
용량 효율 높음 한 개 디스크만 패리티용으로 사용 (RAID 1보다 효율적)
적합한 환경 데이터 안정성과 용량 효율을 동시에 고려하는 서버용
단점 항목 설명 
패리티 디스크 집중 부하 쓰기 작업 시 매번 패리티 디스크를

갱신해야 하므로 I/O 병목 발생
패리티 디스크 손상 시 패리티 정보 손실 -> 에러 검출 및 복구 불가
쓰기 속도 낮음 패리티 계산 (XOR)과 저장이 동시에 일어나므로 

RAID 0보다 느림
확장성 제한 디스크 추가 시 패리티 재계산 필요 (비효율적)

 

● Parity

Parity

(패리티)
구분 설명
개념 데이터를 전송하거나 저장할 때 발생할 수 있는 오류를 검출하기 위한 방법
데이터를 전송할 때 1비트 (Parity Bit)를 추가로 붙여 전송된 데이터가 올바른지

확인할 수 있도록 단순하면서도 효율적인 오류 검출 기술
데이터 전송 중 깨지거나 손실되지 않았는가를 1비트로 판단하는 오류 감지 방식
동작 원리 전송할 데이터 '1'의 개수를 기준으로 패리티 비트 (Parity Bit) 생성
데이터 블록에 추가적인 1비트를 붙여 짝수 (Even) 또는 홀수 (Odd) 상태를 맞춤
수신 측에서 받은 데이터의 1 개수를 다시 계산해 보낸 쪽과

동일한 짝 / 홀 상태인지 비교하여 오류 검출
종류 종류 설명
짝수 패리티
(Even Parity)
전체 데이터의 '1'의 개수가 짝수가 되도록 패리티 비트 설정
홀수 패리티
(Odd Parity)
전체 데이터의 '1'의 개수가 홀수가 되도록 패리티 비트 설정
특징 항목 설명
주요 기능 오류 검출 (Detection)만 가능하고 수정(Correction)은 불가
비트 수 증가 데이터에 1비트만 추가 -> 효율적
단일 오류 감지 기능 1비트 오류는 감지 가능하지만 2비트 이상 오류는 감지 불가
적용 분야 RAID 4, 5, 6, 메모리 (ECC),

시리얼 통신 (UART), 파일 전송(FTP)등
장점 구조 단순
추가 비트 1개로 오류 검출 가능
통신 속도에 거의 영향 없음
단점 오류 검출만 가능하고 복구는 불가능
2비트 이상 오류 감지 불가
복잡한 오류 정정에는 부적함
RAID에서의 

Parity 역할
RAID 4, 5, 6에서는 이 Parity Bit 개념을 확장해서 각 디스크의

데이터 블록을 XOR 연산하여 패리티 블록 생성
하나의 디스크가 고장나면 나머지 데이터와 패리티로 복구 가능
Parity = 데이터 오류 검출 + 복구의 핵심 정보 역할 수행

 

 

● /dev/sdc1(200M), /dev/sdd1(200M), /dev/sde1(200M) 디스크를 RAID 4로 구성

 

# /dev/md4 생성 (RAID 4)

 

mdadm 명령을 통해 리눅스에서 소프트웨어 RAID 생성하고 관리하도록 설정

 

--create 옵션을 통해 새로운 RAID 장치 생성

 

/dev/md4 옵션을 통해 RAID로 생성될 논리 디바이스 이름을 /dev/md4로 생성

 

--level=4 옵션을 통해 RAID 레벨 4 (Parity) 선택 -> Parity 기반, 전용 패리티 디스크 1개

 

--raid-devices=3 옵션을 통해 RAID에 참여하는 실제 디스크 또는 파티션 개수 3개로 설정

 

/dev/sdc1 /dev/sdd1 /dev/sde1 옵션을 통해 RAID에 참여할 세 개의 파티션 경로 설정

 

ls -l /dev/md4 명령을 통해 /dev/md4 디바이스 파일의 상세 정보 확인

 

fdisk -l /dev/md4 명령을 통해 /dev/md4 디바이스의 파티션 테이블과 용량과 섹터 정보 나열

 

mdadm --detail --scan -v 명령을 통해 현재 시스템에서 인식한

 

모든 md 배열을 스캔하여 mdadm.conf에 넣을 구성 라인 자세히 출력

 

cat /proc/mdstat 명령을 통해 현재 시스템의 소프트웨어 RAID 상태를 보여주는

 

가상 파일인 /proc/mdstat 내용 확인

 

 

mfks -t ext4 /dev/md4 > /dev/null 명령을 통해 /dev/md4 디바이스에 ext4 타입의 파일 시스템을 설치하고

 

명령어의 출력 결과를 /dev/null로 리다이렉션하여 화면에 아무것도 출력되지 않도록 생성

 

 

# /mnt/raid4 디렉터리 생성

 

mkdir /mnt/raid4 명령을 통해 mount할 때 사용할 /mnt/raid4 임시 디렉터리 생성

 

 

# /dev/md4와 /mnt/raid4 디렉터리 mount 작업

 

mount /dev/md4 /mnt/raid4 명령을 통해 /dev/md4와 /mnt/raid4 mount

 

df -h 명령을 통해 잘 mount 되었는지 확인

 

 

# /dev/md4와 /mnt/raid4 디렉터리 mount 작업 해지

 

umount /dev/md4 명령을 통해 /dev/md4 mount 해제

 

# /dev/md4 정지

 

mdadm --stop /dev/md4 명령을 통해 활성화된 RAID 배열인 /dev/md4 정지시킴

 

 

# /dev/sdc1, /dev/sdd1, /dev/sde1 삭제

 

mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sde1 명령을 통해 각 파티션의 RAID 슈퍼블록 삭제

 

mdadm --examine /dev/sdc1 /dev/sdd1 /dev/sde1 명령을 통해 파티션의 RAID 슈퍼블록이 잘 삭제되었는지 확인

 

ls -l /dev/md4 명령을 통해 /dev/md4 디바이스가 잘 삭제되었는지 확인

 


Ⅲ - IV. RAID 5 (Distributed Parity)

 

RAID 5

(Distributed Parity)
구분 설명
개념 데이터를 여러 디스크에 분산 저장 (Striping)하면서 패리티 (Parity) 정보를

모든 디스크에 순차적으로 분산 저장하는 방식
RAID 4처럼 패리티를 저장하지만 특정 디스크에 집중시키지 않고, 각 디스크에

순서대로 분산 저장함으로써 병목 현상을 줄인 구조
RAID 5 = Striping (성능) + 분산 패리티 (복구 기능) 

-> 속도, 안정성, 효율성의 균형형 RAID
구성 항목 설명
디스크 개수 최소 3개 이상
데이터 저장 구조 여러 디스크에 데이터 + 패리티 분산 저장
패리티 저장 방식 디스크마다 번갈아가며 저장 (순차적 분산)
용량 효율 전체 용량의 (N-1) / N (한 개의 디스크는 패리티용으로 사용)
동작 원리 동작 원리 설명
데이터 쓰기 (Write) 데이터를 여러 디스크에 분산 저장
동시에 패리티 정보 (에러 복구용 XOR 결과)를

다른 디스크에 저장
패리티 위치가 블록마다 바뀌므로

모든 디스크에 부하가 고르게 분산됨
데이터 읽기 (Read) RAID 0처럼 병렬로 데이터를 읽기 때문에 읽기 속도 빠름
복구 중이 아닐 때는 패리티 디스크 사용하지 않음
디스크 장애 발생 시 한 개의 디스크가 손상되어도 나머지 디스크의 데이터와 

패리티를 XOR 연산으로 복구 가능
장점 항목 설명
읽기 속도 빠름 데이터가 여러 디스크에 분산되어 병렬 읽기 가능
복구 기능 제공 한 개 디스크 손상 시 패리티 정보로 복구 가능
패리티 병목 해소 패리티가 분산 저장되어 RAID 4의 I/O 병목 문제 해결
용량 효율 우수 한 개 디스크만 패리티용으로 사용하므로 RAID 1보다 효율적
안정성과 성능의 균형 RAID 중 가장 범용적으로 사용됨 (서버, NAS, 스토리지 등)
단점 항목 설명
쓰기 속도 느림 패리티 계산 (XOR 연산)과 분산 저장으로 쓰기 속도 저하
복구 시 성능 저하 디스크 손상 후 복구 과정 중 I/O 속도 급격히 감소
두 개 이상 손상 시

복구 불가
1개까지는 복구 가능하지만

2개 이상 디스크 손상 시 데이터 손실

 

● Distributed Parity (분산 패리티)

Distributed Parity

(분산 패리티)
구분 설명
개념 RAID 4처럼 패리티 정보를 한 디스크에 몰아서 저장하지 않고,

여러 디스크에 균등하게 분산 저장하는 방식
데이터는 여러 디스크에 Striping 형태로 분산 저장하고,

 각 디스크에 번갈아 가며 패리티 블록 (Parity Block)을 저장하는 구조
읽기, 쓰기 부하가 특정 디스크에 집중되는 문제 (병목) 해결
RAID 5 핵심 기술로 패리티 정보를 여러 디스크에 나누어 저장해 복구 가능성과

성능 균형을 동시에 확보한 방식
동작 원리 각 디스크는 데이터 블록과 패리티 블록을 번갈아 저장
각 줄마다 패리티 위치가 다르기 때문에 부하 분산 효과 발생
한 디스크가 손상되면 나머지 디스크의 데이터와 패리티 (XOR 연산)을 이용해 복구 가능
장점 항목 설명
병목 현상 제거 패리티가 분산되어 특정 디스크에 부하 집중 없음
병렬 쓰기 가능성 여러 디스크가 동시에 데이터와 패리티 기록
복구 가능성 디스크 1개 고장 시 나머지 데이터 + 패리티로 복구 가능
읽기 속도 향상 여러 디스크에서 동시에 읽기 가능 (병렬 읽기)
용량 효율 높음 전체 디스크 중 1개의 용량만 패리티 용도로 사용
균형형 RAID 성능, 안정성, 효율 모두 일정 수준 확보 

(RAID 5의 대표 장점)
단점 항목 설명
복구 제한 디스크 2개 고장 시 데이터 복구 불가능
쓰기 속도 저하 패리티 계산(XOR 연산)으로 인해 RAID 0보다 느림
복구 시간 지연 장애 발생 후 재구성(Rebuild)에 오랜 시간 소요
복구 중 성능 저하 복구 시 나머지 디스크에 높은 부하 발생 -> I/O 느려짐

 

● RAID 4 VS RAID 5

구분 RAID 4 (Parity) RAID 5 (Distributed Parity)
패리티 저장 위치 전용 패리티 디스크 1개 모든 디스크에 분산 저장
병목 현상 O (패리티 디스크 집중) X (분산되어 병목 해소)
성능 쓰기 성능 낮음 쓰기 / 읽기 속도 모두 향상
내결함성 디스크 1개 고장 시 복구 가능 디스크 1개 고장 시 복구 가능

 

● /dev/sdc1(200M), /dev/sdd1(200M), /dev/sde1(200M) 디스크를 RAID 5로 구성

 

# /dev/md5 생성 (RAID 5)

 

mdadm 명령을 통해 리눅스에서 소프트웨어 RAID 생성하고 관리하도록 설정

 

--create 옵션을 통해 새로운 RAID 장치 생성

 

/dev/md5 옵션을 통해 RAID로 생성될 논리 디바이스 이름을 /dev/md5로 생성

 

--level=5 옵션을 통해 RAID 레벨 5 (Distributed Parity) 선택

 

--raid-devices=3 옵션을 통해 RAID에 참여하는 실제 디스크 또는 파티션 개수 3개로 설정

 

/dev/sdc1 /dev/sdd1 /dev/sde1 옵션을 통해 RAID에 참여할 세 개의 파티션 경로 설정

 

ls -l /dev/md5 명령을 통해 /dev/md5 디바이스 파일의 상세 정보 확인

 

fdisk -l /dev/md5 명령을 통해 /dev/md5 디바이스의 파티션 테이블과 용량과 섹터 정보 나열

 

mdadm --detail --scan -v 명령을 통해 현재 시스템에서 인식한 모든 md 배열을 스캔하여

 

mdadm.conf에 넣을 구성 라인 자세히 출력

 

cat /proc/mdstat 명령을 통해 현재 시스템의 소프트웨어 RAID 상태를 보여주는

 

가상 파일인 /proc/mdstat 내용 확인

 

 

mfks -t ext4 /dev/md5 > /dev/null 명령을 통해 /dev/md5 디바이스에 ext4 타입의 파일 시스템을 설치하고

 

명령어의 출력 결과를 /dev/null로 리다이렉션하여 화면에 아무것도 출력되지 않도록 생성

 

 

# /mnt/raid5 디렉터리 생성

 

mkdir /mnt/raid5 명령을 통해 mount할 때 사용할 /mnt/raid5 임시 디렉터리 생성

 

 

# /dev/md5와 /mnt/raid5 디렉터리 mount 작업

 

mount /dev/md5 /mnt/raid5 명령을 통해 /dev/md5와 /mnt/raid5 mount

 

df -h 명령을 통해 잘 mount 되었는지 확인

 

 

# /dev/md5와 /mnt/raid5 디렉터리 mount 작업 해지

 

umount /dev/md5 명령을 통해 /dev/md5와 /mnt/raid5 mount 해제

 

 

# /dev/md5 정지

 

mdadm --stop /dev/md5 명령을 통해 활성화된 RAID 배열인 /dev/md5 정지시킴

 

 

# /dev/sdc1,  /dev/sdd1, /dev/sde1 삭제

 

mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sde1 명령을 통해 각 파티션의 RAID 슈퍼블록 삭제

 

mdadm --examine /dev/sdc1 /dev/sdd1 /dev/sde1 명령을 통해 파티션의 RAID 슈퍼블록이 잘 삭제되었는지 확인

 

ls -l /dev/md5 명령을 통해 /dev/md5 디바이스가 잘 삭제되었는지 확인

 


Ⅲ - V. RAID 6 (Dual Parity)

 

RAID 6

(Dual Parity)
구분 설명
개념 RAID 5와 동일한 Striping + 분산 패리티 구조이지만 패리티 정보를 두 종류로

저장 (이중 패리티)하여 최대 2개의 디스크가 동시에 고장나도 데이터 복구가 가능한

고안정성 RAID 방식
2개의 패리티 (P,Q)로 두 디스크 손상 시에도 복구 가능
RAID 6 = RAID 5 + 이중 패리티 보호
구성 항목 설명
디스크 개수 최소 4개 이상
데이터 저장 구조 데이터 Striping + 2개의 패리티 블록 (P, Q) 분산 저장
패리티 저장 방식 각 디스크에 순서대로 P, Q 패리티를 분산 저장
용량 효율 전체 디스크 수 - 2 (두 개의 디스크 용량은 패리티용으로 사용)
동작 원리 동작 원리 설명
데이터 쓰기 (Write) RAID 5와 동일하게 데이터 Striping 수행
동시에 2개의 패리티 (P, Q) 계산 및 저장 (이중 보호 구조)
P는 XOR 연산, Q는 복잡한 Reed-Solomon 코드

(다른 방식의 수학적 계산)로 구성
데이터 복구

(Read / Recovery)
1개 디스크 손상 -> RAID 5와 동일하게 P를 이용해 복구
2개의 디스크 손상 -> P와 Q를 이용한 이중 복구 가능
장점 항목 설명
이중 보호 기능 최대 2개의 디스크가 동시에 고장나도 복구 가능
데이터 안정성 최고 수준 RAID 5 대비 신뢰도 대폭 향상
읽기 성능 우수 Striping 구조로 병렬 읽기 가능
적합한 환경 미션 크리티컬 서버, 대규모 데이터데이스, NAS 등
단점 항목 설명
쓰기 속도 저하 패리티 2개 계산 (P, Q) 때문에 RAID 5보다 느림
복잡한 연산 Reed-Solomon 기반의 패리티 계산으로 CPU 부하 증가
복구 시간 김 두 개의 패리티 연산 및 대용량 데이터 재구성 필요
용량 효율 하락 전체 디스크 중 2개는 패리티 전용 (용량 효율 = (N -2) / N)

 

● Dual Parity

Dual Parity

(이중 패리티)
구분 설명
개념 RAID 6에서 사용하는 핵심 구조로 두 개의 서로 다른 방식의 패리티 정보를 저장하여

동시에 두 개의 디스크가 손상되더라도 데이터 복구가 가능한 구조
RAID 6 = RAID 5 + 두 개의 패리티 (P, Q)
동작 원리 동작 원리 설명
패리티 종류 P 패리티 (XOR 기반) + Q 패리티 (Reed-Solomon 기반)
저장 구조 모든 디스크에 P, Q 패리티를 분산 저장 (Distributed Dual Parity)
복구 원리 1개 손상 시 P 패리티만으로 복구
2개 손상 시 P와 Q 연산으로 복구
연산 방식 2종류의 수학적 계산을 동시에 수행하므로 CPU 자원 사용량 증가
장점 구분 설명
안정성 두 개의 디스크가 동시에 고장나도 데이터 복구 가능
가용성 대용량 서버, NAS, 스토리지 등에서 매우 높은 신뢰성 제공
성능 (읽기) 읽기 속도는 RAID 5와 거의 유사 (병렬 읽기 구조 유지)
데이터 보존성 복구 실패 확률이 극히 낮아 미션 크리티컬 환경에 적합
단점 구분 설명
연산 복잡도 패리티 연산이 2회 이루어져 CPU 사용량 및 계산량 증가
용량 효율 감소 두 개의 디스크 용량이 패리티로 사용되어 효율 약간 낮음
쓰기 속도 저하 패리티 연산이 두 번 이루어져 RAID 5보다 쓰기 속도 느림
비용 증가  디스크 2개가 패리티용으로 사용되므로 하드웨어 비용 상승

 

 

● RAID 5 VS RAID 6

구분 RAID 5 (Distributed Parity) RAID 6 (Dual Parity)
패리티 개수 1개 2개
복구 가능 디스크 수 1개 2개
패리티 저장 방식 분산 패리티  분산 이중 패리티
최소 디스크 수 3개 4개
성능 빠름 약간 느림 (패리티 연산 2번 필요)
안정성 중간 매우 높음

 

 

/dev/sdc1(200M), /dev/sdd1(200M), /dev/sde1(200M), /dev/sdf1(200M), /def/sdg1(200M) 디스크를

RAID 6으로 구성

 

# /dev/md6 생성 (RAID 6)

 

mdadm 명령을 통해 리눅스에서 소프트웨어 RAID 생성하고 관리하도록 설정

 

--create 옵션을 통해 새로운 RAID 장치 생성

 

/dev/md6 옵션을 통해 RAID로 생성될 논리 디바이스 이름을 /dev/md6으로 생성

 

--level=6 옵션을 통해 RAID 레벨 6 (Dual Parity) 선택

 

--raid-devices=5 옵션을 통해 RAID에 참여하는 실제 디스크 또는 파티션 개수 5개로 설정

 

/dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 옵션을 통해 RAID에 참여할 네 개의 파티션 경로 설정

 

ls -l /dev/md6 명령을 통해 /dev/md6 디바이스 파일의 상세 정보 확인

 

fdisk -l /dev/md6 명령을 통해 /dev/md6 디바이스의 파티션 테이블과 용량과 섹터 정보 나열

 

mdadm --detail --scan -v 명령을 통해 현재 시스템에서 인식한 모든 md 배열을 스캔하여

 

mdadm.conf에 넣을 구성 라인 자세히 출력

 

cat /proc/mdstat 명령을 통해 현재 시스템의 소프트웨어 RAID 상태를 보여주는

 

가상 파일인 /proc/mdstat 내용 확인

 

 

mfks -t ext4 /dev/md6 > /dev/null 명령을 통해 /dev/md6 디바이스에 ext4 타입의 파일 시스템을 설치하고

 

명령어의 출력 결과를 /dev/null로 리다이렉션하여 화면에 아무것도 출력되지 않도록 생성

 

 

# /mnt/raid6 디렉터리 생성

 

mkdir /mnt/raid6 명령을 통해 mount할 때 사용할 /mnt/raid6 임시 디렉터리 생성

 

 

# /dev/md6과 /mnt/raid 6 mount 작업 

 

mount /dev/md6 /mnt/raid6 명령을 통해 /dev/md6과 /mnt/raid6 mount

 

df -h 명령을 통해 잘 mount 되었는지 확인

 

 

# /dev/md6과 /mnt/raid6 mount 작업 해지 

 

umount /dev/md6 명령을 통해 /dev/md6 mount 해제

 

 

# /dev/md6 정지

 

mdadm --stop /dev/md6 명령을 통해 활성화된 RAID 배열인 /dev/md6 정지시킴

 

 

# /dev/sdc1, /dev/sdd1, /dev/sde1, /dev/sdf1, /dev/sdg1  삭제

 

mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 명령을 통해

 

각 파티션의 RAID 슈퍼블록 삭제

 

mdadm --examine /dev/sdc1 /dev/sdd1 /dev/sde1/dev/sdf1 /dev/sdg1 명령을 통해

 

파티션의 RAID 슈퍼블록이 잘 삭제되었는지 확인

 

ls -l /dev/md6 명령을 통해 /dev/md6 디바이스가 잘 삭제되었는지 확인


Ⅳ. RAID 특징

 

● 디스크 6개 구성

- RAID 1 (Mirroring)의 복제 특징 때문에 디스크 3개씩 RAID 0 (Striping)으로 구성

 

- 디스크 3개씩 RAID 0으로 구성한 디스크 장치 2개를 RAID 1로 구성

 

 

● 디스크 8개 구성

- RAID 1 복제 특징 때문에 4개씩 RAID 0으로 구성

 

- 디스크 4개씩 RAID 0으로 구성된 디스크 장치 2개를 RAID 1로 구성

 


Ⅳ - Ⅰ. RAID 0 + 1 (Striping + Mirroring)

 

RAID 0 + 1

(Striping + Mirroring)
구분 설명
개념 RAID 0 (Striping)으로 데이터를 분산 저장한 뒤, 그 전체 RAID 0 그룹을

RAID 1 (Mirroring)으로 복제하는 방식
RAID 0으로 데이터를 나누어 빠르게 저장하고, RAID 0 전체를 RAID 1로 복제하여

안정성도 확보하는 구조
RAID 0 + 1 = 빠른 속도의 RAID 0 + 안정성 높은 RAID 1

-> 속도 + 안정성을 모두 갖춘 하이브리드 RAID 구조
구조 항목 설명
디스크 개수 최소 4개 이상 (짝수 단위 구성 필요)
기본 구조 RAID 0 그룹 2개를 구성 -> 각 그룹을 RAID 1로 복제
저장 방식 RAID 0 그룹 내에서 데이터 병렬 저장 후, 

RAID 1을 통해 복제 저장
용량 효율 전체 디스크 용량의 50% (나머지 50%는 복제용)
동작 원리 동작 원리 설명
데이터 쓰기 (Write) RAID 0 단계에서 데이터를 여러 디스크에 병렬로 분산 저장
RAID 1 단계에서 RAID 0 전체를 복제하여 이중화된 복사본 저장
데이터 읽기 (Read) 병렬 읽기 가능 (RAID 0의 장점)
손상된 RAID 0 그룹이 있을 경우, RAID 1의 복제본에서 

즉시 데이터 복구 가능
RAID 0 -> 데이터 분산 저장 (속도 향상)
RAID 1 -> 전체 그룹 복제 (안정성 향상)
장점 항목 설명
속도 RAID 0의 병렬 저장으로 읽기와 쓰기 속도 향상
안정성 RAID 1의 복제 기능으로 장애 복구 가능
이중화 구조 Striping + Mirroring 동시에 적용
성능 균형 성능과 안정성을 모두 고려한 구조 (고성능 서버에 적합)
단점 항목 설명
디스크 효율 낮음 전체 용량의 50%만 실제 사용 가능 (복제용 50%)
비용 증가 Mirroring 때문에 디스크 2배 필요
복구 제약 RAID 0 그룹 중 하나가 완전히 손상되면 전체 데이터 접근 불가

 

 

● /dev/sdc1(200M), /dev/sdd1(200M), /dev/sde1(200M), /dev/sdf1(200M) 디스크를 RAID 0 + 1로 구성

 

# /dev/md11 생성 (RAID 0)

 

mdadm 명령을 통해 리눅스에서 소프트웨어 RAID 생성하고 관리하도록 설정

 

--create 옵션을 통해 새로운 RAID 장치 생성

 

/dev/md11 옵션을 통해 RAID로 생성될 논리 디바이스 이름을 /dev/md11로 생성

 

--level=0 옵션을 통해 RAID 레벨 0 (Striping) 모드 선택

 

--raid-devices=2 옵션을 통해 RAID에 참여하는 실제 디스크 또는 파티션 개수 2개로 설정

 

/dev/sdc1 /dev/sdd1 옵션을 통해 RAID에 참여할 두 개의 파티션 경로 설정

 

 

# /dev/md12 생성 (RAID 0)

 

mdadm 명령을 통해 리눅스에서 소프트웨어 RAID 생성하고 관리하도록 설정

 

--create 옵션을 통해 새로운 RAID 장치 생성

 

/dev/md12 옵션을 통해 RAID로 생성될 논리 디바이스 이름을 /dev/md12로 생성

 

--level=0 옵션을 통해 RAID 레벨 0 (Striping) 모드 선택

 

--raid-devices=2 옵션을 통해 RAID에 참여하는 실제 디스크 또는 파티션 개수 2개로 설정

 

/dev/sde1 /dev/sdf1 옵션을 통해 RAID에 참여할 두 개의 파티션 경로 설정

 

 

# /dev/md13 생성 (RAID 1)

 

mdadm 명령을 통해 리눅스에서 소프트웨어 RAID 생성하고 관리하도록 설정

 

--create 옵션을 통해 새로운 RAID 장치 생성

 

/dev/md13 옵션을 통해 RAID로 생성될 논리 디바이스 이름을 /dev/md13으로 생성

 

--level=1 옵션을 통해 RAID 레벨 1 (Mirroring) 모드 선택

 

--raid-devices=2 옵션을 통해 RAID에 참여하는 실제 디스크 또는 파티션 개수 2개로 설정

 

/dev/md11 /dev/md12 옵션을 통해 RAID에 포함될 두 개의 파티션 지정

 

ls -l /dev/md11 /dev/md12 /dev/md13 명령을 통해

 

/dev/md11, /dev/md12, /dev/md13 디바이스 파일의 상세 정보 확인

 

fdsik -l /dev/md11 명령을 통해 /dev/md11 디바이스의 파티션 테이블과 용량과 섹터 정보 나열

 

fdsik -l /dev/md12 명령을 통해 /dev/md12 디바이스의 파티션 테이블과 용량과 섹터 정보 나열

 

fdsik -l /dev/md13 명령을 통해 /dev/md13 디바이스의 파티션 테이블과 용량과 섹터 정보 나열

 

mdadm --detail --scan -v 명령을 통해 현재 시스템에서 인식한

 

모든 md 배열을 스캔하여 mdadm.conf에 넣을 구성 라인 자세히 출력

 

cat /proc/mdstat 명령을 통해 현재 시스템의 소프트웨어 RAID 상태를 보여주는

 

가상 파일인 /proc/mdstat 내용 확인

 

 

mfks -t ext4 /dev/md13 > /dev/null 명령을 통해 /dev/md13 디바이스에 ext4 타입의 파일 시스템을 설치하고

 

명령어의 출력 결과를 /dev/null로 리다이렉션하여 화면에 아무것도 출력되지 않도록 생성

 

 

# /mnt/raid01 디렉터리 생성

 

mkdir /mnt/raid01 명령을 통해 mount할 때 사용할 /mnt/raid01 임시 디렉터리 생성

 

 

# /dev/md13과 /mnt/raid01 디렉터리 mount 작업

 

mount /dev/md13 /mnt/raid01 명령을 통해 /dev/md13과 /mnt/raid01 mount

 

df -h 명령을 통해 잘 mount 되었는지 확인

 

 

lsblk 명령을 통해 시스템에 연결된 블록 장치들의 정보 확인

 

 

# /dev/md13과 /mnt/raid01 디렉터리 mount 작업 해지

 

umount /dev/md13 명령을 통해 /dev/md13과 /mnt/raid01 mount 해제

 

 

# /dev/md13 중지

 

mdadm --stop /dev/md13 명령을 통해 활성화된 RAID 배열인 /dev/md13 RAID 장치 중지

 

 

# /dev/md12 중지

 

mdadm --stop /dev/md12 명령을 통해 활성화된 RAID 배열인 /dev/md12 RAID 장치 중지

 

 

# /dev/md11 중지

 

mdadm --stop /dev/md11 명령을 통해 활성화된 RAID 배열인 /dev/md11 RAID 장치 중지

 

 

# /dev/sdc1, /dev/sdd1, /dev/sde1,  /dev/sdf1 제거 

 

mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 명령을 통해

 

각각의 디스크 파티션들에 대해 슈퍼 블록 제거 

 

mdadm --examine /dev/sdc1 /dev/sdd1 /dev/sde1/dev/sdf1 명령을 통해

 

지정된 파티션의 RAID 슈퍼블록이 잘 삭제되었는지 확인

 

ls -l /dev/md* 명령을 통해 디렉터리에서 md로 시작하는 장치들이 잘 삭제되었는지 확인


 

Ⅴ. RAID 1 + 0 특징

 

● 디스크 6개 구성

 

- RAID 1 복제 특징 때문에 디스크 2개씩 RAID 1로 구성

 

- 디스크 2개씩 RAID 1로 구성한 디스크 장치 3개를 RAID 0으로 구성

 

 

● 디스크 8개 구성

 

- RAID 1 복제 특징 때문에 2개씩 RAID 1로 구성

 

- 디스크 2개씩 RAID 1로 구성된 디스크 장치 4개를 RAID 0으로 구성

 


Ⅴ - Ⅰ. RAID 1 + 0 (Mirroring + Striping)

 

RAID 1 + 0

(Mirroring + Striping)
구분 설명
개념 RAID 1 (Mirroring)으로 디스크를 복제하여 안정성을 확보하고, 

그 복제된 디스크 쌍들을 RAID 0 (Striping)으로 묶어 속도를 향상시키는

복합 RAID 구조
RAID 1로 데이터를 복제 (Mirroring)하고, 복제된 디스크 쌍을 RAID 0으로

병렬 처리 (Striping)하는 구조
RAID 1 + 0 = RAID 1 (Mirroring) + RAID 0 (Striping)

-> RAID 10이라고도 부르며 속도와 안정성의 균형이 가장 뛰어난 RAID 구조
구조 항목 설명
디스크 개수 최소 4개 이상 (짝수로 구성해야 함)
기본 구조 RAID 1로 디스크를 복제한 뒤, 복제된 쌍을 RAID 0으로 병렬 처리
저장 방식 각 디스크 쌍은 동일한 데이터를 저장하고,

여러 쌍이 병렬로 데이터 조각을 분산 저장
용량 효율 전체 디스크 용량의 50% (나머지 절반은 복제용)
동작 원리 동작 원리 설명
데이터 쓰기 (Write) RAID 1 단계에서 두 개의 디스크에 동일한 데이터를 복제 저장
RAID 0 단계에서 복제된 쌍 단위로 병렬 저장 수행

-> 쓰기 속도 향상
데이터 읽기 (Read) RAID 1의 복제본 중 더 빠른 디스크에서 읽음
여러 RAID 1 그룹이 병렬로 작동하므로 읽기 속도는 매우 빠름
RAID 1로 안정성 확보 -> RAID 0으로 속도 향상
RAID 0 + 1보다 복구 유연성이 훨씬 뛰어남
장점 항목 설명
속도 향상 RAID 0 병렬 처리로 읽기와 쓰기 모두 빠름
안정성 확보 RAID 1 복제로 데이터 이중화
복구 유연성 한 쌍 (Mirroring 그룹) 내의 디스크 1개 손상 시에도 정상 동작
이중 보호 구조 Mirroring + Striping 병행으로 고속과 고안정성 시스템 구축 가능
단점 항목 설명
용량 효율 낮음 전체 디스크 용량의 50%만 사용 가능 (절반은 복제)
비용 증가 Mirroring으로 인해 디스크 2배 필요
복구 중 부하 복제 디스크가 손상되면 재복제(Rebuild) 시 성능 저하 가능

 

●  RAID 0 +1 VS RAID 1 + 0 비교

구분 RAID 0 + 1 RAID 1 + 0 (RAID 10)
구성 순서 Striping 후 Mirroring Mirroring 후 Striping
복구 구조 RAID 0 그룹 손상 시 

전체 데이터 복구 불가
한 쌍 Mirroring 그룹) 내 1개 손상은 무관
안정성 상대적으로 낮음 매우 높음
성능 비슷하지만 RAID 10이 실질적으로 우위 빠름
용량 효율 50% 50%
적합 환경 단순한 고속 I/O 작업 환경 데이터 안정성이 중요한 서버 / NAS 환경
RAID 1 + 0은 RAID 0 + 1보다 복구 안정성이 더 높고 실무에서 더 많이 사용됨

 

● /dev/sdc1(200M), /dev/sdd1(200M), /dev/sde1(200M), /dev/sdf1(200M) 디스크를 RAID 1 + 0으로 구성

 

# /dev/md10 생성 (RAID 0, RAID 1)

 

mdadm 명령을 통해 리눅스에서 소프트웨어 RAID 생성하고 관리하도록 설정

 

--create 옵션을 통해 새로운 RAID 장치 생성

 

/dev/md10 옵션을 통해 RAID로 생성될 논리 디바이스 이름을 /dev/md10으로 생성

 

--level=10 옵션을 통해 RAID 1 (Mirroring) 모드와 RAID 0 (Striping) 모드를 사용하도록 지정

 

--raid-devices=4 옵션을 통해 RAID에 참여하는 실제 디스크 또는 파티션 개수 4개로 설정

 

/dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 옵션을 통해 RAID에 참여할 네 개의 파티션 경로 설정

 

ls -l /dev/md10 명령을 통해 /dev/md10 디바이스 파일의 상세 정보 확인

 

fdsik -l /dev/md10 명령을 통해 /dev/md10 디바이스의 파티션 테이블과 용량과 섹터 정보 나열

 

mdadm --detail --scan -v 명령을 통해 현재 시스템에서 인식한 모든 md 배열을 스캔하여

 

mdadm.conf에 넣을 구성 라인 자세히 출력

 

cat /proc/mdstat 명령을 통해 현재 시스템의 소프트웨어 RAID 상태를 보여주는

 

가상 파일인 /proc/mdstat 내용 확인

 

 

mfks -t ext4 /dev/md10 > /dev/null 명령을 통해 /dev/md10 디바이스에 ext4 타입의 파일 시스템을 설치하고

 

명령어의 출력 결과를 /dev/null로 리다이렉션하여 화면에 아무것도 출력되지 않도록 생성

 

 

# /mnt/raid10 디렉터리 생성

 

mkdir /mnt/raid10 명령을 통해 mount할 때 사용할 /mnt/raid10 임시 디렉터리 생성

 

 

# /dev/md10과 /mnt/raid10 디렉터리 mount 작업

 

mount /dev/md10 /mnt/raid10 명령을 통해 /dev/md10과 /mnt/raid10 mount

 

df -h 명령을 통해 잘 mount 되었는지 확인

 

 

# /dev/md10과 /mnt/raid10 디렉터리 mount 작업 해지

 

umount /dev/md10 명령을 통해 /dev/md10 mount 해제

 

 

# /dev/md10 중지

 

mdadm --stop /dev/md10 명령을 통해 활성화된 RAID 배열인 /dev/md10 RAID 장치 중지

 

 

# /dev/sdc1, /dev/sdd1, /dev/sde1, /dev/sdf1 삭제

 

mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 명령을 통해

 

각각의 디스크 파티션들에 대해 슈퍼 블록 제거 

 

mdadm --examine /dev/sdc1 /dev/sdd1 /dev/sde1/dev/sdf1 명령을 통해

 

지정된 파티션의 RAID 슈퍼블록이 잘 삭제되었는지 확인

 

ls -l /dev/md10 명령을 통해 디렉터리에서  잘 삭제되었는지 확인

 

 

ls -l /dev/sd* 명령을 통해 디렉터리에서 sd로 시작하는 파일들의 상세 정보 확인

 

 

fdisk /dev/sdh 명령을 통해 /dev/sdh 디스크의 파티션 설정을 위해 진입

 

 

# 주 파티션 1 생성 ( /dev/sdh 디스크)

 

fdisk의 n 옵션을 통해 새로운 파티션 생성

 

fdisk의 p 옵션을 통해 새로 생성한 파티션을 주 파티션으로 설정

 

fdisk의 default 옵션을 통해 주 파티션에 번호 1 부여

 

fdisk의 default 옵션을 통해 주 파티션 1의 첫 번째 섹터의 범위를 2048로 설정

 

fdisk의 default 옵션을 통해 주 파티션 1의 마지막 섹터의 범위를 1466367로 설정

 

fdisk의 t 옵션을 통해 주 파티션 1의 타입 변경

 

fd 명령을 통해 주 파티션 1의 타입을 Linux에서 Linux raid autodetect로 변경

 

fdisk의 p 옵션을 통해 주 파티션 1의 타입이 잘 변경되었는지 확인

 

fdisk의 w 옵션을 통해 저장 후 나가기

 

 

# /dev/md0 (RAID 0)

 

mdadm 명령을 통해 리눅스에서 소프트웨어 RAID 생성하고 관리하도록 설정

 

--create 옵션을 통해 새로운 RAID 장치 생성

 

/dev/md0 옵션을 통해 RAID로 생성될 논리 디바이스 이름을 /dev/md0으로 생성

 

--level=0 옵션을 통해  RAID 0 (Striping) 모드를 사용하도록 지정

 

--raid-devices=2 옵션을 통해 RAID에 참여하는 실제 디스크 또는 파티션 개수 2개로 설정

 

/dev/sdc1 /dev/sdh1  옵션을 통해 RAID에 참여할 두 개의 파티션 경로 설정

 

ls -l /dev/md0 명령을 통해 /dev/md0 디바이스 파일의 상세 정보 확인

 

fdsik -l /dev/md0 명령을 통해 /dev/md0 디바이스의 파티션 테이블과 용량과 섹터 정보 나열

 

mdadm --detail --scan -v 명령을 통해 현재 시스템에서 인식한

 

모든 md 배열을 스캔하여 mdadm.conf에 넣을 구성 라인 자세히 출력

 

cat /proc/mdstat 명령을 통해 현재 시스템의 소프트웨어 RAID 상태를 보여주는

 

가상 파일인 /proc/mdstat 내용 확인

 

 

# /dev/md0 중지

 

mdadm --stop /dev/md0 명령을 통해 활성화된 RAID 배열인 /dev/md0 RAID 장치 중지

 

 

# /dev/sdc1, /dev/sdh1 제거 

 

mdadm --zero-superblock /dev/sdc1 /dev/sdh1 명령을 통해 각각의 디스크 파티션들에 대해 슈퍼 블록 제거 

 

mdadm --examine /dev/sdc1 /dev/sdh1 명령을 통해 지정된 파티션의 RAID 슈퍼블록이잘 삭제되었는지 확인

 

ls -l /dev/md0 명령을 통해 디렉터리에서  잘 삭제되었는지 확인

 

 

# /dev/md1 (RAID 1)

 

mdadm 명령을 통해 리눅스에서 소프트웨어 RAID 생성하고 관리하도록 설정

 

--create 옵션을 통해 새로운 RAID 장치 생성

 

/dev/md1 옵션을 통해 RAID로 생성될 논리 디바이스 이름을 /dev/md1로 생성

 

--level=1 옵션을 통해  RAID 1 (Mirroring) 모드를 사용하도록 지정

 

--raid-devices=2 옵션을 통해 RAID에 참여하는 실제 디스크 또는 파티션 개수 2개로 설정

 

/dev/sdc1 /dev/sdh1  옵션을 통해 RAID에 참여할 두 개의 파티션 경로 설정

 

ls -l /dev/md1 명령을 통해 /dev/md1 디바이스 파일의 상세 정보 확인

 

fdsik -l /dev/md1 명령을 통해 /dev/md1 디바이스의 파티션 테이블과 용량과 섹터 정보 나열

 

mdadm --detail --scan -v 명령을 통해 현재 시스템에서 인식한

 

모든 md 배열을 스캔하여 mdadm.conf에 넣을 구성 라인 자세히 출력

 

cat /proc/mdstat 명령을 통해 현재 시스템의 소프트웨어 RAID 상태를 보여주는

 

가상 파일인 /proc/mdstat 내용 확인

 

 

# /dev/md1 중지 

 

mdadm --stop /dev/md1 명령을 통해 활성화된 RAID 배열인 /dev/md1 RAID 장치 중지

 

 

# /dev/sdc1, /dev/sdh1 제거 

 

mdadm --zero-superblock /dev/sdc1 /dev/sdh1 명령을 통해 각각의 디스크 파티션들에 대해 슈퍼 블록 제거 

 

mdadm --examine /dev/sdc1 /dev/sdh1 명령을 통해 지정된 파티션의 RAID 슈퍼블록이 잘 삭제되었는지 확인

 

ls -l /dev/md1 명령을 통해 디렉터리에서  잘 삭제되었는지 확인

 

 

# /dev/md5 (RAID 5)

 

mdadm 명령을 통해 리눅스에서 소프트웨어 RAID 생성하고 관리하도록 설정

 

--create 옵션을 통해 새로운 RAID 장치 생성

 

/dev/md5 옵션을 통해 RAID로 생성될 논리 디바이스 이름을 /dev/md5로 생성

 

--level=5 옵션을 통해  RAID 5 (Distributed Parity) 모드를 사용하도록 지정

 

--raid-devices=3 옵션을 통해 RAID에 참여하는 실제 디스크 또는 파티션 개수 3개로 설정

 

/dev/sdc1 /dev/sdd1 /dev/sdh1  옵션을 통해 RAID에 참여할 세 개의 파티션 경로 설정

 

ls -l /dev/md5 명령을 통해 /dev/md5 디바이스 파일의 상세 정보 확인

 

fdsik -l /dev/md5 명령을 통해 /dev/md5 디바이스의 파티션 테이블과 용량과 섹터 정보 나열

 

mdadm --detail --scan -v 명령을 통해 현재 시스템에서 인식한

 

모든 md 배열을 스캔하여 mdadm.conf에 넣을 구성 라인 자세히 출력

 

cat /proc/mdstat 명령을 통해 현재 시스템의 소프트웨어 RAID 상태를 보여주는

 

가상 파일인 /proc/mdstat 내용 확인

 

 

# /dev/md5 중지

 

mdadm --stop /dev/md5 명령을 통해 활성화된 RAID 배열인 /dev/md5 RAID 장치 중지

 

 

# /dev/sdc1, /dev/sdd1, /dev/sdh1 제거 

 

mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sdh1 명령을 통해

 

각각의 디스크 파티션들에 대해 슈퍼 블록 제거 

 

mdadm --examine /dev/sdc1 /dev/sdd1 /dev/sdh1 명령을 통해

 

지정된 파티션의 RAID 슈퍼블록이잘 삭제되었는지 확인

 

ls -l /dev/md5 명령을 통해 디렉터리에서  잘 삭제되었는지 확인

 

 

# /dev/sdc1, /dev/sdh1를 PV로 생성 및 초기화

 

pvcreate /dev/sdc1 /dev/sdh1 명령을 통해

 

저장된 /dev/sdc1, /dev/sdh1 파티션을 LVM에서 사용할 수 있는 PV로 생성 및 초기화

 

 

# TEST_VG 생성

 

vgcreate TEST_VG /dev/sdc1 /dev/sdh1 명령을 통해

 

PV인 /dev/sdc1와 /dev/sdh1을 하나로 묶어 TEST_VG라는 이름으로 VG 생성

 

vgdisplay -v 명령을 통해 VG가 잘 생성되었는지 확인

 

 

# TEST_VG 삭제

 

vgremove 명령을 통해 VG였던 TEST_VG 삭제

 

 

# /dev/sdc1, /dev/sdh1 삭제

 

pvremove /dev/sdc1 /dev/sdh1 명령을 통해 PV였던 /dev/sdc1과 /dev/sdh1 삭제

 

 

'리눅스' 카테고리의 다른 글

Linux 백업 관리  (0) 2026.06.14
Linux 패키지 관리  (0) 2026.06.14
Linux LVM 디스크 구성  (0) 2026.06.13
Linux 파일 시스템 생성 및 마운트  (0) 2026.06.13
Linux 디스크 파티션 작업  (0) 2026.06.13