Назад | Перейти на главную страницу

Как минимизировать размер раздела ext3 (и его логического тома LVM)?

Я использую LVM в Ubuntu 9.10 (Karmic). У меня есть один физический том LVM (и одна группа томов).

У меня есть файловая система ext3 внутри логического тома LVM, которую я больше не использую, но пока я не хотел бы ее удалять. Я пытаюсь понять, как минимизировать пространство, которое он занимает в моем PV. resize2fs имеет параметр -M, который хорошо работает при изменении размера файловой системы, чтобы не было свободного места, но, конечно, это не влияет на логический том. Большинство рецептов в сети для сжатия ext3 внутри LV (например, вот этот), следуйте этому базовому шаблону, чтобы облегчить проблемы с неточным расчетом границ файловой системы и т.д .:

В моем случае это не решает полностью проблему, потому что я хочу, чтобы размер LV определялся файловой системой, а не наоборот.

Есть ли команда или команды, которые я могу выполнить для этого? В качестве альтернативы, я могу сделать расчет размера файловой системы, чтобы передать его lvresize с некоторой степенью уверенности?

Теоретически да, вы можете рассчитать точный размер LV, требуемый файловой системой - когда resize2fs если это так, он распечатает, сколько блоков используется. К сожалению, если вы сделаете это немного неправильно, это приведет к поломке файловой системы, а трата 100 МБ пространства в обмен на отказ от подключения файловой системы - это компромисс, на который большинство людей готовы пойти.

РЕДАКТИРОВАТЬ: Рискуя дать обезьяне автомат и навсегда закрыть ваши файловые системы, следующий процесс сработал для меня с пустой файловой системой:

  • fsck -f /dev/vg/sizetest
  • resize2fs -M /dev/vg/sizetest
  • Возьмите количество блоков (и размер блока) из строки «Изменение размера файловой системы» resize2fs, и вычислим количество задействованных килобайт, умножив количество блоков на размер блока в килобайтах:
    • «Изменение размера файловой системы на / dev / vg / sizetest до 119325 (4k) блоков» означает 119325 * 4 => 477300 (важное число для следующего шага)
  • lvresize -L477300k vg/sizetest
  • На этом этапе, если ваш размер не подходит, вы полностью и полностью скованы - повторное расширение файловой системы не обязательно вернет вам те же блоки в том же порядке.
  • fsck -f /dev/vg/sizetest
  • Перемонтируйте файловую систему, обратите внимание, что df показывает, что файловая система заполнена на 100% и доступно 0 блоков.

Если это скроет вашу критически важную файловую систему, не говорите мне, потому что я просто буду участвовать в продолжительном танце типа «так вам сказали», и никто не хочет видеть, как я танцую. Поверьте мне в этом.

Возможно, это не лучшее решение, но я бы сделал следующее:

  • скопировать данные в другой том
  • измените размер вашего тома (как вы описали) до желаемого размера
  • верните свои данные

Я надеюсь, что у кого-то есть лучшее решение, но это должно, по крайней мере, работать, если другое не работает.