RAID 기술 상세 정보 및 성능 테스트

21941 단어 RAID
RAID 디스크 어레이 개요
이미 1978년 미국 UC버클리는 RAID(edundant Array of Independen Disk) 가상 스토리지 시스템을 제안했다.RAID는 독립적인 이중화 디스크 어레이로서 여러 개의 독립된 디스크를 하나의 논리 디스크로 조합하여 저장 용량을 높이고 저장 성능을 향상시키거나 데이터 백업 기능을 제공하는 것을 사상한다.RAID 스토리지 시스템의 조합은 RAID 레벨에 따라 정의됩니다.
RAID는 소프트웨어 RAID와 하드웨어 RAID 두 종류로 나뉜다.Windows, Linux, UNIX와 같은 기존 운영 체제에는 소프트 RAID 기능이 통합되어 있습니다.소프트웨어 RAID는 하드웨어 RAID와 동일한 기능을 제공하지만 별도의 하드웨어 제어 장치가 없기 때문에 하드웨어 RAID보다 성능이 떨어지지만 소프트웨어 RAID는 단순하게 구현되므로 추가 하드웨어 장치가 필요하지 않습니다.하드웨어 RAID에는 일반적으로 RAID 카드가 필요하며 RAID 카드 자체에는 별도의 제어 부품과 메모리가 있기 때문에 시스템 자원을 차지하지 않고 효율적이고 성능이 우수합니다.물론 현재 시중에 많은 메인보드에 RAID 카드가 통합되어 있어 구체적인 사용 방식은 하드웨어 설명서를 참고할 수 있다.
    RAID                      。

