Как я могу изменить размер раздела LVM? (то есть: физический объем)

Я хочу уменьшить свой второй (LVM) раздел, чтобы создать новый раздел во вновь освобожденном пространстве. Я использую Live CD для этого, потому что я знаю, что не могу изменить размер / переместить этот раздел, пока он используется. Когда я открыл GParted на Live CD, я понял, что не могу изменить размер раздела, потому что когда я щелкаю его правой кнопкой мыши, опция «изменить размер / перемещать» отключается.

Я пытался размонтировать его, «ленивый» размонтировать (umount -l /dev/sda2), но это не сработало.

Скриншот из GParted:

GParted screenshot

104
задан 26 November 2012 в 23:11

9 ответов

Я бы порекомендовал другой инструмент с графическим интерфейсом - KVPM . Он сочетает в себе функциональность GParted и system-config-lvm. Более того, он позволяет выполнять некоторые операции с живыми (смонтированными) разделами, которые system-config-lvm не позволяет . Однако для сжатия том необходимо размонтировать.

enter image description here enter image description here

Он находится в репозитории Universe начиная с Ubuntu 12.04. , так что просто выполните sudo apt-get install kvpm

Примечание: запустите его с правами суперпользователя sudo kvpm

17
ответ дан 26 November 2012 в 23:11

Вы можете очень легко уменьшить/расширить логический том с помощью GUI-инструмента: system-config-lvm. Поскольку system-config-lvm не поставляется предварительно установленным, после загрузки с live-cd, вы должны установить его:

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install system-config-lvm

После установки, запустите программу, выберите логический том, который хотите изменить в левой панели, нажмите кнопку "Edit Properties" (Редактировать свойства).

Main Logical Volume Management program GUI

Теперь измените параметры по своему усмотрению!

Edit Logical Volume window

Хорошая вещь в system-config-lvm заключается в том, что она не позволит вам продолжить установку, если размер нового раздела будет меньше, чем все существующие данные вместе взятые (я только что попробовал и сам убедился в этом).

Ссылки:

  1. How-To Geek tutorial (вот происхождение изображений).
  2. Red Hat's complete guide для программы.
49
ответ дан 26 November 2012 в 23:11

Похоже, что в Google, где у людей были подобные проблемы, результатов много. Пример:

Сделайте резервную копию всех ваших важных данных, прежде чем пытаться это сделать. Всегда предполагайте, что при изменении размера разделов вы можете потерять все свои данные.

Уменьшить LVM без потери данных

Этот поток форума предлагает следующую процедуру, в этом примере мы уменьшаем раздел с 10G до 9G:

Сначала мы размонтируем.

sudo umount /dev/vg_blah/lv_blah

Проверьте файловую систему.

sudo e2fsck -f /dev/vg_blah/lv_blah

Изменение размеров файловой системы и логического тома. Делая это за один шаг, можно избежать ошибок, которые приводят к потере данных. (Примечание lvreduce параметр -L интерпретирует G как 2^30 байт и g как 10^9 байт.)

sudo lvreduce --resizefs -L 9G /dev/vg_blah/lv_blah.

(опционально) При необходимости удалите физический диск из группы томов (если у вас теперь есть неиспользуемый диск).

sudo vgreduce vg_blah /dev/sdxy

Весь кредит идет на brianmcgee.

Примечание: vgreduce не сможет изменить размер с до xxxxx экстенсивности, так как более поздние из них выделяются, если у вас есть другой lv в конце диска - у меня был swap lv, который я удалил. Смотрите Как уменьшить логические и физические тома Ubuntu LVM? для справки по этой ситуации.

58
ответ дан 26 November 2012 в 23:11

Примечание : Вы должны запускать почти все следующие команды, используя Live CD. Иногда требуется, чтобы вы размонтировали раздел, который уже смонтирован на / (в этом случае вы не можете его размонтировать).

Это все шаги, необходимые для изменения размера раздела LVM или LVM2:

sudo lvresize --verbose --resizefs -L -150G /dev/mapper/ubuntu

sudo pvresize --setphysicalvolumesize {some-space} /dev/sda5

Если вторая команда производит примерно так:

/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.

Затем вам нужно переставить нераспределенное пространство в конце LVM. Это означает, что после раздела root и swap_1. Итак, сначала вам нужно проверить информацию о физических томах, используя следующую команду:

sudo pvs -v --segments /dev/sda5

