6장. 디스크 관리와 사용자별 공간 할당 (8) - RAID 6와 RAID 1+0 구현

728x90
반응형

출처 : https://www.youtube.com/watch?v=FBGm6TMP31k&list=PLVsNizTWUw7FqN2gq79Cb3R6qkS7mqOJk&index=40

 

RAID 6와 RAID 1+0의 개념

 

RAID 6의 개념

RAID 6는 RAID 5를 개선해 2개의 Parity를 사용하는 방식이다. 2개의 Parity를 사용하기에 RAID 5보다 공간 효율성은 약간 떨어지지만, 2개의 디스크가 동시에 고장이 나더라도 내부의 데이터에 이상이 발생하지 않는다는 장점이 있다.

1TB 디스크 10개로 RAID 6를 구성하면 디스크 갯수 - 2 인 8TB의 용량을 사용할 수 있다. 또한 RAID 5의 경우 최소 3개의 디스크가 필요하지만, RAID 6는 최소 4개의 디스크가 필요하다.

 

즉, 정리하면 다음과 같다.

  • 2개의 Parity를 사용하는 RAID 구조
  • RAID 5의 비해 공간 효율성 ↓, Reliability ↑
  • 최소 4개의 디스크 필요

RAID 6의 구현 방법은 최소 4개의 디스크가 필요하다는 점을 제외하고는 RAID 5의 구현 방법과 거의 유사하다.

 

RAID 1+0의 개념

RAID 1+0은 이름에서 유추할 수 있듯이 RAID 1과 RAID 0를 동시에 사용하는 RAID 구조이다. RAID 1(미러링)로 구성한 데이터를 다시 RAID 0(스트라이핑)으로 구성하는 방식이다. Reliability와 Performance를 동시에 확보할 수 있다는 장점이 있다. 물론 RAID 1을 사용하기에 공간효율성은 50%로 반토막이 난다는 단점이 있다. 또한 RAID 1을 RAID 0 형태로 만들어야 하기 때문에 최소 4개의 디스크가 필요하다.

 

즉, 정리하자면 다음과 같다.

  • RAID 1을 RAID 0 구조로 구성한 RAID 구조
  • RAID 1의 Reliability와 RAID 0의 Performance를 동시에 가짐
  • 공간 효율성은 RAID 1과 마찬가지로 50%
  • 최소 4개의 디스크 필요

RAID 1+0의 구현 방법은 RAID 1을 구성한 다음, RAID 1 장치를 RAID 0로 묶어야 한다.

 

 

RAID 6와 RAID 1+0 구현 실습

 

실습 목표

  • 고급 RAID 방식인 RAID 6와 RAID 1+0을 구성해 본다.

 

실습

server 가상 머신을 설정 완료 상태로 초기화한다. 혹시 스냅샷을 활용한 초기화 방법이 기억나지 않는다면 밑의 글 참고.

 

 

Snapshot을 활용한 가상머신 초기화

출처 : https://www.youtube.com/watch?v=m7yJ7xyfSsI 해당 실습을 진행하기에 앞서 VMware player는 완전히 종료되어있어야 한다. VMware workstation을 실행한다. File -> Open 메뉴를 클릭한 다음 우리가 초기화시킬 가

zangwoo.tistory.com

 

하드디스크 생성 및 파티셔닝

 

 

Edit Virtual Machine Settings로 들어가 1GB 용량의 SCSI 하드디스크를 8개 생성한다.

 

부팅하고 root 사용자로 로그인한다.

 

fdisk /dev/디스크이름 명령을 입력해서 새로 장착한 SCSI 하드디스크에 RAID 파티셔닝 해준다. 혹시 방법이 기억나지 않으면 밑의 글을 참고.

 

 

6장. 디스크 관리와 사용자별 공간 할당 (3) - 가상 머신에 디스크 9개 장착하기

출처 : https://www.youtube.com/watch?v=xEtNKjz8WA8&list=PLVsNizTWUw7FqN2gq79Cb3R6qkS7mqOJk&index=35 Linear RAID, RAID 0, RAID 1, RAID 5 구현 이번 시간에는 9개의 SCSI 하드디스크를 장착하고 Linear RAID(/dev/sdb, /dev/sdc), RAID 0(/dev/s

zangwoo.tistory.com

 

 

ls -l /dev/sd* 명령을 입력해 파티셔닝이 모두 되었는지 확인한다.

 

RAID 6 구현

 

 

파티셔닝을 완료했으면 mdadm 명령을 입력해 RAID를 만들어서 논리 볼륨을 만들어야 한다. 먼저 RAID 6부터 만들어보자. 다음 명령을 입력하면 된다.

