Я хочу уменьшить свой второй (LVM) раздел, чтобы создать новый раздел во вновь освобожденном пространстве. Я использую Live CD для этого, потому что я знаю, что не могу изменить размер / переместить этот раздел, пока он используется. Когда я открыл GParted на Live CD, я понял, что не могу изменить размер раздела, потому что когда я щелкаю его правой кнопкой мыши, опция «изменить размер / перемещать» отключается.
Я пытался размонтировать его, «ленивый» размонтировать (umount -l /dev/sda2
), но это не сработало.
Скриншот из GParted:
Я бы порекомендовал другой инструмент с графическим интерфейсом - KVPM . Он сочетает в себе функциональность GParted и system-config-lvm. Более того, он позволяет выполнять некоторые операции с живыми (смонтированными) разделами, которые system-config-lvm не позволяет . Однако для сжатия том необходимо размонтировать.
Он находится в репозитории Universe начиная с Ubuntu 12.04. , так что просто выполните sudo apt-get install kvpm
Примечание: запустите его с правами суперпользователя sudo kvpm
Вы можете очень легко уменьшить/расширить логический том с помощью 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" (Редактировать свойства).
Теперь измените параметры по своему усмотрению!
Хорошая вещь в system-config-lvm
заключается в том, что она не позволит вам продолжить установку, если размер нового раздела будет меньше, чем все существующие данные вместе взятые (я только что попробовал и сам убедился в этом).
Ссылки:
Похоже, что в Google, где у людей были подобные проблемы, результатов много. Пример:
Сделайте резервную копию всех ваших важных данных, прежде чем пытаться это сделать. Всегда предполагайте, что при изменении размера разделов вы можете потерять все свои данные.
Этот поток форума предлагает следующую процедуру, в этом примере мы уменьшаем раздел с 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? для справки по этой ситуации.
Примечание : Вы должны запускать почти все следующие команды, используя 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 на максимальная используемая площадь, а остальное будет в нераспределенном пространстве. Наслаждайтесь ...
Только последняя версия Gparted (0.14) поддерживает изменение размера физических томов LVM. Версия, поставляемая с Ubuntu 12.10 или 13.04, не поддерживает его.
Вот как изменить размер физического тома LVM:
Если в группе томов, связанной с физическим томом LVM, недостаточно нераспределенного пространства, вам понадобится сделать некоторые, сжав логический том. Инструкции о том, как это сделать, можно найти в ответе bigbadonk420 . Вы также можете использовать диски GNOME (включены в Ubuntu)для некоторых шагов, если вы предпочитаете графический интерфейс.
Запишите последний образ .iso с веб-сайта GParted и запишите его на компакт-диск или поместите на USB-накопитель. Загрузитесь с компакт-диска или USB-накопителя. В качестве альтернативы вы можете скомпилировать последнюю версию GParted из исходного кода.
Используйте GParted для изменения размера физического тома LVM. GParted не позволит вам сжать физический том LVM до размера, меньшего, чем позволяет нераспределенное пространство.
Я нашел этот ответ случайно, но это сработало, по крайней мере, для меня. В моем случае у меня уже было зарезервированное нераспределенное место на диске после корня, поэтому я пропускаю часть о том, как получить больше места и просто объясняю, как я использовал его в корне без загрузки.
ПРИМЕЧАНИЕ: Вместо использования gparted
, вам, наверное, лучше использовать system-config-lvm
. В следующий раз, когда я буду использовать вместо этого... Моя версия gparted была 0.18.
gparted
, чтобы расширить корневой раздел как можно больше. К моему удивлению, она расширила только физические размеры и ничего не сделала с логической частью. Поэтому команда df -k
сказала, что диск все еще полон.lvresize -l +100%FREE /dev/ubuntu-vg/root
расширяет логический раздел настолько, насколько это возможно. Нет необходимости проверять и вычислять гигабайты или блоки различными способами.resize2fs /dev/ubuntu-vg/root
является третьим шагом, который я сделал: он расширяет файловую систему до размера логического раздела. Последний шаг можно объединить во второй:
lvresize -l +100%FREE --resizefs /dev/ubuntu-vg/root
В дополнение к @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
, которая одновременно уменьшает файловую систему и является безопасной.
Предупреждение о ответе , получившем наибольшее количество голосов: Чтобы НЕ уничтожить новую установку по умолчанию с опцией LVM (14.04 Trusty Tahr), 1) прочитать всю страницу, 2) удалить своп 3) и, возможно, изменить команду для «Уменьшить размер логического тома» вот так:
lvreduce -L -1g /dev/vg_blah/lv_blah
Я настоятельно рекомендую system-config-lvm
.
Чтобы сделать это с помощью GParted, щелкните правой кнопкой мыши на dev / sda2 (которую вы хотите уменьшить). Выберите «Деактивировать». Теперь вы сможете изменить размер вашего раздела lvm.
Обновление: решение @Cao Min Tu намного лучше. У меня было несколько проблем с GParted после изменения размера