Это покажет вывод, подобный:

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx sss 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g zzz ttt swap 0 linear /dev/sda5:yyy-www

Обратите внимание на yyy-www . Используйте следующую команду, чтобы удалить внешнюю фрагментацию:

sudo pvmove --alloc anywhere /dev/sda5:yyy-www

Теперь давайте посмотрим, как это происходит:

sudo pvs -v --segments /dev/sda5

Это покажет результат вроде (обратите внимание на изменения):

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx ttt swap 0 linear /dev/sda5:xxx-sss
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy www 0 free

После этого используйте GParted и измените размер LVM на максимальная используемая площадь, а остальное будет в нераспределенном пространстве. Наслаждайтесь ...

24
ответ дан 26 November 2012 в 23:11

Только последняя версия Gparted (0.14) поддерживает изменение размера физических томов LVM. Версия, поставляемая с Ubuntu 12.10 или 13.04, не поддерживает его.

Вот как изменить размер физического тома LVM:

  1. Если в группе томов, связанной с физическим томом LVM, недостаточно нераспределенного пространства, вам понадобится сделать некоторые, сжав логический том. Инструкции о том, как это сделать, можно найти в ответе bigbadonk420 . Вы также можете использовать диски GNOME (включены в Ubuntu)для некоторых шагов, если вы предпочитаете графический интерфейс.

  2. Запишите последний образ .iso с веб-сайта GParted и запишите его на компакт-диск или поместите на USB-накопитель. Загрузитесь с компакт-диска или USB-накопителя. В качестве альтернативы вы можете скомпилировать последнюю версию GParted из исходного кода.

  3. Используйте GParted для изменения размера физического тома LVM. GParted не позволит вам сжать физический том LVM до размера, меньшего, чем позволяет нераспределенное пространство.

12
ответ дан 26 November 2012 в 23:11

Я нашел этот ответ случайно, но это сработало, по крайней мере, для меня. В моем случае у меня уже было зарезервированное нераспределенное место на диске после корня, поэтому я пропускаю часть о том, как получить больше места и просто объясняю, как я использовал его в корне без загрузки.

ПРИМЕЧАНИЕ: Вместо использования gparted, вам, наверное, лучше использовать system-config-lvm. В следующий раз, когда я буду использовать вместо этого... Моя версия gparted была 0.18.

  1. Сначала я использовал gparted, чтобы расширить корневой раздел как можно больше. К моему удивлению, она расширила только физические размеры и ничего не сделала с логической частью. Поэтому команда df -k сказала, что диск все еще полон.
  2. lvresize -l +100%FREE /dev/ubuntu-vg/root расширяет логический раздел настолько, насколько это возможно. Нет необходимости проверять и вычислять гигабайты или блоки различными способами.
  3. resize2fs /dev/ubuntu-vg/root является третьим шагом, который я сделал: он расширяет файловую систему до размера логического раздела.

Последний шаг можно объединить во второй:

lvresize -l +100%FREE --resizefs /dev/ubuntu-vg/root

11
ответ дан 26 November 2012 в 23:11

В дополнение к @bigbadonk420 ответ , Вместо того, чтобы делать следующее:

resize2fs -p /dev/vg_blah/lv_blah 9G
lvreduce -L -1G /dev/vg_blah/lv_blah

Do:

lvreduce -r -L 9G /dev/vg_blah/lv_blah

Обратите внимание на -r, которая одновременно уменьшает файловую систему и является безопасной.

1
ответ дан 26 November 2012 в 23:11

Предупреждение о ответе , получившем наибольшее количество голосов: Чтобы НЕ уничтожить новую установку по умолчанию с опцией LVM (14.04 Trusty Tahr), 1) прочитать всю страницу, 2) удалить своп 3) и, возможно, изменить команду для «Уменьшить размер логического тома» вот так:

lvreduce -L -1g /dev/vg_blah/lv_blah

Я настоятельно рекомендую system-config-lvm .

0
ответ дан 26 November 2012 в 23:11

Чтобы сделать это с помощью GParted, щелкните правой кнопкой мыши на dev / sda2 (которую вы хотите уменьшить). Выберите «Деактивировать». Теперь вы сможете изменить размер вашего раздела lvm.

Обновление: решение @Cao Min Tu намного лучше. У меня было несколько проблем с GParted после изменения размера

0
ответ дан 26 November 2012 в 23:11

Другие вопросы по тегам:

Похожие вопросы: