[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [linux-lvm] Wrecked Logical Volume with vgreduce --removemissing





Peter Smith <peter smith utsouthwestern edu> wrote:
Ok.  It sounds like the fix will have to involve finding a way to get back to your installed-configuration.  The one that defines your VG as containing *only* hda5 and hdb.  It sounds like you succeeded extending the LV to include sda, but forgot to expand the filesystem after that.  Which, ultimately, may save you.  I don't have enough experience with LVM (or just LVM2) to be able to tell you either how to edit your current mangled config to force your LV to forget about sda (which it sounds like you were successful accomplishing anyways) *or* to recover the before-sda configuration.  I've looked at the config on my own workstation and even though I'm using LVM2 I don't see any evidence of backed-up or historical LVM2 configuration data.  So I *really* don't know what to tell you there.  But I think it should be do-able.  There may be someone out there capable of helping with this, but I'm afraid it likely isn't me.  Although I might try and reproduce this on one of my Fedora machines to see if I get stuck in the same box which you are in.

Peter

Tom+Dale wrote:
I had a bad drive in my volume group, so I tried "vgreduce --removemissing VolGroup00" which seemed to work. Then, I tried "vgchange -ay --partial VolGroup00" which also appeared to complete successfully.  It seems like I was partly successful but I cannot get the logical volume to be recognized.  I don't know what else to do?  Where can I learn more about LVM?  How does one utilize the LVM archive or backup files?  Can't seem to find an answer to this problem.  Is all of my data lost?

[root[at]server ~]# lvchange -vvvay /dev/VolGroup00/LogVol00
Processing: lvchange -vvvay /dev/VolGroup00/LogVol00
O_DIRECT will be used
Setting global/locking_type to 1
Setting global/locking_dir to /var/lock/lvm
File-based locking enabled.
Using logical volume(s) on command line
Locking /var/lock/lvm/V_VolGroup00 WB
Opened /dev/sda RW
/dev/sda: block size is 4096 bytes
/dev/sda: No label detected
Opened /dev/hda1 RW
/dev/hda1: block size is 1024 bytes
/dev/hda1: No label detected
Opened /dev/hda2 RW
/dev/hda2: block size is 4096 bytes
/dev/hda2: No label detected
Opened /dev/hda3 RW
/dev/hda3: block size is 4096 bytes
/dev/hda3: No label detected
Opened /dev/hda5 RW
/dev/hda5: block size is 512 bytes
/dev/hda5: lvm2 label detected
lvmcache: /dev/hda5 now orphaned
lvmcache: /dev/hda5 now in VG VolGroup00
Opened /dev/hdb RW
/dev/hdb: block size is 4096 bytes
/dev/hdb: lvm2 label detected
lvmcache: /dev/hdb now orphaned
lvmcache: /dev/hdb now in VG VolGroup00
/dev/hda5: lvm2 label detected
/dev/hdb: lvm2 label detected
/dev/hda5: lvm2 label detected
/dev/hdb: lvm2 label detected
Read VolGroup00 metadata (11) from /dev/hda5 at 18944 size 720
/dev/hda5: lvm2 label detected
/dev/hdb: lvm2 label detected
Read VolGroup00 metadata (11) from /dev/hdb at 16896 size 720
One or more specified logical volume(s) not found.
Unlocking /var/lock/lvm/V_VolGroup00
Closed /dev/sda
Closed /dev/hda1
Closed /dev/hda2
Closed /dev/hda3
Closed /dev/hda5
Closed /dev/hdb

Once again, thank you, Peter.  I appreciate your time and attention on this matter.  Even though you were not certain of how to approach this, you did help me to resolve the problem.  Of course, the most significant factor was the adjustment of my attitude when I decided that all the data was probably lost.  I became less cautious, then.  :-)

I was right all along...the data was there.  Your assessment that we were saved by not having extended the volume is likely correct, too.  Good thing we didn't know what we were doing!  So when I started experimenting with the archive files associated with LVM, I stumbled on success.  Nix recently suggested "vgcfgrestore" as others had suggested to me; however, I had to use trial & error with the -t (test) parameter in order to figure this out.  By that I mean reading the LVM HowTo and various man pages did not clarify much for me.  So here are the steps that I took:
--------------------------------------------------------
[root mythserver lvm]# vgcfgrestore -tf /etc/lvm/archive/VolGroup00_00000.vg
  Test mode: Metadata will NOT be updated.
  Please specify a *single* volume group to restore.
[root mythserver lvm]# vgcfgrestore -tf /etc/lvm/archive/VolGroup00_00000.vg Vol
Group00
  Test mode: Metadata will NOT be updated.
  Restored volume group VolGroup00
[root mythserver lvm]# vgcfgrestore -tvf /etc/lvm/archive/VolGroup00_00000.vg Vo
lGroup00
  Test mode: Metadata will NOT be updated.
  Restored volume group VolGroup00
    Test mode: Wiping internal cache
    Wiping internal VG cache
[root mythserver lvm]# vgcfgrestore -tvvf /etc/lvm/archive/VolGroup00_00000.vg V
olGroup00
  Test mode: Metadata will NOT be updated.
      Setting global/locking_type to 1
      Setting global/locking_dir to /var/lock/lvm
      File-based locking enabled.
      Locking /var/lock/lvm/P_orphans WB
      Locking /var/lock/lvm/V_VolGroup00 W
      /dev/hda1: No label detected
      /dev/hda2: No label detected
      /dev/hda3: No label detected
      /dev/hda5: lvm2 label detected
      /dev/hdb: lvm2 label detected
      /dev/hda5: lvm2 label detected
      /dev/hdb: lvm2 label detected
  Restored volume group VolGroup00
      Unlocking /var/lock/lvm/V_VolGroup00
      Unlocking /var/lock/lvm/P_orphans
    Test mode: Wiping internal cache
    Wiping internal VG cache
[root mythserver lvm]# vgcfgrestore -vvf /etc/lvm/archive/VolGroup00_00000.vg Vo
lGroup00
      Setting global/locking_type to 1
      Setting global/locking_dir to /var/lock/lvm
      File-based locking enabled.
      Locking /var/lock/lvm/P_orphans WB
      Locking /var/lock/lvm/V_VolGroup00 W
      /dev/hda1: No label detected
      /dev/hda2: No label detected
      /dev/hda3: No label detected
      /dev/hda5: lvm2 label detected
      /dev/hdb: lvm2 label detected
      /dev/hda5: lvm2 label detected
      /dev/hdb: lvm2 label detected
  Restored volume group VolGroup00
      Unlocking /var/lock/lvm/V_VolGroup00
      Unlocking /var/lock/lvm/P_orphans
[root mythserver lvm]# lvscan
  inactive          '/dev/VolGroup00/LogVol00' [364.21 GB] inherit
[root mythserver lvm]# lvchange -tv -ay /dev/VolGroup00/LogVol00
  Test mode: Metadata will NOT be updated.
    Using logical volume(s) on command line
    Activating logical volume "LogVol00"
    Found volume group "VolGroup00"
    Test mode: Wiping internal cache
    Wiping internal VG cache
[root mythserver lvm]# lvchange -v -ay /dev/VolGroup00/LogVol00
    Using logical volume(s) on command line
    Activating logical volume "LogVol00"
    Found volume group "VolGroup00"
    Loading VolGroup00-LogVol00
[root mythserver lvm]# mount -a
------------------------------------------------------------------------
That did it!  We were able to copy our data off the volume and recover the whole system.  I hope this helps someone else down the road.

-Tom-


Get your email and more, right on the new Yahoo.com
[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]