linux RAID

반응형

RAID

(Redundant Array of Inexpensive/Independent Disks)


- 여러 개의 하드디스크를 하나의 하드디스크처럼 사용할 수 있게 해주는 기능

- 저가의 장치로 고가의 대용량 장치처럼 쓸 수 있음


RAID에는 두가지의 종류가 있습니다.

하드웨어 RAID / 소프트웨어 RAID


하드웨어 RAID

- 빠르고 안정적이다.

- 가격이 비싸다.


소프트웨어 RAID

- 성능이 비교적 뛰어나지 않다.

- 가격이 저렴하다.


그러면 RAID는 어떻게 만드는지 절차순으로 진행해볼게요.


① 장치추가

RAID를 사용하려면 하드디스크가 최소 2개 필요합니다. 이후에 RAID level에 따라 하드디스크가 3개가 필요한 경우가 있으니 하드디스크 3개만 추가로 만들도록 할게요.

3개를 추가하시면 다음과 같이 생성되겠죠.

/dev/sdb(1G)

/dev/sdc(1G)

/dev/sdd(1G)




② 파티션

기존의 저장장치할 때 생성하던 파티션과는 과정이 약간 다릅니다. 일단 주파티션 생성하는것 까진 똑같은데요. fdisk 주파티션을 생성한 후 시스템 아이디를 바꿔야 합니다. 파티션 생성 후 t를 누르면 시스템 아이디를 바꿀 수 있는데 fd로 변경 하시면 됩니다. 순차적으로

1. fdisk /dev/sdb

2. n, p, enter, enter, enter

3. t

4. fd

5. w



t 를 누르고 L을 누르면 위와같이 시스템 아이디 목록이 뜹니다.



시스템 아이디를 fd로 변경후 p로 정보를 볼 때 위와 같이 나오면 성공적으로 바뀐겁니다. 저장하고 나오시면 됩니다. sdc, sdd도 같은 과정을 반복해 주시면 됩니다.



③ 레이드 장치 생성


레이드 장치는 mdadm로 생성하실 수 있는데 일단 다음과 같은 패키지를 깔아야 합니다.

yum install mdadm.x86_64


레이드 장치 생성 명령어는 다음과 같습니다.

mdadm --create <device name> --level=<y> --raid-devices=(num) (device path) ...

차례대로 생성할 레이드 장치명, 레이드 레벨,  레이드에 사용할 장치 갯수, 사용할 장치 경로 입니다.


그러면 장치 sdb와 sdc를 이용해 레이드를 만들어 보겠습니다.

mdadm --create /dev/md1 --level=linear --raid-devices=2 /dev/sdb /dev/sdc


생성 후 장치 확인하는 명령어는 다음과 같습니다.

cat /proc/mdstat

mdadm --detail <dev path>



위에서 저희가 확인할 점은 Raid Level과 Size, device 갯수, 투입된 장치 등등의 목록을 확인하시면 되겠습니다. 생성이 완료됬으니 파일시스템 생성 및 마운트 후 사용하시면 됩니다!

위에 실습할 때 level이란 옵션이 있었는데, RAID에는 level 옵션이 5개가 있습니다. 레벨마다 각각 다른 특성을 가지고 있습니다.


linear

- 2개 이상의 장치 필요

- 1번째 장치부터 차례대로 저장

- 기본 레벨


stripe (level 0)

- 2개 이상의 장치 필요

- 반반씩 장치에 저장 (동시분할)

- 속도가 가장 빠름

- 안전성 ↓


mirror (level 1)

- 2개 이상의 장치 필요

- 동일한 내용을 여러장치에 저장

- 용량이 반으로 줄어듬 (위에 이유 때문)

- 데이터 안전성은 높아짐


RAID5 (level 5)

- 3개 이상의 장치 필요

- stripe + mirror

- parity (일부공간을 할애해서 앞의 디스크 내용을 백업)

- 속도 및 안전성 ↑


RAID6 (level 6)

- 3개 이상의 장치 필요

- RAID5 개선용

- 2개의 디스크가 동시 에러나도 복구 가능


각각의 레벨을 사용하는 방법은 다음 칸에 레벨 숫자 또는 이름을 적어주시면 됩니다.

mdadm --create /dev/md0 --level=<level num or name> --raid-devices=2 <dev path> <dev path>



<만약에, RAID 사용 도중 에러가 났다면?>

에러가 나면 장치를 제거 후 교환을 해줘야 하겠죠?


그러면 에러 실습을 위해서 위에 만든 레이드 장치를 가지고 의도적으로 한 디스크에 에러를 내보겠습니다.


① 에러 셋팅

mdadm /dev/md1 -f /dev/sdb


② 장비 교체

mdadm /dev/md1 -r /dev/sdb (제거)

 - poweroff 후 에러 난 하드디스크 제거 후 새로 생성

- 새로운 디스크에 파티션 생성(시스템 이름까지 변경)

mdadm /dev/md1 -a <dev path>

( -a 옵션이 디스크 새로 추가)



레이드 장치 확장

mdadm --grow /dev/md1 --level=1 --raid-devices=3 --add <dev path>


장치 제거

mdadm --stop <dev path>


위와 같이 명령을 주면 언뜻 제거 된 것 처럼 보이지만 일정 시간이 지나면 다시 활성화가 되어 완전히 제거가 되지 않습니다. 장치의 주파티션을 삭제하거나 디스크를 삭제하면 완전한 제거가 가능합니다.


장치초기화

dd if=/dev/zero of=<dev path>


이상으로 RAID에 관한 포스트를 마치겠습니다.

반응형

'OS > linux' 카테고리의 다른 글

linux ACL  (0) 2016.10.10
linux LVM  (0) 2016.10.06
linux find, grep  (0) 2016.10.03
linux 백업  (0) 2016.10.03
linux 압축, 파일저장소  (0) 2016.10.03
TAGS.

Comments