mdadm --create /dev/md6 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

 

다음 명령어를 입력해 위 그림처럼 RAID 6에 4개의 디스크가 묶였는지 확인할 수 있다. /dev/sdb1 ~ /dev/sde1까지 4개의 디스크가 잘 묶여있는 것을 확인할 수 있다. 1GB 디스크 4개가 묶여있는데 2개의 디스크는 Parity로 사용하기 때문에 총 약 2GB의 용량을 가진다.

mdadm --detail /dev/md6

 

 

그 다음 /dev/md6의 파일 시스템을 생성한다(포맷팅).

mkfs.ext /dev/md6

 

/raid6 디렉토리를 생성한 뒤, /dev/md6를 /raid6 디렉토리에 마운트 해준다.

mkdir /raid6
mount /dev/md6 /raid6

 

df 명령을 입력하면 2GB의 용량을 가진 RAID 6가 잘 생성된 것을 확인할 수 있다.

 

 

RAID 1+0 구현

다음으로는 RAID 1+0을 생성해보자. RAID 1+0은 먼저 RAID 1을 2개 생성한 다음, RAID 0로 만들어야한다.

 

RAID 1의 이름들은 md2, md3 라고 이름 지어주자. 다음 명령어들을 입력하면 된다.

mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sdf1 /dev/sdg1 -> 첫번째 RAID 1 생성
mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sdh1 /dev/sdi1 -> 두번째 RAID 1 생성

 

Continue creating array? 라는 질문이 나오면 y를 입력하면 된다.

 

 

 

다음 명령어를 입력해 위 그림처럼 각 RAID 1에 2개의 디스크가 묶였는지 확인할 수 있다. (/dev/sdf1, /dev/sdg1), (/dev/sdh1, /dev/sdi1)까지 2개의 디스크들이 잘 묶여있는 것을 확인할 수 있다. 1GB 디스크 2개가 묶여있는데 미러링으로 인해 1GB의 용량을 가진다.

mdadm --detail /dev/md2
mdadm --detail /dev/md3

 

 

md2와 md3를 묶어서 RAID 0 구조로 만들어야 한다. RAID 1+0의 이름은 md10 이라고 지어주자. 다음 명령을 입력하면 된다.

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

 

 

/dev/md10 을 살펴보면 /dev/md2와 /dev/md3 라는 2개의 RAID 1들로 RAID 0의 형태를 하고 있음을 확인할 수 있다. 1GB의 용량을 가진 RAID 1 2개를 RAID 0 형태로 묶었으므로 총 약 2GB의 용량을 가진다.

mdadm --detail /dev/md10

 

 

/dev/md10의 파일 시스템을 생성한다(포맷팅).

mkfs.ext4 /dev/md10

 

그 다음 /raid10 디렉토리를 생성하고, /dev/md10을 /raid10 디렉토리에 마운트 해준다.

mkdir /raid10
mount /dev/md10 /raid10

 

 

df 명령을 입력하면 RAID 1+0이 잘 생성된 것을 확인할 수 있다.

 

 

재부팅을 해도 현 상태를 유지하게 만들기 위해 /etc/fstab 을 수정한다. gedit 에디터로 /etc/fstab을 연다.

gedit /etc/fstab

 

그리고 맨 마지막 줄에 다음 명령어들을 입력한다.

/dev/md6	/raid6	ext4	defaults	0	0
/dev/md10	/raid10	ext4	defaults	0	0

 

저장하고 에디터를 닫는다.

 

 

부팅할 때, 정상 부팅을 하도록 만들어줘야 한다. mdadm --detail --scan 을 입력해 나온 출력값들을 복사한 다음 gedit 에디터로 /etc/mdadm.conf 파일을 새로 열어서 해당 값들을 복사한다.

mdadm --detail --scan -> 출력값들을 드래그해서 복사
gedit /etc/mdadm.conf -> gedit 에디터로 /etc/mdadm.conf 파일 실행

 

 

출력값들을 붙여넣기 해준다. 이때 name부터 UUID 앞까지의 글들은 제거를 해준다.

 

저장하고 에디터를 닫는다.

 

 

적당한 파일을 /raid6와 /raid10 디렉토리에 복사해둔다. 

cp /boot/vmlinuz-5* /raid6/testFile
cp /boot/vmlinuz-5* /raid10/testFile

 

재부팅을 한 다음, 각 디렉토리 내의 파일이 정상적으로 보이는지 확인해보자.

 

 

재부팅을 한 다음, 각 디렉토리를 확인해보면 파일이 정상적으로 작동중인 것을 볼 수 있다.

 

 

728x90
반응형