1 RAID 레벨
RAID는 결합하는 방법에 따라 다양한 설계 솔루션이 있으며, 다음은 일반적인 RAID 레벨(RAID 레벨)에 대해 설명합니다.
4
  • RAIDO(체크섬 이중화 스트라이프 스토리지 없음) 4
  •              RAID 0 ,                 ,
                           ,     ,RAID0        
            :         ,              ,
                                   。
    

    4
  • RAID 1(검증되지 않은 미러링 스토리지)
  •              RAID 1 ,              ,                ,
              RAID         ,      ,
                       ,         
            : RAID 1       。  ,        ,
                       120GB, RaID 1         120GB。
    
    

    4
  • RAID 2(비트 레벨의 체크섬 스트라이프 스토리지)
  •        RAID 2(bit)(                  )          。
              RAiD2,                       ,
    DATA1 DATA2               ,        。
          RAID2  E              ,
                                ,           。
    RAID 2               ,                ,             。
    
    
    

    RAID3(바이트 레벨의 검증된 스트라이프 저장소) RAID4(블록 레벨의 검증된 스트라이프 저장소)RAID5(블록 레벨이 분포된 검증된 스트라이프 저장소) RAID10(미러링 및 스트라이프 저장소)
    3 raid 생성 및 관리 실례
     1.      
    
          [root@localhost ~]# fdisk -l..      ...
    
          Disk /dev/sdb: 2147 MB, 2147483648 bytes255 heads, 63 sectors/track, 261 cylinders
    
          Units = cylinders of 16065512 = 8225280 bytes
    
          Disk /dev/sdb doesn't contain a valid partition table
    
          Disk /dev/sdc: 2147 MB, 2147483648 bytes255 heads, 63 sectors/track, 261 cylinders
    
          Units = cylinders of 16065 * 512 = 8225280 bytes
    
          Disk /dev/sdc doesn't contain a valid partition table
    
          Disk /dev/sdd: 2147 MB, 214 7483648 bytes255 heads, 63 sectors/ track, 261 cyl inders 
    
          Units = cyl inders of 16065512 = 8225280 bytes
    
          Disk /dev/sdd doesn't contain a valid partition table 
    
    

    상기 출력 정보를 통해 알 수 있듯이 본 기기는 sdb, sdc, sdd 세 개의 하드디스크가 구분되지 않았다. 만약에 리눅스에서 소프트 레이드를 실현하려면 각 하드디스크를 - 한 구역으로 나누어 레이드를 만들 수도 있고 하드디스크를 여러 구역으로 나누어 소프트 레이드를 실현할 수도 있다. 여기서 우리는 각 하드디스크를 두 구역으로 나눌 것이다.
    3.1 하드 드라이브 파티션 만들기
     [root@localhost ~]# fdisk /dev/sdb
            sd1 sd2                ,       
     [root@localhost ~]# partprobe -a
     
    

    3.2 RAID 생성(이 경우 RAIDO 및 RAID5 각각 생성)
    Linux에서 디스크 배열을 만드는 데는 mdadm 명령을 사용할 수 있습니다. CentOS 7에서 현재 지원되는 RAID 레벨 RAIDO, RAID1, RAID4, RAIDS, RAID6, RAID10입니다.다음은 이 명령의 사용 방법을 살펴보자.
      : mdadm
      :  Linux  RAID  。
      : mdadm [  ]  <raid   >
        RAID (create)-1    RAID  (level)。
          。
            。
    [root@localhost ~]# mdadm -C /dev/md0 -1 0 -n 3 /dev/sdb1 /dev/sdc1 , dev/sdd1 
    mdadm: array /dev/md0 started.
    [ root@ localhost ~] # mdadm  -C  /dev/md1 -1 5 -n 3-x 1 \ 
    > /dev/sdb2  /dev/sdc2  /dev/sdd2 /dev/sde2
    > mdadm: array /dev/md1 started.
                  md0 RAID0       md1 RAID5  ,                  。
         RAIDO RAID 5[root@localhost ~]# mdadm --detail /dev/md0/dev/md0:
    Version : 0. 90
    Creation Time :  Thu May 17 03:46:55 2012
    Raid Level : raid0
    Arrav size : 2963520 12.83 GiB 3.03 GB)
    
    #  md0  
    #    #RAID  
    #RAID    
    Etecetec
    
    Preferred Minor : O
    Persistence : superblock is persistent IUpdate Time : Thu May 17 03:46:55 2012
    State : cleanActive Devices : 3Working Devices : 3Failed Devices : CSpare Devices : 0
    Chunk Size : 64K
    UUID : 62e9bd3e: f4dcf02d: 31 9e2a62: 8099eb72 ix 1 UUIDEvents : 0.1Numbe r  Major
    0  8  01  82  8
    /dev/md1 :
    
    Number  Major
    0  81  8
    
    
    
    /dev/ sdb1/dev/ sdc1/dev/ sdd1#*~ md1 íTï ÉA
    
    Minor1834
    
    RaidDevice State
    0  active sync1  active sync
    
    /dev/ sdb2/dev/ sdc2
    
    

    3.3 포맷 및 마운트
    [root@localhost ~]# mkfs. xfs /dev/md0[root@localhost ~]# mkdir /raid0
    [ root@localhost ~]# mount  /dev/md0 /raid0[root@localhost ~]# mkfs.xfs /dev/md1[root@localhost ~]# mkdir /raid5
    [root@localhost ~]# mount /dev/md1 /raid5
    
    

    디스크 매트릭스 장치를 켜기 자동 마운트 항목으로 설정하고, CeniOS 시스템은 디스크 매트릭스의 프로필/etc/mdadm를 읽을 수 있습니다.conf에서 RAID 디바이스를 시작합니다.다음 두 명령은 DEVICE 행이 모든 디스크 어레이의 장치 구성원 이름을 입력하는 데 도움을 주며, ARRAY 행은 디스크 어레이의 구체적인 기본 정보인 이름, 레벨, UUID 등을 기술합니다.
    [root@localhost ~] #echo "DEVICE /dev/sdb1 /dev/sdb2 \
    /dev/sdc1 /dev/sdc2 /dev/sdd1 /dev/sdd2 /dev/sde2" > /etc/mdadm . conf
    [root@localhost ~]# mdadm -Evs > > / dev/ mdadm. conf
    ARRAY /dev/md/0  level=raid0 metadata=1.2 num-devices=32591cc4d:a588f799:88123b79 name=centos7 . example. com:0
    devices=/dev/ sddl, /dev/ sdcl, /dev/ sdb1
    ARRAY /dev/md/1 level=raid5 metadata=1.2 num-devices= 3 6bc3a 612: 969239d8: 7a78a301 name=centos7. example. com: 1
    spares=1 devices=/dev/sde2, /dev/sdd2, /dev/ sdc2, /dev/sdb2 
    [root@localhost ~]# echo "/dev/md0 /raid0 xfs defaults 0 0" >> /etc/fstab
    [root@localhost ~]# echo "/dev/md1 /raid5 xfs defaults 0 0" >> /etc/fstab
    
    UUID=4282a2c2:
    UUID=d6cc7bdc:
    
    

    3.4 RAID 성능 시뮬레이션
    **************************
    ★*      :      ★★
    **************************
    
    
    [root@localhost ~]# time dd if=/dev/zero of=txt   bs=1M  count=1000
    1000+0 records in1000+0 records out
    1048576000 bytes (1.0 GB) copied, 21. 7965
    real  0m23.262s
    user  0m0.001s
    sys  0m2.209s
    
    
    seconds, 48.1 MB/s
        ,       1GB         23.262s.
    
    
     **  RAID 0:*********
      [root@localhost raid0]# time dd if=/dev/zero of=txt bs=1M count =1000
      1000+0 records in1000+0 records out
    
          1048576000 bytes (1.0 GB) copied, 3. 87193 seconds, 271 MB/s
          real    0m4.308s
          user  0m0.001s 
          sys  0ml.604s
    
              , RAIDO  1GB        4.308s。
    
          ★★★★★*★★★****************
    
              ★★  RAID 5:*
    
          ★★★★★★★★****************
    
          [root@localhost raid5]# time dd if=/dev/zero of=txt bs=1M count= 1000
    
          1000+0 records in1000+0 records out
    
          1048576000 bytes (1.0 GB) copied, 12. 5047 seconds, 83.9 MB/s
         
           real   0m12.614s
           use r  0m0.004s
           sys  0m3.705s
    
              ,  RAID 5         ,
                    RAIDO ,       ,  1GB        12.614s。 
    
    
    

    5RAID 장애 시뮬레이션
    [root@localhost raid5]# mdadm /dev/md1 -f /dev/sdb2
    mdadm :  set /dev/sdb2 faulty in /dev /md1
      :  -f  ( failed)    sdb2   。
                 RAID5    1GB   ,             ,    Rald            /dev/sde2    (    )/dev/sdb2         。
    [root@localhost ~]# mdadm --detail /dev/md1
    
    Numbe r
    Major
    Minor
    RaidDevice State
    
    

    좋은 웹페이지 즐겨찾기