У меня в CentOS8 есть съемный диск, но я не могу уменьшить группу томов:
[root@localhost ~]# vgs
WARNING: Couldn't find device with uuid 3GDhRA-KZjA-iDum-8Ut0-s9s0-NnW2-4QQEUv.
WARNING: VG cl is missing PV 3GDhRA-KZjA-iDum-8Ut0-s9s0-NnW2-4QQEUv.
WARNING: Couldn't find all devices for LV cl/root while checking used and assumed devices.
VG #PV #LV #SN Attr VSize VFree
cl 2 3 0 wz-pn- 8,99g 0
[root@localhost ~]# pvs
WARNING: Couldn't find device with uuid 3GDhRA-KZjA-iDum-8Ut0-s9s0-NnW2-4QQEUv.
WARNING: VG cl is missing PV 3GDhRA-KZjA-iDum-8Ut0-s9s0-NnW2-4QQEUv.
WARNING: Couldn't find all devices for LV cl/root while checking used and assumed devices.
PV VG Fmt Attr PSize PFree
/dev/sda2 cl lvm2 a-- <7,00g 0
[unknown] cl lvm2 a-m <2,00g 0
[root@localhost ~]# lvs
WARNING: Couldn't find device with uuid 3GDhRA-KZjA-iDum-8Ut0-s9s0-NnW2-4QQEUv.
WARNING: VG cl is missing PV 3GDhRA-KZjA-iDum-8Ut0-s9s0-NnW2-4QQEUv.
WARNING: Couldn't find all devices for LV cl/root while checking used and assumed devices.
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home cl -wi-ao---- 1016,00m
root cl -wi-ao--p- <7,20g
swap cl -wi-ao---- 820,00m
[root@localhost ~]# vgreduce --removemissing --force cl
WARNING: Couldn't find device with uuid 3GDhRA-KZjA-iDum-8Ut0-s9s0-NnW2-4QQEUv.
WARNING: VG cl is missing PV 3GDhRA-KZjA-iDum-8Ut0-s9s0-NnW2-4QQEUv.
WARNING: Couldn't find all devices for LV cl/root while checking used and assumed devices.
WARNING: Couldn't find device with uuid 3GDhRA-KZjA-iDum-8Ut0-s9s0-NnW2-4QQEUv.
WARNING: Removing partial LV cl/root.
Logical volume cl/root contains a filesystem in use.
Я нашел команду lvextend в своей истории bash:
lvm lvextend -l +100%FREE /dev/cl/root
Наконец я нашел решение:
Спасибо, Джон!
Отсутствующий PV есть, но поврежден. Думаю, это из-за неправильного порядка команд. Сначала добавили PV (/ dev / sdb), расширили VG и LV, после создания раздела с помощью fdisk.
Я воспроизвел проблему в виртуальном боксе и добавил диск (такого же размера). Pvcreate нормально, но vgextend не удалось:
[root@localhost ~]# vgextend cl -v /dev/sdc
WARNING: Couldn't find device with uuid 3GDhRA-KZjA-iDum-8Ut0-s9s0-NnW2-4QQEUv.
WARNING: VG cl is missing PV 3GDhRA-KZjA-iDum-8Ut0-s9s0-NnW2-4QQEUv.
WARNING: Couldn't find all devices for LV cl/root while checking used and assumed devices.
Wiping signatures on new PV /dev/sdc.
WARNING: Couldn't find device with uuid 3GDhRA-KZjA-iDum-8Ut0-s9s0-NnW2-4QQEUv.
WARNING: VG cl is missing PV 3GDhRA-KZjA-iDum-8Ut0-s9s0-NnW2-4QQEUv.
WARNING: Couldn't find all devices for LV cl/root while checking used and assumed devices.
WARNING: Couldn't find device with uuid 3GDhRA-KZjA-iDum-8Ut0-s9s0-NnW2-4QQEUv.
There are 1 physical volumes missing.
Archiving volume group "cl" metadata (seqno 6).
Segmentation fault (core dumped)
Есть еще советы? Магия Live CD или смена UUID?
cl / root охватывает оба PV; вам потребуются оба диска, чтобы том можно было использовать. Предположительно cl / root смонтирован в /. Вы не можете уменьшить этот LV, и его нельзя размонтировать, поскольку он содержит большую часть вашей системы.
Я предполагаю, что файловая система уже была расширена и является XFS, поэтому ее нельзя уменьшить.
Сделайте резервную копию любых данных, которые хотите сохранить.
Если возможно, прикрепите недостающий PV. Добавьте еще один PV размером не менее недостающего с vgextend
. Переместите экстенты с плохого диска с помощью pvmove
. Пустые PV не нужно форсировать: vgreduce --removemissing cl
Если это не помогло, перестройте. Создайте новую группу VG и восстановите данные. Поскольку это был корень, переустановите новый экземпляр ОС.
Рассмотрите возможность создания LV данных отдельно от ОС. Дает возможность размонтировать и удалить частичные LV в будущем. И делает возможным несколько полезных вещей, которые LVM может делать с LV.