리눅스 RAID 실제 적용

2025. 6. 28. 19:25카테고리 없음

가상머신에 9개에 디스크를 SCSI로 장착한다.

1~10번까지 총10개의 디스크 장착

터미널에서 lsblk 명령을 입력해 장착한 SCSI 장치가 정상적으로 인식되는지 확인

sdb ~ sdk 까지 10개의 장치가 새로 마운트 되어있다.

sdb 파티션 생성

파일시스템 유형을 별도로 지정하지 않을 경우 Rocky Linux는 자동으로 파일 시스템 유형을 83(Linux)로 지정한다. 

fd 로 지정해주면 'Linux raid autodetect' 라는 파일시스템으로 지정된다.

 

fdisk /dev/sdb      [SCSI 0:1] 디스크 선택
Command: n          새로운 파티션 분할
Select: p           Primary 파티션 선택
Partition number: 1 파티션 번호 1번 선택
First sector: enter 시작 섹처 번호
Last sector: enter  마지막 섹터 번호 
Command: t          파일 시스템 유형 선택
Hex Code: fd        'Linux raid autodetect' 유형 번호(L을 입력하면 전체 유형 출력)
Command: p          설정 내용 확인
Command: w          설정 내용 저장

sdb ~ sdk 까지 모두 똑같이 초기화 해준다.

 

Linear RAID 구성 방법

sdb 와 sdc 로 RAID 를 구성해보자

Type이 Linux raid autodetect 여야 한다.

아래 명령어를 입력해 /dev/sdb1과 /dev/sdc1 을 Linear RAID 장치인 /dev/md9으로 생성하고 잘 생성되었는지 확인한다.

mdadm --create /dev/md9 --level=linear --raid-devices=2 /dev/sdb1 /dev/sdc1 RAID 생성
mdadm --detail --scan RAID 확인

 /dev/md9은 Linear RAID 장치로 사용하기 위해 임의로 지정한 이름이다. 

mdadm은 Rocky Linux에서 RAID장치를 생성/관리하는 명령이다. 

이 명령에서 사용할 수 있는 옵션의 의미는 다음과 같다. 

--create /dev/md9            md9 장치에 RAID를 생성
--level=linear               Linear RAID를 지정, 0은 RAID 0, 1은 RAID 1 등으로 지정 가능
--raid-deviced=2 /dev/sdb1 /dev/sdc1 디스크를 2개 사용. 이어서 나오는 것은 장치 이름

그 외에도 자주 사동되는 명령어

mdadm --stop /dev/md9        RAID 장치인 /dev/md9을 중치
mdadm --run  /dev/md9        중지된 RAID 장치를 가동
mdadm -- detail /dev/dm9     /dev/md9 장치의 상제한 내역을 출력

아래의 명령어를 입력해 /dev/md9의 파일시스템을 생성한다

mkfs.ext4 /dev/md9

mkdir /raidLinear 명령을 입력해 마운트할 디렉터리를 생성하고 mount /dev/md9/raidLinear 명령을 입력해 마운트 한다. df 명령어를 입력하면 /raidLinear 디렉터리에 약 2.8GB 가량의 여유공간이 있음을 확인할 수 있다. /dev/sdb는 2GB, /dev/sdc는 1GB 용량이다. Linear RAID는 2개 디스크 용량을 모두 사용하기 때문에 3GB 정도가 나온 것이다,

컴퓨터를 켤때 자동으로 /dev/md9 장치가 /raidLinear 디렉터리에 마운트 되도록 설정하자. /etc/fstab 파일에 아래를 추가해주자

/dev/md9 /raidLinear ext4 defaults 0 0

mdadm --detail /dev/md9 명령을 입력해 Linear RAID 구축이 제대로 되었는지 확인할 수 있다.

/dev/md9의 상세 내용이 나온다. RAID level 은 linear, Array Size는 3GB, Raid Devices(장치 개수) 는 2개이다

현재 작동중인 장치(디스크)는 2개며, 가장 아래쪽 장치의 상세한 내용과 /dev/sdb1과 /dev/csc1을 사용한다는 내용이 출력된다.

 

 

RAID 0구성 방법

/dev/sdd 와 /dev/sde로 구성한다

아래 명령어를 입력해 /dev/sdd1 과 /dev/sde1 을 RAID 0 장치인 /dev/md0으로 생성하고, mdadm --detail --scan명령을 입력해 잘 생성되었는지 확인한다.

mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdd1 /dev/sde1
mdadm --detail --scan

mkfs.ext4 /dev/md0 명령을 입력해 /dev/md0 파티션 장치를 포맷하고

mkdir /raid0; mount /dev/md0 /raid0 명령을 입력해 마운트 한다.

/dev/md0 장치는 RAID 0이므로 디스크 용량을 모두 사용한다. 따라서 /dev/sdd 의 1GB 와 /dev/sde의 1GB를 합한 약 2GB 용량으로 표시된다.

 

RAID 1구축 

/dev/sdf 와 /dev/sdg로 구성

mdadm 명령을 실행해 실제 RAID를 구성

mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdf1 /dev/sdg1
# Continue createing array 메세지가 나오면 y를 입력
mdadm --detaul --scan

mkfs.ext4 /dev/md1  # /dev/md1 파티션 장치 포맷
mkdir /raid1
mount /dev/md1 /raid1

RAID 0인 /raid0 디렉터리의 용량이 약 2GB 정도인데 RAID 1인 /raid1 디렉터리는 1GB 정도 밖에 되지 않는다. 동일한 데이터를 2회 저장(미러링) 하기 때문에 실제 가용 용량은 2GB의 절반 정도인 1GB 정도다.

 

RAID 5구축 

/dev/sdh, /dev/sdi, /dev/sdj 로 구성

mdadm 명령을 실행해 실제 RAID를 구성

mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sdh1 /dev/sdi1 /dev/sdj1
# 만약 경고창이 나오면 두고 약 1-2분정도 대기
mdadm --detail --scan
mkfs.ext4 /dev/md5
mkdir /raid5
mount /dev/md5 /raid5

디스크 개수 -1 만큼의 용량을 사용 가능하다. 지금은 3개를 설치 했으므로 2개의 용량인 2GB만 사용할 수 있다. 

mdadm --detail /dev/md5 명령을 입력해 RAID 5가 제대로 구축되었는지 확인

 

 

재부팅 하기 전에 mdadm.conf 파일을 생성하고 몇가지 설정을 해야한다.

mdadm --detail --scan 명령을 입력하면 나오는 4개 ARRAY 내용을 복사한다

/etc/mdadm.conf 명령을 입력해 복사한 내용을 붙여넣는다. 그리고 각 행의 중간부분에 있는 'name=localhost.localdomain: O' 부분을 삭제한다.  최종적으로 아래와 같아야 한다.

 

reboot 하면 아래와 같이 전부 마운트 되어있음을 확인할 수 있다.