Ubuntu: измените размер корневого раздела LVM (2?)


10

У меня есть виртуальная машина Ubuntu, работающая в VirtualBox 2.2.4, и я создал ее на 8-гигабайтном виртуальном диске, который слишком мал.

Итак, я пытаюсь увеличить размер диска. Пока что я сделал это:

  1. Создан новый больший виртуальный диск
  2. Добавил 2-й диск к машине
  3. Использовал CloneZilla для клонирования первого диска на 2-й диск
  4. Убрал первый диск
  5. Загрузился с 2-го (больший диск)

Но теперь я все еще застрял с разделом 8 ГБ на моем новом виртуальном диске 100 ГБ.

Какой самый простой путь отсюда к разделу 100 ГБ? :) Я полагаю, что GPart может изменять размеры разделов, но, похоже, он не поддерживает разделы LVM2, как мне кажется.

Спасибо

  • Alex

Ответы:


5

В общем, вот как изменить размеры томов LVM:

Скажем Давайте /mountpointна /dev/VolGroup00/mountpoint. Вы можете узнать это, проверив /etc/fstabили запустив mount -l.

Вам также может понадобиться изменить размер физического тома в зависимости от настроек. Используйте, pvdisplayчтобы узнать, достаточно ли он велик, и используйте pvresize(как lvresizeпоказано ниже), если необходимо.

umount /mountpoint
lvresize -L +<HOW MUCH BIGGER> /dev/VolGroup00/mountpoint
e2fsck -f /dev/VolGroup00/mountpoint
resize2fs /dev/VolGroup00/mountpoint <TOTAL SIZE>
mount /mountpoint

Это равняется размонтированию, изменению размера основного LVM, а затем изменению размера фактического раздела ext3.

Несколько вещей, чтобы быть осторожным:

  1. Очевидно, что игра /будет отличаться от раздела данных. Вам может понадобиться загрузочный диск, такой как Sysrescuecd вместо Doing It Live. Также см. Комментарий Кристофа ниже - вы можете сделать это без размонтирования /.
  2. У lvresize есть несколько различных синтаксических опций, и сокращение логического тома, вероятно, повредит оверлейному разделу. Проконсультируйтесь с местными справочными страницами для получения дополнительной информации.

Спасибо, это выглядит многообещающе, можете ли вы предложить мне LiveCD, на котором есть инструменты LVM?
user12259

Sysrescuecd хорош ( sysresccd.org )
Zoredache

5
ext2 / 3/4 поддерживает динамическое расширение вашей файловой системы. Вам не нужно размонтировать или e2fsck ваши разделы. resize2fs также достаточно умен, чтобы определить размер раздела (или логического тома), на котором он находится. Если вы не укажете размер, он просто увеличится, чтобы заполнить все доступное пространство.
Кристоф Провост

Я попытался "sudo resize2fs / dev / sda1", и он ответил: "resize2fs: устройство или ресурс занят при попытке переписать / dev / sda1 Не удалось найти действительный суперблок файловой системы"
user12259

1
lvresize не меняет размер физического тома, так что мне сначала не нужно это делать?
user12259

2

Был один (и только один) способ сделать это, и я попробовал множество.

Сначала клонируйте гостевую виртуальную машину Ubuntu в virtualbox, щелкнув ее правой кнопкой мыши и выбрав «клонировать». Как только клон закончен, расширьте клонированный vdi с помощью (На хост-ОС)

VBoxManage modifyhd "name_of_cloned_vdi" --resize "size_of_new_root_partition_in_MB"

Затем - следуйте инструкциям в этом посте к письму (он называет VMware платформой, но игнорирует это)

http://blog.campodoro.org/?p=36

Это создаст другой lvm, точно эквивалентный по размеру добавленному вами дополнительному пространству, и прикрепит его к концу существующего.

После того, как вы проверили все хорошо, вы можете удалить оригинальную виртуальную машину и рекламировать свой клон!

Нет необходимости возиться с fdisk и беспокоиться об удалении или порче неправильного раздела.

Должно быть, я сломал около 4 клонированных ОС, пока не нашел это решение!


2

Я только что сделал это, и у меня возник тот же вопрос, что и у вас, но вместо того, чтобы создать новый LVM и добавить его в группу томов, сторона OCD хотела изменить размер моего текущего LVM и, таким образом, сохранить один раздел во имя простоты. Примечание: я не верю, что это возможно, если свободное пространство не сразу следует за разделом, размер которого вы изменяете!

Для этого вам понадобится инструмент, который может удалять и создавать таблицы разделов. Поскольку я использую GPT, это означало, что мне нужен gdisk . Вам также нужно будет сделать это с отключенным разделом, так что вы можете захотеть загрузиться с Ubuntu LiveCD и запустить его оттуда.

Следующие шаги, выделенные жирным шрифтом, относятся к примеру LVM / dev / mms / root на устройстве / dev / sda , где я хотел развернуть раздел / dev / sda3, чтобы он занял мое новое свободное место.

