Proxmox уменьшить размер диска виртуальной машины

Contents

1. Resizing guest disk

General considerations

When you resize the disk of a VM, to avoid confusion and disasters think the process like adding or removing a disk platter.

If you enlarge the hard disk, once you have added the disk plate, your partition table and file system knows nothing about the new size, so you have to act inside the VM to fix it.

If you reduce (shrink) the hard disk, of course removing the last disk plate will probably destroy your file system and remove the data in it! So in this case it is paramount to act in the VM in advance, reducing the file system and the partition size. SystemRescueCD comes very handy for it, just add its iso as cdrom of your VM and set boot priority to CD-ROM.

Shrinking disks is not supported by the PVE API and has to be done manually.

Another page (deleted) with overlapping content was Resizing disks | Archive

qm command

You can resize your disks online or offline with command line:

exemple: to add 5G to your virtio0 disk on vmid100:

For virtio disks:

Linux should see the new size online without reboot with kernel >= 3.6

Windows should see the new size online without reboot with last virtio drivers.

for virtio-iscsi disk:

Linux should see the new size online without reboot with kernel >= 3.7

Windows should see the new size online without reboot with last virtio drivers.

2. Enlarge the partition(s) in the virtual disk

Depending on the installed guest there is several diffent ways to resize the partions

Offline for all guests

Use gparted or similar tool (recommended)
In gparted and possibly most other tools, LVM and Windows dynamic disc is not supported

Boot the virtual machine with gparted or similar tool, enlarge the partion and optionally the file system. With som linux clients you often need to enlarge the extended partion, move the swappartion, shrink the extended partion and enlarge the root partion. (or simple delete the swap and partion andre create it again — but remember to activwate the swap agin (last step).
Gparted have some warnings about some specific operations not well supported with windows guest — outside the scope of this document but read the warnings in gparted.

Читайте также:  Drs savesettings failed nvapi access denied

Online for Windows Guests

  • Guest is Windows 7, Windows Vista or Windows Server 2008
  • logon as administrator and extend the disk and filesystem (Using Disk manager)
  • For more info www.petri.co.il/extend-disk-partition-vista-windows-server-2008.htm
  • Guest is Windows 10: logon as administrator and extend the disk and filesystem (Using Disk manager). If you do not see the ability to extend the disk (i.e. nothing seems to have happened as a result of using the resize command), go to the Windows command prompt and do a: shutdown -s -t 0 (This is a "normal" shutdown, as opposed to the "fast" shutdown that’s the default for Win 8 and onwards.) After a reboot, you’ll now see the ability to expand the disk.

Online for Linux Guests

Here we will enlarge a LVM PV partition, but the procedure is the same for every kind of partitions. Note that the partition you want to enlarge should be at the end of the disk. If you want to enlarge a partition which is anywhere on the disk, use the offline method.

  • Check that the kernel has detected the change of the hard drive size

(here we use VirtIO so the hard drive is named vda)

  • Print the current partition table
  • Resize the partition 3 (LVM PV) to occupy the whole remaining space of the hard drive)
  • Check the new partition table

3. Enlarge the filesystem(s) in the partitions on the virtual disk

If you did not resize the filesystem in step 2

Online for Linux guests with LVM

Enlarge the physical volume to occupy the whole available space in the partition:

Enlarge the logical volume and the filesystem (the file system can be mounted, works with ext4 and xfs)

Online for Linux guests without LVM

Enlarge the filesystem (in this case root is on vda1)

Путь IT-шника, иногда сложнее, чем путь самурая…

В данном посте речь пойдет о изменение размера дисков у виртуальных машин под Proxmox (KVM) контейнеры которых расположены на томах LVM и внутри которых (машин) крутится Windows.

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

Читайте также:  The installer has detected corrupted avast

Я надеюсь все в курсе, что Proxmox позволяет через свой интерфейс увеличивать размер жесткого диска машины, но вот уменьшить, не позволяет. Сделано это ИМХО для того, что бы не убить машину при заходе на файловую систему машины.

Если выключить машину, увеличить размер диска, а потом снова включить, машина ничего не заметит, но в управление дисками у жесткого диска появится не распределенное место. Растянуть файловую систему на свободное место начиная с висты можно стандартными средствами, для ХР можно применить образ Hiren и встроенные в него дисковые утилиты, по типу Partition Magic.

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

