본문 바로가기
아이티 공부/리눅스

RAID 이론 및 Linux에 RAID 구축하기

by Klero 2015. 5. 16.
반응형

RAID(Redundant Array of Inexpensive/Independent Disks) :

여러 개의 하드디스크를 하나의 하드디스크처럼 사용하는 방식이다.



Linear RAID


최소 필요한 하드디스크 개수 : 2개 이상

사용량 : 만약 하드디스크 1G , 하드디스크 1G 총 2개의 하드디스크가 있으면 Total 2G를 사용할 수 있다.

(100% 공간효율성)

저장되는 방식 : 앞 하드디스크에 데이터가 완전히 저장된 후, 다음 하드디스크에 데이터를 저장한다.

하지만 2개의 하드디스크 중 1개만 고장나도 모든 데이터를 잃어버린다.



RAID 0


최소 필요한 하드디스크 개수 : 2개 이상

사용량 : 만약 하드디스크 1G , 하드디스크 1G 총 2개의 하드디스크가 있으면 Total 2G를 사용할 수 있다.

(100% 공간효율성)

저장되는 방식 : 1번째, 2번째 하드디스크에 동시에 저장된다. 즉 저장되는 시간 또는 속도적인 측면에서 가장 우수

(이렇게 여러 개의 하드디스크에 동시에 저장되는 방식을 스트라이핑 방식이라고 한다.)

하지만 2개의 하드디스크 중 1개만 고장나도 모든 데이터를 잃어버린다.


​(* 1TB와 10TB 하드디스크 2개를 RAID 0으로 구성하면 사용할 수 있는 총 용량은 2TB밖에 되지 않는다.

- 저장 속도를 높이려고 언제나 데이터를 나눠서 각 하드디스크에 동시에 저정하도록 설계해서 그렇다고 한다.

하지만 Linear RAID는 1번째 하드디스크부터 순차적으로 데이터를 저장하기 때문에 총 용량이 11TB가 된다.)

(* Linear RAID를 구성할 때를 제외하고, 나머지 RAID 0,1,5,6,10 등을 구성할 떄는 동일한 용량의 하드디스크 뿐만 아니라 동일한 회사의 동일 모델로 구성하는 것이 더욱 RAID를 안정적으로 구성하는데 도움이 된다고 한다.)

RAID 1

최소 필요한 하드디스크 개수 : 2개 이상​

사용량 : 만약 하드디스크 1G , 하드디스크 1G 총 2개의 하드디스크가 있으면 Total 1G를 사용할 수 있다.

(똑같은 데이터를 2개의 하드디스크에 저장한다. 이것을 미러링이라고 한다. 그리고 총 하드디스크 용량의 절반밖에 사용하지 못한다.)

그러므로 2개의 하드디스크 중 1개가 고장나도 데이터는 손상되지 않는다. 이것을 결함 허용(Fault-tolerance)를 제공 한다고 한다.



RAID 5


최소 필요한 하드디스크 개수 : 3개 이상

사용량 : 만약 하드디스크 1G , 하드디스크 1G , 하드디스크 1G 총 3개의 하드디스크가 있으면 Total 2G를 사용할 수 있다. (하드디스크 개수 N-1만큼의 공간을 사용할 수 있다. - 1개의 패리티를 사용해서)

RAID 5는 대개 5개 이상의 하드디스크로 구성한다. 또한 하드디스크 1개가 고장나면 패리티를 이용하여 데이터를 복구할 수 있다. (결함 허용을 제공한다.)

하지만 하드디스크가 2개 이상 고장나면 데이터가 손상된다.



RAID 6 (RAID 5 방식의 개선)


최소 필요한 하드디스크 개수 : 4개 이상

사용량 : 만약 하드디스크 1G , 하드디스크 1G , 하드디스크 1G , 하드디스크 1G 총 4개의 하드디스크가 있으면 Total 2G를 사용할 수 있다. (하드디스크 개수 N-2만큼의 공간을 사용할 수 있다. - 2개의 패리티를 사용해서)

하드디스크 2개가 고장나도 패리티를 이용하여 데이터를 복구할 수 있다. (결함 허용을 제공한다.)


RAID 1+0


RAID 1(Mirroring)로 구성한 데이터를 다시 RAID 0(Stripping)으로 구성하는 방법이다.

즉 RAID 1의신뢰성과 RAID 0의 성능을 동시에 확보하는 방법이다.





​RAID 0 구축하기



1. 하드디스크 2개를 추가 한다.

2. ls -l /dev/sd* 명령어로 추가한 하드디스크가 잘 보이는지 확인한다. (/dev/sdb , /dev/sdc)

3. fdisk /dev/sdb 명령어로 파티션을 생성한다.






4. Command : n (새로운 파티션 분할)

    Select : p (Primary 파티션 선택)

     Partition number : 1 (파티션 번호 1 선택)

     First Cylinder : 엔터 (시작 실린더 번호)

     Last Cylinder : 엔터 (마지막 실린더 번호)

     Command : t (파일 시스템 유형 선택)

     Hex code : fd (Linux raid autodetect)

     Command : p (설정 내용 확인)

     Command : w (설정 저장)


5. 같은 방식으로 /dev/sdc도 파티션 생성





6. mdadm 명려어로 RAID 0 구축

7. mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1

8. mdadm --detail --scan 명령어로 확인

9. mkfs.ext4 /dev/md0 또는 mkfs -t ext4 /dev/md0 명령어로 파일 시스템 생성 (포맷)





10. mkdir /raid0 명령어로 디렉토리를 만든다.

11. mount /dev/md0 /raid0 명령어로 마운트를 한다.

12. df -h 명령어를 입력해 확인한다.





13. vi /etc/fstab 명령어를 입력하고

14. /dev/md0     /raid0     ext4     defaults     1  2 (컴퓨터를 켤 때 언제든지 자동으로 마운트되게 하기 위해)





15. mdadm --detail /dev/md0 명령어를 입력해 구축한 RAID 0 을 자세히 확인

 



조금이나마 도움이 되셨다면 밑에 공감 한 번 클릭해주시면 감사하겠습니다.

댓글