리눅스 mdadm을 이용한 RAID 0 구성(Fedora 41)

리눅스 mdadm을 이용한 RAID 0 구성(Fedora 41)

2025-05-31
수정

Fedora 41에서 mdadm을 이용한 RAID 0 구성

Fedora 41 환경에서 mdadm 도구를 사용하여 소프트웨어 RAID를 구성하는 방법을 단계별로 진행합니다.

1. 실습 목적 및 개요

1.1 실습 목적

  • RAID 0 스트라이핑의 개념과 동작 원리 이해
  • mdadm 명령어를 사용한 소프트웨어 RAID 구성 경험
  • 리눅스 시스템에서 스토리지 관리 기술 습득
  • 실제 서버 환경에서 사용되는 RAID 기술의 기초 학습

1.2 RAID 0이란?

  • RAID 0 (스트라이핑)은 2개 이상의 디스크에 데이터를 번갈아 가며 저장하는 방식입니다. 데이터를 여러 디스크에 분산 저장하여 읽기/쓰기 성능을 향상시킵니다. 예를 들어, 4개의 데이터 블록이 있다면 디스크1에 블록1, 디스크2에 블록2, 디스크1에 블록3, 디스크2에 블록4 순으로 저장됩니다.

장점: 빠른 성능, 모든 디스크 용량 활용 가능

단점: 한 디스크라도 고장나면 모든 데이터 손실

1.3 mdadm이란?

mdadm(Multiple Disk and Device Administration)은 리눅스에서 소프트웨어 RAID를 생성, 관리, 모니터링하는 명령줄 도구입니다. 모든 RAID 관리 작업을 하나의 명령어로 처리할 수 있어 매우 편리합니다.

2. 사전 준비사항

2.1 하드웨어 요구사항

  • 빈 디스크 2개 이상 (가상머신에서는 가상 디스크 2개 이상)
  • 각 디스크는 동일한 크기 권장 (다른 크기도 가능하나 작은 디스크 크기로 제한됨)
  • 최소 1GB 이상의 여유 디스크 공간
    CleanShot 2025-05-31 at 13.10.37@2x.png

2.2 소프트웨어 요구사항

  • Fedora 40 설치된 시스템
  • root 권한 또는 sudo 권한
  • mdadm 패키지 (보통 기본 설치되어 있음)

2.3 주의사항

⚠️ 중요: 이 실습은 데이터가 없는 빈 디스크에서만 진행하세요. RAID 구성 과정에서 기존 데이터가 모두 삭제됩니다.

3. 단계별 실습 과정

3.1 시스템 정보 확인 및 준비

단계 1: 시스템 버전 확인

cat /etc/os-release

CleanShot 2025-05-31 at 13.09.36@2x.png

단계 2: mdadm 패키지 설치 확인

sudo dnf install mdadm -y

CleanShot 2025-05-31 at 12.54.34@2x.png

단계 3: 사용 가능한 디스크 확인

lsblk

CleanShot 2025-05-31 at 13.10.37@2x.png

/dev/sdb/dev/sdc가 RAID 구성에 사용할 빈 디스크입니다.

3.2 디스크 파티션 생성

단계 4: 첫 번째 디스크 파티션 생성

sudo fdisk /dev/sdb

CleanShot 2025-05-31 at 12.55.02@2x.png

fdisk 대화형 명령어 순서:

Command (m for help): n
Select (default p): p
Partition number (1-4, default 1): 1
First sector: [Enter키 - 기본값 사용]
Last sector: [Enter키 - 전체 디스크 사용]

Command (m for help): t
Hex code: fd

Command (m for help): p
Command (m for help): w

설명:

  • n: 새 파티션 생성
  • p: Primary 파티션 선택
  • t: 파티션 타입 변경
  • fd: Linux raid autodetect 타입
  • w: 변경사항 저장

단계 5: 두 번째 디스크 파티션 생성

sudo fdisk /dev/sdc

CleanShot 2025-05-31 at 13.11.26@2x.png

앞의 단계 4와 동일한 명령어를 반복합니다.

단계 6: 파티션 생성 확인

lsblk

CleanShot 2025-05-31 at 13.11.53@2x.png

3.3 RAID 0 배열 생성

단계 7: 기존 RAID 정보 확인