С уменьшением все точно так же, но через консоль.

Для примера уменьшим диск виртуальной машины с 2008 сервером на борту.

На данный момент размер диска 82G, я хочу уменьшить его до 30G. Диск виртуальной машины находится в LVM хранилище с именем VM.

Первым делом, сжимаем файловую систему до нужного размера.

Осталось 51,9G которые надо отрезать.

Заходим в консоль сервера и смотрим какие диски у нас есть, набрав команду lvs

Диск виден и имеет такой же размер, как в веб морде, все нормально, можно продолжать.

Набираем команду lvdisplay и в выводе ищем нужный нам диск.

Смотрим точку монтирования, в моем случае это /dev/vm/vm-107-disk-1

Теперь можно уменьшать диск, но надо учесть 2 вещи. Во первых, в отличие от увеличения диска, мы не указываем сколько хотим «отрезать» от диска, мы указываем размер диска, который должен получится. А во вторых, не в коем случае нельзя делать диск меньше чем файловая система, это уничтожит все данные внутри виртуального диска, причем может повезти так, что данные нельзя будет восстановить даже спец программами.

Поэтому, лучше пересчитать объем диска в мегабайты, накинуть сверху еще пару метров и уже до этой цифры уменьшать.

Уменьшаем размер диска командой lvreduce -L 30726M /dev/vm/vm-107-disk-1

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

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

В настройках самой машины, размер диска не изменился, как и внутри машины.

Но его размер изменился в хранилище VM.

Читайте также:  Как правильно нарисовать звездочку

Теперь надо в настройках виртуальной машины удалить диск, встать на получившийся «Неиспользуемый диск«, нажать кнопку «Редактировать» и вернуть диск на место, с теми же настройками.

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

Смотрите так же:

  • Время отклика и генерации страницы Время отклика и генерации любой страницы в internet можно получить так: curl -o /dev/null -s -w […]
  • Коды завершения shell скриптов При написание очередного скрипта задумался над кодами выхода, при ошибке, shell не навязывает какие то определенные […]
  • Как посмотреть аптайм windows и Linux (uptime Windows & Linux) Для просмотра непрерывного времени работы (uptime) в linux существует одноименная команда: uptime Вывод у нее такой: […]
  • UPnP в Linux, а точнее, в Debian или торрент/DC++ через роутер Для того чтобы клиенты могли прозрачно открывать порты на шлюзе, был разработан набор протокол Universal Plug and […]
  • Коммерциализация Proxmox VE (ошибка репозитория) Недавно я написал статью об установке Proxmox VE на Debian 7 (Wheezy), с недавнего времени […]
  • Удаление OpenVZ Web Panel Все знаю эту замечательную, а главное бесплатную панель управления виртуальными машинами. Многие из тех кто знает, […]

Изменение размеров дисков виртуальных машин Proxmox (KVM) на LVM : 3 комментария

С динамическими дисками без предварительного бэкапа не советую делать, данные потеряете. Корректно срабатывает только с базовыми.

А вот с увеличением не все так ясно! Вы говорите, как о чем то очевидном, но как же увеличить объем диска? В proxmoxe нет кнопки увеличить размер.

Как же нет, есть она, на этой картинке ее даже видно http://cdn.itroad.ru/wp-content/uploads/2014/03/proxmox3.png

Resize disk называется

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Поиск по блогу

6 дек. 2016 г.

Proxmox kvm — изменение размера lvm диска

Увеличение
1) увеличить размер диска виртуальной машины:
— в web-интерфейсе выбрать VM, в разделе "Ресурсы" выбрать диск, нажать кнопку "Resize disk" и указать число XX Гб для увеличения (уменьшить размер lvm через web-интерфейс нельзя).
— в консоли:
перезагрузить ВМ, чтобы "перечитать" диск нового размера (возможно как-либо можно пересканировать диск, чтобы он увидел новый размер и не упала ФС).

2) увеличить размер раздела (онлайн):

3) увеличить размер ФС:

Увеличить оффлайн — по примеру уменьшения размера.

Уменьшение
1) выключить виртуальную машину

2) уменьшить размер ФС до минимального размера:

просмотр параметров ФС

3) уменьшить размер диска виртуальной машины:

4) уменьшить размер раздела:

5) увеличить размер ФС до максимального размера:

Оцените статью
Добавить комментарий