Operacja na otwartym sercu czyli rozszerzanie partycji działającego systemu.

16 lutego, 2021 0 przez rogaleskoo

Przeglądając sobie maszyny w Zabbixie zauważyłem, ze jedna z maszyn wyrzuciła alert o kończącym się miejscu na dysku. Maszyna jest wirtualizowana więc nie jest wielkim problemem rozszerzanie dysku wirtualnej maszynie na hyperwizorze ale trzrezba tez poinformować o tym sam system operacyjny. Są dwie metody: jedna poprzez wyłączenie wirtualnej maszyny, uruchomienie z ISO jakiegoś Linuxa Live i zmodyfikowanie partycji przy użyciu np. GParda. Druga metoda jest operacją na działającym systemie. I tę metodę wybrałem.

Maszyna wirtualna pierwotnie miała ustawiony dysk na 50G i miałem nadzieję, ze na trochę starczy. Jak się okazało po roku miejsca zbrakło. No to do dzieła… Najpierw zmieniłem rozmiar dysku edytując właściwości dysku maszyny wirtualnej, następnie zalogowałem się do systemu. Gdzie wykonałem następujące polecenia:

Najpierw sprawdziłem czy faktycznie miejsce na dysku jest ograniczone
rogmar@domoticz:~$ sudo df -h
[sudo] password for rogmar:
Filesystem Size Used Avail Use% Mounted on
udev 966M 0 966M 0% /dev
tmpfs 200M 1.2M 199M 1% /run
/dev/mapper/ubuntu–vg-ubuntu–lv 3.9G 3.3G 430M 89% /
tmpfs 997M 0 997M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 997M 0 997M 0% /sys/fs/cgroup
/dev/loop0 99M 99M 0 100% /snap/core/10823
/dev/loop1 98M 98M 0 100% /snap/core/10583
/dev/sda2 976M 214M 696M 24% /boot
tmpfs 200M 0 200M 0% /run/user/1000

Następnie sprawdziłem czy faktycznie w VM rozszerzyłem dysk.

rogmar@domoticz:~$ sudo fdisk -l
Disk /dev/loop0: 98.4 MiB, 103129088 bytes, 201424 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/loop1: 97.9 MiB, 102637568 bytes, 200464 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 11FAD270-85C8-4571-9C1E-87AF707522D2

Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 2101247 2097152 1G Linux filesystem
/dev/sda3 2101248 104855551 102754304 49G Linux filesystem

Disk /dev/mapper/ubuntu–vg-ubuntu–lv: 4 GiB, 4294967296 bytes, 8388608 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Kolejną rzecza jest ustalenie numeru partycji w programie parted.
rogmar@domoticz:~$ sudo parted
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help’ to view a list of commands.
(parted) print
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 1076MB 1074MB ext4
3 1076MB 53.7GB 52.6GB

(parted) quit

No to do dzieła! (w sumie nie musiałem wychodzić z parted ale słabo by to wyglądało w tekście więc wyszedłem 😉
rogmar@domoticz:~$ sudo parted
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help’ to view a list of commands.
(parted) resizepart
Partition number? 3
End? [53.7GB]? 100%
(parted) quit
Information: You may need to update /etc/fstab.

System ma skonfigurowany LVM więc jemu też trzeba „powiedzieć” o zmianach.
rogmar@domoticz:~$ sudo pvresize /dev/sda3
Physical volume „/dev/sda3” changed
1 physical volume(s) resized / 0 physical volume(s) not resized

Kolej na rozszerzenie partycji LVM
rogmar@domoticz:~$ sudo lvextend -l +100%FREE /dev/mapper/ubuntu–vg-ubuntu–lv
Size of logical volume ubuntu-vg/ubuntu-lv changed from 4.00 GiB (1024 extents) to <99.00 GiB (25343 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.

Ughhhh jak zwykle zapominam, że w Ubuntu trzeba działac z sudo…


rogmar@domoticz:~$ resize2fs /dev/mapper/ubuntu–vg-ubuntu–lv
resize2fs 1.44.1 (24-Mar-2018)
open: Permission denied while opening /dev/mapper/ubuntu–vg-ubuntu–lv

Poprawiam polecenie
rogmar@domoticz:~$ sudo resize2fs /dev/mapper/ubuntu–vg-ubuntu–lv
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/mapper/ubuntu–vg-ubuntu–lv is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 13
The filesystem on /dev/mapper/ubuntu–vg-ubuntu–lv is now 25951232 (4k) blocks long.

Jeszcze tylko sprawdzić czy faktycznie działania skończyły się sukcesem.

rogmar@domoticz:~$ sudo df -h
Filesystem Size Used Avail Use% Mounted on
udev 966M 0 966M 0% /dev
tmpfs 200M 1.2M 199M 1% /run
/dev/mapper/ubuntu–vg-ubuntu–lv 98G 3.3G 91G 4% /
tmpfs 997M 0 997M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 997M 0 997M 0% /sys/fs/cgroup
/dev/loop0 99M 99M 0 100% /snap/core/10823
/dev/loop1 98M 98M 0 100% /snap/core/10583
/dev/sda2 976M 214M 696M 24% /boot
tmpfs 200M 0 200M 0% /run/user/1000

Teraz zobaczmy czy pacjent dalej żyje 😉

Uwierzę jak wstanie po reboocie 😉

rogmar@domoticz:~$ sudo reboot
[sudo] password for rogmar:

I system stał i pięknie działa.