- Resize disks
- Contents
- 1. Resizing guest disk
- General considerations
- qm command
- 2. Enlarge the partition(s) in the virtual disk
- Offline for all guests
- Online for Windows Guests
- Online for Linux Guests
- 3. Enlarge the filesystem(s) in the partitions on the virtual disk
- Online for Linux guests with LVM
- Online for Linux guests without LVM
- Как увеличить размер диска LVM на Proxmox VE
- Как увеличить диск LVM на ProxMox VE 5.4
- 1. Настройка размера раздела LVM через Gparted
- 2. Увеличение размера LVM Proxmox через треминал
- Как увеличить размер диска на виртуальной машине?
Resize disks
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.
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)
Как увеличить размер диска LVM на Proxmox VE
Всем привет, хочу поделиться тем как я увеличил диск на виртуальной машине ProxMox без потери данных и без добавления нового раздела диска в группу томов LVM. Установлен сервер ProxMox-VE 5.4 в VirtualBox, весь объем выделенного диска составлял 40GB. В планах увеличить размер LVM логического тома data который входит в группу томов pve.
Сейчас логический том data равен 18.9G. Физический том LVM и Группа томов pve в которую входит логический том data равна 39.5G.
Как увеличить диск LVM на ProxMox VE 5.4
Итак приступим. Сперва выключаем нашу виртуальную машину в программе VirtualBox и добавляем место на диске для нашей виртуальной машины.
Меняем размер на 70ГБ:
На картинке внизу мы видим что у нас получился новый размер диска:
Ниже видно что размер диска sda изменился и стал 70G. Но sda3 раздел диска остался старого размера.
1. Настройка размера раздела LVM через Gparted
Вот так это будет смотреться если вы в VirtualBox на нашей виртуальной машине в оптический привод вставите iso образ LinuxMint, загрузитесь с него и посмотрите через программу Gparted. Видно что физический том LVM не изменился:
Сразу скажу если у вас есть возможность запустить GParted как показано выше, то вы можете и отсюда изменить размер sda3 без потерь следующим образом. Выбираете раздел -> sda3 и в меню, затем Edit ->Resize/Move см. ниже:
Смотрим ниже — тянем коричневую полосу до конца чтобы увеличить размер диска proxmox:
Жмем Resize:
Теперь чтоб применить все изменения нажимаем на галочку:
После выключаем виртуальную машину Proxmox, ставим первой загрузку с жесткого диска -> запускаем виртуальную машину и увидим что размер логической группы pve увеличился на 20G. И после в консоли можно добавить нужный нам размер, например, для логического тома data с помощью команды:
lvextend -L +10G /dev/pve/data
Мы добавили 10G для логического тома data.
2. Увеличение размера LVM Proxmox через треминал
Но бывает так что только через консоль есть возможность изменить размер, и желательно это сделать в самой вирт. машине. Давайте рассмотрим этот вариант. Вернемся к тому что мы добавили нашей виртуальной машине свободного места через VirtualBox, И все выглядит вот так:
Если с LiveCD смотреть то вот так это выглядит:
Итак мы загрузили нашу виртуальную машину Proxmox, зашли на нее по ssh, набрали lsblk, увидели новый размер sda = 70G. Теперь через консоль будем менять размер раздела sda3 а с ним и размер логического тома LMV c именем data:
Первое что нужно сделать это поставить программу parted, это консольная версия программы Gparted:
apt update
apt install parted
После успешной установки заходим в parted и выбираем наш диск /dev/sda. Прошу не путать именно /dev/sda:
Далее смотрим наши разделы с помощью команды print:
Cверху на картинке видим что размер нашего lvm диска 42.4 GB и его номер 3. Будем его изменять. Наберем команду resizepart 3 и жмем Enter:
Далее пишем 100%FREE это значит что увеличиваем диск до максимально возможного и жмем Enter:
После выполнения можно снова выполнить команду print и мы увидим новый размер нашего LVM тома который стал 74.6GB:
Далее выходим с помощью команды quit и жмем Enter:
Теперь проверим как все это выглядит с помощью команды:
Итак на картинке сверху мы видим что размер sda3 раздела стал 69.5G но при этом сам LVM том data мы увеличить не сможем, а будет выходить ошибка, давайте попробуем все таки увеличить логический том LVM, и проверим:
Мы видим что изменения не применялись т.к. недостаточно свободного места. Если мы загрузимся с LiveCD в нашу виртуальную машину и посмотрим через программу Gparted то увидим следующую картину:
Дело в том что раздел sda3 мы увеличили, но при этом сам LVM физический том остался прежним. Физический LVM том — как следствие и группа LVM занимают старый объем. Чтобы это изменить надо растянуть физический LVM том на все свободное место для этого мы применим команду pvresize /dev/sda3 и жмем Enter:
На нижней картинке размер физического тома изменился мы это видим в сообщении:
Physical volume «/dev/sda3» changed
1 physical volume(s) resized / 0 physical volume(s) not resized
Так же мы это заметим если поочередно введем команды pvs (инф. о физических томах), vgs (инф. о группах LVM). А вот vgs (инф. о логических томах) показывает старый объем для data root и swap т. к. нам его еще предстоит изменить.
Вот так теперь отображается в программе Gparted если загрузиться с LiveCD:
Осталось только добавить свободный объем в логический раздел data. Набираем команду:
lvextend -L +20G /dev/pve/data
Наши 20G добавились:
Проверяем изменения вводим поочередно команды:
Видим что для pvs и vgs неизменны параметры, а команда lvs показывает что наш раздел data стал 38.87G мы видим что он увеличился на 20G. Если мы посмотрим предыдущий вывод команды lvs на снимке, то там видно, что логический том data занимает 18.87G:
В вэб интерфейсе нашей машины мы тоже видим изменения в логическом томе data:
Как увеличить размер диска на виртуальной машине?
На реальной машине был установлен proxmox — для виртуализации. Создана виртуальная машина с debian. Сейчас появилась острая необходимость увеличить жесткий на виртуальной машине. В proxmox через веб интерфейс увеличиваю жесткий диск, но никакого эффекта это не даёт. На сколько я понял нужно ещё каким-то образом увеличить размер раздела на виртуальной машине.
Нагуглил команду resize2fs. Но она выдаёт сообщение: «Operation not permitted while opening /dev/simfs»
Что не так? Какова последовательность действий?
- Вопрос задан более трёх лет назад
- 7010 просмотров
OpenVZ SimFS использует для виртуалок хостовую файловую систему. Наверное вам надо увеличить квоту для контейнера.
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.8T 0 disk
├─sda1 8:1 0 512M 0 part
│ └─md0 9:0 0 511.7M 0 raid1 /boot
└─sda2 8:2 0 1.8T 0 part
└─md1 9:1 0 1.8T 0 raid1
├─vg0-root (dm-0) 253:0 0 15G 0 lvm /
└─vg0-swap (dm-1) 253:1 0 6G 0 lvm [SWAP]
sdb 8:16 0 1.8T 0 disk
├─sdb1 8:17 0 512M 0 part
│ └─md0 9:0 0 511.7M 0 raid1 /boot
└─sdb2 8:18 0 1.8T 0 part
└─md1 9:1 0 1.8T 0 raid1
├─vg0-root (dm-0) 253:0 0 15G 0 lvm /
└─vg0-swap (dm-1) 253:1 0 6G 0 lvm [SWAP]
lvresize -L+380G /dev/vg0/root
resize2fs /dev/vg0/root
Вроде все заработало, размер увеличился.
Вот что выдаёт команда: df -h:
Машинка находится за много километров от меня. Вот выдача ещё одной команды:
rootrework:/# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/simfs 945894 115042 830852 13% /
none 1030144 89 1030055 1% /dev
none 1030144 57 1030087 1% /run
none 1030144 1 1030143 1% /run/lock
none 1030144 2 1030142 1% /run/shm
none 1030144 1 1030143 1% /run/user
Вот такой вывод, показывается на основной машине при включенной виртуалке:
# df -h
Filesystem Size Used Avail Use% Mounted on
udev 10M 0 10M 0% /dev
tmpfs 3.2G 328K 3.2G 1% /run
/dev/mapper/vg0-root 15G 14G 310M 98% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 6.3G 28M 6.3G 1% /run/shm
/dev/md0 496M 40M 430M 9% /boot
/dev/fuse 30M 12K 30M 1% /etc/pve
/var/lib/vz/private/100 14G 13G 310M 98% /var/lib/vz/root/100
none 4.0G 4.0K 4.0G 1% /var/lib/vz/root/100/dev
none 805M 44K 805M 1% /var/lib/vz/root/100/run
none 5.0M 0 5.0M 0% /var/lib/vz/root/100/run/lock
none 2.4G 0 2.4G 0% /var/lib/vz/root/100/run/shm
none 100M 0 100M 0% /var/lib/vz/root/100/run/user
/var/lib/vz/private/100 — Вот она моя виртуальная машина, которой нужно увеличить объем с 14G до 400G