OS/Linux

[Linux 서버] Shell Script로 RAID 구현 자동화

JooRi 2025. 9. 2. 17:41
728x90
반응형
SMALL

 

실습 내용

  • ESXi 환경에서 디스크 2개 추가
  • fdisk 자동화(fdisk.txt)로 파티션 생성
  • mkraid1.sh 스크립트로 RAID1 생성 및 마운트 자동화
  • /etc/fstab 등록으로 재부팅 후에도 자동 마운트 유지

이번 실습을 통해 수동으로 하나하나 입력하는 과정 대신, 쉘 스크립트를 작성해 반복 작업을 자동화하는 방법에 대해 학습하였다.

 

 

1. 가상머신 디스크 추가

  • ESXi VM에 10GB 디스크 2개를 새로 추가.
  • 리눅스 안에서 /dev/sdb, /dev/sdc로 인식됨

 

 /dev/sdb, /dev/sdc 추가된 것 확인

 

 

2. fdisk 자동 스크립트 작성 및 파티션 생성

fdisk.txt 파일 작성

  • n : 새 파티션 생성
  • p : Primary 파티션
  • w : 저장 후 종료
  • enter : 디폴트

 

fdisk /dev/sdb < fdisk.txt
fdisk /dev/sdc < fdisk.txt

  • /dev/sdb1, /dev/sdc1 파티션 생성

 

/dev/sdb1, /dev/sdc1 생성된 것 확인

 

 

3. RAID1 자동화 스크립트 작성

#!/bin/sh
# 사용법: sh mkraid1.sh /dev/md1 1 2 /dev/sdb /dev/sdc /raid

echo "$1=<$1>, $2=<$2>, $3=<$3>, $4=<$4>, $5=<$5>, $6=<$6>"

# (1) fdisk 파티션 생성
fdisk $4 < fdisk.txt
fdisk $5 < fdisk.txt

# (2) RAID 생성
formatdisk1="${4}1"
formatdisk2="${5}1"
echo $formatdisk1
echo $formatdisk2

mdadm --create $1 --level=$2 --raid-devices=$3 $formatdisk1 $formatdisk2 < yes.txt
mdadm --detail --scan
mdadm --detail $1

# (3) 파일시스템 생성
mkfs.ext4 $1

# (4) 마운트
mkdir $6
mount $1 $6

# (5) 확인
df -k

# (6) fstab 등록
echo "$1 $6 ext4 defaults 0 0" >> /etc/fstab

 

 

yes.txt 파일에는 yes 한 줄을 넣어, mdadm의 초기화 확인 질문을 자동으로 통과시킨다.

 

 

4. 스크립트 실행

sh ./mkraid1.sh /dev/md1 1 2 /dev/sdb /dev/sdc /raid

실행 후 RAID1 디바이스(/dev/md1)가 생성되고, /raid 디렉터리에 마운트 된다.

 

 

출력에서 RAID1이 정상적으로 구성되고, 파일시스템이 /raid에 마운트 된 것 확인.

 

끝.

 

728x90
반응형
LIST