sudo mdadm -E /dev/sd[bc]1

CleanShot 2025-05-31 at 16.53.04@2x.png

설명: 이는 정상적인 출력으로, 아직 RAID가 구성되지 않았음을 의미합니다.

단계 8: RAID 0 배열 생성

sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1

CleanShot 2025-05-31 at 16.54.38@2x.png

명령어 설명:

  • -create: 새 RAID 배열 생성
  • /dev/md0: 생성할 RAID 장치명
  • -level=0: RAID 0 (스트라이핑) 설정
  • -raid-devices=2: 사용할 디스크 개수
  • /dev/sdb1 /dev/sdc1: 사용할 디스크 파티션

3.4 RAID 상태 확인

단계 9: RAID 상태 확인

cat /proc/mdstat

CleanShot 2025-05-31 at 16.55.05@2x.png

RAID 0이 정상적으로 생성되었고, 두 디스크가 활성 상태임을 보여줍니다.

단계 10: 상세 정보 확인

sudo mdadm --detail /dev/md0

CleanShot 2025-05-31 at 16.55.39@2x.png

3.5 파일시스템 생성 및 마운트

단계 11: 파일시스템 생성

sudo mkfs.ext4 /dev/md0

단계 12: 마운트 포인트 생성

sudo mkdir /mnt/raid0

단계 13: RAID 장치 마운트

sudo mount /dev/md0 /mnt/raid0

단계 14: 마운트 상태 확인

df -h

CleanShot 2025-05-31 at 16.58.31@2x.png

Filesystem      Size  Used Avail Use% Mounted on
/dev/md0        9.8G  2.1M 9.3G    1% /mnt/raid0
...

3.6 영구 마운트 설정

단계 15: UUID 확인

sudo blkid /dev/md0

CleanShot 2025-05-31 at 18.58.22@2x.png

단계 16: fstab 파일 수정

sudo vim /etc/fstab

CleanShot 2025-05-31 at 18.59.20@2x.png

CleanShot 2025-05-31 at 19.01.36@2x.png

시스템 부팅 시 자동으로 마운트되도록 설정합니다.

단계 17: fstab 설정 테스트

sudo mount -av

CleanShot 2025-05-31 at 19.02.28@2x.png

4. 실습 완료 후 확인 방법

4.1 RAID 성능 테스트

단계 18: 테스트 파일 생성

cd /mnt/raid0
sudo dd if=/dev/zero of=testfile bs=1M count=100

단계 19: 읽기 성능 테스트

sudo dd if=testfile of=/dev/null bs=1M

CleanShot 2025-05-31 at 19.04.21@2x.png

4.2 RAID 상태 모니터링

단계 20: 실시간 RAID 상태 확인

watch cat /proc/mdstat

CleanShot 2025-05-31 at 19.04.47@2x.png

Ctrl+C로 종료할 수 있습니다.

단계 21: mdadm 구성 정보 저장

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm.conf

시스템 재부팅 시 RAID 배열이 자동으로 인식되도록 설정합니다.

4.3 RAID 기능 검증

단계 22: 데이터 쓰기 테스트

cd /mnt/raid0
sudo touch test1.txt test2.txt test3.txt
echo "RAID 0 테스트 파일" | sudo tee test1.txt
ls -la

CleanShot 2025-05-31 at 19.08.37@2x.png

5. 실습 요약 및 주의사항

5.1 실습 요약

이번 실습에서 다음과 같은 내용을 학습했습니다:

  1. mdadm 도구 사용법: 리눅스 소프트웨어 RAID 관리의 핵심 도구
  2. RAID 0 구성: 성능 향상을 위한 스트라이핑 기술
  3. 파티션 설정: RAID용 파티션 생성 및 타입 설정
  4. 파일시스템 관리: ext4 파일시스템 생성 및 마운트
  5. 영구 설정: 시스템 재부팅 후에도 유지되는 RAID 구성

5.2 주요 명령어 정리

명령어기능
lsblk블록 장치 목록 확인
sudo fdisk /dev/sdX디스크 파티션 생성
sudo mdadm --createRAID 배열 생성[7]
cat /proc/mdstatRAID 상태 확인[20]
sudo mdadm --detailRAID 상세 정보 확인
sudo mkfs.ext4파일시스템 생성
sudo mount장치 마운트