Mailinglist Archive: opensuse (1420 mails)

< Previous Next >
Re: [opensuse] Where does LVM Info live
В Mon, 20 Jan 2014 12:07:42 -0500
Anton Aylward <opensuse@xxxxxxxxxxxxxxxx> пишет:

On 01/20/2014 11:33 AM, Andrey Borzenkov wrote:
В Mon, 20 Jan 2014 11:25:18 -0500
Anton Aylward <opensuse@xxxxxxxxxxxxxxxx> пишет:


On 01/20/2014 11:13 AM, Andrey Borzenkov wrote:
PV label is located withing first 4K on device (whole disk or
partition), usually second sector.
OUCH
If partition table was corrupted, PV
will not be found. You could search the whole disk for PV label header
LABELONE.
Is that a literal string?

Yes

Thank you.


What about the LVM partitions?

I'm not sure what you call "LVM partitions". PV or LV?

The whole disk is, apart from a boot and swap partition defined using
fdisk when I initialized the disk, one big LVM. Only the one "PV".
I have lots of LVs, about 20+ of them. Separated out out 'documents',
'downloads', photos' (by year), various projects, email archives and more.



I was under the impression that they each had their own LV information
somewhere - that was what lvscan looked for - and this would be enough
information to 'recover' the LV/partition.


LVM tools work with PV. If there is no PV, nothing will be found. Does
pvscan output anything?

The trouble is that everything stops 'cos it can't read the first few
cylinders. Right now I'm trying to determine if this is electronics,
head motor, or if the disk is gouged.


If you have LVM configuration backups and know where partition started,
you could try manually recreate LVs. If you do not have LVM
configuration backups, you could try to find them on disk; there are
multiple copies as text, something like


# strings /dev/sda2
...
contents = "Text Format Volume Group"
version = 1
description = ""
creation_host = "opensuse.site" # Linux opensuse.site 3.4.11-2.16-desktop #1 SMP
PREEMPT Wed Sep 26 17:05:00 UTC 2012 (259fc87) x86_64
creation_time = 1359191911 # Sat Jan 26 13:18:31 2013
system {
id = "F1ikgD-2RES-306G-il9M-7iwa-4NKW-EbV1NV"
seqno = 6
format = "lvm2" # informational
...
physical_volumes {
pv0 {
id = "gPTUJ8-gNWl-siv1-JUtC-AEA9-Dr0N-Rf0456"
device = "/dev/sda2"
status = ["ALLOCATABLE"]
flags = []
dev_size = 624091824
pe_start = 2048
pe_count = 76182
logical_volumes {
swap {
id = "rYCSC8-VwT5-8QtZ-ueTB-HGQU-WYer-tk0PJv"
status = ["READ", "WRITE", "VISIBLE"]
flags = []
segment_count = 1
segment1 {
start_extent = 0
extent_count = 256
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv0", 0
...

This gives you full information about defined volume groups, PV they
include and composition of each LV. Restoring this manually would be
really boring. If possible, you should us dd_rescue to duplicate as
much data as possible on another disk at the same location and use
recovery procedure outlined in link that was posted. It will recreate LV
structure. You may need to spend some time to guess partition offset of
you do not know it (e.g. looking for know signatures like swap or FS
UUIDs.

I'd really recommend search for data recovery tools.
--
To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups