Увеличим ёмкость диска формата qcow2, все данные сохраним в исходном состоянии.
Увеличим ёмкость уже созданного диска для виртуальной машины формата qcow2, все данные при этом на нём, должны остаться в исходном состоянии.
Для того, чтобы продолжить, нам нужно выяснить внутри локальной машины, какой из разделов диска нам нужно расширить до новых размеров. Для этого запускаем свою виртуальную(локальную) машину диск которой мы планируем расширять. И получаем нужную информацию.
lsblk
☯
Terminal:
⌕
≡
✕
[root@localhost vs]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 12G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 11G 0 part └─sysvg-root 253:0 0 11G 0 lvm / sr0 11:0 1 1024M 0 rom zram0 252:0 0 947M 0 disk [SWAP]
тут мы узнали, что нужный для расширеня раздел это /dev/sda3 и при этом он является томом LVM
Выключаем виртуальную машину, потому что действовать мы будем сначала извне, т.е. на хосте где видим этот файл qcow2, а затем после некоторых операций, продолжим внутри т.е. снова загрузимся в локальную машину, которая содержится в этом контейнере и закончим начатое.
Для того чтобы узнать внешний размер контейнера qcow2, вы можете использовать команду `qemu-img info <путь_к_файлу>` в командной строке. Замените `<путь_к_файлу>` на путь к вашему файлу qcow2.
qemu-img info /путь/к/контейнер.qcow2
если мы попробуем выяснить это не выключив виртуальную машину, то у нас ничего не получится
☯
Terminal:
⌕
≡
✕
qemu-img info your_image.qcow2 qemu-img: Could not open 'your_image.qcow2': Failed to get shared "write" lock Is another process using the image [your_image.qcow2]?
поэтому выключаем машину и выясняем.
В выводе этой команды вы увидите информацию о контейнере, включая его внешний размер (в поле "virtual size").
qemu-img info your_image.qcow2
☯
Terminal:
⌕
≡
✕
image: your_image.qcow2
file format: qcow2
virtual size: 12 GiB (12884901888 bytes)
disk size: 2.74 GiB
cluster_size: 65536
Format specific information:
compat: 1.1
compression type: zlib
lazy refcounts: false
refcount bits: 16
corrupt: false
extended l2: false
Теперь создадим новый пустой контейнер нужного нам размера, допустим это будет 20gb вместо текущих 12gb
qemu-img create -f qcow2 your_image_resized.qcow2 20G
Теперь выполняем вот эту команду, где вначале мы берём исходный диск your_image.qcow2 и переносим его в your_image_resized.qcow2
virt-resize --expand /dev/sda3 your_image.qcow2 your_image_resized.qcow2
Обратите внимание, что процесс может занять некоторое время в зависимости от размера и скорости вашей системы, а также от размера самого образа. Также убедитесь, что у вас достаточно свободного пространства на диске для увеличения файла qcow2.
получаем примерно вот такой вывод, в зависимости от размеров что мы указали
☯
Terminal:
⌕
≡
✕
Summary of changes: /dev/sda1: This partition will be left alone. /dev/sda2: This partition will be left alone. /dev/sda3: This partition will be resized from 11.0G to 19.0G. The LVM PV on /dev/sda3 will be expanded using the ‘pvresize’ method.
Переходим к заключительной части операции. После успешного выполнения операции изменения размера раздела с помощью `virt-resize`, загружаемся в гостевую машину, под root -ом, или используйте команду `sudo` перед каждой командой.
lvdisplay
С помощью этой команды мы узнаём имя LVM указываемой в строке LV Path
☯
Terminal:
⌕
≡
✕
[root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/sysvg/root LV Name root VG Name sysvg LV UUID hGa8gf-deWE-JLur-jGek-AYOP-P6d8-L3H5po LV Write Access read/write LV Creation host, time fedora, 2023-04-14 00:41:26 +0300 LV Status available # open 1 LV Size <11.00 GiB Current LE 1535 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0
Убедитесь, что у вас есть свободное пространство внутри Volume Group (VG),
содержащего LVM том, который нужно подогнать под новый размер раздела.
Расширьте LVM том до доступного размера с помощью команды `lvextend`.
Замените `
lvextend -r -l +100%FREE /dev/sysvg/root
Эта команда расширяет логический том /dev/sysvg/root, используя 100 % свободного места в группе томов, и автоматически выполняет изменение размера файловой системы, внутри LVM.
Вот и всё теперь у вас есть два диска с одинаковой OS только один меньшего размераi your_image.qcow2, а второй большего your_image_resized.qcow2.
Что нам и требовалось получить, проверьте что получилось с помощью команды lvdisplay.
-
Создано 23.06.2023 17:00:00
-
Roman Sakhno

Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.