스토리지 서버의 디스크 서비스 투입 전 기본적인 세팅 자동화 스크립트

 

 [ Big Structure ]

parted 커맨드 사용 가능한 환경인지 확인하기 위해 parted 설치 여부 확인하고, 설치되어있는 경우 자동화 작업 진행, 안되어있는 경우 사용자에게 경고 문구 출력

 

 [ Automation Work ]

1. 데이터 전용 디스크 대상으로 (스크립트 상애서는 sdb~sdak에 해당) 재파티션 진행

2. 대상 디스크 포맷

3. 대상 디스크 예약블록삭제

4. 대상 디스크 마운트될 디렉토리 생성

5. 대상 디스크 마운트

6. 대상 디스크 디렉토리 소유자 변경

 

#!/bin/bash

# Installed Parted Checking
if [ "`rpm -qa |grep parted |wc -l`" -ge 1 ];then
echo "parted Starting accepted!
Working..."

# Disk Repartition
for i in {b..z};do parted --script /dev/sd$i mklabel gpt mkpart primary ext4 1049kb 100%;done
for i in {a..k};do parted --script /dev/sda$i mklabel gpt mkpart primary ext4 1049kb 100%;done

# Disk Format
for i in {b..z};do echo $i;mkfs.ext4 /dev/sd$i"1";done 
for i in {a..k};do echo $i;mkfs.ext4 /dev/sda$i"1";done 

# Change Disk's Reserved Blocks Setting To 0
for i in {b..z};do echo $i;tune2fs -m 0 /dev/sd$i;done 
for i in {a..k};do echo $i;tune2fs -m 0 /dev/sda$i;done 

# Making Directories
for i in {1...9};do echo $i;mkdir -p /data0$i/dfs/data;done
for i in {10...36};do echo $i;mkdir -p /data$i/dfs/data;done

######## Mounting Disk ########
declare -A target
num=1
### Making Target disk dictionary
for i in {b..j};do
    target[$i]=0$num
    num=$(expr $num + 1)
done
for i in {k..z};do
    target[$i]=$num
    num=$(expr $num + 1)
done
for i in {a..k};do
    target[a$i]=$num
    num=$(expr $num + 1)
done
### Mounting Target_disk
for key in ${!target[@]};do
    #echo ${key} ${target[${key}]}
    mount /dev/sd${key}"1" /data${target[$key]}
done
### Changing Owner of ditectories
for key ${!target[@]};do
    chown -R hdfsnnuser: /data${target[$key]}
done

else
echo "Error : you need to yum install parted"
fi

 

 

====================================================

 

#!/bin/bash

 

# Installed Parted Checking

if [ "`rpm -qa |grep parted |wc -l`" -ge 1 ];then

echo "parted Starting accepted!

Working..."

 

# Disk Repartition

for i in {b..z};do parted --script /dev/sd$i mklabel gpt mkpart primary ext4 1049kb 100%;done

for i in {a..k};do parted --script /dev/sda$i mklabel gpt mkpart primary ext4 1049kb 100%;done

 

# Disk Format

for i in {b..z};do echo $i;mkfs.ext4 /dev/sd$i"1";done 

for i in {a..k};do echo $i;mkfs.ext4 /dev/sda$i"1";done 

 

# Change Disk's Reserved Blocks Setting To 0

for i in {b..z};do echo $i;tune2fs -m 0 /dev/sd$i;done 

for i in {a..k};do echo $i;tune2fs -m 0 /dev/sda$i;done 

 

# Making Directories

for i in {1...9};do echo $i;mkdir -p /data0$i/dfs/data;done

for i in {10...36};do echo $i;mkdir -p /data$i/dfs/data;done

 

######## Mounting Disk ########

declare -A target

num=1

### Making Target disk dictionary

for i in {b..j};do

    target[$i]=0$num

    num=$(expr $num + 1)

done

for i in {k..z};do

    target[$i]=$num

    num=$(expr $num + 1)

done

for i in {a..k};do

    target[a$i]=$num

    num=$(expr $num + 1)

done

### Mounting Target_disk

for key in ${!target[@]};do

    #echo ${key} ${target[${key}]}

    mount /dev/sd${key}"1" /data${target[$key]}

done

### Changing Owner of ditectories

for key ${!target[@]};do

    chown -R hdfsnnuser: /data${target[$key]}

done

 

else

echo "Error : you need to yum install parted"

fi

 

====================================================

 

 

 

 

+ Recent posts