lvextend + использовать переменную для lvextend файловой системы

lvextend + использовать переменную для lvextend файловой системы

у нас есть разные машины Linux и каждой машине Linux нужен свой размер раздела

Чтобы расширить корневую файловую систему или файловую систему var с помощью скрипта, мы можем использовать следующий lvextendсинтаксис, с переменной как -PARTITION_VAL_SIZE

 PARTITION_VAL_SIZE=100
 lvextend -L"$PARTITION_VAL_SIZE"G /dev/vg-data/lv-var
 PARTITION_VAL_SIZE=30
 lvextend -L"$PARTITION_VAL_SIZE"G /dev/vg-data/lv-root
 .
 .
 PARTITION_VAL_SIZE=50
 lvextend -L"$PARTITION_VAL_SIZE"G /dev/vg-data/lv-var
 PARTITION_VAL_SIZE=20
 lvextend -L"$PARTITION_VAL_SIZE"G /dev/vg-data/lv-root

 .
 .

поскольку мы используем значения в GIGA, то мы добавляем «G» по lvextendкоманде

можем ли мы сделать это лучше? или наш подход достаточно хорош для того, чтобы увеличить раздел Linux с помощью переменной?

решение1

Проверка документации с помощью man lvextend,

-L|--size [+]Size[m|UNIT]Указывает новый размер LV. Параметры --sizeи --extentsявляются альтернативными методами указания размера. […] При использовании префикса плюс +или минус -значение не является абсолютным размером, а является относительным и добавляется или вычитается из текущего размера.

Также с той же страницы,

Size[UNIT] Size— это входное число, которое принимает необязательную единицу измерения. Входные единицы всегда рассматриваются как базовые два значения […]. UNITпредставляет другие возможные входные единицы: […] g| G— это ГиБ […].

Итак, когда вы пишете:

PARTITION_VAL_SIZE=100
lvextend -L"$PARTITION_VAL_SIZE"G /dev/vg-data/lv-var

Вы должны знать, что оболочка расширит это до:

lvextend -L100G /dev/vg-data/lv-var

И это значитизменить размер раздела до 100 Гибибайт. Этонеиметь в видурасширить раздел еще на 100 Гибибайт. Помните, что GiB > GB, но если вы уже думаете о размерах в терминах 2 n , а не 10 n, то все будет в порядке.

В качестве предпочтения я бы рекомендовал использовать --sizehere вместо -L. Это то же самое, но легче читать:

lvextend --size 100G /dev/vg-data/lv-var

Связанный контент