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

Tom+Dale tdmyth at yahoo.com
Mon Sep 11 19:05:26 UTC 2006



Peter Smith <peter.smith at 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 at 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 at mythserver lvm]# vgcfgrestore -tf /etc/lvm/archive/VolGroup00_00000.vg Vol
Group00
  Test mode: Metadata will NOT be updated.
  Restored volume group VolGroup00
[root at 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 at 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 at 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 at mythserver lvm]# lvscan
  inactive          '/dev/VolGroup00/LogVol00' [364.21 GB] inherit
[root at 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 at 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 at 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 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/linux-lvm/attachments/20060911/4a7fa206/attachment.htm>


More information about the linux-lvm mailing list