rendered paste body#!/bin/bash# Script for LVM-resize. Version 0.1# Usage: ./resize.sh LV-Partition-name Size(GB) VolumeGroupName LOG_FILE_NAMEif [ -z "${1}" ]; then LV_NAME="tmp"else LV_NAME="${1}"fiif [ -z "${2}" ]; then SIZE="2"else SIZE="${2}"fiif [ -z "${3}" ]; then VG_NAME="system"else VG_NAME="${3}"fiif [ -z "${4}" ]; then LOG_FILE="~/log-resize.log"else LOG_FILE="${4}"fiecho "We would extend ${VG_NAME}-${LV_NAME} for ${SIZE} GiB."echo "Note: If you have any problem - check ${LOG_FILE}"echo "[y/n]"read AGREEif [ "${AGREE}" = "y" ]; then vgscan echo "Umounting ${VG_NAME}-${LV_NAME}" > ${LOG_FILE} umount /dev/mapper/${VG_NAME}-${LV_NAME} >> ${LOG_FILE} 2>&1 || echo "[Failed]: Cannot umount ${VG_NAME}-${LV_NAME}" echo >> ${LOG_FILE} echo "Resizing LV-partition" >> ${LOG_FILE} lvresize -L +${SIZE}G -v /dev//${VG_NAME}/${LV_NAME} >> ${LOG_FILE} 2>&1 || echo "[Failed]: Cannot resize ${VG_NAME}-${LV_NAME}" echo >> ${LOG_FILE} echo "Turning off journal" >> ${LOG_FILE} tune2fs -O ^has_journal /dev/${VG_NAME}/${LV_NAME} >> ${LOG_FILE} 2>&1 || echo "[Failed]: Cannot turn off journal" echo >> ${LOG_FILE} echo "Checking filesystem:" >> ${LOG_FILE} e2fsck -f /dev/mapper/${VG_NAME}-${LV_NAME} echo >> ${LOG_FILE} echo "Resizing fs" >> ${LOG_FILE} resize2fs -p /dev/${VG_NAME}/${LV_NAME} >> ${LOG_FILE} 2>&1 || echo "[Failed]: resize2fs failed" echo >> ${LOG_FILE} echo "Turning on journal" >> ${LOG_FILE} tune2fs -O has_journal /dev/${VG_NAME}/${LV_NAME} >> ${LOG_FILE} 2>&1 || echo "[Failed]: Cannot turn on journal" echo >> ${LOG_FILE} echo "Mounting fs back" >> ${LOG_FILE} mount /dev/mapper/${VG_NAME}-${LV_NAME} >> ${LOG_FILE} 2>&1 || echo "[Failed]: Cannot mount ${VG_NAME}-${LV_NAME}"else echo "canceled"fi