RAID 5를 선택한 이유
RAID는 여러 개의 하드디스크를 하나의 하드디스크처럼 사용할 수 있도록 해준다. 이번 실습 시간에는 리눅스에 Linear RAID, RAID0, RAID1, RAID5를 구성해보고 각각의 차이를 비교해보았다. 모두 각자만의 장점이 존재하는 방식들이지만, 나는 아무래도 RAID 5가 가장 괜찮은 RAID 방식이라는 생각이 들었다. RAID 5의 경우 패리티 데이터의 저장 공간을 따로 확보해놓기 때문에 이를 통해 결함을 어느정도 허용한다는 장점이 있다. 사실 이건 굉장히 중요한건데, 결함을 허용하지 않는 Linear RAID와 RAID 0의 경우 데이터가 저장된 공간에 문제가 생기면 데이터를 영영 복구하지 못하는 상황이 발생할 수도 있다는 위험부담이 따른다. 하지만 RAID 5의 경우 데이터에 문제가 생겨도 패리티 데이터를 확인하여 어느정도 복구가 가능하다는 장점이 있다.
RAID 5의 두번째 장점은 공간 효율 또한 좋다는 것이다. 결함을 허용하는 또 다른 RAID 방식인 RAID 1의 경우 데이터의 복사본은 따로 저장해놓기 때문에 결함은 허용하지만 공간 호율이 낮다는 단점이 있었다. 하지만 RAID 5의 경우 따로 복사본을 저장하는 방식이 아닌 패리티 데이터를 활용하는 방식이기 때문에, 페리티 데이터를 저장하는 공간을 제외하고는 하드디스크의 모든 용량을 데이터 저장에 사용할 수 있으므로 공간 효율이 좋다.
RAID 5를 구성하기 위해서는 최소 3개 이상의 하드디스크가 필요하며, 공간 효율을 더욱 높이기 위해서는 하드디스크의 개수가 더 많아야 한다는 제약이 따르기는 한다. 하지만 결함 허용과 공간 효율 두 가지를 모두 잡은 RAID 5의 매력도가 그것을 감수할 만큼 높다고 판단되어 이번 실습 과제로 RAID 5를 선택하게 되었다.
RAID 5 생성 과정
우선, VMware에서 Sever(b)의 Edit virtual machine settings에 들어가 1GB짜리 하드디스크 3개를 생성해준다.
그 후 Server(b)에 접속하여 터미널에서 ls -l /dev/sd*을 입력하면 sdb, sdc, sdd 하드디스크가 생성되어 있는 것을 확인할 수 있다.

새로 생성된 하드디스크의 이름을 확인했으면 fdisk 명령어를 통해 각 하드디스크에 대한 파티션을 설정해준다.


다음으로 RAID 구성을 위해 필요한 프로그램인 mdadm을 설치한다.

이제 mdadm 명령어로 md5라는 RAID 5 장치를 구성한 후, mkfs.ext4 /dev/md5를 입력하여 이를 포맷한다.

이후 mkdir 명령어로 raid5 디렉토리를 생성하고 mount /dev/md5 /raid5를 입력하여 md5를 raid5에 마운트한다.
여기까지 수행한 후 df 명령어를 입력하면 생성된 RAID 5를 확인할 수 있다.

다음으로 컴퓨터를 켜면 자동적으로 md5 장치가 raid5에 마운트되도록 설정해준다. gedit으로 /etc/fstab 파일을 열어 맨 아래에 아래와 같은 문구를 추가해준다.
/dev/md5 /raid5 ext4 defaults 0 0

mdadm 버그를 방지하기 위해 터미널에 mdadm --detail --scan을 입력한 후 ARRAY 내용을 복사한다.

gedit으로 /etc/mdadm/mdadm.conf 파일을 열어 맨 아래에 복사해둔 ARRAY 내용을 붙여넣고 중간의 name=server-b:5 를 삭제한다.

마지막으로 update-initramfs -u를 입력하여 설정 내용을 적용시키고 Server(b)를 재부팅한다.

재부팅 후 터미널에 df 명령어를 입력하면 md5가 raid5에 잘 마운트되어 있음을 확인할 수 있다.

아래 사진은 mdadm --detail /dev/md5를 입력하여 구축한 RAID 5 확인한 것이다.

'Linux 실습일지' 카테고리의 다른 글
리눅스에 LVM 설정하기 (1) | 2023.02.01 |
---|---|
Linux 실습일지(5) - Linux RAID (0) | 2023.02.01 |
Linux 실습일지(4) - Linux에 각종 패키지 설치하기 (0) | 2023.02.01 |
리눅스 프로그램 설치 연습(Clementine, Libreoffice Base, Visual Studio Code) (1) | 2023.02.01 |
Linux 실습일지(3) -Linux User Group (0) | 2023.02.01 |