Wie entferne ich fehlerhafte Festplatten aus LVM2 mit weniger Datenverlust auf anderen PVs?


15

Ich hatte ein LVM2-Volume mit zwei Festplatten. Die größere Festplatte wurde beschädigt, daher kann ich pvmove nicht mehr ausführen. Wie kann es am besten aus der Gruppe entfernt werden, um die meisten Daten von der anderen Festplatte zu speichern? Hier ist meine pvdisplay Ausgabe:

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

Also möchte ich das unbekannte Gerät entfernen (nicht im System vorhanden). Ist es möglich, dies ohne eine neue Festplatte zu tun? Das Dateisystem ist ext4.


wenn ich ein machen würde vgreduce --removemissing --force mediawas würde passieren?
Kissgyorgy

Antworten:


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

jetzt alles gut!


Ja ... ich hoffe, Sie haben LogVol00 nicht gebraucht ... es ist jetzt weg.
MikeyB

1
Besser als alles zu verlieren ...
Kissgyorgy

1
oh .. also ist dies der Weg, um sich von einem fehlenden Spiegelbein zu erholen vgreduce --removemissing --force $vgname?
Aquarius Power

Wenn die Festplatte defekt ist, sind die Daten vom logischen Datenträger LogVol00 bereits gelöscht. Durch das Entfernen aus der Gruppe wurden keine weiteren Daten entfernt. Außerdem sind dafür Backups gedacht.
Jackohug

Dies hat sich für mich bei der Verwaltung von ganeti mit drbd bereits mehrfach als nützlich erwiesen.
Dannyman

1

Von der vgreduceManpage:

   --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
Wenn also mein Root /ein Mirror-Bein hat und dieser Mirror ausfällt, denke ich, dass der Boot fehlschlagen wird. Kann ich dann mit einer Live-Distribution diesen Befehl ausführen, um wieder auf mein System zuzugreifen? /bootAlso , auch, ich denke, das sicherste ist, außerhalb von lvm, auf einer einfachen 2GB ext4-Partition, mit der Live-Distribution iso zu haben?
Aquarius Power

1
@AquariusPower, der Start sollte nicht fehlschlagen, wenn ein Bein des Spiegels fehlt. Persönlich bevorzuge ich es, mdadmdas Raid und das Lvm oben zu handhaben, nur um das Array in logische Volumes aufzuteilen. Wenn Sie direkt vom RAID-Array booten, anstatt ein Standalone- / Boot-System zu haben, kann das System trotzdem einwandfrei booten, wenn die primäre Bootdiskette ausfällt.
Psusi

mmm ... Ich habe auf jeder PV eine kleine Partition zum Booten, aber jede Partition ist unabhängig; Wenn ich diese also /bootmit dem Raid synchronisiere, kann ich wahrscheinlich schnell booten, wenn einer dieser Fehler auftritt. Ich mag das danke :), ich denke auch, dass Sie mdadm bevorzugen, da (vielleicht?) Die lvm-Spiegelsynchronisation langsam sein kann und nicht rechtzeitig genug Daten synchronisiert, um einen sicheren, nahtlosen Start zu gewährleisten, falls ein PV ausfällt (wie bei einem Stromausfall).
Aquarius Power

1
@AquariusPower, eigentlich bevorzuge ich mdadmdas RAID sowohl, weil ich RAID 10 gegenüber RAID 1 bevorzuge, als auch, weil es das Array neu formen kann (lvm kann beispielsweise einen Spiegel mit 2 Festplatten nicht in ein RAID 5 mit 3 Festplatten konvertieren).
Psusi
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.