Расширить диск виртуальной машины linux

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

Не претендуя на полноту, все же считаю, что это может пригодиться системным администраторам.

Увеличение размера диска в виртуальной машине происходило при следующих вводных: формат файла виртуалки qcow2, виртуальная машина использует lvm и ext4, root partition находится в extended partition. Действо обычно происходит ночью, когда нагрузка минимальна и даунтайм не сильно давит на нервы. Хотя при работе с highload-проектами адреналина всё равно выделяется достаточно, чтобы 10 раз подумать, перед тем, как что-либо делать. Поэтому перед началом процесса, лучше отключить систему оповещения по СМС, чтобы не пугать коллег сообщениями типа «Server down» среди ночи.

1. Выключить виртуальную машину
Я сделал это через GUI, нажав на красную кнопку power в virt-manager. Если нет virt-manager, это можно сделать дав команду shutdown в командной строке виртуальной машины.
2. На гипервизоре увеличиваем размер файла (в моем случае на 200 гигабайт)

qemu-img resize /path/to/vm-disk.qcow2 +200G

3. Цепляем диск к другой (сервисной) виртуальной машине через управляющую машину с virt-manager, альтернативный вариант — загрузиться с CD с поддержкой lvm.
Cooтветственно, при загрузке с LiveCD, vdb поменяется на vda
4. Запускаем сервисную машину (на ней тоже должен быть lvm) через virt-manager.
5. Далее на сервисной (или LVM liveCD) машине:

 (parted) print Model: Virtio Block Device (virtblk) Disk /dev/vdb: 1288GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 1049kB 256MB 255MB primary ext2 boot 2 257MB 1000GB 1000GB extended 5 257MB 1000GB 1000GB logical lvm

увеличим extended partition, если этого не сделать получим Error: Can’t have overlapping partitions. ubuntu parted -gparted

 (parted) resizepart 2 End? [1000GB]? 1288Gb
 (parted) resizepart 5 End? [1000GB]? 1288Gb (parted) q
 root@vm-service:/etc# lvextend /dev/vm-db-0-vg/root -l +100%FREE lvextend /dev/vm-db-0-vg/root -l +100%FREE File descriptor 7 (pipe:[7918]) leaked on lvextend invocation. Parent PID 1378: bash (на это можно не обращать внимания) Extending logical volume root to 1.12 TiB Logical volume root successfully resized root@vm-service:/etc# resize2fs /dev/vm-db-0-vg/root 
The filesystem on /dev/vm-db-0-vg/root is now 231278592 blocks long.
 fsck -f /dev/mapper/vm--db--0--vg-root 

диск готов
6. выключаем сервисную машину, отключаем от нее диск в virt-manager
из командной строки, не используя GUI для управления виртуальными машинам можно сделать это при помощи virsh, использование которого хорошо описано здесь: управление виртуальными машинами из командной строки
7. Запускаем сервер
Увеличение с минимальным даунтаймом, почти на лету, проверено на lvm2/ext4 можно сделать так:
1. Увеличение размера файла на 200 гигабайт выполняется на гипервизоре

qemu-img resize /path/to/vm-disk.qcow2 +200G
(parted) print Model: Virtio Block Device (virtblk) Disk /dev/vda: 1288GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 1049kB 256MB 255MB primary ext2 boot 2 257MB 1000GB 1000GB extended 5 257MB 1000GB 1000GB logical lvm
 (parted) resizepart 2 End? [1000GB]? 1288Gb
 (parted) resizepart 5 End? [1000GB]? 1288Gb (parted) q
 root@vm-db-0:/etc# lvextend /dev/vm-db-0-vg/root -l +100%FREE lvextend /dev/vm-db-0-vg/root -l +100%FREE File descriptor 7 (pipe:[7918]) leaked on lvextend invocation. Parent PID 1378: bash Extending logical volume root to 1.12 TiB Logical volume root successfully resized root@vm-db-0:/etc# resize2fs /dev/vm-db-0-vg/root

В этом случае проверять и исправлять файловую систему нельзя, fsck -f /dev/mapper/vm—db—0—vg-root убьёт файловую систему
Проверить, что получилось:

Читайте также:  Цвет командной строки linux

Источник

Увеличить размер раздела диска в Ubuntu

date

21.02.2023

user

itpro

directory

Linux, Ubuntu

comments

комментария 3

Если вы используете виртуальные машины с Ubuntu Linux, скорее всего рано или поздно вы столкнетесь с необходимостью расширения места на виртуальном диске. Установщик Ubuntu по умолчанию предлагает использовать логические LVM тома для развертывания ОС, поэтому мы рассмотрим расширение диска на примере именно LVM.

В первую очередь нужно увеличить размер виртуального диска со стороны вашей системы виртуализации:

После того, как вы расширили диск в ВМ, нужно расширить его в гостевой ОС (в этом примере это Ubuntu 22.04 LTS). Чтобы Ubuntu увидела добавленное место, выполните принудительный рескан дисков с помощью команды:

Для управления разделами используйте утилиту cfdisk:

В данном примере видно, что на диске /dev/sda есть свободное место размером 1 Гб. Выберите раздел, который нужно расширить (/dev/sda3 в этом примере) и выберите в меню Resize.

Чтобы сохранить изменения в разделах диска, выберите в меню Write.

cfdisk - увеличить размер раздела ubuntu

После того, как вы увеличили физический раздел, нужно увеличить размер логического раздела Ubuntu. Проверьте, что у вас используется используются тома LVM:

lsblk список устройств и разделов в linux

  • Physical Volume (PV) — ваши физические диски /dev/sda , /dev/sdb , и т.д.
  • Volume Group (VG) — группы томов, в которые объединены физически диски. Например ubuntu-vg = /dev/sda + /dev/sdb . Также VG можно состоять всего из одного диска.
  • Logical Volume (LV) — логический раздел в группе томов. Например, ubuntu-vg/root , ubuntu-vg/home , и т.д.

Проверьте свободное место в группе томов LVM с помощью:

Для расширения раздела LVM нужно сначала увеличить PV (Physical Volume):

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

$ sudo lvextend -l +100%FREE /dev/mapper/ubuntu—vg-ubuntu—lv

Logical volume ubuntu-vg/ubuntu-lv successfully resized

увеличить lvm том в ubuntu

Осталось расширить файловую систему. Для ext2, ext3 и ext4 выполните:

Читайте также:  Программирование linux работа с

$ sudo resize2fs /dev/mapper/ubuntu—vg-ubuntu—lv

Проверьте свободное место в Linux с помощью команды:

Итак, мы успешно расширили LVM том в Ubuntu.

$ sudo parted
print free
resizepart n

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

page

page

page

Установка и настройка прокси сервера Squid в Linux

Мониторинг срока регистрации (освобождения) домена в Zabbix

Настройка Wi-Fi точки доступа на Linux

Управление конфигурацией Windows через Ansible

Источник

Оцените статью
Adblock
detector