LINUX.ORG.RU
решено ФорумAdmin

vgreduce удалить missed pv

 , ,


0

1

Как бы удалить в данном случае не использующийся девайс с lvm. Имя группы такое же как и у активного.

lvm даёт подсказку что вместо имени я могу использовать --select vg_uuid=<uuid>, но по факту такой опции в vgreduce нет.

PV         VG  Fmt  Attr PSize  PFree 
  /dev/zd16  lvm lvm2 a--  <2,00t <1,42t
  [unknown]  lvm lvm2 u-m  <3,00t <1,56t


#vgreduce --removemissing lvm 
  Multiple VGs found with the same name: skipping lvm
  Use --select vg_uuid=<uuid> in place of the VG name.

# vgreduce --removemissing --
--autobackup      --config          --driverloaded    --help            --mirrorsonly     --quiet           --test            --version         
--commandprofile  --debug           --force           --longhelp        --profile         --reportformat    --verbose         --yes     

Ответ на: комментарий от Radjah

К сожалению опции нет(, попробовал разные варианты уже

el_paso
() автор топика

removemissing можне запустить не указывая никаких дополнительных ключей, оно само всё лишнее удалит

Nastishka ★★★★★
()
Ответ на: комментарий от Nastishka

Неа, нельзя.

# vgreduce --removemissing 
  No command with matching syntax recognised.  Run 'vgreduce --help' for more information.
  Nearest similar command has syntax:
  vgreduce --removemissing VG
  Remove all missing PVs from a VG.

# vgreduce --removemissing lvm 
  Multiple VGs found with the same name: skipping lvm
  Use --select vg_uuid=<uuid> in place of the VG name.

el_paso
() автор топика
Ответ на: комментарий от el_paso

Вообщем пока удалось переименовать VG таким образом:

vgrename OswxV5-YEMj-wiM7-fwAW-A61O-MpfQ-nXb3Vr lvm1

теперь выглядит так:

# vgs
  WARNING: Device for PV 6bVVia-tsco-GEyq-1zHZ-Vn8W-Eg0v-MNZMmG not found or rejected by a filter.
  VG   #PV #LV #SN Attr   VSize  VFree 
  lvm    1  32   1 wz-pn- <3,00t <1,56t
  lvm1   1  23   3 wz--n- <2,00t  1,41t

Делаю:

# vgreduce --removemissing --force lvm
  WARNING: Device for PV 6bVVia-tsco-GEyq-1zHZ-Vn8W-Eg0v-MNZMmG not found or rejected by a filter.
  WARNING: Removing partial LV lvm/kvm1019_img.
  Aborting vg_write: No metadata areas to write to!

У этой VG: Metadata Areas 0

Как бы выпилить эту VG?

Чувствую я уже где-то у цели.

el_paso
() автор топика
Ответ на: комментарий от el_paso

lvm даёт подсказку что вместо имени я могу использовать --select vg_uuid=<uuid>, но по факту такой опции в vgreduce нет.

Как уже сказал Radjah, кривой bash_completition не мешает утилите lvm иметь нужную опцию

man vgreduce

man lvm

впрочем, проблема уже не актуальна

Как бы выпилить эту VG?
Чувствую я уже где-то у цели

выпилить ... vg

Ты не поверишь. Чтобы удалить vg, нужно ... тадам, удалить vg

Для этого есть отдельная команда

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от router

Как уже сказал Radjah, кривой bash_completition не мешает утилите lvm иметь нужную опцию

ХЗ, пробовал все возможные варианты с опцией select и ничего не вышло.

Ты не поверишь. Чтобы удалить vg, нужно ... тадам, удалить vg

в моём случае не все так просто:

# vgremove lvm --force 
  WARNING: Device for PV 6bVVia-tsco-GEyq-1zHZ-Vn8W-Eg0v-MNZMmG not found or rejected by a filter.
  Aborting vg_write: No metadata areas to write to!

Metadata Areas 0

#vgdisplay lvm
WARNING: Device for PV 6bVVia-tsco-GEyq-1zHZ-Vn8W-Eg0v-MNZMmG not found or rejected by a filter.
 VG Name               lvm
  System ID             
  Format                lvm2
  Metadata Areas        0
  Metadata Sequence No  4966
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                32
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                0
  VG Size               <3,00 TiB
  PE Size               32,00 MiB
  Total PE              98303
  Alloc PE / Size       47232 / 1,44 TiB
  Free  PE / Size       51071 / <1,56 TiB
  VG UUID               X45X4f-3Po2-XRHb-sbiH-2cn0-pP6m-SZ8LhP

Варианты? может dmsetup`ом как-то можно?

el_paso
() автор топика
Ответ на: комментарий от router

кривой bash_completition не мешает утилите lvm иметь нужную опцию

Но там правда этой опции нет. А подсказка выдаётся общим для утилит кодом.

i-rinat ★★★★★
()
Ответ на: комментарий от el_paso

Тогда я был неправ, извини

1) попробуй vgreduce --removemissing -ff

т.е. дважды forece

2) попробуй перед vgreduce и vgremove удалить фантомные lv так

https://access.redhat.com/solutions/140273

dmsetup remove /dev/lvm/*

3) если и это не поможет, попробуй создать простейший block device из временного файла

dd if=/dev/zero of=/tmp/tmp.raw bs=1M count=100
losetup -f
losetup /dev/loop0 /tmp/tmp.raw
vgextend lvm /dev/loop0

если получится ( в чём есть сомнения ), будет один живой том под metadata

4) (опасно) можно попробовать перезагрузить хост

я так понял, диск отняли наживую. тогда после ребута у ОСи просто не будет диска с проблемной vg и ОСь даже не вспомнит, что такая vg была

НО. т.к. ты переименовал ЖИВОЙ vg, верни его имя обратно, иначе придётся всё чинить с livecd/liveusb

и ещё одно НО. в centos 7 systemd во все поля, там теоретически может быть какая-то мутная схема с дублированием метаданных внутрь systemd и сохранением между ребутами. Поэтому я бы ребут оставил как последний вариант, от полной безнадёжности

router ★★★★★
()
Последнее исправление: router (всего исправлений: 2)
Ответ на: комментарий от router

Способ с добавлением блочного устройства из временного файла прокатил.

Спасибо.

el_paso
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.