bootstrap-vz/bootstrapvz/plugins/expand_root/assets/expand-root.sh

37 lines
1.1 KiB
Bash
Executable file

#!/bin/bash
# This file was created by bootstrap-vz.
# See https://github.com/andsens/bootstrap-vz/blob/master/LICENSE for
# legal notices and disclaimers.
# Expands a partition and filesystem using growpart and an appropriate
# filesystem tool for live filesystem expansion. Takes three arguments:
# DEVICE, such as "/dev/sda"
# PARTITION, such as "1"
# FILESYSTEM, such as "ext4"
DEVICE="${1}"
PARTITION="${2}"
FILESYSTEM="${3}"
if [[ -z "${DEVICE}" || -z "${PARTITION}" || -z "${FILESYSTEM}" ]]; then
echo "Requires: $0 DEVICE PARTITION FILESYSTEM"
exit 1
fi
# Grow partition using growpart
if [[ -x /usr/bin/growpart ]]; then
echo "Growing partition ${DEVICE}${PARTITION}"
/usr/bin/growpart "${DEVICE}" "${PARTITION}"
else
echo "/usr/bin/growpart was not found"
exit 1
fi
echo "Resizing ${FILESYSTEM} filesystem on ${DEVICE}${PARTITION}"
case "${FILESYSTEM}" in
xfs) xfs_growfs / ;;
ext2) resize2fs "${DEVICE}${PARTITION}" ;;
ext3) resize2fs "${DEVICE}${PARTITION}" ;;
ext4) resize2fs "${DEVICE}${PARTITION}" ;;
*) echo "Unsupported filesystem, unable to expand size." ;;
esac