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:
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
Online for Windows Guests
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.
(here we use VirtIO so the hard drive is named vda)
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 не изменился:
Жмем Resize:
Теперь чтоб применить все изменения нажимаем на галочку:
Мы добавили 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 то увидим следующую картину:
На нижней картинке размер физического тома изменился мы это видим в сообщении:
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. Набираем команду:
Наши 20G добавились:
Проверяем изменения вводим поочередно команды:
Видим что для pvs и vgs неизменны параметры, а команда lvs показывает что наш раздел data стал 38.87G мы видим что он увеличился на 20G. Если мы посмотрим предыдущий вывод команды lvs на снимке, то там видно, что логический том data занимает 18.87G:
В вэб интерфейсе нашей машины мы тоже видим изменения в логическом томе data:
Увеличение раздела диска в Linux на лету
Для расширения раздела без потери данных в Linux нам понадобятся утилиты parted и resize2fs. Они должны быть в любом дистрибутиве по умолчанию. В Debian они есть. Если нет, то устанавливаем.
Сам процесс ресайза раздела прост:
При этом все данные останутся на месте.
Инструкция по изменению раздела
Расширяем раздел в панели управления VDS или Proxmox
Подразумевается, что в панели управления Вы уже расширили пространство жесткого диска и теперь готовы сделать это «программно». Дополнительные объяснения здесь лишние.
Размечаем раздел
Проверяем какой размер раздела «виден» в ОС и как называется раздел:
Из примера видно, что существует жесткий диск /dev/vda уже размером 20GB. На нем есть раздел /dev/vda1, который пока занимает размер в 5GB. Именно эту разницу мы и должны исправить.
Подключаемся к жесткому диску утилитой parted, указывая жесткий диск:
Узнаем каким номером утилита parted обозначила нужный нам раздел:
В примере нужный нам раздел обозначается 1.
Расширяем раздел 1 до 20.5GB (это весь доступный размер):
Выходим из утилиты parted:
На этом этап новой разметки раздела диска закончен.
Физически изменяем размер
Запускаем последнюю команду для применения всех наших действий:
После этого нужно перезапустить наш сервер и пользоваться увеличенным размером диска.
Комментарии
Нет комментариев к данной статье.
Оставить свой комментарий
Для того, чтобы оставить комментарий, необходимо авторизоваться.
Правильное увеличение размера диска в виртуальной машине
Не претендуя на полноту, все же считаю, что это может пригодиться системным администраторам.
Увеличение размера диска в виртуальной машине происходило при следующих вводных: формат файла виртуалки qcow2, виртуальная машина использует lvm и ext4, root partition находится в extended partition. Действо обычно происходит ночью, когда нагрузка минимальна и даунтайм не сильно давит на нервы. Хотя при работе с highload-проектами адреналина всё равно выделяется достаточно, чтобы 10 раз подумать, перед тем, как что-либо делать. Поэтому перед началом процесса, лучше отключить систему оповещения по СМС, чтобы не пугать коллег сообщениями типа «Server down» среди ночи.
1. Выключить виртуальную машину
Я сделал это через GUI, нажав на красную кнопку power в virt-manager. Если нет virt-manager, это можно сделать дав команду shutdown в командной строке виртуальной машины.
2. На гипервизоре увеличиваем размер файла (в моем случае на 200 гигабайт)
3. Цепляем диск к другой (сервисной) виртуальной машине через управляющую машину с virt-manager, альтернативный вариант — загрузиться с CD с поддержкой lvm.
Cooтветственно, при загрузке с LiveCD, vdb поменяется на vda
4. Запускаем сервисную машину (на ней тоже должен быть lvm) через virt-manager.
5. Далее на сервисной (или LVM liveCD) машине:
получим размер диска:
увеличим logical root partition
теперь нужно увеличить размер физического диска в lvm
увеличиваем размер логического диска в lvm
В выводе resize2fs должно быть такое:
теперь проверим и исправим файловую систему:
диск готов
6. выключаем сервисную машину, отключаем от нее диск в virt-manager
из командной строки, не используя GUI для управления виртуальными машинам можно сделать это при помощи virsh, использование которого хорошо описано здесь: управление виртуальными машинами из командной строки
7. Запускаем сервер
Увеличение с минимальным даунтаймом, почти на лету, проверено на lvm2/ext4 можно сделать так:
1. Увеличение размера файла на 200 гигабайт выполняется на гипервизоре
2. Перезагрузка виртуальной машины
3. На виртуальной машине
Посмотрим размер физического диска и всех логических разделов
увеличим extended partition
увеличим logical root partition
теперь нужно увеличить размер физического диска в lvm
увеличиваем размер логического диска в lvm
Как добавить диск в Proxmox
Обращу ваше внимание на особенность системы: типы хранилищ, кроме Образ диска и Виртуальная машина можно размещать только на подключенных хранилищах с типом Каталог. В этой статье мы рассмотрим как добавить диск Proxmox на примере Debian.
Добавление диска в Proxmox VE
В рассматриваемом случае, подключен и предварительно настроен в BIOS компьютера SATA HDD емкостью 120 Гб. Он полностью очищен и не размечен ни под какую-либо ОС и определился в системе как устройство /dev/sdb. В Proxmox VE подключения к хранилищу логически разделены по вкладкам Датацентр, где можно подключить сетевые хранилища, и каждой машины в отдельности, в нашем случае локальная машина называется PVE. Ниже представлены варианты, предлагаемые к созданию из вкладки Датацентр:
1. Разметка диска
Для операций с диском давайте использовать в режиме XFCE4 от имени суперпользователя root дисковую утилиту GParted:
Выберите меню Устройство, пункт Создать таблицу разделов:
В результате утилита предложит создать несколько видов разделов, в том числе: msdos (MBR), GPT, mac и прочие. Для целей подключения дополнительного хранилища Proxmox VE, рассмотрим создание раздела GPT с различным видом файловых систем. Для этого выберите GPT и нажмите Применить.
2. Поиск раздела в консоли Proxmox VE
Перейдите в раздел PVE, затем в раздел Диски, там должен появиться размеченный под GPT диск /dev/sdb с типом unknown, не используемый (колонка Использование), в колонке GPT должно быть указано Да, а в колонке Использование можно увидеть тип диска, у /dev/sdb его пока нет:
3. Форматирование диска средствами Proxmox VE
В панели управления ProxmoxVE можно отформатировать подготовленный диск под файловую систему LVM или ZFS.
Так же мы создадим раздел на диске GPT, который отформатируем под EXT4, журналируемой файловой системой, которая используется в операционных системах с ядром Linux.
Тот же способ подходит и для создания раздела LVM-Thin: LVM Thin Provisioned volume, тонкие (разреженные) тома, которые занимают столько места, сколько требуется системе.
Для создания ZFS раздела снова используем не размеченный диск, ранее размеченный диск можно снова вернуть в состояние не размеченного с помощью GParted.
Перейдите в панели управления Proxmox VE в меню Диски машины PVE, затем в разделе ZFS выберите кнопку Создать: ZFS. Снова задайте имя хранилища backup, если необходимо включите сжатие, и нажмите кнопку Создать.
Зеленый значок возле ONLINE говорит о том, что диск доступен для работы. Также из панели управления Proxmox VE можно управлять состоянием хранилища, добавлять диски.
На созданных и подключенных через панель управления Proxmox VE томах LVM можно хранить образы и диски виртуальных машин. Для создания остальных объектов необходимо примонтировать диск к файловой системе хоста PVE. Теперь вы знаете как добавить жесткий диск proxmox.
4. Форматирование диска в Ext4 с помощью терминала
Для разметки диска GPT и форматирования раздела под файловую систему EXT4 воспользуйтесь приложением Терминал. Ниже показано как выглядит структура файловой системы на хосте PVE:
С помощью консольной утилиты fdisk произведите создание системы GPT и создайте новый раздел на диске /dev/sdb:
В результате в системе должен появиться раздел /dev/sdb1 диска /dev/sdb. Создадим файловую систему:
sudo mkfs.ext4 /dev/sdb1
По окончании форматирования, создайте точку монтирования /backup:
Отредактируйте файл /etc/fstab, в котором указываются точки монтирования дисков системы, таким образом, чтобы в конце файла была строка:
/dev/sdb1 /backup ext4 defaults 0 2
Дайте системе команду монтировать все диски, указанные в файле fstab:
Таким же путем можно отформатировать диск LVM под EXT4, чтобы примонтировать его к файловой системе.
Создайте диск LVM, на этот раз из программы Терминал. Для этого необходимо подготовить диск с помощью консольной утилиты fdisk:
sudo pwcreate /dev/sdb1
sudo vgcreate pve-test-bkp /dev/sdb1
ls /dev/mapper
Сознательно создавались длинные имена файлов, чтобы показать, как будет именоваться результат выполнения комманд: LVM-раздел pve—test—bkp-backup, расположенный в /dev/mapper теперь можно отформатировать в файловую систему EXT4 и примонтировать в раздел файловой системы /backup точно также, как ранее монтировался /dev/sdb1:
mkfs.ext4 /dev/mapper/ pve—test—bkp-backup
В файле /etc/fstab уберите вместо /dev/sdb1 укажите новый раздел, чтобы выглядело так:
/dev/mapper/ pve—test—bkp-backup /backup ext4 defaults 0 2
Дайте команду системе перемонтировать диски согласно данным /etc/fstab:
5. Использование диска для хранения архивных копий, образов и шаблонов
После удачного монтирования диска осталось добавить диск proxmox в панели управления. Для этого нажмите кнопку Добавить в разделе Хранилище хоста PVE и укажите тип Каталог. Выберите ID backup, каталог укажите /backup, в содержимом выберите Резервная копия и любые другие пункты с помощью зажатой клавиши на клавиатуре Shift и кликов мышкой.
В меню Пулы Датацентра создайте пул backup и добавьте созданное хранилище backup. Это позволит выбирать пул при создании виртуальных машин, создании бекапов и других файловых операций.
Настройте резервную копию, на примере виртуальной машины CentOS. Для этого перейдите в виртуальную машину, затем в пункт Резервная копия, выберите в правом углу Хранилище backup, нажмите кнопку Создать резервную копию сейчас. После заполнения полей и нажатия кнопки Резеврная копия будет запущен фоновый процесс создания резервной копии.
6. Использование диска для хранения виртуальных машин
При создании хранилища backup были выбраны не только резервные копии, поэтому его можно использовать для создания образов виртуальных машин. Те диски, которые были инициализированы из панели управления Proxmox VE, могут размещать образы виртуальных машин, но не другие объекты.
При создании виртуальной машины можно выбирать любое хранилище, и оно будет поддерживать объекты, которые создаются при создании виртуальной машины. На скриншоте ниже приведены минимальный набор объектов любого хранилища Proxmox VE:
Выводы
Сегодня вы узнали как выполняется подключение дисков Proxmox, путями создания файловой системы на чистом не размеченном диске, с различными методами разметки диска, вариантами подключения хранилища к гипервизору.





















































