LVM and lost information
There is a virtual machine Xen (Centos 5.6). Inside was a lvm volume. At some point, a failure of power and the error appears. Launched fchk, fixed a bug. I launched it one more time - fell errors and the system not loading.
Mounted on another virtual machine (also Centos 5.6), tried to rename VG, but the second VM also stop loading (its data is not so critical, it is a test).
Created a third machine, the system disk without lvm, mounted a problem lvm-partition.
It became visible name given partition in the process of renaming on previous VM. Drive with the necessary data, appear to do was not in volume group. Nothing smarter than create a new vg and mount this disk does not come up.
--- Volume group ---
VG Name resquevol
Metadata Areas 1
Metadata Sequence No 1
VG Access read / write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 135.00 GiB
PE Size 4.00 MiB
Total PE 34 559
Alloc PE / Size 0 / 0
Free PE / Size 34 559 / 135.00 GiB
VG UUID Qnva3K-DX6q-a3a2-wqIe-QE0D-MQue-vrGLiw
Initialization of logical partitions did, only created with the disk vg /dev/xvdb3
Does this mean that my data is destroyed? If not, how to restore it?
PS sorry for my bad English
The next step is to check and see if loop has max_part option. (modinfo loop as root) Reload loop with max_part=16.
Then losetup pointing to the troubled disk image.
From there, things get kind of vague for me because I'm not a Xen guy. You need to see if there's a FUSE module to mount the disk image. If there is, then it's pretty easy. Losetup /dev/loop0 /path/to/disk/image. If you did it right, Linux magically detects the partitions and will have a /dev/loop0 device, and another /dev/loop0p1 device Mount /dev/loop0 /mnt/some_dir -o read-about-fuse-module-options. If that doesn't work, try the /dev/loop0p1 device.
Once you get the file system mounted on a loop device, fdisk and testdisk is your best bets.
http://www.cgsecurity.org/wiki/TestDisk It's in Debian's repo's. That's how easy Debian is.
Thanks for reply.
I looped my bad partition /dev/xvdc3 to /dev/loop0 , but I get "mount: unknown filesystem type 'LVM2_member'" while trying "mount /dev/loop0 /mnt". Module fuse already loaded
If that doesn't work, still lots of options. You can find the ext3/4/ntfs/whatever partition offset in fdisk (fdisk -l /dev/loop0) and then mount it specifying the offest. Lots of examples of using the offset option around. Another option is to run testdisk on /dev/loop0 and see what it finds. I'm pretty confident the partition is not lost. You are going to know more about partitions/disks by the time you find/mount the partition.
Very last ditch effort, create a backup of the entire disk on /dev/loop0. Then losetup /dev/loop1 /path/to/dd-image Try activating the logical volume using /dev/loop1 as the device. This is a bit tricky because you aren't creating a new logical volume. That would rewrite the partition information. You are just changing the device path of an existing LVM. Which is why doing it on a disk image is strongly recommended.
Many thanks for your help.
The issuse solved in such way: I manually edit vgcfgbackup-file, adding there my lost partition (I looked the way in the another my server with almost same lvm config). Then, I make vgcfgrestore and it works fine - losted partition correctly mounted as ext3 so I could navigate there with standard system tools. Data was corrupted, but it was duplicated about 20 times in different places of the FS so I could find a good one.
|All times are GMT -5. The time now is 04:09 AM.|