Предыдущие ответы помогли мне решить эту проблему, но мне нужно было автоматизировать ее, поэтому я написал pvshrink
#./pvshrink /dev/vda2
Moving 50 blocks from 714 to 664
/dev/vda2: Moved: 4.00%
/dev/vda2: Moved: 100.00%
50 of 50 (100.00%) done
Defragmentation complete.
Metadata size: 1048576 b
PE size: 4.0 MiB
Total size 1048576 b + 714 x 4194304 b = 2995781632 b (2.8 GiB)
Wiping internal VG cache
Wiping cache of LVM-capable devices
Archiving volume group "fedora" metadata (seqno 15).
/dev/vda2: Pretending size is 5851136 not 6287360 sectors.
Resizing volume "/dev/vda2" to 5851136 sectors.
Resizing physical volume /dev/vda2 from 0 to 714 extents.
Updating physical volume "/dev/vda2"
Creating volume group backup "/etc/lvm/backup/fedora" (seqno 16).
Physical volume "/dev/vda2" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
Это вызывает pvmove столько раз, сколько необходимо для дефрагментации PV, а затем изменяет его размер до минимально возможного (, который немного превышает используемый размер из-за метаданных ).
Когда gdisk
выводит «Ошибка...», ошибка представляет собой значение errno
. Чтобы увидеть, чему они соответствуют, запуститеerrno -l
(по крайней мере в системах Linux ).
Ошибка 2 означает «Нет такого файла или каталога», что имеет смысл, поскольку у вас, предположительно, нет файла с именем I
. Ошибка 13 означает «отказано в доступе», что предполагает, что вы не запускали gdisk
как root (, как указано в сообщении об ошибке ).