Скрипт для расширения тома LVM и изменения размера файловой системы

На моем сервере мне приходится время от времени расширять тома lvm, чтобы освободить больше места. Для этого я использую команды lvextend и resize2fs. Я хотел бы иметь команду, которая представит мне список томов LVM на выбор и попросит увеличить размер.

Обратите внимание, что с помощью lvm и resize2fs вы можете надежно изменять размер файловых систем, ничего не прерывая. Заявленный свободный размер просто увеличивается.


person Floyd    schedule 11.04.2020    source источник


Ответы (1)


Сценарий, который я, наконец, написал и использую для онлайн-изменения размера:

#!/bin/bash
# 2020-04-11 Initial Version

function error()
{
   echo "*** $*"
   exit 1
}

if [ "$1" == "" ] ; then
    echo "Please select the partition from the list"

    i=1
    for j in /dev/mapper/kalypso*
    do
        echo "$i.$j"
        file[i]=$j
        i=$(( i + 1 ))
    done

    echo "Enter number"
    read input
    partition=${file[$input]}
    echo "You selected partition $partition"

    df -h $partition
    echo "Enter size to add, to $partition e.g. 50G:"
    read size
    echo "You choose to increase file $partition by $size"
    sudo lvextend -L +$size $partition || error "lvextend $partition failed"
    sudo resize2fs $partition || error "resize2fs $partition failed"
    echo "lvextend/resize2fs completed"
    df -h $partition | tail -n 1
fi
person Floyd    schedule 11.04.2020