Bootstrap

Увеличим ёмкость диска формата qcow2, все данные сохраним в исходном состоянии.

Увеличим ёмкость диска формата 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`. Замените `` на соответствующий LVM том, например, `sysvg-root`. Новый размер можно указать в гигабайтах (`G`) или процентах (`%`), добавив соответствующий суффикс после размера (например, `+10G` или `+50%`)

lvextend -r -l +100%FREE /dev/sysvg/root

Эта команда расширяет логический том /dev/sysvg/root, используя 100 % свободного места в группе томов, и автоматически выполняет изменение размера файловой системы, внутри LVM.

Вот и всё теперь у вас есть два диска с одинаковой OS только один меньшего размераi your_image.qcow2, а второй большего your_image_resized.qcow2.

Что нам и требовалось получить, проверьте что получилось с помощью команды lvdisplay.

Копирование материалов разрешается только с указанием автора Roman Sakhno и индексируемой прямой ссылкой на сайт (http://itdid.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/sahroman.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/sahroman.

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как настроить свой компьютер

  2. Текстовая ссылка:

    Она выглядит вот так: Как настроить свой компьютер

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

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

крипто-донат, на развитие сайта itdid.ru:

В новом окне с терминалом itdid.ru, введите любую сумму: