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

Re: [linux-lvm] file-based locking initialization failed after pvresize



I was assisted on the #lvm IRC channel by kabi_ (thank you), the solution for others who might find themselves in the same boat:
  • look in /etc/lvm/archive and find the file that has the information just prior to the destructive act
  • in this text file is a UUID for the volume that has been corrupted
  • boot into rescue disk (or single user mode if the corrupted disk is not your boot volume) and run the following
    pvcreate --config 'global{locking_type=0}' --uuid <UUID> --restorefile /etc/lvm/backup/<file containing previous info> /dev/<device>
    vgcfgrestore -f /etc/lvm/archive/<file containing previous info> <volume group name>

Thanks again!

/Christian

On 5/30/2013 11:48 AM, Christian Lahti wrote:
Hello all:

I have a VMWare virtual CentOS 6 server with the following disk layout:

/dev/sda 15GB
/dev/sdb 100GB

Standard CentOS LVM setup

on sda1
/dev/vg_centos6/lv_root mounted on /
/dev/vg_centos6/lv_swap

on sdb1
/dev/vg_centos6/lv_var mounted on /var

I was starting to run low on disk space for /var, so I shut down the machine gracefully, extended the disk in VMWare to 250G and rebooted in single user mode. I then ran the following two commands:

pvresize --setphysicalvolumesize 250G /dev/sdb1
lvresize -L250G /dev/vg_centos6/lv_var

I then rebooted expecting the /var to now be 250G instead of 100G. What I got was:

No such file or directory trying to open /dev/vg_centos6/lv_var

After dropping to a maintenance shell I could not run any pv* or lv* commands, always resulting in the error:

File-based locking initialization failed

After Googling forever I found some lv* and pv* commands take --ignorelockingfailure as a parameter, so now I can "see" the pv and lv information but I do not know how to recover this partition:

pvdisplay --ignorelockingfailure /dev/sdb1
File-based locking initialization failed
--- Physical volume ---
PV Name /dev/sdb1
VG Name vg_centos6
PV Size 250 GiB / not useable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 63999
Free PE 25599
Allocated PE 38400

lvdisplay --ignorelockingfailure /dev/vg_centos6/lv_var
File-based locking initialization failed
--- Logical volume ---
LV Path /dev/vg_centos6/lv_var
LV Name lv_var
VG Name vg_centos6
LV Write Access read/write
LV Status suspended
# open 0
LV Size 150.00 GiB
Current LE 38400
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2

I cannot mount this, I cannot fsck, /dev/mapper/vg_centos6/lv_var does not even get created. This is a critical server, can anyone please tell me how to reverse this or at least recover the data?

Thanks!

/Christian


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