안녕하세요. 이번 시간에는 RAID라는 기술에 대해 알아보도록 하겠습니다. RAID라는 기술은 서버에서 데이터를 저장할 때 여러 개의 스토리지를 묶어놓고 다양하게 저장하는 기술로써 데이터의 손실을 막기 위한 기술입니다. 그렇다면 RAID의 종류에 대해 알아보도록 하겠습니다.


 Linear RAID : 하나의 스토리지에 데이터가 가득 차면 다음 스토리지로 넘어가도록 설정하는 방식입니다.

 RAID 0 : 2개의 스토리지를 묶어 놓고 분산하면서 저장함으로써 스토리지를 동시에 사용하는 방식으로 Striping이라고도 합니다.

 RAID 1 : 2개의 스토리지를 묶어 놓고 양쪽 스토리지에 같은 내용을 저장함으로써 Mirroring이라고도 합니다.

 RAID 2 : X

 RAID 3 : 패리티라는 것을 사용하고 디스크를 병렬 처리하는 기술로 데이터는 바이트 단위로 쪼개져서 모든 디스크에 균등하게 나뉘어 저장되며 패리티 정보는 별도의 디스크에 저장하는 기술입니다.

 RAID 4 : 각 디스크는 패리티 블럭을 공유하고 모든 파일은 블럭으로 쪼개지게 됩니다. 각 블럭은 여러 디스크에 저장되지만 균등하지는 않습니다. 패리티를 처리하기 위해 별도의 디스크가 사용됩니다.

 RAID 5 : 최소 3개 이상의 디스크 필요로 하고 전체 디스크 용량의 75%만 사용 가능합니다. Parity Across Disks라고도 합니다.

 RAID 6 : RAID 1로 구성한 데이터를 다시 RAID 0으로 구성함으로써 RAID 1,2의 성능을 동시에 확보하는 기술입니다.


 이처럼 여러개의 RAID 방식이 있지만 이번 포스팅에서는 RAID 5에 대해서 알아보도록 하겠습니다. 우선 이 기술을 시작하기에 앞서 서버에서는 주 스토리지 외에 추가적으로 스토리지가 필요하므로 3개의 스토리지를 더 추가해보도록 하겠습니다.








위와 같은 방식으로 3개를 추가해줍니다.



 위처럼 HDD를 모두 추가했으면 서버를 재부팅 후 'ls -l /dev/sd*' 명령어를 통해 HDD가 제대로 추가되었는지 확인해줍니다.



 위 화면에서는 sdb, sdc, sdd만 주목해주면 됩니다. 제대로 들어간 것을 확인했으니 이제 RAID설정에 들어가보도록 하겠습니다. 'fdisk /dev/sdb' 명령어를 통해 첫번째 스토리지를 설정해줍니다.



 

 이후에는 위처럼 순서대로 'p-n-p-<ENTER>-<ENTER>-t-fd-p-w'를 눌러주시면 됩니다. 이 옵션들의 설명은 아래에 나와있습니다. 이외의 다른 설정들에 대해 알아보고 싶다면 m을 통해서 알아볼 수 있습니다.


 RAID Options

  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 (설정 저장)


  a : toggle a bootable flag

  b : edit nested BSD disklabel

  c : toggle the dos compatibility flag

  d : delete a partition

  l : list known partition types

  n : add a new partition

  p : print the partition table

  t : change a partition type

  v : verity the partition table

  m : print this menu

  u : change display/entry units

  x : extra functionality ( experts only )

  w : write table to disk and exit

  q : quit without saving changes

  g : create a new empty GPT partition table

  G : create a new empty SGI (IRIX) partition table

  o : create a new empty DOS partition table

  s : create a new empty Sun partition table


※ 첫번째 p는 'print the partition table' 옵션의 p이고, 두 번째 p는 primary로 설정하겠다는 옵션의 p입니다.

 'fdisk' 명령어가 제대로 됐는지 확인하려면 'fdisk- l'을 통해 알아볼 수 있습니다. 이런식으로 sdb, sdc, sdd 모두 설정을 끝마친 후 'mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd'명령어를 입력해줍니다. 참고로 'mdadm' 명령어는 패키지를 설치해야합니다. ( apt-get install -y mdadm ) 



 명령어를 실행하면 마지막에 'continue creating array?'라는 문주를 확인할 수 있는데 y를 눌러서 yes를 표시해줍니다. 이제 'mkfs.ext4 /dev/md5' 명령어를 입력해줍니다.



 명령어를 입력하면 위와 같이 뭐가 막 되는 것을 확인할 수 있습니다. 이제 다시 'mdadm --detail --scan' 명령어로 확인을 해줍니다. 



 정상적으로 있는 것을 확인할 수 있습니다. 이제 '/raid'라는 폴더를 생성해준 후 '/etc/fstab'이라는 폴더에 들어가줍니다.

들어가면 아래와 같은 화면을 확인할 수 있습니다.



  위 파일에 '/dev/md5 /raid ext4 defaults 1 2'를 양식에 맞게 써줍니다.( 꼭 맞출 필요는 없습니다 ) 다시 'mdadm --detail /dev/md5' 명령어로 확인해줍니다.



 잘 만들어진 것을 확인할 수 있습니다. 이제 'update-initramfs -u'를 입력해주면 됩니다. 이상으로 RAID 5에 대한 포스팅을 마치도록 하겠습니다.

'Server > Debian(Linux)' 카테고리의 다른 글

Master DNS  (0) 2018.12.24
Debian 9 IP 설정  (0) 2018.11.14
Debian 9.2 Install  (0) 2018.11.07

+ Recent posts