Come rimuovere un disco danneggiato da LVM2 con la minore perdita di dati su altri PV?


15

Ho avuto un volume LVM2 con due dischi. Il disco più grande è diventato corrotto, quindi non posso pvmove. Qual è il modo migliore per rimuoverlo dal gruppo per salvare la maggior parte dei dati dall'altro disco? Ecco il mio output di 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

Quindi voglio rimuovere il dispositivo sconosciuto (non presente nel sistema). È possibile farlo senza un nuovo disco? Il filesystem è ext4.


se farei un vgreduce --removemissing --force mediacosa sarebbe successo?
kissgyorgy,

Risposte:


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

ora funziona tutto bene!


Sì ... spero che non ti servisse LogVol00 ... ora non c'è più.
MikeyB,

1
Meglio che perdere tutto ...
kissgyorgy,

1
oh .. quindi questo è il modo di recuperare da una gamba specchio mancante vgreduce --removemissing --force $vgname?
Aquarius Power il

Se il disco è danneggiato, i dati dal volume logico LogVol00 sono già spariti. Rimuovendolo dal gruppo non sono stati rimossi altri dati. Inoltre, ecco a cosa servono i backup.
jackohug,

Questo mi è stato utile in diverse occasioni ora nella gestione di ganeti con drbd.
dannyman,

1

Dalla vgreducepagina man:

   --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
quindi sostanzialmente, se il mio root /ha una gamba mirror e quel mirror fallisce, penso che l'avvio fallirà, quindi, con un iso di distribuzione live, posso eseguire quel comando per accedere di nuovo al mio sistema? quindi, anche, penso che il più sicuro sia avere /bootal di fuori di lvm, su una semplice partizione ext4 da 2 GB, con la distro iso live?
Aquarius Power il

1
@AquariusPower, l'avvio non dovrebbe fallire se manca una gamba del mirror. Personalmente preferisco usare mdadmper gestire il raid e lvm in alto solo per dividere l'array in volumi logici. L'avvio diretto dall'array raid invece di avere un stand alone / boot significa che il sistema può ancora avviarsi correttamente se il disco di avvio primario si spegne.
psusi,

mmm ... Ho, su ogni PV, una piccola partizione per l'avvio, ma ogni partizione è indipendente; quindi se li metto /bootin sincronia con raid, posso probabilmente avviare velocemente se qualcuno di questi fallisce; Mi piace grazie :), immagino anche che preferisci mdadm in quanto (forse?) La sincronizzazione dei mirror di lvm può essere lenta e non sincronizzare abbastanza dati in tempo per garantire un avvio sicuro e senza interruzioni in caso di guasto di un PV (come in caso di blackout).
Aquarius Power il

1
@AquariusPower, in realtà preferisco mdadmil raid sia perché preferisco raid10 rispetto a raid1, sia perché può rimodellare l'array (lvm non può convertire un mirror a 2 dischi in un raid5 a 3 dischi per esempio).
psusi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.