ПРИМЕЧАНИЕ : они потенциально очень разрушительны, поэтому убедитесь, что ваши данные верны!

  1. gdisk / dev / sda (убедитесь, что вы ввели правильное устройство!). Это приведет вас к gdisk, где вы сможете выполнить следующие шаги по порядку
    1. p - выводит информацию о вашем текущем разделе (для справки)
    2. d - для удаления таблицы разделов
    3. 3 - номер устройства, представляющий таблицу разделов, которую вы хотите удалить (важно!)
    4. n - для создания таблицы разделов
    5. 3 - номер устройства, представляющий таблицу разделов, которую вы хотите создать (вы, вероятно, захотите использовать то же, что вы удалили на шаге 3)
    6. p - выводит информацию о вашем текущем разделе (снова для справки, сравните с тем, с чего вы начали!)
    7. w - сохраняет ваши изменения на диск (вы уверены, что ?!)
  2. pvresize / dev / sda3 - вам может потребоваться перезагрузка, прежде чем сделать это, чтобы ваша ОС распознала новый размер раздела
  3. pvdisplay - распечатывает вашу текущую информацию (она должна показать, что она использует все пространство!)
  4. lvresize -l + 100% БЕСПЛАТНО / dev / mms / root - изменяет размер моего LVM, чтобы занять 100% моего вновь обретенного пространства
  5. e2fsck -f / dev / mms / root - выполняет проверку целостности
  6. resize2fs -p / dev / mms / root - изменяет размер файловой системы, чтобы занять весь LVM

После выполнения вышеперечисленных действий и перезапуска операционной системы, размер которой изменился, все заработало, как и ожидалось, и у меня было все свободное пространство!

Дополнительные ссылки, которые я использовал, чтобы понять все это:

http://www.jethrocarr.com/2012/08/10/gdisk-oh-glorious-gdisk/ http://people.virginia.edu/~ll2bf/docs/quickref/lvm.html


1

Смотрите соответствующий ответ здесь.

(Выдержка)

Изменение размера физического объема:

pvresize --verbose --test /dev/md0

Изменение размера логического тома:

lvresize --verbose -L <SIZE> --test /dev/VG1/LV1

И, наконец, изменение размера ext3 FS:

resize2fs /dev/VG1/LV1

Когда я делаю lvresize, я получаю сообщение об ошибке «Не удалось приостановить root»
user12259

Я попытался: "sudo lvresize --verbose -L 40G / dev / ubuntu / root"
user12259

хорошо, я исправил это с помощью "sudo modprobe dm-mod", теперь я могу успешно lvresize
user12259

fdisk -lпоказывает, что у меня доступно 54 ГБ, но после запуска pvresize /dev/sda2; lvresize -L 50G /dev/mapper/VolGroup-lv_rootпоявляется сообщение об ошибке «Недостаточно свободного места: требуется 588 экстентов, но доступно только 0». pvdisplayпоказывает, что мой физический объем не был изменен.
Церин

Вы действительно должны задать новый вопрос. Комментарии к старому вопросу - не лучший способ получить помощь.
Зоредаче

1

Обратите внимание, что вам на самом деле не нужно использовать инструмент клонирования, такой как CloneZilla, вы можете поместить раздел на новый виртуальный диск (необязательно), а затем инициализировать этот (или сам виртуальный диск) в LVM с помощью pvcreateкоманды. Затем используйте, vgextendчтобы добавить это в группу томов, поддерживающих ваш логический том, затем используйте vgreduceдля удаления исходного виртуального диска из группы томов. Это выполнит миграцию, и ее можно будет выполнить в режиме реального времени, пока используется логический том, в этом и заключается прелесть виртуализации хранилища. После завершения вам просто нужно расширить логический том, как описано выше, что также можно сделать живым с более современными файловыми системами, чем ext3.


1

I. Если ваш виртуальный жесткий диск имеет фиксированный размер, вы не сможете увеличить его. В этом случае вы должны сначала клонировать его.

(1) Клонировать жесткий диск через графический интерфейс VB: File -> Virtual Media Manager... -> [tab] Hard Drives -> select your HDD -> [button] Next -> [button] Next -> select "Dynamically allocated" on the step "Storage on physical hard drive"-> ...

или в командной строке:

# VBoxManage clonehd "/path/to/the/HDD.vdi" "/path/to/the/HDD_NEW.vdi"

(2) Добавьте новый HDD в список известных HDD.

(3) В настройках машины VB удалите старый жесткий диск из списка VDI под контроллером и вместо него добавьте новый.

II. Изменить размер жесткого диска

(1) Измените размер нового жесткого диска.

# VBoxManage modifyhd 463c7bd4-9b9c-4cf8-bee4-e14e10c0d462 --resize 25600

Вы получаете ключ с VBoxManage list hdds командой.

III. Добавьте новое выделенное пространство.

(1) Добавьте GParted ISO в качестве нового носителя Machine Settings -> Storage -> [rightclick] Controller IDE -> Add CD / DVD Device -> ...и выберитеLive CD/DVD флажок.

(2) Запустите виртуальную машину и добавьте нераспределенное свободное пространство в ваш рабочий раздел.

(3) Остановите ВМ.

(4) Отсоедините GParted ISO.

Наслаждайтесь! :)



0

При изменении размера раздела LV2 эта ссылка мне очень помогла:

http://people.virginia.edu/~ll2bf/docs/quickref/lvm.html

Обратите внимание, что вам не нужно использовать какой-либо live cd, вы можете изменить размер намонтированной живой системы, изменяя размеры на лету.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.