2024_02_02~5_RAID

이기태·2024년 2월 2일

리눅스

목록 보기
4/27

스토리지

RAID(Redudant Array of Inexpensive Disk, Redudant Array of Independant Disk)

1. RAID 종류

  • Firmware RAID: Firmware에서 지원, 단위: disk
    일반 서버에 Board에 RAID Chip 내장

  • Hardware RAID: RAID Adapter Firmware에서 지원, 단위 disk
    ex) storage, Array, RAID Controller
    성능 우수, 유연성은 떨어짐.

  • Software RAID: OS에서 지원, 단위: Partition
    ex) 운영체제 내에서 Software RAID 툴(ex: mdadm)을 통해 작업
    성능 떨어짐, 유연성 우수

2. RAID 구성 방법의 종류

RAID 0
RAID 1
RAID 0 + 1
RAID 1 + 0
■ RAID 2
■ RAID 3
■ RAID 4
RAID 5
RAID 6
RAID 7
■ RAID 53
■ JBOD

3. 스토리지 종류(연결 방식)

  • 연결 방식: DAS, NAS, SAN

  • 저장 방식: File, Block, Object

  • DAS(Direct Attached Storage): 직접 연결 저장 장치
    Internel/Externel DAS: 내장/외장 DAS
    직접 연결하기 때문에 많이 못 물림.
    외장디스크같이 pc와 직접연결

  • NAS(Network Attached Storage): 네트워크 연결 저장 장치
    쌈..
    보통 리눅스에있음.
    그냥 아무 ip망에 연결하면됌.
    보통 공유 서비스 제공하는데 사용.

  • SAN(Storage Area network): 스토리지 전용 네트워크
    DAS보다 많은 여러포트를 제공해 많이 물릴 수 있음.
    비쌈..
    DAS에 중간에 네트워크를 낀 것.
    중간에 경로를 따로 설정을 해줘야함.

RAID LEVEL

1. RAID 0

  • 2개 이상의 하드를 병렬로 연결해서 데이터 블록 단위로 분산해 읽고 씀.
    하나의 데이터를 2개 시앙의 하드를 이용해 분산시키기 때문에 하드 1개에 데이터를 저장/불러오는 것 보다 훨씬 빠르고 하드 용량도 모두 쓸 수 있음.

■ RAID 0 Concatenate(Linear)
---------------------------------------
디스크 사용 효율 -
성능(r/w) r(-), w(-)
안정성 ↓
---------------------------------------

■ RAID 0 Stripe
---------------------------------------
디스크 사용 효율 -
성능(r/w) r(↑), w(↑)
안정성 ↓↓
---------------------------------------

2. RAID 1 (Mirroring 방식)

  • RAID 1은 디스크 미러링이라고도 함.
    데이터의 안정성을 높이기 위해 동일한 데이터를 가진 두 개 이상의 드라이브로 구성.
    디스크 사용 효율이 좋지 않다.

    ■ RAID 1 Mirroring
    ---------------------------------------
    디스크 사용 효율 ↓↓
    성능(r/w) r(↑), w(-)
    안정성 ↑↑
    ---------------------------------------

3. RAID 0 + 1

  • RAID 0+1은 RAID 0(스트라이핑)과 RAID1(미러링) 방식을 혼합

4. RAID 1 + 0

  • RAID 10(1+0)은 RAID 1로 구성된 하드를 최종적으로 RAID 0 방식으로 병렬 구성(스프라이핑)해서 성능을 높인다.
    RAID 0+1보다 자주 사용된다.

5. RAID 5

  • RAID 5는 패리티 정보 디스크를 사용함으로써 발생하는 문제점을 보완.
    패리티: 데이터를 복구할때 쓰는 정보.
    패리티 정보를 여러 디스크에 분산해서 저장하는 방법.
    계산하는 시간이 오래걸리고 오버헤드 발생.
    리드 패널티가 있어 디스크에 에러가 있을때 빨리 고쳐줘야한다.

    ■ RAID 5 Stripe with parity
    ---------------------------------------
    디스크 사용 효율 ↓
    성능(r/w) r(↑), w(↓↓)
    안정성 ↑
    ---------------------------------------

6. RAID 6

  • RAID 5는한장의 디스크만 날아갈때 복구 가능하고 날아갔을땐 너무 느려짐
    RAID 5에서 2장 이상이 나가면 복구 불능이다. 이를 방지하기 위해
    RAID 6은 패리티 정보를 두번 적용.
    성능이 5보다 떨어짐. 패리티 계산 정보가 오래걸림.

7. RAID 7

  • RAID 7은 컨트롤러로서 내장되어있는 실시간 OS를 따로 가지고 있음.
    즉, 계산하는 시스템이 따로 있다. -> 패리티 정보를 처리하는 하나의 CPU가 따로 존재해 시스템 성능을 높임.
    그러나 비쌈...

