RAID

여러 개의 하드디스크를 하나의 하드디스크처럼 사용하는 방식이다. 비용을 절감하면서도 더 신뢰성을 높이며, 성능까지 향상 시킬 수 있다. RAID의 종류로는 크게 하드웨어RAID와 소프트웨어 RAID로 나눌 수 있다.

하드웨어 RAID

제조업체에서 여러 개의 하드디스크를 연결한 장비를 만들어서 그 자체를 공급하는 것이다. 하드웨어 RAID는 좀더 안정적이고, 각 제조업체에서 기술지원을 받을 수 있기에 많이 선호하는 방법이다.

 

소프트웨어 RAID

고가 하드웨어 RAID의 대안으로, 하드디스크만 여러 개 있으면 운영체제에서 지원하는 방식으로 RAID를 구성하는 방법을 말한다. 하드웨어 RAID와 비교하면 신뢰성이나 속도 등이 떨어질 수 있지만, 아주 저렴한 비용으로 좀 더 안전하게 데이터를 저장할 수 있다는 점에서 적극 고려해 볼 수 있는 방법이다.

 

RAID 레벨

RAID는 기본적으로 구성하는 방식에 따라 Linear RAID, RAID0, RAID1, RAID2, RAID3, RAID4, RAID5 까지 일곱가지로 분류 할 수 있다. 실무에서 주로 사용되는 방식은 Linear Raid, RAID0, RAID1, RAID5RAID5의 변형인 RAID6, 그리고 RAID10의 혼합인 RAID10등 이다.

 

RAID0

스트라이핑으로 각각 데이터를 나눠 각각의 하드디스크에 저장한다.

속도측면에서는 RAID구성중 제일 빠르다. 하지만 하나의 하드디스크가 고장이 난다면 데이터를 복구 할 수 없다.

 

RAID1

미러링이라고 할 수 있다. 똑같은 데이터를 거울을 만들어 놓는다는 것이다.

장점으로는 2개의 하드디스크 중에 하나가 고장이 나도 데이터는 남아있다는 것이다. 하지만 단점으로는 실제 계획하는 것보다 2배 큰 저장 공간이 필요하다는 것이다.

RAID1은 하드디스크가 고장이 나도 없어져서는 안 될 중요한 데이터가 있을 때라고 생각 할 수 있다.

 

RAID5

RAID0처럼 공간 효율성도 좋으면서 RAID1처럼 안정성도 어느 정도 포용하는 방식이다.

RAID5는 최소한 3개 이상의 하드디스크가 있어야만 구성이 가능하며 대개는 5개 이상의 하드디스크로 구성한다. 하드디스크에 오류가 발생하면 패리티를 이용해서 데이터를 복구할 수 있다.

 

RAID6

RAID5 방식을 사용할 때는 하드디스크가 1개 고장이 나도, 데이터에 이상이 없는 것을 확인했다. 2개의 하드디스크가 동시에 고장이 난다면 RAID5에서는 복구하기 어렵다. 이러한 RAID5의 안정성을 더 높인 것이 RAID6이다


실습

장치 이름

하드디스크 크기

비고

SCSI 0:1

2GB

Linear RAID

SCSI 0:2

1GB

SCSI 0:3

1GB

RAID0

SCSI 0:4

1GB

SCSI 0:5

1GB

RAID1

SCSI 0:6

1GB

SCSI 0:7

사용할 수 없음(VMware에 예약되어 있다.

 

SCSI 0:8

1GB

RAID5

SCSI 0:9

1GB

SCSI 0:10

1GB

표와 같이 RAID를 구성하자.


먼저 하드디스크를 추가 해준다.

 


구성된 하드디스크를 파티션을 할당해 준다.


 

# fdisk /dev/sdb

SCSI 0:1 하드디스크 선택

Command : n

새로운 파티션 분할

select : p

Primary 파티션 선택

partition number : 1

파티션 번호 1번 선택(Primary 파티션은 최대 4개까지 설정가능)

First sector : enter

시작 섹터 번호 입력(1개의 파티션만 계획 중이므로 첫 섹터로 결정

Last sector : enter

마지막 섹터 번호 입력(1개의 파티션만 계획 중이므로 마지막 섹터로 결정

Command : t

파일 시스템 유형 선택

Hex Code : fd

Linux Raid autodetect

Command : p

설정된 내용 확인

Command : w

설정 저장

각각 하드디스크 모두 파티션을 할당해준다.

 


Linear RAID

maadm create /dev/md9 level=linear raid-devices=2 /dev/sdb1 /dev/sdc1

--> RAID 생성

--create /dev/md9 [임의이름] : /dev/md9[임의 이름]장치에 RAID를 생성

--level=linear [level number] : RAID의 레벨을 지정

--raid-devices=2 : 2개의 하드디스크를 사용하며, 이어서 나오는 것은 장치이름

 

mdadm stop /dev/md9 : RAID 장치인 /dev/md9을 중지

mdadm run /dev/md9 : 중지된 RAID 장치를 가동

mdadm detail /dev/md9 : /dev/md9 장치의 상세한 내역을 출력

mdadm detail scan : RAID 확인

파일시스템 생성

mkfs.ext4 /dev/md9 또는 mkfs t ext4 /dev/md9/을 입력

마운트될 디렉토리 생성

mkdir /raidLinear

 

마운트

mount /dev/md9 /raidLinear

 

fstab에 등록

/dev/md9 /raidLinear ext4 default 1 2

 

RAID 0 , RAID 1 RAID 5

각각 level=[ ] create=/dev/md[ ] 차이만 있다.


※ 레이드별로 하드를 하나씩 오류나게 했을경우.

응급복구모드에서 오류가 생긴 raid 0 raid linear을 중지 /etc/fstab에서도 주석처리

mdadm --stop /dev/md0 [오류가 난 raid를 중지]

mdadm --run /dev/md1 [정상작동하는 raid를 동작]

halt -p [시스템종료]

오류가 생긴 하드디스크를 새로 추가

새로추가한 하드디스크를 파티션 구성 및 파일시스템으로 만든다.

mdadm --stop /dev/md9 [raid장치 중지]

mdadm --create /dev/md9 --level=linear --raid-device=2 /dev/sdb1 /dev/sdc1

 

정상작동하는 raid는 하드디스크만 추가

mdadm /dev/md1 --add /dev/sdg1

reboot

ls /raid0 을 해서 안에 파일이 보일 경우 정상적인 파일이 아니기때문에 mkfs로 포멧을 해야 한다.



raid 1+0 구성

mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sdf1 /dev/sdg1

mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sdh1 /dev/sdi1

각각 두개씩 묶어 raid1로 구성

 

mdadm --create /dev/md10 --level=0 --raid-devices=2 /dev/md2 /dev/md3

mkfs.etx4 /dev/md10

mkdir /raid10

mount /dev/md10 /raid10

'IT > 리눅스' 카테고리의 다른 글

사용자별 공간 할당하기 quota  (0) 2017.01.16
LVM (logical volume manager) 실습  (0) 2017.01.16
리눅스 하드디스크 추가 및 마운트  (0) 2017.01.16
서버의 기본지식 및 infra  (0) 2017.01.16
VMplayer, CentOS 설치  (0) 2017.01.16

+ Recent posts