Как удалить плохой диск из LVM2 с меньшей потерей данных на других PV?


15

У меня был том LVM2 с двумя дисками. Большой диск стал поврежден, поэтому я не могу pvmove. Каков наилучший способ удалить его из группы, чтобы сохранить наибольшее количество данных с другого диска? Вот мой вывод pvdisplay:

Couldn't find device with uuid WWeM0m-MLX2-o0da-tf7q-fJJu-eiGl-e7UmM3.
  --- Physical volume ---
  PV Name               unknown device
  VG Name               media
  PV Size               1,82 TiB / not usable 1,05 MiB
  Allocatable           yes (but full)
  PE Size               4,00 MiB
  Total PE              476932
  Free PE               0
  Allocated PE          476932
  PV UUID               WWeM0m-MLX2-o0da-tf7q-fJJu-eiGl-e7UmM3

  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               media
  PV Size               931,51 GiB / not usable 3,19 MiB
  Allocatable           yes (but full)
  PE Size               4,00 MiB
  Total PE              238466
  Free PE               0
  Allocated PE          238466
  PV UUID               oUhOcR-uYjc-rNTv-LNBm-Z9VY-TJJ5-SYezce

Поэтому я хочу удалить неизвестное устройство (не присутствует в системе). Возможно ли это сделать без нового диска? Файловая система - ext4.


если бы я сделал vgreduce --removemissing --force mediaто, что случилось бы?
kissgyorgy

Ответы:


19
# pvdisplay
Couldn't find device with uuid EvbqlT-AUsZ-MfKi-ZSOz-Lh6L-Y3xC-KiLcYx.
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               vg_srvlinux
  PV Size               931.51 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              238466
  Free PE               0
  Allocated PE          238466
  PV UUID               xhwmxE-27ue-dHYC-xAk8-Xh37-ov3t-frl20d

  --- Physical volume ---
  PV Name               unknown device
  VG Name               vg_srvlinux
  PV Size               465.76 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              119234
  Free PE               0
  Allocated PE          119234
  PV UUID               EvbqlT-AUsZ-MfKi-ZSOz-Lh6L-Y3xC-KiLcYx



# vgreduce --removemissing --force vg_srvlinux


  Couldn't find device with uuid EvbqlT-AUsZ-MfKi-ZSOz-Lh6L-Y3xC-KiLcYx.
  Removing partial LV LogVol00.
  Logical volume "LogVol00" successfully removed
  Wrote out consistent volume group vg_srvlinux

# pvdisplay

 --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               vg_srvlinux
  PV Size               931.51 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              238466
  Free PE               238466
  Allocated PE          0
  PV UUID               xhwmxE-27ue-dHYC-xAk8-Xh37-ov3t-frl20d

теперь все работает нормально!


Да ... надеюсь, вам не нужен LogVol00 ... сейчас нет.
MikeyB

1
Лучше тогда потерять все ...
kissgyorgy

1
ооо ... так это способ оправиться от одной недостающей зеркальной ноги vgreduce --removemissing --force $vgname?
Водолей Power

Если диск неисправен, то данные с логического тома LogVol00 уже исчезли. Удаление его из группы больше не удаляло данные. Кроме того, для этого есть резервные копии.
jackohug

Это оказалось полезным для меня несколько раз в управлении ganeti с помощью drbd.
Дэнниман

1

Со vgreduceстраницы руководства :

   --removemissing
          Removes all missing physical volumes from the volume group, if there are no  logical  volumes
          allocated  on  those.  This resumes normal operation of the volume group (new logical volumes
          may again be created, changed and so on).

          If this is not possible (there are logical volumes referencing the missing physical  volumes)
          and  you  cannot or do not want to remove them manually, you can run this option with --force
          to have vgreduce remove any partial LVs.

          Any logical volumes and dependent snapshots that were partly on the missing disks get removed
          completely. This includes those parts that lie on disks that are still present.

          If  your  logical  volumes  spanned several disks including the ones that are lost, you might
          want to try to salvage data first by  activating  your  logical  volumes  with  --partial  as
          described in lvm (8).

1
так что, в принципе, если у моего корня /есть зеркальная ветвь, и это зеркало не работает, я думаю, что загрузка не удастся, тогда, с помощью live disto iso, я могу запустить эту команду, чтобы снова получить доступ к моей системе? так что, я думаю, что самое безопасное - использовать /bootlvm, на простом 2-гигабайтном разделе ext4, с живым дистрибутивом iso?
Водолей Power

1
@ AquariusPower, загрузка не должна завершиться неудачей, если отсутствует одна нога зеркала. Лично я предпочитаю использовать mdadmдля обработки raid и lvm сверху, чтобы разделить массив на логические тома. Загрузка непосредственно из массива raid вместо автономной загрузки / загрузки означает, что система все равно может нормально загрузиться, если основной загрузочный диск умрет.
psusi

ммм ... у меня на каждом PV есть небольшой раздел для загрузки, но каждый раздел независим; так что, если я /bootсинхронизирую их с raid, я, вероятно, могу выполнить быструю загрузку, если что-то из этого не получится Мне нравится это спасибо :), я также предполагаю, что вы предпочитаете mdadm, поскольку (возможно?) Синхронизация зеркал lvm может быть медленной и не синхронизировать достаточно данных во времени, чтобы обеспечить безопасную бесшовную загрузку в случае сбоя одного PV (как при отключении электроэнергии).
Водолей Power

1
@AquariusPower, на самом деле я предпочитаю mdadmraid как потому, что я предпочитаю raid10, а не raid1, так и потому, что он может преобразовывать массив (например, lvm не может преобразовать зеркало с 2 дисками в raid5 с 3 дисками).
psusi
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.