Уменьшение размера виртуального диска контейнера
За основу взята следующая статья
Сначала необходимо остановить контейнер и сделать бекап, и проверить что он есть.
Следующие действия не работают с виртуальными дисками на LVM носителями, следует временно перенести их на какой-нибудь диск с файловой системой ext4.
Далее следует зайти в каталог с файлом диска, это может быть к примеру /mnt/usb_hdd/images
Проверка файловой системы:
e2fsck -f vm-100-disk-0.raw
(Имя файла vm-100-disk-0.raw условно, у вас оно может быть другим)
Если утилита выдает следующее:
e2fsck: MMP: fsck being run while checking MMP block
MMP check failed: If you are sure the filesystem is not in use on any node, run:
‘tune2fs -f -E clear_mmp {device}’
следует выполнить следующее:
tune2fs -f -E clear_mmp vm-100-disk-0.raw
После чего должен быть примерно следующий результат:
e2fsck 1.47.0 (5-Feb-2023)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
vm-100-disk-1.raw: 21325/524288 files (0.4% non-contiguous), 240360/2097152 blocks
Далее следует уменьшить размер структуры файловой системы в файле диска:
resize2fs -M vm-100-disk-0.raw 4G
где 4G - желаемый размер диска
Если объем файлов превышает вводимое значение, то образ диска будет повреждён!
Далее следует обрезать лишнюю часть образа, до размера указанного в предыдущем шаге:
truncate -s 4G vm-100-disk-0.raw
Далее расширяем файловую структуру до размеров виртуального диска:
resize2fs vm-100-disk-0.raw
После следует изменить значение размера образа диска в настройках контейнера:
nano /etc/pve/nodes/pve1/lxc/100.conf
где pve1 - имя ноды Proxmox VE, 100.conf - конфигурация контейнера с id 100.
Изменяем параметр size:
rootfs: local:100/vm-100-disk-0.raw,size=4G
Сохраняем изменения и запускаем контейнер.
Посмотреть изменения можно подключившись к контейнеру по SSH и ввести команду:
df -h