Как изменить разделы на виртуальной машине Ubuntu?

Оригинальный вопрос: Как изменить размер корневого раздела без live CD?

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

Это моя текущая таблица разделов, и цель состоит в том, чтобы объединить /dev/vda1 и /dev/vda2.
vda1 - мой текущий корневой раздел
vda2 - расширенный раздел, содержащий vda5 (swap)

Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    18874367     9436160   83  Linux
/dev/vda2        18876414    20969471     1046529    5  Extended
/dev/vda5        18876416    20969471     1046528   82  Linux swap / Solaris

Это было бы просто с Gparted и live CD, но Я могу только ssh на сервер или открыть его в virt-manager, но это все еще только командная строка. Как я могу изменить размер корневого раздела?

ВМ - сервер Ubuntu 12.04.

2
задан 22 August 2013 в 20:07

4 ответа

Необходимо соединить VM с ISO живого CD - файл, который можно загрузить. Я предполагаю, что Вы не используете Инструмент GUI (как virt-менеджерInstall virt-manager), таким образом, необходимо будет сделать это из командной строки.

Можно использовать virsh получить XML-файл конфигурации VM (я назвал свой VM qemu1)

virsh dumpxml qemu1 > qemu1-config.xml

Теперь отредактируйте тот файл, ищите что-то как

<disk type='file' device='cdrom'>
  <driver name='qemu' type='raw'/>
  <target dev='hdc' bus='ide' tray='open'/>
  <readonly/>
  <alias name='ide0-1-0'/>
  <address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>

и замените его

<disk type='file' device='cdrom'>
  <driver name='qemu' type='raw'/>
  <source file='/media/data/isos/gparted-live-0.13.0-1.iso'/>
  <target dev='hdc' bus='ide'/>
  <readonly/>
  <address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>

Важные моменты

  • адаптируйте пути и имена файлов
  • строка <source file=.../> содержит изофайл
  • строка <target .../> не должен содержать tray open теперь

И теперь Вы осуществляете новые настройки с

virsh define qemu1-config.xml

VM будет нужен перезапуск.

3
ответ дан 22 August 2013 в 20:07

Вот что в итоге сработало:

Увеличьте файл img (образ виртуального диска) для ВМ:

1. sudo qemu-img create -f raw addon.raw 10G Создайте сырой файл диска

2. sudo mv domain.img domain.old.img резервный ток img

3. sudo cat domain.old.img addon.raw >> domain.img объединить оригинал и дополнительный файл для создания нового файла img большего размера.

Теперь у нас есть увеличенное изображение, но у виртуальной машины все еще есть старая таблица разделов. Теперь сложная часть

Следующие шаги выполняются на хост-машине с выключением виртуальной машины

Скачать iso-файл для gparted:

wget -c http://sourceforge.net/projects/gparted/files/gparted-live-stable/0.6.4-1/gparted-live-0.6.4-1.iso

[ 1127] Загрузите iso с виртуальным образом в качестве жесткого диска в виртуальной системе

Команда: kvm -m 512 -hda domain.img -cdrom gparted-live-0.6.4-1.iso -boot d

Мы в основном запускаем виртуальную систему kvm, которая будет загружаться из cdrom -boot d и gparted находится в cdrom -cdrom gparted-live-0.6.4-1.iso и в этой виртуальной системе обрабатывает domain.img как жесткий диск -hda domain.img и выделяет 512 Мб памяти для этой виртуальной системы -m 512.

Теперь появляется gparted с симпатичным графическим интерфейсом (возможно, также с параметром командной строки), готовым переразбить ваш виртуальный диск.

Теперь вы можете управлять таблицей разделов так же, как вы использовали liveCD на реальной машине.

Большая часть этой информации была взята из этого блога Крисом Уолденом.

Спасибо @guntbert за то, что он направил меня в правильном направлении (т.е. можно загрузить виртуальную машину с liveCD).

0
ответ дан 22 August 2013 в 20:07

Вы можете использовать gParted и resize из командной строки. Тип ...

sudo -i
parted

Он покажет

GNU Parted 1.7.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

list покажет много команд ...

(parted) list
  check NUMBER                             do a simple check on the file system
  cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER   copy file system to another partition
  help [COMMAND]                           prints general help, or help on COMMAND
  mklabel LABEL-TYPE                       create a new disklabel (partition table)
  mkfs NUMBER FS-TYPE                      make a FS-TYPE file system on partititon NUMBER
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  mkpartfs PART-TYPE FS-TYPE START END     make a partition with a file system
  move NUMBER START END                    move partition NUMBER
  name NUMBER NAME                         name partition NUMBER as NAME
  print [free|NUMBER|all]                  display the partition table, a partition, or all devices
  quit                                     exit program
  rescue START END                         rescue a lost partition near START and END
  resize NUMBER START END                  resize partition NUMBER and its file system
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  displays the current version of GNU Parted and copyright information

  • print покажет расположение диска и добавит номер к диску;
  • resize {number} позволит вам изменить размер диска. [ 118]
  • Это будет работать только на размонтированных разделах;)

Я никогда не использовал его таким образом, поэтому будьте осторожны при вводе команд.

0
ответ дан 22 August 2013 в 20:07

Вы можете использовать parted инструмент командной строки для этого.

Сначала необходимо удалить расширенный раздел.

список разделов с использованием parted

parted /dev/vda

Запишите номер расширенного раздела. с starting and ending blocks и удалите его.

(parted) rm 2  ( Where is 2 your extended partition no.)  

Проверьте это, не используя

 (parted) print

Вы удалите расширенный раздел. Теперь сделайте основной раздел в оставшемся пространстве.

(parted) mkpart primary <starting block no.>   <ending block no.>

в качестве начального и конечного блоков №. Ранее отмечалось. проверьте это снова

 (parted) print

перезагрузите вашу систему, чтобы получить эффекты.

Измените размер корневого раздела

 resize2fs /dev/vda

Вы должны просто проверить дисковое пространство, используя.

df -lh

Вы получите расширенный корневой раздел.

0
ответ дан 22 August 2013 в 20:07

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

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