mdadm 명령어

■ RAID 설정
#mdadm --create /dev/md0 --level=<레이드레벨> --raid-device=<구성디스크 수> <디스크장치명> ...
#mdadm --create /dev/md0 --level=1 --raid-device=2 /dev/sdc1 /dev/sdd1
#mdadm -C /dev/md0 -l 1 -n 2 /dev/sdc1 /dev/sdd1
/ --create : -C /
/ --level=1 : -l 1 /
/ --raid-device=2 : -n 2 /

■ RAID 장치 설정 확인
#mdadm --detail /dev/md0 / --detail : -D /
#mdadm -D /dev/md0

■ /etc/mdadm.conf 파일 설정
#mdadm --detail --scan > /etc/mdadm.conf / --scan : -s /
(# mdadm --detail --brief /dev/md0 >> /etc/mdadm.conf)
#cat /etc/mdadm.conf

DEVIECE partitions
ARRAY /dev/md0 level=raid0 num-devices=2 metadata=0.90 UUID=26989dc0:d41ac869:f76fb5d7:a077d304

■ RAID 삭제
(ㄱ) RAID Device stop
#mdadm --stop /dev/md0 / --stop : -S /
#mdadm -S /dev/md0

(ㄴ) RAID Device remove
mdadm --remove /dev/md0 / --remove : -r /
● CentOS 8.x 설치 된 mdadm(4.x 버전 이상) 명령어에서는 사용할 필요없다.

(ㄷ) (optional) superblock 정보 삭제
#mdadm --zero-superblock /dev/sdb1 /dev/sdc1 /dev/sdd1
● (주의) md superblock 정보를 삭제해야만 reboot 되었을 때 RAID 정보가 다시 올라오지 않는다.

[실습]

RAID0 구성(디스크 최소 2장)

  • 구성

#fdisk /dev/sdc
#fdisk /dev/sdd

#mdadm -- create /dev/md0 --raid =1 --raid-device=2 /dev/sdc1 /dev/sdd1
#mdadm --detail --scan > /etc/mdadm.conf

#mkfs.ext4 /dev/md0

#mkdir -p /raid0
#vi /etc/fstab
#mount /raid0

  • 삭제

#cd; umount /raid0
#vi /etc/fstab

#mdadm --stop /dev/md0
mdadm --zero-superblock /dev/sdc1 /dev/sdd1
#rm -f /etc/mdadm.conf

RAID 1 (디스크 최소 2장)

  • 구성

#fdisk /dev/sdc
#fdisk /dev/sdd

#mdadm --create /dev/md0 --level=1 --raid-device=2 /dev/sdc1 /dev/sdd1
#mdadm --detail --scan > /etc/mdadm.conf

#mkfs.ext4 /dev/md0

#mkdir -p /raid1
#vi /etc/fstab
#mount /raid1

  • 삭제

#cd; umount /raid1
#vi /etc/fstab

#mdadm --stop /dev/md0
#mdadm --zero-superblock /dev/sdc1 /dec/sdd1
#rm -f /etc/mdadm.conf

RAID 5(디스크 최소 3장)

  • 구성

#fdisk /dev/sdc
#fdisk /dev/sdd
#fdisk /dev/sde

#mdadm --create /dev/md0 --level=5 --raid-device=3 /dev/sdc1 /dev/sdd1 /dev/sde1
#mdadm --detail --scan > /etc/mdadm.conf

#mkfs.ext4 /dev/md0

#mkdir -p /raid1
#vi /etc/fstab
#mount /raid1

  • 삭제

#cd; umount /raid1
#vi /etc/fstab

#mdadm --stop /dev/md0
#mdadm --zero-superblock /dev/sdc1 /dec/sdd1 /dev/sde1
#rm -f /etc/mdadm.conf

장애 디스크 교체 과정

  • RAID1, RAID5에 대해서 장애 디스크 교체가 가능하다.

#mdadm --create /dev/md0 --raid-device=3 /dev/sdc1 /dev/sdd1 /dev/sde1
#mkfs.ext4 /dev/md0
#mount /dev/md0 /raid5

#mdadm /dev/md0 -f /dev/sdd1 //결함 상태로 변경
-> 한개의 디스크 까지는 커버함.
#mdadm /dev/md0 -r /dev/sdd1 // 장애디스크 삭제
#mdadm /dev/md0 -a /dev/sdd1 //새로운 디스크 추가
#cd;umount /raid5
#mdadm --stop /dev/md0
#mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sde1

RAID & LVM 비교

  • 가장 큰 차이점은 LVM은 패리티를 지원하지 않는다.

0개의 댓글