自動添加lvm盤腳本

近期經常需要對服務器添加lvm卷,於是寫了次腳本用於自動向lvm卷組添加磁盤,簡化了手工操作量

#!/bin/bash
check_execution_result() {
  if [[ ! -z $RETVAL ]]; then
     unset RETVAL
  fi
  RETVAL=$?
  if [[ $RETVAL -ne 0 ]]; then
     echo execution failed
     exit $RETVAL
  else
     echo execution successfully
  fi
}
ONLINE_SCSI_DISK_PRESENT=$(lsblk --all | grep disk | grep -v fd | awk '{print $1}' | xargs)
echo $ONLINE_SCSI_DISK_PRESENT
read -p "input your choice:" ONLINE_SCSI_DISK_PRESENT
echo "- - -" >/sys/class/scsi_host/host0/scan
echo "- - -" >/sys/class/scsi_host/host1/scan
echo "- - -" >/sys/class/scsi_host/host2/scan
echo New Added SCSI Disk: $ONLINE_SCSI_DISK_PRESENT
VG_Name=$(vgdisplay | grep 'VG Name' | awk '{print $NF}' | grep -i volgroup)
VG_PATH_TO_EXTEND=$(lvdisplay | grep 'LV Path' | awk '{print $NF}' | grep root)
fdisk $ONLINE_SCSI_DISK_PRESENT >/dev/null 2>&1<<eof
n
p
1 
1
t
8e
w
eof
    
check_execution_result
LVM_OPERATION_DISK_FILENAME=$ONLINE_SCSI_DISK_PRESENT"1"
    
pvcreate $LVM_OPERATION_DISK_FILENAME >/dev/null 2>&1
    
check_execution_result
    
vgextend $VG_Name /dev/$LVM_OPERATION_DISK_FILENAME >/dev/null 2>&1
check_execution_result
lvresize -l +100%FREE $VG_PATH_TO_EXTEND >/dev/null 2>&1
check_execution_result
resize2fs $VG_PATH_TO_EXTEND >/dev/null 2>&1
check_execution_result


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章