본문 바로가기
서버 보안/리눅스 실습

RAID 구축 실습_Linear RAID, RAID0, RAID1,RAID5 구현

by 어깨 :) 2023. 5. 15.
728x90

오늘은 raid 구축 실습을 해보았습니다.

raid 구축을 하기 전에 각 raid 별로 특징을 알아보고 갑니다.

 

 

Linear RAID, RAID0, RAID1, RAID5 구현

 

▫ Linear RAID(/dev/sdb, /dev/sdc)
▫ RAID0(/dev/sdd, /dev/sde)
▫ RAID1(/dev/sdf, /dev/sdg)
▫ RAID5(/dev/sdh, /dev/sdi, /dev/sdj)

 

 

위에 있는 Linear RAID, RAID0, RAID1는 터미널에 작업을 완료했습니다.

 

RAID5까지는 같은 방식으로 RAID를 구축하는 것이라 생략하고 아래에 작성한 RAID5 기준으로 설명해 보겠습니다.


위의 명령어는 리눅스에서 소프트웨어 RAID를 구성하는 과정입니다.

첫 번째 명령어에서는 'mdadm'을 사용하여 RAID 5 배열을 생성합니다. 이 배열의 이름은 '/dev/md5'이며, RAID 레벨은 5이며, 디스크 개수는 3개입니다. 사용하는 디스크는 '/dev/sdh1', '/dev/sdi1', '/dev/sdj1'입니다. 이 배열은 디스크의 일부가 손상되어도 데이터를 복구할 수 있는 장점이 있습니다.

두 번째 명령어에서는 'mkfs.ext4'을 사용하여 파일 시스템을 생성합니다. 이 파일 시스템은 '/dev/md5'라는 RAID 배열 위에 생성됩니다. 파일 시스템의 유형은 ext4입니다. 파일 시스템이 사용할 수 있는 블록 수는 522,752개이며, inode 수는 130,816개입니다. 또한, 이 파일 시스템은 UUID '0 cbb3453-01d6-4bf4-97d5-bd21 f9 cab1 ee'를 가지게 됩니다.

그리고 'Superblock backups stored on blocks' 메시지에서는 슈퍼블록의 백업이 어떤 블록에 저장되어 있는지 알려줍니다. 이는 파일 시스템을 복구하는 경우에 슈퍼블록을 찾기 위해 사용됩니다.

마지막으로, 'Creating journal', 'Writing superblocks and filesystem accounting information' 메시지에서는 파일 시스템의 저널과 슈퍼블록, 파일 시스템의 계정 정보가 작성되었다는 것을 알려줍니다.



위의 명령어는 RAID 5 배열을 마운트 하여 사용 가능한 파일 시스템으로 만드는 과정입니다.

첫 번째 명령어에서는 'mkdir' 명령어를 사용하여 '/raid5'라는 디렉터리를 생성합니다. 이 디렉터리는 RAID 5 배열이 마운트 될 디렉터리가 될 것입니다.

두 번째 명령어에서는 'mount' 명령어를 사용하여 '/dev/md5'라는 RAID 5 배열을 '/raid5' 디렉터리에 마운트 합니다. 이제 '/raid5' 디렉터리를 통해 RAID 5 배열에 액세스 할 수 있습니다.

세 번째 명령어에서는 'df' 명령어를 사용하여 파일 시스템의 디스크 사용량을 보여줍니다. 이 명령어를 실행하면 '/dev/md5'라는 RAID 5 배열이 '/raid5' 디렉터리에 마운트 되었음을 확인할 수 있습니다. 이제 '/raid5' 디렉터리에서 파일을 생성하거나 읽어 들일 수 있습니다.


이번에는 컴퓨터를 켤 때 언제든지 /dev/md5 장치가 /raid5 디렉터리에 마운트 되어 있도록 설정합니다.

/etc/fstab 파일을 gedit로 열어서 맨 아랫부분에 아래와 같이 추가하면 됩니다.

 

 

mdadm --detail /dev/md5 명령으로 구축한 RAID5를 자세히 확인해 봅니다.

재부팅하기 전에 mdadm의 버그 때문에 몇 가지 설정을 해야 합니다.

 

mdadm --detail --scan 명령을 입력합니다. 4개의 ARRAY 내용을 마우스로 드래그하고, 마우스 오른쪽 버튼을 클릭한 후 복사합니다.(터미널 창을 미리 옆으로 키워놓으면 행이 넘어가지 않아서 보기 편합니다.)

 

 

 


gedit /etc/mdadm/mdadm.conf 명령으로 설정 파일을 엽니다.

 

 

제일 아래에서 엔터를 몇 번 누른 후 ctrl+v를 눌러 복사한 내용을 붙여 넣습니다. 그런 다음 각 행의 중간 부분에 'name=server:숫자'를 삭제합니다. 최종적으로 위의 그림과 같이 저장하고 gedit를 닫습니다.

 

 

 

update-initramfs -u 명령으로 설정한 내용을 적용시킵니다.

 

여기서 'update-initramfs -u'는 리눅스에서 사용되는 명령어 중 하나로, initramfs 파일을 업데이트하는 명령어입니다. initramfs는 시스템 부팅 시 초기 루트 파일 시스템을 로드하기 위한 압축 파일 시스템입니다. initramfs는 커널 모듈, 실행 파일 및 다른 파일을 포함하여 부팅 시 필요한 모든 것을 제공합니다.

'update-initramfs -u' 명령어는 새로운 커널 모듈이나 시스템 변경 사항이 있을 때 initramfs를 업데이트하여 이러한 변경 사항을 적용합니다. 이 명령어를 실행하면 현재 시스템에 설치된 모든 커널에 대해 initramfs를 업데이트하고, 새로운 initramfs가 생성됩니다. 이후 시스템 재부팅 시에는 새로운 initramfs가 로드되어 변경 사항이 적용됩니다. 이 명령어는 주로 시스템 관리자나 개발자가 사용합니다.

 

위에 모든 작업을 마치면 reboot 명령으로 재부팅합니다.

 


 

reboot를 하고 나서 터미널에서 df 명령과 ls -l /dev/md* 명령으로 RAID 장치를 다시 확인해 봅니다~

제대로 작동하고 있으면 성공적입니다.

 

이상으로 Linear RAID, RAID0, RAID1, RAID5의 구성하는 방법에 대해서 마치겠습니다.

 

 

 

 

 

728x90