본문 바로가기

카테고리 없음

[리눅스] RAID 구성




1. RAID 소개
  가. RAID : Redundant Array of Independent Disk의 약자, 여러 개의 하드 디스크에
                   데이터를 나눠서 저장하는 기술, 복수 배열 독립 디스크라고도 불린다.
  나. RAID 레벨
      1) RAID 0 : 스트라이핑(Stripping) 방식,  여러 개의 하드 디스크에 동시에 
          저장되는 방식으로 구성 디스크 중 1개에 에러가 발생하면 데이터가 손실됨, 
          단, 속도는 빠르다

사용자 삽입 이미지

      2) RAID 1 : 미러링(Mirroring) 방식, 데이터의 안전성을 최우선으로 하여,
          같은 데이터를 중복보관한다. 최소 2개의 디스크 필요, 고비용, 저속도

사용자 삽입 이미지


      3) RAID 5 : level 0과  level 1의 장점을 보완한 방식, 최소 3개 이상의 디스크 필요, 
           전체 디스크 용량의 75%정도만 사용가능하다. 에러 교정을 위한 패리티 정보를 
           각각의 디스크에 나눠 보관. 에러 발생 시 패리티 정보로 복구가 가능하다

사용자 삽입 이미지


      4) RAID 0+1 : 먼저 디스크를 스트리핑(RAID 0) 하고, 다시 미러링(RAID 1) 하는 방식.
           최소 4개 이상의 디스크 필요

사용자 삽입 이미지


      5) RAID 10(RAID 1+0) :  먼저 디스크를 미러링(RAID 1) 하고 , 
           다시 스트리핑(RAID 0)하는 방식, 최소 4개의 디스크 필요

사용자 삽입 이미지




  다. RAID 0+1 과 RAID 1+0 비교
      1) 공통점 : 가용량이 같다. 속도가 같다.
       2) 차이점 : 볼륨이 깨지는 조건, 볼륨을 재구성하는 방법

사용자 삽입 이미지

       3) 볼륨이 깨지는 조건
            RAID 0+1  : 1번과 5번 디스크가 동시에 나갈 경우 
            RAID 1+0  : 1번과 2번 디스크가 동시에 나갈 경우
           단, 확률적으로 1+0 보다 0+1 의 볼륨이 깨질 확률이 높아 1+0 방식의 안정성이 높음

       4) 볼륨을 재구성 하는 방법
           RAID 0+1 : 1번 디스크가 깨졌을 경우 2번 레이드의 내용을 1번 레이드에 통째로 복사
                               4개의 디스크 복사가 필요
           RAID 1+0 :  1번 디스크가 깨졌을 경우 2번 디스크의 내용을 1번 디스크로 복사
                               1개의 디스크 복사가 필요
           볼륨의 복구 시간을 고려했을 경우 RAID 1+0 방식이 더 유리

2. RAID 구성(RHEL 4, 소프트웨어 RAID구성)

  가. RAID 0 구성

       디스크 파티션 생성 -> 레이드 구성 -> 마운트 순으로 진행

      1) 디스크 파티션 생성
          2개 이상의 디스크 장착 후 파티션 생성(여기서는 2개로 구성)
         # fdisk /dev/sdb
         command 순서 : n -> p -> 1-> 엔터 -> 엔터 -> t -> fd -> w
         디스크의 개수 만큼 위 작업을 반복함

      2) 레이드 구성
         /dev/md0 등의 md 장치가 구성 되어 있지 않을 경우 아래 명령을 실행
          # ls -l /dev/md?
          # mknod /dev/md0 b 9 0
      
          # mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1
          --create /dev/md0  : 레이드 구성을 md0 으로 한다
          --level :  레이드 레벨은 0 (스트리핑)으로 한다.
          --raid-devices=2 /dev/sdb1 /dev/sdc1 : 2개의 디스크로 구성, 그 뒤는 장치명

          # mdadm --detail --scan
           방금 구성한 레이드의 구성정보를 확인
  
      3) 마운트

         구성한 레이드 md0 을 포멧한 후 마운트 한다.

          # mkfs.ext3 /dev/md0
          # mount /dev/md0 /raid0


  나. RAID 1  구성
     
       디스크 파티션 생성 -> 레이드 구성 -> 마운트 순으로 진행
       RAID 0 구성과 과정은 동일하며 레이드 구성 시 옵션의 차이는 다음과 같다

       # mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
       # mdadm --detail --scan

        /dev/md1 에서 숫자 1은 레이드 레벨과는 아무 상관이 없으며, 아무 숫자나 사용가능
        다만, 파악을 쉽게하기 위해 레이드 레벨과 같은 숫자로 지정한 경우이다. 

  다. RAID 5  구성     

       디스크 파티션 생성 -> 레이드 구성 -> 마운트 순으로 진행
      RAID 0 구성과 과정은 동일하며 레이드 구성 시 옵션의 차이는 다음과 같다

       # mdadm --create /dev/md5 --level=5 --raid-devices=2 /dev/sdb1 /dev/sdc1
      # mdadm --detail --scan

        /dev/md1 에서 숫자 5는 레이드 레벨과는 아무 상관이 없으며, 아무 숫자나 사용가능
       다만, 파악을 쉽게하기 위해 레이드 레벨과 같은 숫자로 지정한 경우이다. 

  라. RAID 복구

      고장난 디스크를 새 디스크로 교체 -> 파티션 생성 -> 레이드 구성순으로 진행
      파티션 생성 부분은 레이드 구성 시와 동일하며, mdadm 옵션은 아래와 같음

       # mdadm /dev/md1 --add /dev/sdb1
          미러링 디스크 중 sdb1 디스크를 교체한 뒤 레이드를 재구성 하는 방법이다.

       # mdadm --query --detail /dev/md1
          위 명령어로 state 가 active sync 인지 확인 한다.

  마. RAID 관련 명령어

        # mdadm --stop /dev/md0
           레이드 장치인 /dev/md0 을 중지

        # mdadm --query --detail /dev/md0
           /dev/md0 장치의 상세한 내역 출력





출처 - 지기닷넷:: 리눅스에서 RAID 구성(http://www.jigi.net/4177)