본문 바로가기
메가IT아카데미 국기과정/리눅스와 시스템보안

[1-12] Raid 디스크 구성

by 한님폐하 2022. 9. 11.

1. Raid(Redudant Array of Inexpensive Disks)

  • 다수의 디스크를 논리적인 하나의 디스크로 구성하여 데이터를 분산 저장하고 동시에 여러개를 읽어들이는 기능을 제공한다. 
  • 이를 통해서 데이터 저장/관리에 대한 신뢰성/안정성/이중성 보장, 성능 향상이 가능하다.

 

2. Raid 디스크 구성 단계

  • 선정한 디스크(파티션)의 시스템 타입을 LVM을 지정하여 파티션을 생성한다.
Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): L  
Hex code (type L to list all codes): fd

 

  • Raid 0(Stripe Volume)
    • 최소 디스크 개수 : 2개 이상
    • 특징 : 디스크 개수가 많을 수록 데이터 저장/읽기 속도가 빠르다.
    • 장점  : 디스크 개수에 비례하여 읽기/쓰기 속도 빠르며, 디스크 가용율이 100%이다.
    • 단점 : 이중화를 보장하지 않는다. 디스크1 손상되면 디스크2를 통해서 전체 데이터를 사용할 수 없다.
mdadm --create /dev/md0 --level=0 --raid-devices=3 /dev/sdc1 /dev/sdd1 /dev/sde1
ls -l /dev/md0
fdisk -l /dev/md0
mdadm --detail --scan -v
cat /proc/mdstat
mkfs -t ext4 /dev/md0 > /dev/null
mkdir /mnt/raid0
mount /dev/md0 /mnt/raid0
df -h

umount /dev/md0
df -h
rm -rf /mnt/raid0
mdadm --stop /dev/md0
cat /proc/mdstat
mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sde1
mdadm --examine /dev/sdc1 /dev/sdd1 /dev/sde1
ls -l /dev/md0

 

  • Raid 1(Mirror Volume)
    • 최소 디스크 개수 : 2개 이상
    • 특징 : 동일한 데이터를 저장하기 때문에 디스크1이 손상되면 디스크2를 복원용으로 사용할 수 있다.
    • 장점  : 이중화를 보장한다.
    • 단점 : 읽기 속도는 빠르지만, 쓰기 속도는 보통이다. 또한, 디스크 가용율이 50%이다.
mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdf1 /dev/sdg1
ls -l /dev/md1
fdisk -l /dev/md1
mdadm --detail --scan -v
cat /proc/mdstat
mkfs -t ext4 /dev/md1 > /dev/null
mkdir /mnt/raid1
mount /dev/md1 /mnt/raid1
df -h

umount /dev/md1
df -h
rm -rf /mnt/raid1
mdadm --stop /dev/md1
cat /proc/mdstat
mdadm --zero-superblock /dev/sdf1 /dev/sdg1
mdadm --examine /dev/sdf1 /dev/sdg1
ls -l /dev/md1

 

  • Raid 4
    • 최소 디스크 개수 : 3개 이상
    • 장점 : 에러 검출/복원을 실시하기 위한 패리티 정보 저장하는 별도의 디스크를 운영한다.
    • 단점 : 패리티 정보 저장하는 디스크가 손상되면, 에러 검출/복원이 불가능하다.(디스크 가용율은 '전체 디스크 개수 -1')

 

  • Raid 5(Drives with Parity)
    • 최소 디스크 개수 : 3개 이상
    • 장점 : 에러 검출/복원을 실시하기 위한 패리티 정보를 각 디스크에 순차적으로 저장한다. 
    • 단점 : 디스크 가용율은 '전체 디스크 개수 -1'을 해야한다.
mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sdc1 /dev/sdd1 /dev/sde1
ls -l /dev/md5
fdisk -l /dev/md5
mdadm --detail --scan -v
cat /proc/mdstat
mkfs -t ext4 /dev/md5 > /dev/null
mkdir /mnt/raid5
mount /dev/md5 /mnt/raid5
df -h

umount /dev/md5
df -h
rm -rf /mnt/raid5
mdadm --stop /dev/md5
cat /proc/mdstat
mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sde1
mdadm --examine /dev/sdc1 /dev/sdd1 /dev/sde1
ls -l /dev/md5

 

  •  Raid 6 
    • Raid5랑 기본적인 구성 및 구조는 동일하지만, 패리티 정보를 2중으로 저장한다.

 

  •  Raid 0+1(Stripe + Mirror)
    • 최소 디스크 개수 4개 이상, 디스크 개수는 짝수로 구성해야 한다.
    • 디스크 6개인 경우 만약, 디스크가 6개인 경우는 3개씩 스트리핑(Raid0)하고 미러링(Raid1)을 그다음에 수행한다.
    • 총 6개의 디스크가 Raid0으로 구성되므로 6배 빠르지만, Raid1로 인하여 디스크 가용율은 50%이다.
mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdc1 /dev/sdd1
mdadm --create /dev/md1 --level=0 --raid-devices=2 /dev/sde1 /dev/sdf1
mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/md0 /dev/md1
ls -l /dev/md2
fdisk -l /dev/md2
mdadm --detail --scan -v
cat /proc/mdstat
mkfs -t ext4 /dev/md2 > /dev/null
mkdir /mnt/raid01
mount /dev/md2 /mnt/raid01
df -h

umount /dev/md2
df -h
rm -rf /mnt/raid01
mdadm --stop /dev/md2
mdadm --stop /dev/md1
mdadm --stop /dev/md0
cat /proc/mdstat
mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
mdadm --examine /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
ls -l /dev/md2
ls -l /dev/md1
ls -l /dev/md0

 

  • Raid 1+0(Mirror + Stripe) 
    • 최소 디스크 개수 4개 이상, 디스크 개수는 짝수로 구성해야 한다.
    • 디스크 6개인 경우 만약, 디스크가 6개인 경우는 2개씩 미러링(Raid1)을 하고, 미러링된 3개를 스트리핑(Raid0) 한다.
    • 속도가 3배 향상되며, 복구용 디스크가 3개가 된다.
    • 장점 : Stripe와 Mirror을 동시에 적용할 수 있다.
    • 단점 : 비용이 많이 발생한다. 또한, 디스크 가용율이 50%이다.
mdadm --create /dev/md10 --level=10 --raid-devices=4 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
ls -l /dev/md10
fdisk -l /dev/md10
mdadm --detail --scan -v
cat /proc/mdstat
mkfs -t ext4 /dev/md10 > /dev/null
mkdir /mnt/raid10
mount /dev/md10 /mnt/raid10
df -h

umount /dev/md10
df -h
rm -rf /mnt/raid10
mdadm --stop /dev/md10
cat /proc/mdstat
mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
mdadm --examine /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
ls -l /dev/md10