본문 바로가기

Foundation/- Linux

RAID란 ? (Linear RAID, RAID0)

RAID ?? (Redundant Array of Independent/Inexpensive Disks)
- 디스크 어레이 (Disk Array)
- 여러 개의 Disk(Physical)를 하나의 Disk 처럼 사용하는 방법
- 비용절감 및 신뢰성과 성능 향상
- 데이터 보호나 디스크의 성능을 개선하기위해 사용하는 기술


RAID 방식의 종류
- Hardware RAID

 - Raid 컨트롤러 내부의 하드웨어 및 펌웨어에 의해 구현
 - 독자적인 메모리와 프로세서를 가지고 있다.
 - 안정적이나 대부분 고가이다.
 - 제조사에 따라서 RAID를 설정하는 펌웨어 사용 방식이 다르다. 
 
- Software RAID
 - H/W RAID 비해 신뢰성이나 속도 등이 떨어진다.
 - 저렴한 비용으로 H/W RAID와 동일하게 RAID 구성이 가능하다.
 
 
Data 나누는 방법에 따른 종류
-레벨(Level)로 구분하며, 다양한 Level이 존재
-대표 Raid Level - Linear RAID, RAID 0, RAID1, RAID5, RAID6

 

Linear Raid를 실습해 보겠다.

 

Linear Raid
 - 선형 RAID는 여러개의 디스크를 연결해 하나의 큰 가상 디스크를 만든다.
 - 첫 번째 디스크가 완전히 채위지면 순차적으로 다음 디스크에 데이터를 저장한다.
 - 성능 면에서는 큰 장점이 없으며, 하나의 디스크가 고장이나면
   묶여 있던 볼륨자체를 사용할 수 없게 된다.
  


작업 확경 구성
 (1) 스냅샷으로 초기화 
 (2) 0.25GB Disk * 9개 추가

     - ADD를 통해서 20기가 본래 디스크를 제외한 9개의 디스크를 만든다.

 


 (3) 재부팅 
 (4) #fdisk -l  

     -#fdisk -l을 통해서 /dev/sdj까지 만들어졌나 확인한다.

 

Linear RAID 구성 (/dev/sdb, /dev/sdc)
 파티션 생성

 - #fdisk /dev/sdb를 통해 주 파티션으로 모두 할당해주고

   옵션 -t   (change a partition's system id // 파티션 타입 변경 시 사용)를 통해 파티션 타입을 지정해준다.

 

그렇게하면 타입 리스트가 나오는 것을 확인 할 수 있는데, "fd" 즉, Linux Raid Autodetect를 선택해주고 P를통해 파티션 설정 확인 후 W로 저장 후 나오면 된다.

 

 과정을 다시 적는 다면 다음과 같다.
 #fdisk /dev/sdb
  "n" 새로운 생성
  "p" 주파티션
  "1" 1번 선택
  "enter" 디스크의 처음부터
  "enter" 끝까지 사용
  "t" 타입변경
  "fd" Linux Raid Autodetect
  "w" 저장
 
 #fdisk /dev/sdc
  /dev/sdb와 동일하게 진행
  
 #fdisk -l /dev/sdb
 #fdisk -l /dev/sdc     //파티션 타입 변경 및 생성 확인

 

(2) RAID 설정
   RAID 생성
  #mdadm --create [볼륨명] --level [레이드레벨] --raid-devices=[디스크 갯수][장치명][장치명]....[장치명]

   RAID 정보 파일
  /proc/mdstat
   RAID 설정 저장
  #mdadm --detail --scan > /etc/mdadm.conf
  // 해당 명령어를 사용하지 않으면 볼륭명이 변경이 된다. 
   RAID 확인
  #mdadm --detail --scan
  #mdadm --detail [장치명]

 

(3) 파일 시스템 생성
 #mkfs -t ext4 /dev/md9


(4) 마운트 포인트 생성 및 마운트
 #mkdir /RAID-LINEAR     // 마운트 포인트 생성
 #mount /dev/md9 /RAID-LINEAR  // 마운트
 #df -h        // 마운트 설정 확인
 #blkid        // /dev/md9 UUID 확인
 #vi /etc/fstab      // 설정 추가
 UUID=d2a7d0fa-968b-49ee-8933-34d554204b47 /RAID-LINEAR ext4 defaults 0 0

 


(5) 구성 확인
 #mdadm --detail /dev/md9


RAID0 ??
 - 스트라이핑 (Striping) RAID라고도 불린다.
 - 데이터를 여러개의 디스크에 나누어 쓰고 읽어 들임으로서
   데이터를 중복해서 기록하지 않아 가장 높은 입출력 성능을 제공한다. (가장 큰 장점)
 - RAID0의 용량은 모든 디스크의 총 용량 같다.
 - 데이터 보호 기능이 없다. -> Fault Tolerant 기능이 없다
   Fault Tolerant (결함 감냄/장애 내성)
   고장이나 결함이 발생하여도 정상적 혹은 부분적으로 기능을 수행할 수 있는 능력/환경 
 


예를들어, 1TB 디스크와 10TB짜리 Disk 2개를 RAID를 구성했을때 총 용량???
 Linaer RAID = 11TB
 RAID 0      = 2TB

 Linear RAID 는 순차적으로 용량을 쓰기때문에 총 11TB가 되고,
 RAID 0 는 용량을 나누어 쓰기 때문에 작은 디스크 1TB 큰 디스크도 1TB 밖에 못쓴다.
 

RAID0 의 구성도 비슷하다.
 (1) fdisk 파티션 생성 (/dev/sdd, /dev/sde )
   #fdisk /dev/sdd
  "n" 새로운 생성
  "p" 주파티션
  "1" 1번 선택
  "enter" 디스크의 처음부터
  "etner" 끝까지 사용
  "t" 타입변경
  "fd" Linux Raid Autodetect
  "w" 저장
 #fdisk /dev/sde
  /dev/sdd와 동일하게 진행


 (2) RAID 볼륨 생성
#mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdd1 /dev/sde1 
#mdadm --detail --scan  // UUID
#mdadm --detail /dev/md0 // 설정 확인


 (3) 파일 시스템 생성
 #mkfs -t ext4 /dev/md0


 (4) 마운트 포인트 생성 및 마운트
 #mkdir /RAID-0
 #mount /dev/md0 /RAID-0


 (5) UUID 확인 후 /etc/fstab
 #blkid /dev/md0
 #vi /etc/fstab


 (6) 설정 적용
 #mdadm --detail --scan > /etc/mdadm.conf


 (7) Reboot 후 자동 마운트 확인
 
 볼륨명 변경시에는 #vi /etc/mdadm.conf 파일열어
 장치명 부분을 변경하고 저장한뒤 재부팅 후에 적용
 변경 전 ARRAY /dev/md127 metadata=1.2 name=Server-A:9
 변경 후 ARRAY /dev/md9 metadata=1.2 name=Server-A:9

'Foundation > - Linux' 카테고리의 다른 글

압축(gzip, bzip2, xz )  (0) 2017.04.27
RAID란 ? (RAID1, RAID5,RAID0+1,RAID6)  (0) 2017.04.26
파일과 디렉터리의 소유와 허가권  (0) 2017.04.23
사용자 관리와 파일 속성  (0) 2017.04.22
기본 명령어  (0) 2017.04.21