Планируя будущую виртуальную машину, на старте не всегда правильно получается распределить ресурсы. Если ЦП и ОЗУ можно без труда "подкрутить", то с выделенным местом у некоторых, как ранее и у меня, бывают проблемы.
В инструкции ниже, вкратце, опишу шаги, которые приведут к увеличению виртуального жёсткого диска гипервизора.
Погнали…
Как-то в показателях, процентного содержания занятого места метрик графаны, цвет одного из хостов, а именно самой графаны, под капотом которой прометей, сменил зелёный на оранжевый, что привлекло моё внимание.
Проваливаемся на хост и вроде как бы доверяя графане, всё равно, командой df -Th посмотрим что там у нас есть
Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 456M 0 456M 0% /dev tmpfs tmpfs 97M 640K 96M 1% /run /dev/mapper/vg-lv ext4 5.3G 3.8G 1.2G 76% / tmpfs tmpfs 481M 0 481M 0% /dev/shm tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock /dev/vda1 ext2 341M 108M 215M 34% /boot tmpfs tmpfs 97M 0 97M 0% /run/user/1000
Видим, что рут у нас заполнен на 76%. Давайте увеличим его на 512mb.
Останавливаем ВМ.
В моём случае, группа томов называется vgvirt, а место под диск ВМ - monitoring. Поэтому, на гипервизоре командуем lvextend -L+512M /dev/vgvirt/monitoring
Extending 2 mirror images. Size of logical volume vgvirt/monitoring changed from 5.75 GiB (1472 extents) to 6.25 GiB (1600 extents). Logical volume vgvirt/monitoring successfully resized.
Из выхлопа видим, что наш логический вольюм, успешно ресайзнут с размера 5.75 гигов на 6.25. Почему расширены 2 зеркальных образа? Потому что у меня LVM-RAID и изменения применились на обоих физических дисках. Отлично! Но это ещё не всё. Стартуем ВМ, проваливаемся в её консоль и командой lsblk смотрим что там.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sr0 11:0 1 1024M 0 rom vda 254:0 0 6.3G 0 disk ├─vda1 254:1 0 365M 0 part /boot └─vda2 254:2 0 5.4G 0 part └─vg-lv 253:0 0 5.4G 0 lvm /
Видим, что весь vda = 6.3Gb, но если прибавить vda1 к vda2 у нас не выходит размер vda.
Для получения задуманного, воспользуемся командой fdisk /dev/vda и беспощадно грохнем раздел dev/vda2. Затем создадём новый раздел и в какой-то момент появится сообщение, выделенное красным, с содержанием типа "Раздел имеет сигнатуру LVM. Желаете ли Вы удалить её?"
Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (2-4, default 2): First sector (749568-13107199, default 749568): Last sector, +/-sectors or +/-size{K,M,G,T,P} (749568-13107199, default 13107199): Created a new partition 2 of type Linux and of size 5.9 GiB.Partition #2 contains a LVM2_member signature.
Do you want to remove the signature? [Y]es/[N]o: N
Отвечаем НЕТ и сохраняем изменения.
Я, в первый раз, не включая голову, так наебнул всё к хуям, ответив ДА...=)
Далее смотрим командой pvdisplay ёмкость диска
--- Physical volume --- PV Name /dev/vda2 VG Name vg PV Size 5.39 GiB / not usable 0 Allocatable yes (but full) PE Size 4.00 MiB Total PE 1380 Free PE 0 Allocated PE 1380 PV UUID BFyW3T-IfIN-2XTh-VUZM-SHv3-37VR-UFj3US
5.39Gb. Надо его ресайзнуть. Вводим pvresize /dev/vda2
Physical volume "/dev/vda2" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized
Берём переводчик. Переводим строку из выхлопа и радуемся! pvdisplay теперь нам показывает, что наш физический (как думает ВМ) диск стал шире. Командой vgdisplay, в строке Free PE, можно увидеть как раз выделенный нами ранее размер, который сейчас является свободным местом.
--- Volume group --- VG Name vg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 7 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 1 Act PV 1 VG Size 5.89 GiB PE Size 4.00 MiB Total PE 1508 Alloc PE / Size 1380 / 5.39 GiB Free PE / Size 128 / 512.00 MiB VG UUID YApnic-XkRm-ZgRM-tBFE-JTmd-ihLT-MHGICD
За счёт него мы сейчас увеличим диск в ВМ
lvextend -l+100%FREE /dev/vg/lv
Size of logical volume vg/lv changed from 5.39 GiB (1380 extents) to 5.89 GiB (1508 extents). Logical volume vg/lv successfully resized.
И расширим файловую систему. resize2fs /dev/vg/lv
resize2fs 1.47.0 (5-Feb-2023) Filesystem at /dev/vg/lv is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/vg/lv is now 1544192 (4k) blocks long.
Тарам-тарам-пам