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 이상의 여유 디스크 공간
2.2 소프트웨어 요구사항
- Fedora 40 설치된 시스템
- root 권한 또는 sudo 권한
- mdadm 패키지 (보통 기본 설치되어 있음)
2.3 주의사항
⚠️ 중요: 이 실습은 데이터가 없는 빈 디스크에서만 진행하세요. RAID 구성 과정에서 기존 데이터가 모두 삭제됩니다.
3. 단계별 실습 과정
3.1 시스템 정보 확인 및 준비
단계 1: 시스템 버전 확인
cat /etc/os-release
단계 2: mdadm 패키지 설치 확인
sudo dnf install mdadm -y
단계 3: 사용 가능한 디스크 확인
lsblk
/dev/sdb
와 /dev/sdc
가 RAID 구성에 사용할 빈 디스크입니다.
3.2 디스크 파티션 생성
단계 4: 첫 번째 디스크 파티션 생성
sudo fdisk /dev/sdb
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
앞의 단계 4와 동일한 명령어를 반복합니다.
단계 6: 파티션 생성 확인
lsblk
3.3 RAID 0 배열 생성
단계 7: 기존 RAID 정보 확인
sudo mdadm -E /dev/sd[bc]1
설명: 이는 정상적인 출력으로, 아직 RAID가 구성되지 않았음을 의미합니다.
단계 8: RAID 0 배열 생성
sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1
명령어 설명:
-create
: 새 RAID 배열 생성/dev/md0
: 생성할 RAID 장치명-level=0
: RAID 0 (스트라이핑) 설정-raid-devices=2
: 사용할 디스크 개수/dev/sdb1 /dev/sdc1
: 사용할 디스크 파티션
3.4 RAID 상태 확인
단계 9: RAID 상태 확인
cat /proc/mdstat
RAID 0이 정상적으로 생성되었고, 두 디스크가 활성 상태임을 보여줍니다.
단계 10: 상세 정보 확인
sudo mdadm --detail /dev/md0
3.5 파일시스템 생성 및 마운트
단계 11: 파일시스템 생성
sudo mkfs.ext4 /dev/md0
단계 12: 마운트 포인트 생성
sudo mkdir /mnt/raid0
단계 13: RAID 장치 마운트
sudo mount /dev/md0 /mnt/raid0
단계 14: 마운트 상태 확인
df -h
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
단계 16: fstab 파일 수정
sudo vim /etc/fstab
시스템 부팅 시 자동으로 마운트되도록 설정합니다.
단계 17: fstab 설정 테스트
sudo mount -av
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
4.2 RAID 상태 모니터링
단계 20: 실시간 RAID 상태 확인
watch cat /proc/mdstat
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
5. 실습 요약 및 주의사항
5.1 실습 요약
이번 실습에서 다음과 같은 내용을 학습했습니다:
- mdadm 도구 사용법: 리눅스 소프트웨어 RAID 관리의 핵심 도구
- RAID 0 구성: 성능 향상을 위한 스트라이핑 기술
- 파티션 설정: RAID용 파티션 생성 및 타입 설정
- 파일시스템 관리: ext4 파일시스템 생성 및 마운트
- 영구 설정: 시스템 재부팅 후에도 유지되는 RAID 구성
5.2 주요 명령어 정리
명령어 | 기능 |
---|---|
lsblk | 블록 장치 목록 확인 |
sudo fdisk /dev/sdX | 디스크 파티션 생성 |
sudo mdadm --create | RAID 배열 생성[7] |
cat /proc/mdstat | RAID 상태 확인[20] |
sudo mdadm --detail | RAID 상세 정보 확인 |
sudo mkfs.ext4 | 파일시스템 생성 |
sudo mount | 장치 마운트 |